WO2014049830A1 - 情報処理装置および半導体装置 - Google Patents
情報処理装置および半導体装置 Download PDFInfo
- Publication number
- WO2014049830A1 WO2014049830A1 PCT/JP2012/075081 JP2012075081W WO2014049830A1 WO 2014049830 A1 WO2014049830 A1 WO 2014049830A1 JP 2012075081 W JP2012075081 W JP 2012075081W WO 2014049830 A1 WO2014049830 A1 WO 2014049830A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- key
- control circuit
- encrypted
- input
- information
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 57
- 239000004065 semiconductor Substances 0.000 title claims abstract description 19
- 230000015654 memory Effects 0.000 claims abstract description 75
- 230000006854 communication Effects 0.000 claims abstract description 54
- 238000004891 communication Methods 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims description 70
- 238000012545 processing Methods 0.000 claims description 54
- 230000008569 process Effects 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000003860 storage Methods 0.000 description 41
- 238000009826 distribution Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 230000006837 decompression Effects 0.000 description 9
- 208000008918 voyeurism Diseases 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 3
- 230000008929 regeneration Effects 0.000 description 3
- 238000011069 regeneration method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 239000011248 coating agent Substances 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005674 electromagnetic induction Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1011—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
Definitions
- the present invention relates to an information processing device and a semiconductor device.
- OS Operating System
- the TRM structure is a structure in which information stored in a semiconductor such as an integrated circuit cannot be referred to from the outside.
- the integrated circuit has a structure in which a strong and highly adhesive coating is applied and the internal circuit is destroyed when the applied coating is removed. Thereby, it is possible to physically prevent peeping or falsification of information inside the semiconductor.
- a semiconductor having such a TRM structure may be called a secure module or a secure LSI (Large Scale Integration).
- a secure module reads a secure software code or the like stored in a main memory by direct access and checks whether the secure software has been tampered with based on a comparison result between the read code and information stored in advance.
- the secure module supplies predetermined information to the release means for releasing the encryption process using the key, and supplies the key to the release means when the release means is determined to be valid with reference to the response.
- an object of the present invention is to provide a highly versatile information processing apparatus and semiconductor device in which key leakage is prevented.
- the information processing apparatus includes a secure module and a first control circuit that is provided outside the secure module and inputs encrypted data to the secure module through a first communication path.
- the secure module includes a memory, a second control circuit, and an input unit.
- the memory is a memory incapable of reading / writing from the first control circuit, and stores a key used for decrypting the encrypted data.
- the second control circuit decrypts the encrypted data using the key, and outputs the decrypted data to the first control circuit through the first communication path.
- the input unit stores the key input through the second communication path separated from the first communication path in the memory.
- FIG. 1 is a diagram illustrating the information processing apparatus according to the first embodiment.
- the information processing apparatus 1 is a computer having a function of decrypting encrypted data using a key.
- the information processing apparatus 1 may be, for example, a PC (Personal Computer) such as a tablet type, a notebook type, or a desktop type, or may be a portable information terminal device having a mobile phone function.
- PC Personal Computer
- the information processing apparatus 1 includes a secure module 10 and a control circuit 20 (first control circuit) provided outside the secure module 10.
- the secure module 10 and the control circuit 20 are realized as a semiconductor device mounted on the same substrate, for example.
- the secure module 10 is provided with a communication path 2 (first communication path) and a communication path 3 (second communication path). Of these, the communication path 2 is connected between the control circuit 20 and the secure module 10. Used for data input / output between.
- the control circuit 20 is, for example, a circuit that controls the entire information processing apparatus 1, and is configured as a processor such as a CPU (Central Processing Unit).
- the control circuit 20 executes an OS whose specifications such as a software structure or an interface are disclosed, and further executes an application program corresponding to the specifications of the OS.
- the application program to be executed can be freely developed in accordance with the published OS specifications. Thereby, the versatility of the information processing apparatus 1 is improved.
- the control circuit 20 inputs the encrypted data (hereinafter referred to as encrypted data 4) to the secure module 10 via the communication path 2, and the decrypted data (hereinafter referred to as decrypted data 5). ) Is received from the secure module 10 via the communication path 2.
- encrypted data the encrypted data
- decrypted data 5 the decrypted data 5
- the control circuit 20 reads, for example, the encrypted data 4 from a storage device (not shown) connected to the control circuit 20 and inputs it to the secure module 10.
- the control circuit 20 may receive the encrypted data 4 from a transmission device existing outside the information processing device 1 and input it to the secure module 10.
- the secure module 10 is hardware having a function of preventing peeping from outside and data tampering by a TRM structure or the like.
- the secure module 10 includes an input unit 11, a memory 12, and a control circuit 13 (second control circuit).
- the memory 12 is a non-volatile storage device that cannot be read or written from the control circuit 20 outside the secure module 10.
- the control circuit 20 can communicate with the secure module 10 using only predetermined commands. In this case, since the control circuit 20 does not prepare a command for requesting data reading from the memory 12 or data writing to the memory 12, reading / writing of the memory 12 from the control circuit 20 is prohibited.
- the memory 12 stores various data used in the processing of the secure module 10, such as confidential information handled by the secure module 10.
- the memory 12 stores a key 6 used for decrypting the encrypted data 4 as an example of confidential information.
- the control circuit 13 decrypts the encrypted data 4 input from the control circuit 20 via the communication path 2 by using the key 6 stored in the memory 12.
- the control circuit 13 outputs the decrypted decrypted data 5 to the control circuit 20 via the communication path 2.
- the storage of the key 6 and the decryption process using the key 6 are performed in the secure module 10, there is a probability that the key 6 is read by the control circuit 20 and leaked outside the information processing apparatus 1. As a result, the security of the key 6 is improved.
- the control circuit 13 is realized using, for example, a processor such as a CPU or DSP (Digital Signal Processor), or other electronic circuits such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
- the control circuit 13 may be realized using a plurality of electronic circuits such as a processor and a decoding circuit. Further, when the control circuit 13 includes a processor, for example, by executing a dedicated program that can be executed only on the secure module 10, the processing procedure of the control circuit 13 is falsified and the key 6 is leaked. The probability of doing can be reduced.
- the communication path 3 is connected to the input unit 11.
- the communication path 3 is a path for inputting confidential information to the secure module 10, and the input unit 11 stores the confidential information input via the communication path 3 in the memory 12.
- the secret information input from the communication path 3 to the memory 12 via the input unit 11 includes the key 6.
- the communication path 3 is provided separately from the communication path 2 that connects the control circuit 20 and the secure module 10.
- the input unit 11 can input confidential information including the key 6 to the memory 12 without depending on the processing of the control circuit 20 that may be falsified. Therefore, confidential information can be stored in the memory 12 by a highly secure process that does not depend on the process of the control circuit 20 at least after the manufacturing stage of the memory 12.
- the input unit 11 is realized by a predetermined electronic circuit.
- the input unit 11 includes a circuit that performs authentication based on authentication information input via the communication path 3, and allows the confidential information input thereafter to be stored in the memory 12 when the authentication is successful. can do.
- FIG. 1 shows a configuration in which confidential information is directly input from the input unit 11 to the memory 12.
- confidential information input via the communication path 3 is transferred from the input unit 11 to the control circuit. It is also possible to store in the memory 12 via 13.
- the input unit 11 stores the key 6 input via the communication path 3 in the memory 12 (step S1).
- the storage process of the key 6 can be performed at an arbitrary timing at least after the memory 12 is manufactured. For example, from when the manufactured memory 12 is mounted on the secure module 10 until immediately before the information processing apparatus 1 on which the secure module 10 and the control circuit 20 are mounted is shipped from the factory, the information processing apparatus 1 is sold to the user.
- the key 6 can be stored in the memory 12 at an arbitrary timing until immediately before. Thereby, it becomes possible to store in the memory 12 an appropriate key 6 according to the form of service provided for the information processing apparatus 1 sold, and the versatility of the information processing apparatus 1 is improved.
- the communication path 3 may be removable, for example. In this case, the input of confidential information to the secure module 10 may be prohibited by removing the communication path 3.
- the control circuit 20 inputs the encrypted data 4 to the control circuit 13 via the communication path 2 (step S2).
- the control circuit 20 may have a function of decrypting and reproducing and outputting encrypted content data including image data or audio data.
- the encrypted data 4 may be a content key for decrypting the encrypted content data.
- a content key is prepared for each content data.
- the key 6 stored in the memory 12 can be information associated with a user or the like who provides the service.
- control circuit 13 reads the key 6 from the memory 12, and decrypts the encrypted data 4 input from the control circuit 20 using the read key 6 (step S3).
- the control circuit 13 outputs the decoded data 5 obtained by the decoding to the control circuit 20 via the communication path 2 (Step S4).
- the control circuit 20 can execute a predetermined process using the received decrypted data 5.
- the process of decrypting using the key 6 includes, for example, a process of decrypting using the key 6 itself as a decryption key.
- Examples of such a case include a case where the key 6 is a secret key and the encrypted data 4 is encrypted with a public key corresponding to the secret key.
- the “processing to decrypt using the key 6” can include the following processing. .
- the control circuit 13 communicates with the transmission device via the control circuit 20 and performs mutual authentication with the transmission device using the key 6.
- the control circuit 13 receives the encrypted data 4 encrypted using the temporary key temporarily generated during the mutual authentication process via the control circuit 20, and receives the received encryption.
- the encrypted data 4 is decrypted using the temporary key as a decryption key.
- the control circuit 20 executes the process of obtaining the encrypted data 4 and supplying it to the secure module 10, and the process of receiving and using the decrypted data 5 obtained by the decryption. .
- These processes can be realized by using, for example, an application program developed in accordance with the published OS specifications, so that the versatility of the information processing apparatus 1 can be improved.
- the control circuit 20 since the control circuit 20 does not execute the process using the key 6 directly, the probability that the key 6 leaks to the outside decreases, and the security of the key 6 improves.
- the input unit 11 can store the key 6 in the memory 12 by a process that does not depend on the control circuit 20. Therefore, a highly versatile information processing apparatus 1 in which leakage of the key 6 is prevented is realized.
- the content is information including video information and audio information, and is information such as a television program, a movie, and a video game.
- the content is, for example, MPEG (Moving Picture Experts Group) or H.264. It is compressed by a method such as the H.264 method.
- FIG. 2 is a diagram illustrating an information processing system according to the second embodiment.
- the terminal device 100 is connected to the distribution center 31 via the network 40.
- the terminal device 100 can perform bidirectional communication with the distribution center 31. Further, the terminal device 100 receives a broadcast wave transmitted from the broadcast station 32. Since communication with the broadcasting station 32 uses broadcast waves, only unidirectional communication for receiving information from the broadcasting station 32 is possible.
- the terminal device 100 is a device having a function of reproducing and outputting content.
- the terminal device 100 may be a portable portable terminal device such as a tablet PC.
- the terminal device 100 includes a secure LSI having a TRM structure.
- the terminal device 100 receives encrypted content encrypted from the distribution center 31 and the broadcast station 32.
- the terminal device 100 uses the content key received from the distribution center 31 when decrypting the encrypted content received from the distribution center 31 capable of bidirectional communication.
- the terminal device 100 performs mutual authentication with the distribution center 31 using confidential information (for example, a secret key) of the terminal device 100.
- confidential information of the terminal device 100 is stored on the secure LSI in order to prevent peeping and tampering from the outside.
- the terminal device 100 can receive the content key from the distribution center 31 when the mutual authentication is successful.
- the terminal device 100 uses a content key, a work key, and a master key when decrypting encrypted content received from the broadcasting station 32 capable of only one-way communication.
- the content key is updated periodically (for example, once every several seconds) by the broadcasting station 32.
- the updated content key is encrypted by the broadcast station 32.
- the encrypted content key is referred to as an encrypted content key.
- the encrypted content key is periodically transmitted from the broadcast station 32 to the terminal device 100 by broadcast waves together with the encrypted content corresponding to the content key.
- the work key is a decryption key corresponding to the encrypted content key.
- the work key is different for each broadcasting station, and is updated regularly (for example, every month) by the broadcasting station 32.
- the updated work key is encrypted by the broadcast station 32.
- the encrypted work key is referred to as an encrypted work key.
- the encrypted work key is periodically transmitted from the broadcasting station 32 to the terminal device 100 by a broadcast wave.
- the work key update cycle is longer than the content key update cycle.
- the master key is a decryption key corresponding to the encrypted work key.
- Each terminal device has a master key individually.
- the master key is stored in a storage device on the secure LSI of the terminal device 100 in order to prevent peeping and tampering from the outside.
- the master key may be a secret key of the terminal device 100 or a common key shared with the transmission side device.
- FIG. 3 is a block diagram illustrating a hardware example of the terminal device.
- the terminal device 100 includes a RAM (Random Access Memory) 101, a flash memory 102, a display 103, a touch panel 104, a communication interface 105, a television receiving unit 106, and a system LSI 110.
- the RAM 101, flash memory 102, display 103, touch panel 104, communication interface 105, television receiver 106, main processor 111, decompression circuit 112, and secure LSI 120 are connected to a bus 113 provided in the system LSI 110.
- the system LSI 110 is an integrated circuit that controls the entire terminal device 100.
- the system LSI 110 includes a main processor 111, a decompression circuit 112, and a secure LSI 120.
- the main processor 111 is a device including an arithmetic unit that executes program instructions.
- the main processor 111 loads at least a part of the program and data stored in the flash memory 102 into the RAM 101 and executes the program.
- the main processor 111 may use a CPU, a DSP, or the like.
- the main processor 111 may include a plurality of processor cores.
- the terminal device 100 may include a plurality of processors.
- the terminal device 100 may perform parallel processing using a plurality of processors or a plurality of processor cores.
- a set of two or more processors, a dedicated circuit such as an FPGA or an ASIC, a set of two or more dedicated circuits, a combination of a processor and a dedicated circuit, and the like may be referred to as a “processor”.
- the decompression circuit 112 decompresses the compressed data and outputs it to the main processor 111.
- Examples of the compression method include MPEG, H.264, and the like.
- the decompression circuit 112 may support any compression method.
- the image data expanded by the expansion circuit 112 is output to the display 103 via the main processor 111.
- the decompressed image data may be directly output from the decompression circuit 112 to the display 103 without going through the bus 113 or the main processor 111.
- the decompressed image data may be supplied to the display 103 in a state of being encrypted by an HDCP (High-bandwidth Digital Content Protection system) system.
- the image data encrypted by the HDCP method may be output to the outside of the terminal device 100 via an image output interface (not shown).
- the RAM 101 is a volatile memory that temporarily stores programs executed by the main processor 111 and data referenced from the programs.
- the terminal device 100 may include a type of memory other than the RAM, or may include a plurality of volatile memories.
- the flash memory 102 is a non-volatile storage device that stores programs and data such as an OS, firmware, and application software.
- the terminal device 100 may include other types of storage devices such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), or may include a plurality of nonvolatile storage devices.
- HDD Hard Disk Drive
- SSD Solid State Drive
- the display 103 displays an image according to a command from the main processor 111.
- a liquid crystal display LCD: Liquid Crystal Display
- an organic EL Electro Luminescence
- the touch panel 104 is provided so as to overlap the display 103, detects a user's touch operation on the display 103, and notifies the main processor 111 of the touch position as an input signal.
- a pointing device such as a touch pen or a user's finger is used.
- detection methods such as a matrix switch method, a resistive film method, a surface acoustic wave method, an infrared method, an electromagnetic induction method, a capacitance method, etc. Good.
- the communication interface 105 is an interface for communicating with other computers (for example, the distribution center 31) via the network 40.
- the communication interface 105 may be a wired interface connected to a wired network or a wireless interface connected to a wireless network.
- the television receiving unit 106 includes a tuner, a demodulator, and the like, and acquires information indicating the content of each broadcast channel by taking in the broadcast radio wave received by the connected antenna 41.
- the program to be executed by the main processor 111 may be copied to the flash memory 102 from another storage device.
- the program executed by the main processor 111 may be downloaded from the network 40 by the communication interface 105.
- At least one of the hardware included in the terminal device 100 of FIG. 3 that is mounted outside the system LSI 110 and connected to the bus 113 may be mounted inside the system LSI 110.
- the RAM 101 and the flash memory 102 may be mounted inside the system LSI 110.
- the main processor 111 executes an OS program in which specifications such as an interface are disclosed.
- the main processor 111 executes an application program developed in accordance with the specifications of such an OS program.
- the versatility of the terminal device 100 is improved by configuring the terminal device 100 to include the main processor 111 that executes a program based on the published specifications.
- the secure LSI 120 is an integrated circuit having a TRM structure.
- the secure LSI 120 is connected to the main processor 111 via the bus 113, but the processes exchanged between the secure LSI 120 and the main processor 111 are limited to specific processes. This prevents information stored in the secure LSI 120 from being unintentionally leaked or tampered with.
- the secure LSI 120 includes a sub processor 121, a cryptographic operation circuit 122, a secure RAM 123, a secure ROM (Read Only Memory) 124, an external input / output unit 125, and a secure input unit 130. Each of these units is connected to the bus 127.
- the external input / output unit 125 is connected to the buses 113 and 127.
- the sub-processor 121 is a device including an arithmetic unit that executes program instructions in the secure LSI 120.
- the sub processor 121 controls each unit included in the secure LSI 120.
- the cryptographic operation circuit 122 is a circuit including an encryption circuit that encrypts data, a decryption circuit that decrypts data, and the like.
- the cryptographic operation circuit 122 performs processing such as encryption and decryption in accordance with an instruction from the sub processor 121, and outputs the processing result to the sub processor 121.
- the secure RAM 123 is a volatile memory that temporarily stores a program executed by the sub processor 121 and data referred to from the program.
- the secure LSI 120 may include a volatile memory of a type other than the RAM, and may include a plurality of volatile memories.
- the secure ROM 124 is a non-volatile storage device that stores confidential information such as identification information of the terminal device 100, a secret key, and a master key.
- the identification information of the terminal device 100 includes, for example, the identification number of the terminal device 100.
- the secure ROM 124 may store a dedicated program that operates only on the secure LSI 120.
- the dedicated program is, for example, a program generated by an instruction code that can be executed only on the secure LSI 120.
- the secure ROM 124 is a writable nonvolatile storage device such as a flash memory.
- the secure LSI 120 may include a plurality of such nonvolatile storage devices.
- the external input / output unit 125 is connected to the bus 113 and inputs / outputs data to / from the main processor 111 via the bus 113.
- the external input / output unit 125 outputs the data input from the main processor 111 to the sub processor 121.
- the external input / output unit 125 outputs data input from the sub processor 121 to the main processor 111.
- the path through which the sub processor 121 can output data in the secure LSI 120 is only the path through the external input / output unit 125.
- the sub processor 121 wants to transmit data to a device outside the terminal device 100 (for example, the distribution center 31)
- the sub processor 121 first transmits the data to be transmitted via the external input / output unit 125 to the main processor 111. Output to.
- the main processor 111 transmits the output data to a device outside the terminal device 100.
- the information input from the main processor 111 to the sub-processor 121 via the external input / output unit 125 is limited to information specified in advance, such as a specific command. Then, when information other than that specified by the external input / output unit 125 is input, the sub processor 121 ignores the information and discards it. Thereby, the security of the information stored in the secure LSI 120 is enhanced.
- the main processor 111 As a command that the main processor 111 outputs to the sub-processor 121, it is requested to directly read out data from the storage area inside the secure LSI 120 such as the secure RAM 123 and the secure ROM 124, and to write data into the storage area. Commands are not included. This makes it impossible to read / write data from / to the secure RAM 123 and the secure ROM 124 by a command from the main processor 111.
- the program executed by the sub-processor 121 of the secure LSI 120 does not include a program code that outputs confidential information stored in the secure LSI 120 via the external input / output unit 125. Thereby, security of confidential information is improved. Further, as will be described later, the program executed by the sub-processor 121 is not based on the published specifications, but is a program written in a language dedicated to the secure LSI 120. As a result, the reliability of the processing itself by the sub-processor 121 is increased, and as a result, the security of confidential information in the secure LSI 120 is improved.
- the random number generation circuit 126 generates a random number in accordance with an instruction from the sub processor 121 and outputs the generated random number to the sub processor 121.
- the random number is used for mutual authentication with the distribution center 31, for example.
- the secure input unit 130 outputs confidential information input from the input device 42 external to the terminal device 100 to the bus 127 in the secure LSI 120.
- the confidential information output from the secure input unit 130 is stored in the secure ROM 124 by the sub processor 121. Note that the confidential information output from the secure input unit 130 may be directly stored in the secure ROM 124 without using the sub processor 121.
- the secure input unit 130 configures an input path through which information can be input into the secure LSI 120 without the main processor 111 being interposed.
- the secure input unit 130 can output the input information to the bus 127, but cannot output the information input from the bus 127 to the outside of the secure LSI 120.
- the process for inputting confidential information from the secure input unit 130 can be performed at any timing after the secure LSI 120 is manufactured. For example, any time from when the manufactured secure LSI 120 is mounted on the terminal device 100 to immediately before the terminal device 100 on which the secure LSI 120 is mounted is shipped from the factory or until immediately before the terminal device 100 is sold to the user. Confidential information can be stored in the secure ROM 124 at the timing.
- the secure input unit 130 it is possible to store appropriate confidential information in the secure LSI 120 according to the sales form of the terminal device 100, the service provision form using the terminal device 100, and the like. Become.
- the versatility of the terminal device 100 can be improved. For example, when the terminal device 100 has a mobile phone function, unique confidential information generated by a mobile phone carrier or a mobile phone sales company can be stored in the secure ROM 124. In this case, the mobile phone carrier or the store can provide the service using the generated unique confidential information, and it is easy to provide the original service.
- connection unit for the input device 42 to connect to the secure input unit 130 for example, a predetermined external pin among a large number of external pins provided in the system LSI 110 can be used.
- a dedicated connector for connecting to the secure input unit 130 may be provided.
- connection from the input device 42 to the secure input unit 130 is performed.
- the input processing timing is basically limited to the manufacturing stage of the terminal device 100.
- the dedicated connector is provided on the outer surface of the casing of the terminal device 100, for example, confidential information can be input from the input device 42 to the secure input unit 130 at a store of the terminal device 100. become.
- connection unit to the secure input unit 130 it is desirable that the purchaser who has purchased the terminal device 100 does not easily access the connection unit to the secure input unit 130.
- the connection unit to the secure input unit 130 there is a method in which after input of confidential information through the secure input unit 130 is completed, an external pin or a dedicated connector for the input can be removed. As a result, confidential information on the secure LSI 120 cannot be falsified.
- the secure input unit 130 may have a function of authenticating the input device 42 and a decryption function.
- the purchaser of the terminal device 100 falsifies the confidential information on the secure LSI 120 by managing the authentication information and the decryption information by a reliable person such as the manufacturer or seller of the terminal device 100. become unable.
- FIG. 4 is a block diagram illustrating a hardware example of the secure input unit.
- the secure input unit 130 illustrated in FIG. 4 includes an input register 131, a shift register 132, an authentication information comparison unit 133, and a confidential information decryption unit 134.
- the secure input unit 130 stores an authentication key 135 and a decryption key 136.
- the authentication key 135 and the decryption key 136 are both fixed values, and are stored in advance in a nonvolatile storage device (not shown) such as a read-only register.
- the authentication key 135 can be read only from the authentication information comparison unit 133, and the decryption key 136 can be read only from the confidential information decryption unit 134.
- the input signal Sin and the clock signal CK are input from the input device 42 to the secure input unit 130.
- the input signal Sin is input to the input register 131.
- the clock signal CK is input to each unit of the input register 131, the shift register 132, the authentication information comparison unit 133, and the confidential information decryption unit 134. Note that the clock signal CK may be generated inside the terminal device 100, for example.
- the input signal Sin is output to the shift register 132 and the confidential information decryption unit 134 via the input register 131.
- the shift register 132 holds the value of a predetermined number of bits by shifting the value of the input signal Sin from the input register 131 at every clock timing. In the example of FIG. 4, the shift register 132 holds a 5-bit value.
- the authentication information comparison unit 133 is a circuit that performs authentication processing
- the confidential information decryption unit 134 is a circuit that performs decryption processing.
- the authentication information comparison unit 133 outputs an enable signal EN to the confidential information decryption unit 134.
- the enable signal EN is a signal for instructing whether or not the input signal Sin from the input register 131 can be input to the confidential information decryption unit 134. In the initial state, the value of the enable signal EN is “0”, and at this time, input of the input information Sin to the confidential information decryption unit 134 is prohibited.
- the authentication information comparison unit 133 has a comparator and a counter.
- the authentication information comparison unit 133 compares the value held in the shift register 132 with the value of the authentication key 135 for each bit and determines whether they match.
- the number of bits of the authentication key 135 is the same as the number of bits of the signal held by the shift register 132, and is “5” in the example of FIG.
- the authentication information comparison unit 133 changes the enable signal EN from “0” to “1” and counts the clock signal CK. Start operation. The initial value of the count number is “0”, and the authentication information comparison unit 133 keeps the enable signal EN “1” until the count number reaches a certain value. Then, when the count number reaches a certain value, the authentication information comparison unit 133 changes the enable signal EN from “1” to “0” and resets the count number. Thereby, the input of the input signal Sin to the confidential information decryption unit 134 is permitted only for a certain time.
- the confidential information decryption unit 134 can hold the value of the input signal Sin input from the input register 131 during a period in which the enable signal EN is “1”.
- the confidential information decryption unit 134 holds the input signal Sin by using, for example, a shift register.
- the confidential information decryption unit 134 decrypts the held signal using the decryption key 136 and outputs the decrypted signal to the sub-processor 121 via the bus 127.
- Such a secure input unit 130 performs the following operation.
- authentication information is included in the first 5 bits, and encrypted confidential information is included in the subsequent predetermined bits. If the authentication information comparison unit 133 determines that the authentication information included in the input signal Sin matches the authentication key 135, the authentication signal comparison unit 133 sets the enable signal EN to “1” and permits the input of the input information Sin to the confidential information decryption unit 134. To do. From this point, the confidential information decryption unit 134 receives and holds the encrypted confidential information.
- the confidential information decryption unit 134 decrypts the stored information using the decryption key 136 and outputs the decrypted confidential information to the sub-processor 121.
- the confidential information decrypted at this time includes, for example, a command for instructing to store or update information and key information to be stored or updated.
- the sub-processor 121 stores the decrypted key information in a predetermined area of the secure ROM 124.
- the signal input to the bus 127 in the secure LSI 120 is permitted only for a certain period only when the authentication information matching the authentication key 135 is input.
- the input information is stored in the secure ROM 124 only when the input information is correctly decrypted by the decryption key 136.
- the security of information input via the secure input unit 130 is strengthened.
- FIG. 5 is a block diagram illustrating a configuration example of functions provided in the terminal device.
- the terminal device 100 includes a distribution content playback unit 141, a broadcast content playback unit 142, a confidential information processing unit 150, and a confidential information storage unit 160.
- the processing of the distribution content playback unit 141 is realized by the main processor 111 executing a predetermined application program (for example, a distribution content playback program).
- the distribution content reproduction unit 141 controls reproduction processing of distribution content provided by the distribution center 31.
- the distribution content playback unit 141 receives the encrypted content from the distribution center 31.
- the received encrypted content is stored in the flash memory 102 or the RAM 101.
- the distribution content playback unit 141 requests the confidential information processing unit 150 to acquire a content key for decrypting the encrypted content, and thereafter mediates data transfer between the confidential information processing unit 150 and the distribution center 31. To do.
- the confidential information processing unit 150 receives the encrypted content key from the distribution center 31 and causes the cryptographic operation circuit 122 to decrypt the received encrypted content key
- the distributed content reproduction unit 141 confidentially decrypts the decrypted content key.
- the distribution content reproduction unit 141 decrypts the encrypted content using the content key received from the confidential information processing unit 150, supplies the decrypted distribution content to the decompression circuit 112, and reproduces and outputs the distribution content.
- the processing of the broadcast content playback unit 142 is realized by the main processor 111 executing a predetermined application program (for example, a broadcast content playback program).
- the broadcast content playback unit 142 controls playback processing of broadcast content received from the broadcast station 32 via broadcast waves.
- the broadcast content reproduction unit 142 requests the confidential information processing unit 150 to decrypt the encrypted work key and the encrypted content key received via the broadcast wave.
- the encrypted work key is a work key encrypted by a master key stored in the secure LSI 120
- the encrypted content key is a content key for decrypting broadcast content encrypted by the work key. Both the work key and the content key are regularly updated.
- the broadcast content playback unit 142 receives the decrypted content key from the confidential information processing unit 150, and decrypts the encrypted content received via the broadcast wave using the received content key.
- the broadcast content reproduction unit 142 supplies the decoded broadcast content to the decompression circuit 112, and reproduces and outputs the broadcast content.
- the processing of the confidential information processing unit 150 is realized by the sub processor 121 executing a dedicated program for the secure LSI 120.
- the confidential information processing unit 150 executes acquisition of key information used for content playback and decryption control of the key information.
- the confidential information processing unit 150 causes the cryptographic operation circuit 122 to perform encryption and decryption of information, and causes the random number generation circuit 126 to generate a random number.
- the confidential information storage unit 160 is configured by a storage area of the secure ROM 124.
- the confidential information storage unit 160 stores at least a secret key of the terminal device 100 and a master key of the terminal device 100 as confidential information that needs to be concealed.
- the secret key is used when reproducing the distribution content, and the master key is used when reproducing the broadcast content.
- the secret key and the master key are input from the secure input unit 130 and stored in the confidential information storage unit 160.
- the secret key and the master key may be common key information.
- the confidential information storage unit 160 stores the identification information of the terminal device 100 and the public key of the distribution center 31.
- the identification information and the public key may be input from the secure input unit 130, but may not be necessarily confidential information, and may be input from the external input / output unit 125.
- the terminal device 100 has identification information such as an identification number.
- the identification information is stored in advance in the secure ROM 124 on the secure LSI 120.
- this identification information is not necessarily information that needs to be concealed.
- the identification information may be, for example, a user ID that identifies the user.
- the secure ROM 124 on the secure LSI 120 stores the secret key of the terminal device 100 and the public key of the distribution center 31.
- the secret key of the terminal device 100 is information that needs to be concealed and cannot be accessed from the main processor 111.
- the public key of the distribution center 31 is not information that needs to be concealed, and may be received from the outside of the terminal device 100 and stored in the secure LSI 120 from the external input / output unit 125, for example.
- the distribution center 31 manages the secret key of the distribution center 31 and the public key of the terminal device 100.
- the public key is prepared for each terminal device, and the distribution center 31 can determine the public key corresponding to the terminal device by receiving the identification information from the terminal device.
- 6 to 7 are diagrams showing a sequence example of the distribution content reproduction process. 6 to 7, the processing of the main processor 111 corresponds to the processing of the distribution content playback unit 141 of FIG. 5, and the processing of the sub processor 121 among the processing of the secure LSI 120 is the processing of the confidential information processing unit 150 of FIG. Corresponds to processing.
- the reproduction processing of the distribution content is requested by a user input operation. It is assumed that the distributed content is stored in, for example, the flash memory 102 in a state encrypted with the content key.
- the main processor 111 requests the sub-processor 121 of the secure LSI 120 to acquire a content key in response to a reproduction process request operation (step S11). At this time, the main processor 111 also notifies the sub processor 121 of the content ID for identifying the content to be reproduced.
- the main processor 111 transfers the information output from the sub processor 121 to the distribution center 31 until the content key is output from the sub processor 121 and the end of the process is notified. The process of supplying the information received from the distribution center 31 to the sub-processor 121 is repeated.
- the sub-processor 121 causes the random number generation circuit 126 to generate a random number A (step S12).
- the sub processor 121 reads the identification information of the terminal device 100 from the secure ROM 124 (step S13). Note that the processing order of these steps S12 and S13 may be reversed.
- the sub processor 121 outputs the generated random number A and the read identification information to the main processor 111 (step S14).
- the main processor 111 transmits the input random number A and identification information to the distribution center 31.
- the distribution center 31 receives the random number A and the identification information of the terminal device 100 (step S15).
- the distribution center 31 encrypts the received random number A with the secret key of the distribution center 31 (step S16).
- the distribution center 31 generates a random number B (step S17).
- the distribution center 31 searches for the public key of the terminal device 100 based on the received identification information. Then, the distribution center 31 randomly generates a session key.
- the session key is key information used as a common key with the terminal device 100.
- the distribution center 31 encrypts the generated session key with the public key of the searched terminal device 100 (step S18). Note that the processing order of these steps S16 to S18 can be changed.
- the distribution center 31 transmits to the terminal device 100 information including the encrypted random number A, the generated random number B, and the encrypted session key.
- the main processor 111 receives the information transmitted by the distribution center 31 (step S19).
- the main processor 111 outputs the received information to the secure LSI 120 (step S20).
- the sub-processor 121 causes the cryptographic operation circuit 122 to decrypt the input encrypted random number A with the public key of the distribution center 31.
- the sub-processor 121 confirms that the authentication with the distribution center 31 has succeeded because the random number A has been decrypted (step S21).
- the sub processor 121 causes the cryptographic operation circuit 122 to encrypt the input random number B using the secret key of the terminal device 100 (step S22).
- the sub processor 121 causes the cryptographic operation circuit 122 to decrypt the input session key using the secret key of the terminal device 100 (step S23).
- the sub processor 121 outputs the encrypted random number B to the main processor 111 for transmission to the distribution center 31 (step S24).
- the main processor 111 transmits the input random number B to the distribution center 31.
- Distribution center 31 receives random number B (step S25).
- the distribution center 31 decrypts the received random number B with the public key of the terminal device 100.
- the distribution center 31 confirms that the authentication with the terminal device 100 has succeeded because the random number B has been decrypted (step S31).
- the distribution center 31 encrypts the notification information for notifying the success of the mutual authentication with the session key (step S32).
- the distribution center 31 transmits the encrypted notification information to the terminal device 100.
- the main processor 111 receives the encrypted notification information (step S33).
- the main processor 111 outputs the encrypted notification information to the secure LSI 120 (step S34).
- the sub-processor 121 causes the cryptographic operation circuit 122 to decrypt the input notification information using the session key decrypted in step S23, and confirms that mutual authentication with the distribution center 31 has been successful (step S35). Note that the decryption of the session key (step S23) may be performed at an arbitrary timing from the execution of step S21 to immediately before the execution of step S35.
- the sub-processor 121 outputs the content ID to the main processor 111 for transmission to the distribution center 31 (step S36).
- the main processor 111 transmits the input content ID to the distribution center 31 (step S37).
- the transmission of the content ID from the sub processor 121 to the distribution center 31 may be performed at the time of steps S14 and S15, for example.
- the distribution center 31 receives the content ID and searches for a content key corresponding to the received content ID.
- the distribution center 31 encrypts the retrieved content key with the session key (step S38).
- the distribution center 31 transmits the encrypted content key to the terminal device 100.
- the main processor 111 receives the encrypted content key (step S39).
- the main processor 111 outputs the encrypted content key to the secure LSI 120 (step S40).
- the sub-processor 121 causes the cryptographic operation circuit 122 to decrypt the input content key using the session key decrypted in step S23 (step S41).
- the sub processor 121 outputs the decrypted content key to the main processor 111 and notifies the end of the content key acquisition process (step S42).
- the main processor 111 decrypts the encrypted content with the content key (step S43).
- the main processor 111 outputs the decrypted content to the decompression circuit 112 for reproduction output (step S44).
- the terminal device 100 uses the secret key stored in the storage area of the secure LSI 120 when performing mutual authentication with the distribution center 31. Further, the terminal device 100 executes decryption of encrypted data used for mutual authentication on the secure LSI 120. Then, the terminal device 100 executes the decryption of the content key using the session key obtained by the mutual authentication on the secure LSI 120. As a result, it is possible to prevent the secret key and the session key from being peeped or tampered with from the outside, and it is possible to ensure security when acquiring the content key.
- the broadcast content is transmitted from the broadcast station 32 via a broadcast wave in a state encrypted with the content key. Further, the content key is transmitted via a broadcast wave together with the encrypted broadcast content in a state encrypted with the work key.
- the content key is updated periodically, for example, once every few seconds.
- the work key is transmitted via a broadcast wave in a state encrypted with an individual master key for each user.
- the work key is updated at a longer cycle than the content key. For example, when a broadcast content viewing service is contracted on a monthly basis, the work key is also updated once a month when the contract is updated.
- the master key is stored in the secure ROM 124 of the secure LSI 120.
- the master key is information that needs to be concealed and cannot be accessed from the main processor 111.
- FIG. 8 is a diagram showing a sequence example of work key acquisition processing.
- an update number is added to the encrypted work key transmitted from the broadcasting station 32.
- the update number is updated by the broadcasting station 32 together with the encrypted work key.
- the broadcast station 32 manages the identification information of the terminal device 100 in association with the master key.
- the identification information of the terminal device 100 is information corresponding to the user ID.
- the master key is a common key.
- the master key may be a secret key of the terminal device 100.
- the broadcast station 32 manages the public key corresponding to the master key of the terminal device 100 in association with the identification information of the terminal device 100.
- the main processor 111 confirms that the encrypted work key has been updated.
- the work key is updated once a month, for example.
- the flash memory 102 of the terminal device 100 stores the latest update number among the previously received ones.
- the main processor 111 stores the update number added to the encryption work key and the flash memory 102.
- the update number is compared to determine whether or not there is an update (step S51). If the encrypted work key has been updated by the broadcast station 32, the main processor 111 outputs the updated encrypted work key to the secure LSI 120 (step S52). Further, the main processor 111 rewrites the update number stored in the flash memory 102 with the received update number.
- the sub-processor 121 causes the cryptographic operation circuit 122 to decrypt the input encrypted work key using the master key (step S53).
- the sub processor 121 stores the decrypted work key in the recording medium of the secure LSI 120 such as the secure ROM 124 (step S54).
- FIG. 9 is a diagram showing a sequence example of broadcast content reproduction processing.
- an update number is added to the encrypted content key transmitted from the broadcasting station 32.
- the update number is updated by the broadcast station 32 together with the encrypted content key.
- the main processor 111 periodically confirms that the encrypted content key has been updated. For example, the content key is updated once every few seconds, and is updated by the following method every time content update information is received.
- the flash memory 102 of the terminal device 100 stores the latest update number among those previously received, and the main processor 111 includes the update number added to the encrypted content key included in the content update information, By comparing the update number stored in the flash memory 102, it is determined whether or not there is an update (step S61). If the encrypted content key has been updated, the main processor 111 outputs the updated encrypted content key to the secure LSI 120 (step S62). Further, the main processor 111 rewrites the update number stored in the flash memory 102 with the received update number.
- the sub-processor 121 causes the cryptographic operation circuit 122 to decrypt the encrypted content key using the work key stored in step S54 (step S63).
- the sub processor 121 outputs the decrypted content key to the main processor 111 (step S64).
- the main processor 111 decrypts the encrypted broadcast content supplied from the television receiver 106 with the input content key (step S65).
- the main processor 111 outputs the decoded broadcast content to the decompression circuit 112 as in step S42 (step S66).
- the terminal device 100 decrypts the encrypted work key on the secure LSI 120 using the master key stored in the recording device on the secure LSI 120. Further, the terminal device 100 decrypts the encrypted content key on the secure LSI 120 using the decrypted work key. Thereby, it is possible to prevent the master key and the work key from being tampered with or peeped from the outside, and to secure security when acquiring the content key.
- a program executed by the sub processor 121 of the secure LSI 120 will be described.
- the secure LSI 120 unlike the main processor 111, a dedicated program whose specifications are not disclosed is executed. Thereby, the risk that the sub processor 121 of the secure LSI 120 is hacked is reduced, and the security of processing in the secure LSI 120 is improved. For example, even if the code of a program executed by the sub processor 121 is leaked, the risk of the sub processor 121 being hacked is reduced because the analysis of the program is not easy.
- the dedicated program is described using, for example, a dedicated instruction code as shown in FIG.
- the dedicated instruction code is converted into an instruction code corresponding to the sub processor 121 using the conversion program.
- a dedicated program and a conversion program are stored in the secure ROM 124.
- the dedicated instruction code constituting the dedicated program to be executed is converted into an instruction code (for example, machine language) corresponding to the sub processor 121 by the conversion program.
- the converted instruction code is executed by the sub processor 121.
- FIG. 10 is a diagram showing an example of a list of dedicated instruction codes.
- the instruction code list 180 is a list of dedicated instruction codes in the secure LSI 120.
- the instruction code list 180 is stored in the secure ROM 124 on the secure LSI 120.
- the decrypted instruction code list 180 is expanded on the secure RAM 123.
- the instruction code list 180 has items of instructions and codes.
- an instruction that can be executed by the sub-processor 121 is set.
- a dedicated instruction code corresponding to the instruction item is set in binary.
- a register and an address are specified for the code. In the following description, the designated register number “x” and the designated address are described as “a”.
- dition is an instruction for adding the contents of the designated register x and the contents of the designated address a and storing the addition result in the register x.
- the instruction code corresponding to “addition” is 00000001.
- “Subtraction” is an instruction for subtracting the contents of the designated address a from the contents of the designated register x and storing the subtraction result in the register x.
- the instruction code corresponding to “subtraction” is 00000010.
- Load is an instruction for storing the contents of the designated address a in the designated register x.
- the instruction code corresponding to “load” is 00000011.
- Store is an instruction to store the contents of the designated register x at the designated address a.
- the instruction code corresponding to “Store” is 00000100.
- “Compare” is an instruction for comparing the contents of the designated register x with the contents of the designated address a and storing the comparison result in a predetermined register such as a status register. For example, when the contents of the designated register x match the contents of the designated address a, information indicating “match” is stored in the predetermined register.
- the instruction code corresponding to “comparison” is 00000101.
- Branch 1 is an instruction for branching the instruction to the designated address a when the comparison result stored in the predetermined register in the “comparison” instruction is information indicating “match”.
- the instruction code corresponding to “branch 1” is 00000110.
- Branch 2 is an instruction that unconditionally branches an instruction to a designated address a.
- the instruction code corresponding to “branch 2” is 00000111.
- “Setting” is an instruction to store designated data d in a designated register x.
- the instruction code corresponding to “setting” is 10000000.
- “Addition 1” is an instruction to add the designated data d to the contents of the designated register x and store the addition result in the designated register x.
- the instruction code corresponding to “addition 1” is 10000001.
- “Subtraction 1” is an instruction for subtracting the designated data d from the contents of the designated register x and storing the subtraction result in the designated register x.
- the instruction code corresponding to “subtraction 1” is 10000010.
- Encryption 1 is an instruction for initializing a circuit for cryptographic processing in the cryptographic operation circuit 122.
- the initialization of the cryptographic processing circuit includes, for example, setting of an encryption method (for example, AES (Advanced Encryption Standard) encryption, DES (Data Encryption Standard) encryption), a key, and the like.
- the instruction code corresponding to “encryption 1” is 10010000.
- Encryption 2 is an instruction to encrypt the contents of the designated register x and store the encrypted contents at the designated address a.
- the instruction code corresponding to “encryption 2” is 1000001.
- “Decryption 1” is an instruction for initializing a circuit for decryption processing in the cryptographic operation circuit 122.
- the instruction code corresponding to “Decryption 1” is 10010010.
- “Decryption 2” is an instruction to decrypt the contents of the designated register x and store the decrypted contents at the designated address a.
- the instruction code corresponding to “Decryption 2” is 10010011.
- Random number generation 1 is an instruction to initialize the random number generation circuit 126.
- the initialization of the random number generation circuit 126 includes setting an initial value used for random number generation, for example.
- the instruction code corresponding to “random number generation 1” is 10010100.
- Random number generation 2 is an instruction to generate a random number, set the generated random number in the designated register x, and store the contents of the set register x in the designated address a.
- the instruction code corresponding to “random number generation 2” is 10010101.
- Output 0 is an instruction to initialize the output circuit in the external input / output unit 125.
- the initialization of the output circuit includes a setting for enabling the output circuit of the external input / output unit 125, for example.
- the instruction code corresponding to “output 0” is 10010110.
- the instruction code corresponding to “Output 1” is 10010111.
- Output 2 is an instruction to store in the designated register x information indicating whether or not the data output by “Output 1” has been read out by the main processor 111.
- the instruction code corresponding to “Output 2” is 10011000.
- “Input 0” is an instruction to initialize an input circuit in the external input / output unit 125.
- the instruction code corresponding to “input 0” is 10011001.
- “Input 1” is an instruction for sequentially inputting data corresponding to the contents of the designated register x from the designated address a to the input circuit.
- the instruction code corresponding to “input 1” is 10011010.
- “Input 2” is an instruction for storing in the designated register x information indicating whether or not the data input by “Input 1” has been read by the sub-processor 121.
- the instruction code corresponding to “input 2” is 10011011.
- the dedicated instruction code constituting the dedicated program is converted into an instruction code corresponding to the sub processor 121 by the conversion program referring to the instruction code list 180. Then, the sub-processor 121 executes the converted instruction code.
- the sub-processor 121 of the secure LSI 120 executes the dedicated program, so that the processing in the secure LSI 120 and the security of stored information can be improved.
- the terminal device 100 may be able to replace the dedicated program as follows.
- the secure LSI 120 can secure the security by replacing the instruction code list 180 and the dedicated program with different contents.
- FIG. 11 is a diagram illustrating a sequence example of instruction code list replacement processing.
- FIG. 11 illustrates a sequence example in which the terminal device 100 updates the instruction code list 180 and the dedicated program when the instruction code list 180 is leaked.
- instruction code list and the instruction program are stored in the secure ROM 124 in an encrypted state, decrypted with a predetermined key at the time of execution, and expanded in the secure RAM 123.
- the processing of the sub processor 121 in the description of FIG. 11 is realized by the sub processor 121 according to a predetermined program for program replacement, for example.
- the programs to be replaced by this replacement program include the replacement program itself.
- the processing of the main processor 111 in the description of FIG. 11 is executed according to a program for requesting the sub-processor 121 for program replacement.
- the main processor 111 monitors the updated instruction code list transmitted from the broadcast station 32 (step S71).
- the broadcasting station 32 transmits the updated encrypted instruction code list (hereinafter referred to as an encrypted instruction code list) to the terminal device 100
- the main processor 111 receives the encrypted instruction code list (step S72).
- the main processor 111 outputs the received encrypted instruction code list to the secure LSI 120 (step S73).
- the sub-processor 121 updates the encrypted instruction code list stored in the secure ROM 124 with the input encrypted instruction code list (step S74).
- the sub-processor 121 causes the cryptographic operation circuit 122 to decrypt the updated encrypted instruction code list.
- the key for decryption is stored in advance in the secure ROM 124 via the secure input unit 130 (step S75).
- the sub processor 121 expands the decoded instruction code list after update in the secure RAM 123 (step S76).
- the sub processor 121 outputs to the main processor 111 that the updated instruction code list has been expanded (step S77).
- the main processor 111 monitors the updated dedicated program transmitted from the broadcast station 32.
- the updated dedicated program is composed of dedicated instruction codes included in the updated instruction code list (step S78).
- the broadcast station 32 transmits the encrypted updated dedicated program (hereinafter referred to as an encrypted dedicated program) to the terminal device 100, and the main processor 111 receives the encrypted dedicated program (step S79).
- the main processor 111 outputs the received encryption dedicated program to the secure LSI 120 (step S80).
- the sub-processor 121 updates the encryption-dedicated program stored in the secure ROM 124 with the updated encryption-dedicated program that has been input (step S81).
- the sub-processor 121 causes the cryptographic operation circuit 122 to decrypt the updated updated encryption dedicated program.
- the key for decryption is stored in advance in the secure ROM 124 via the secure input unit 130 (step S82).
- the sub processor 121 expands the decrypted updated dedicated program in the secure RAM 123 (step S83).
- confidential information such as a master key is stored via the secure input unit 130 that can access the secure LSI 120.
- the confidential information is stored in the secure ROM 124, the possibility of being peeped by a third party is reduced because the system LSI 110 that may be accessed from the outside is not passed. Therefore, the terminal device 100 can store confidential information in the secure RAM 123 more safely.
- the confidential information input process via the secure input unit 130 can be performed at any timing after the secure LSI 120 is manufactured. As a result, it becomes possible to store in the secure ROM 124 appropriate confidential information suitable for the form of service provided for the terminal device 100 sold, and the versatility of the terminal device 100 is improved.
- the secure LSI 120 acquires encrypted data such as an encrypted content key via the external input / output unit 125 that can input / output data to / from the system LSI 110. Then, the secure LSI 120 decrypts the acquired encrypted data using a secret key stored in the secure ROM 124, and outputs the decrypted data to the system LSI 110. As a result, the terminal device 100 can decrypt the encrypted data in the secure LSI 120 in which confidential information such as a secret key is not known to the outside, so that the encrypted data can be decrypted more safely.
- the terminal device 100 acquires the content key from the distribution center 31, the terminal device 100 generates a random number in the secure LSI 120. Next, the terminal device 100 performs mutual authentication with the distribution center 31 using the generated random number and the identification information and secret key stored in advance in the secure ROM 124. If the mutual authentication is successful, the terminal device 100 can acquire the content key from the distribution center 31. Thereby, the terminal device 100 can perform mutual authentication with the distribution center 31 without falsifying or peeping at confidential information.
- the terminal device 100 uses a dedicated program that operates only on the secure LSI 120. This makes it difficult to analyze the dedicated program by looking into the dedicated instruction code.
- the terminal device 100 converts the dedicated instruction code constituting the dedicated program into an instruction code corresponding to the sub processor 121 using the conversion program and the instruction code list 180 in the secure LSI 120. Then, the sub processor 121 executes the converted instruction code. As a result, the dedicated program can be executed on the secure LSI 120 without depending on the instruction code corresponding to the sub processor 121 on the secure input unit 130.
- the instruction code list 180 and the conversion program stored on the secure ROM 124 can be replaced. As a result, even if the contents of the instruction code list 180 are leaked for some reason, analysis of the contents of the dedicated program can be prevented.
- the terminal device 100 there is a case where the secure ROM 124 has a small capacity and a lot of confidential information cannot be stored on the secure LSI 120.
- the terminal device 100 may store the encrypted confidential information in a storage device (for example, the flash memory 102) outside the secure LSI 120. 12 to 13, a method for inputting / outputting confidential information to / from the RAM 101 or the flash memory 102 which is a storage device outside the secure LSI 120 will be described.
- the process of storing confidential information will be described using an example of playing broadcast content.
- the master key is a common key and is stored in the secure ROM 124.
- the processing of the sub processor 121 corresponds to the processing of the confidential information processing unit 150 of FIG. 5, and the processing of the main processor 111 corresponds to the processing of the broadcast content reproduction unit 142 of FIG. .
- FIG. 12 is a flowchart showing an example of an external storage process for confidential information.
- This external storage process includes, for example, a process of re-encrypting the work key decrypted in step S53 of FIG. 8 and storing it outside the secure LSI 120, or a re-encryption of the content key decrypted in step S63 of FIG.
- the present invention can be applied to processing stored outside the secure LSI 120.
- Step S91 The sub processor 121 calculates a hash value of confidential information.
- Step S ⁇ b> 92 The sub processor 121 stores the calculated hash value in the secure ROM 124.
- Step S93 The sub processor 121 causes the cryptographic operation circuit 122 to encrypt the confidential information using a master key or the like stored in the secure ROM 124.
- the encrypted confidential information is referred to as encrypted confidential information.
- Step S94 The sub processor 121 requests the main processor 111 to store the encrypted confidential information in a storage device (for example, the RAM 101 or the flash memory 102) outside the secure LSI 120.
- a storage device for example, the RAM 101 or the flash memory 102
- FIG. 13 is a flowchart showing an example of confidential information read processing.
- FIG. 13 illustrates a case where a predetermined process is executed using confidential information stored in a storage area outside the secure LSI 120 by the process of FIG.
- Step S101 The sub processor 121 requests the main processor 111 to output the encrypted confidential information from the storage area outside the secure LSI 120 to the secure LSI 120. Upon receiving the request, the main processor 111 outputs the encrypted confidential information stored in the external storage area to the sub processor 121 by the processing of FIG.
- Step S102 The sub-processor 121 causes the cryptographic operation circuit 122 to decrypt the acquired encrypted confidential information using the master key.
- Step S103 The sub processor 121 calculates a hash value of the decrypted confidential information.
- Step S104 The sub processor 121 determines whether the calculated hash value matches the hash value stored in step S92. If the hash values match, the process proceeds to step S105. If the hash values do not match, the process proceeds to step S106.
- Step S105 The sub-processor 121 executes a predetermined process using confidential information.
- Step S106 The sub-processor 121 stops the process and outputs notification information for notifying the main processor 111 that, for example, the confidential information has been tampered with.
- the terminal device 100 stores the hash value of the confidential information in the secure ROM 124 or the like when storing the confidential information in the storage device outside the secure LSI 120.
- the hash value of the confidential information stored in the external storage area on the secure LSI 120 is calculated. If the calculated hash value matches the hash value stored on the secure ROM 124, it is determined that the confidential information has not been tampered with. Thereby, it is possible to confirm whether or not the confidential information stored in the storage device outside the secure LSI 120 has been tampered with.
- the main processor 111 can improve the security when the distribution content or the broadcast content is decrypted using the content key.
- a content processing program for example, a distributed content reproduction program or a broadcast content reproduction program
- the terminal device 100 outputs content after acquiring the content key by the above method
- a content processing program for example, a distributed content reproduction program or a broadcast content reproduction program
- processes the content And may be tampered with.
- FIG. 14 is a diagram showing an example of program code reconfiguration.
- the encrypted content processing program 190 is stored in the flash memory 102.
- the encrypted content processing program 190 is an encrypted content processing program 191 for the main processor 111 to process content.
- the encrypted content processing program 190 can be decrypted with a decryption key stored in the secure ROM 124 such as a master key.
- the sub processor 121 reads the encrypted content processing program 190 from the flash memory 102 via the main processor 111, and causes the cryptographic operation circuit 122 to decrypt the read encrypted content processing program 190 with the decryption key.
- the decrypted content processing program 191 includes code groups # 1, # 2, and # 3 that are instruction code groups. Each code group is arranged in the order of code groups # 1, # 2, and # 3.
- the sub-processor 121 rearranges the code groups # 1, # 2, and # 3 of the content processing program 191 and expands them in the RAM 101 via the main processor 111. To do. Then, the sub processor 121 causes the main processor 111 to execute the developed content processing program 191. For example, at the time of the first execution, the content processing program 191a rearranged in the order of the code groups # 3, # 2, and # 1 is expanded in the RAM 101. At the time of the second execution, the content processing program 191b rearranged in the order of the code groups # 2, # 1, and # 3 is expanded in the RAM 101. Since the arrangement order of the code groups arranged in the RAM 101 is different, it becomes difficult for the hacker to analyze the code and hacking can be made difficult. Although the arrangement of the code group is different each time, the functions viewed from the outside of the code group are the same.
- the sub-processor 121 rearranges the code groups # 1, # 2, and # 3 of the content processing program 191 and develops them in the RAM 101.
- the order in which the instruction codes are arranged changes every time the content processing program 191 is executed, it becomes difficult for a third party to analyze the content processing program by peeping.
- FIG. 15 is a diagram showing an example of mutual authentication with a program.
- the encrypted content processing program 190 is decrypted by the secure LSI 120 into the content processing program 191 including the instruction codes of the code groups # 1, # 2, and # 3 as in FIG. 14 (step S111). ).
- the sub-processor 121 rearranges the code groups # 1, # 2, # 3 and the constants # 1, # 2.
- a content processing program 191c rearranged in the order of code group # 3, # 2, constant # 1, code group # 1, constant # 2 is generated.
- the constants # 1 and # 2 are randomly generated by the random number generation circuit 126 of the secure LSI 120 and used for mutual authentication between the sub processor 121 and the content processing program 191c.
- the constants # 1 and # 2 are also stored in a storage area (for example, secure RAM 123, secure ROM 124, etc.) on the secure LSI 120.
- the sub processor 121 causes the main processor 111 to expand the rearranged content processing program 191c in the RAM 101 (step S112).
- the sub processor 121 After the content processing program 191c is executed by the main processor 111, the sub processor 121 generates a random number C and outputs the generated random number C to the main processor 111 (step S113). The main processor 111 outputs the sum of the received random number C and the constant # 1 included in the content processing program 191c to the sub processor 121 (step S114).
- the sub processor 121 authenticates the content processing program 191c. Is determined to be successful. If the authentication of the content processing program 191c is successful, the sub-processor 121 outputs the sum of the received value and the constant # 2 to the content processing program 191c (step S115). When the sum of the value output by the main processor 111 in step S114 and the constant # 2 included in the content processing program 191c matches the value input from the sub processor 121, the main processor 111 authenticates the sub processor 121. Judge as successful. When the mutual authentication is normally completed as described above, the main processor 111 executes the content processing program 191c.
- the sub processor 121 rearranges the code included in the content processing program 191 and the constants stored in advance in the storage area on the secure LSI 120.
- the program 191c is expanded in the RAM 101. Then, by performing mutual authentication using constants included in the developed content processing program 191c, it is possible to determine whether the content processing program 191c has been tampered with. As a result, the possibility of leakage of confidential information such as a content key handled by the content processing program 191 can be reduced.
- the information processing of the first embodiment can be realized by causing the information processing apparatus 1 to execute a program, and the information processing of the second embodiment executes a program to the terminal device 100.
- a program can be recorded on a computer-readable recording medium.
- the recording medium for example, a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like can be used.
- Magnetic disks include FD (Floppy Disk) and HDD.
- Optical discs include CD (Compact Disc), CD-R (Recordable) / RW (Rewritable), DVD (Digital Versatile Disc), and DVD-R / RW.
- the program can be stored in a storage device of another computer and distributed through the network 40.
- the computer stores a program received from another computer in a storage device (for example, the flash memory 102), reads the program from the storage device, and executes the program.
- a program received from another computer via the network 40 may be directly executed.
- at least a part of the information processing described above can be realized by an electronic circuit such as a DSP, an ASIC, or a PLD (Programmable Logic Device).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
Description
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置について示す図である。情報処理装置1は、暗号化されたデータを、鍵を用いて復号する機能を有するコンピュータである。情報処理装置1は、例えば、タブレット型、ノートブック型、デスクトップ型等のPC(Personal Computer)でもよいし、携帯電話機能を備えた携帯型の情報端末装置でもよい。
まず、入力部11は、通信路3を介して入力された鍵6を、メモリ12に格納する(ステップS1)。鍵6の格納処理は、少なくともメモリ12の製造後の任意のタイミングで行うことが可能である。例えば、製造されたメモリ12をセキュアモジュール10に実装する時点から、セキュアモジュール10および制御回路20が搭載された情報処理装置1が工場から出荷される直前まで、あるいは情報処理装置1がユーザに販売される直前までの任意のタイミングで、メモリ12に鍵6を格納できる。これにより、販売された情報処理装置1のために提供されるサービスの形態に合わせた適切な鍵6をメモリ12に格納できるようになり、情報処理装置1の汎用性が向上する。
次に、制御回路20は、通信路2を介して制御回路13に暗号化データ4を入力する(ステップS2)。
次に、第2の実施の形態として、暗号化されたコンテンツ(以下、暗号化コンテンツ)を復号するためのコンテンツ鍵を、セキュアLSIを用いて管理するようにした端末装置について説明する。本実施の形態において、コンテンツとは、映像情報および音声情報を含む情報であり、例えば、テレビ番組、映画、ビデオゲーム等の情報である。第2の実施の形態において、コンテンツは、例えば、MPEG(Moving Picture Experts Group)方式やH.264方式等の方式により圧縮されている。
コンテンツ鍵は、放送局32により定期的(例えば、数秒間に1回)更新される。更新されたコンテンツ鍵は、放送局32で暗号化される。以下、暗号化されたコンテンツ鍵を暗号化コンテンツ鍵と記載する。暗号化コンテンツ鍵は、コンテンツ鍵に対応する暗号化コンテンツとともに、放送局32から放送波によって端末装置100へ定期的に送信される。
図4に示すセキュア入力部130は、入力レジスタ131、シフトレジスタ132、認証情報比較部133および機密情報復号部134を有する。また、セキュア入力部130には、認証鍵135および復号鍵136が記憶されている。認証鍵135および復号鍵136は、ともに固定値であり、読み出し専用のレジスタ等の不揮発性記憶装置(図示せず)に予め格納されている。なお、認証鍵135は認証情報比較部133からのみ読み出し可能であり、復号鍵136は機密情報復号部134からのみ読み出し可能である。
シフトレジスタ132は、入力レジスタ131からの入力信号Sinの値を、クロックタイミングごとにシフトすることで、所定ビット数の値を保持する。図4の例では、シフトレジスタ132は5ビットの値を保持する。
端末装置100は、識別番号等の識別情報を有する。識別情報は、予めセキュアLSI120上のセキュアROM124に格納されている。ただし、この識別情報は、必ずしも秘匿が必要な情報ではない。なお、識別情報は、例えば、ユーザを識別するユーザIDであってもよい。
「ストア」は、指定したレジスタxの内容を指定したアドレスaに格納する命令である。また、「ストア」に対応する命令コードは、00000100となる。
「設定」は、指定したデータdを指定したレジスタxに格納する命令である。また、「設定」に対応する命令コードは、10000000となる。
「復号化2」は、指定したレジスタxの内容を復号し、復号した内容を指定したアドレスaに格納する命令である。また、「復号化2」に対応する命令コードは、10010011となる。
「入力1」は、指定したレジスタxの内容の数のデータを、指定したアドレスaから入力回路へ順次入力する命令である。また、「入力1」に対応する命令コードは、10011010となる。
以上の第2の実施の形態によれば、マスタ鍵等の機密情報は、セキュアLSI120にアクセスできるセキュア入力部130を介して格納される。これにより、機密情報をセキュアROM124に格納する際、外部からアクセスされる可能性のあるシステムLSI110等を介さないため、第三者に覗き見等される可能性が減少される。よって、端末装置100は、より安全にセキュアRAM123に機密情報を格納できる。
(ステップS92)サブプロセッサ121は、計算したハッシュ値をセキュアROM124に格納する。
(ステップS103)サブプロセッサ121は、復号された機密情報のハッシュ値を計算する。
(ステップS106)サブプロセッサ121は、処理を中止し、メインプロセッサ111に、例えば機密情報が改ざんされたこと等を通知する通知情報を出力する。
第2の実施の形態の端末装置100が上記の方法によるコンテンツ鍵の取得後にコンテンツを出力する際、コンテンツを処理するコンテンツ処理プログラム(例えば、配信コンテンツ再生プログラムや放送コンテンツ再生プログラム)が、覗き見されたり改ざんされたりする場合がある。この場合、コンテンツ鍵が漏洩して、不特定多数が暗号化コンテンツを再生可能になってしまうことがあり得る。図14~図15において、コンテンツ処理プログラムの覗き見や改ざんを防止する方法の例について説明する。
2 第1の通信路
3 第2の通信路
4 暗号化データ
5 復号化データ
6 鍵
10 セキュアモジュール
11 入力部
12 メモリ
13 第2の制御回路
20 第1の制御回路
Claims (14)
- セキュアモジュールと、
前記セキュアモジュールの外部に設けられ、第1の通信路を通じて暗号化データを前記セキュアモジュールに入力する第1の制御回路と、
を備え、
前記セキュアモジュールは、
前記第1の制御回路からの読み書きが不可能なメモリであって、前記暗号化データの復号に用いられる鍵が格納されたメモリと、
前記鍵を用いて前記暗号化データを復号し、前記第1の通信路を通じて前記第1の制御回路に出力する第2の制御回路と、
前記第1の通信路とは分離された第2の通信路を通じて入力された前記鍵を、前記メモリに格納する入力部と、
を有することを特徴とする情報処理装置。 - 前記暗号化データは、画像データまたは音声データを少なくとも含む、暗号化されたコンテンツデータを復号するための復号鍵が暗号化されたデータであり、
前記第1の制御回路は、前記暗号化データを復号して得られた前記復号鍵を前記第2の制御回路から受信し、受信した前記復号鍵を用いて前記暗号化されたコンテンツデータを復号する、
ことを特徴とする請求の範囲第1項記載の情報処理装置。 - 前記メモリには、前記暗号化データの復号の制御を含む処理を実行するための専用プログラムが格納され、
前記第2の制御回路は、前記専用プログラムを実行するプロセッサを有する、
ことを特徴とする請求の範囲第1項または第2項記載の情報処理装置。 - 前記第2の制御回路は、暗号化された更新用の専用プログラムを前記第1の制御回路から受信し、暗号化された前記更新用の専用プログラムを前記鍵を用いて復号し、復号された前記更新用の専用プログラムによって前記メモリに格納された前記専用プログラムを書き替えることを特徴とする請求の範囲第3項記載の情報処理装置。
- 前記第2の制御回路は、乱数を出力する機能を有し、前記暗号化データを送信する前記情報処理装置外の送信装置との間で、前記第1の制御回路を介し、出力した乱数を用いて相互認証処理を行い、前記相互認証処理が成功すると、前記暗号化データを前記制御回路を介して受信する、
ことを特徴とする請求の範囲第1項乃至第4項のいずれか1項に記載の情報処理装置。 - 前記入力部は、前記第2の通信路を通じて入力された認証情報を、前記セキュアモジュール内に予め格納された認証情報と比較し、入力された認証情報と格納された認証情報とが一致したとき、前記第2の通信路から入力された情報を当該入力部から前記メモリに出力することを一時的に許可する認証回路を有することを特徴とする請求の範囲第1項乃至第5項のいずれか1項に記載の情報処理装置。
- 前記入力部は、前記第2の通信路を通じて入力された情報を、前記セキュアモジュール内に予め格納された入力部用鍵情報を用いて復号する復号回路を有することを特徴とする請求の範囲第1項乃至第6項のいずれか1項に記載の情報処理装置。
- セキュアモジュールと、
前記セキュアモジュールの外部に設けられ、第1の通信路を通じて暗号化データを前記セキュアモジュールに入力する第1の制御回路と、
を備え、
前記セキュアモジュールは、
前記第1の制御回路からの読み書きが不可能なメモリであって、前記暗号化データの復号に用いられる鍵が格納されたメモリと、
前記鍵を用いて前記暗号化データを復号し、前記第1の通信路を通じて前記第1の制御回路に出力する第2の制御回路と、
前記第1の通信路とは分離された第2の通信路を通じて入力された前記鍵を、前記メモリに格納する入力部と、
を有することを特徴とする半導体装置。 - 前記暗号化データは、画像データまたは音声データを少なくとも含む、暗号化されたコンテンツデータを復号するための復号鍵が暗号化されたデータであり、
前記第1の制御回路は、前記暗号化データを復号して得られた前記復号鍵を前記第2の制御回路から受信し、受信した前記復号鍵を用いて前記暗号化されたコンテンツデータを復号する、
ことを特徴とする請求の範囲第8項記載の半導体装置。 - 前記メモリには、前記暗号化データの復号の制御を含む処理を実行するための専用プログラムが格納され、
前記第2の制御回路は、前記専用プログラムを実行するプロセッサを有する、
ことを特徴とする請求の範囲第8項または第9項記載の半導体装置。 - 前記第2の制御回路は、暗号化された更新用の専用プログラムを前記第1の制御回路から受信し、暗号化された前記更新用の専用プログラムを前記鍵を用いて復号し、復号された前記更新用の専用プログラムによって前記メモリに格納された前記専用プログラムを書き替えることを特徴とする請求の範囲第10項記載の半導体装置。
- 前記第2の制御回路は、乱数を出力する機能を有し、前記暗号化データを送信する前記情報処理装置外の送信装置との間で、前記第1の制御回路を介し、出力した乱数を用いて相互認証処理を行い、前記相互認証処理が成功すると、前記暗号化データを前記制御回路を介して受信する、
ことを特徴とする請求の範囲第8項乃至第11項のいずれか1項に記載の半導体装置。 - 前記入力部は、前記第2の通信路を通じて入力された認証情報を、前記セキュアモジュール内に予め格納された認証情報と比較し、入力された認証情報と格納された認証情報とが一致したとき、前記第2の通信路から入力された情報を当該入力部から前記メモリに出力することを一時的に許可する認証回路を有することを特徴とする請求の範囲第8項乃至第12項のいずれか1項に記載の半導体装置。
- 前記入力部は、前記第2の通信路を通じて入力された情報を、前記セキュアモジュール内に予め格納された入力部用鍵情報を用いて復号する復号回路を有することを特徴とする請求の範囲第8項乃至第13項のいずれか1項に記載の半導体装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12885704.2A EP2903202A4 (en) | 2012-09-28 | 2012-09-28 | INFORMATION PROCESSING DEVICE AND SEMICONDUCTOR DEVICE |
JP2014537997A JPWO2014049830A1 (ja) | 2012-09-28 | 2012-09-28 | 情報処理装置および半導体装置 |
PCT/JP2012/075081 WO2014049830A1 (ja) | 2012-09-28 | 2012-09-28 | 情報処理装置および半導体装置 |
US14/666,601 US20150195258A1 (en) | 2012-09-28 | 2015-03-24 | Information processing apparatus and semiconductor apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/075081 WO2014049830A1 (ja) | 2012-09-28 | 2012-09-28 | 情報処理装置および半導体装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/666,601 Continuation US20150195258A1 (en) | 2012-09-28 | 2015-03-24 | Information processing apparatus and semiconductor apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014049830A1 true WO2014049830A1 (ja) | 2014-04-03 |
Family
ID=50387292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/075081 WO2014049830A1 (ja) | 2012-09-28 | 2012-09-28 | 情報処理装置および半導体装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150195258A1 (ja) |
EP (1) | EP2903202A4 (ja) |
JP (1) | JPWO2014049830A1 (ja) |
WO (1) | WO2014049830A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016088273A1 (ja) * | 2014-12-05 | 2016-06-09 | 富士通株式会社 | セキュリティ装置および制御方法 |
JP2016144040A (ja) * | 2015-02-02 | 2016-08-08 | 株式会社東芝 | 情報処理端末、情報処理方法、及び情報処理システム |
JP2017050865A (ja) * | 2015-09-03 | 2017-03-09 | エルエス産電株式会社Lsis Co., Ltd. | 通信装置 |
JP2018169694A (ja) * | 2017-03-29 | 2018-11-01 | 大日本印刷株式会社 | 故障利用攻撃に対しての耐タンパー性を持たせたセキュリティデバイス |
JP2019029933A (ja) * | 2017-08-02 | 2019-02-21 | 富士通株式会社 | コンテンツ配信装置、コンテンツ配信システム、コンテンツ配信プログラム、およびコンテンツ配信方法 |
JP7221462B1 (ja) * | 2022-05-26 | 2023-02-13 | 三菱電機株式会社 | プログラマブルロジックコントローラ、制御方法及びプログラム |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107113172B (zh) * | 2015-12-10 | 2019-03-29 | 深圳市大疆创新科技有限公司 | 无人机认证方法,安全通信方法及对应系统 |
JP6589996B2 (ja) * | 2016-01-15 | 2019-10-16 | 富士通株式会社 | セキュリティ装置および制御方法 |
US11177954B2 (en) * | 2016-06-20 | 2021-11-16 | Hewlett-Packard Development Company, L.P. | Firmware-inaccessible key storage |
US11362824B2 (en) * | 2018-05-25 | 2022-06-14 | Intertrust Technologies Corporation | Content management systems and methods using proxy reencryption |
US10659437B1 (en) * | 2018-09-27 | 2020-05-19 | Xilinx, Inc. | Cryptographic system |
US10902133B2 (en) | 2018-10-25 | 2021-01-26 | Enveil, Inc. | Computational operations in enclave computing environments |
KR20210089486A (ko) * | 2020-01-08 | 2021-07-16 | 삼성전자주식회사 | 키를 안전하게 관리하기 위한 장치 및 방법 |
TWI766327B (zh) * | 2020-07-31 | 2022-06-01 | 建國工程股份有限公司 | 即時取得資訊方法及系統 |
US20220246110A1 (en) * | 2021-02-01 | 2022-08-04 | Qualcomm Incorporated | Dpu enhancement for improved hdcp user experience |
DE102021105402A1 (de) | 2021-03-05 | 2022-09-08 | Infineon Technologies Ag | Datenverarbeitungsvorrichtung und verfahren zum übermitteln von daten über einen bus |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1055273A (ja) * | 1996-06-05 | 1998-02-24 | Matsushita Electric Ind Co Ltd | ソフトウェア保護装置 |
JPH1079000A (ja) * | 1996-09-03 | 1998-03-24 | Hitachi Ltd | プログラム書き込み可能なicカード |
JP2000285025A (ja) * | 1999-03-31 | 2000-10-13 | Nippon Computer:Kk | セキュリティ管理用電子デバイス |
JP2002185447A (ja) * | 2000-12-18 | 2002-06-28 | Toshiba Corp | 秘匿データ処理装置及びその電子部品 |
JP2003198527A (ja) | 2001-12-27 | 2003-07-11 | Fujitsu Ltd | 情報再生装置およびセキュアモジュール |
JP2004096666A (ja) | 2002-09-04 | 2004-03-25 | Matsushita Electric Ind Co Ltd | 暗号化部を有する半導体装置、外部インターフェースを有する半導体装置、およびコンテンツ再生方法 |
JP2004129227A (ja) | 2002-07-30 | 2004-04-22 | Fujitsu Ltd | 情報再生装置、セキュアモジュールおよび情報再生方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001127747A (ja) * | 1999-10-25 | 2001-05-11 | Toshiba Corp | 情報暗号化復号化装置 |
FR2800952B1 (fr) * | 1999-11-09 | 2001-12-07 | Bull Sa | Architecture d'un circuit de chiffrement mettant en oeuvre differents types d'algorithmes de chiffrement simultanement sans perte de performance |
JP4686805B2 (ja) * | 2000-01-25 | 2011-05-25 | ソニー株式会社 | データ記憶素子製造方法およびデータ記憶素子、並びにデータ処理装置 |
EP2357651A3 (en) * | 2000-12-07 | 2013-06-26 | SanDisk Technologies Inc. | System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media |
DE10137505B4 (de) * | 2001-07-16 | 2005-06-23 | Francotyp-Postalia Ag & Co. Kg | Anordnung und Verfahren zum Ändern der Funktionalität eines Sicherheitsmoduls |
EP1795991A1 (en) * | 2002-07-30 | 2007-06-13 | Fujitsu Limited | Method and apparatus for reproducing information using a security module |
JP4246529B2 (ja) * | 2003-03-31 | 2009-04-02 | 富士通株式会社 | 地上デジタル放送システムおよび地上デジタル放送権利保護装置 |
US8639946B2 (en) * | 2005-06-24 | 2014-01-28 | Sigmatel, Inc. | System and method of using a protected non-volatile memory |
US20080141042A1 (en) * | 2006-12-11 | 2008-06-12 | Phison Electronics Corp. | Memory card and security method therefor |
ES2525469T3 (es) * | 2008-03-31 | 2014-12-23 | Orange | Procedimiento de acceso y de transferencia de datos relacionados con una aplicación instalada en un módulo de seguridad asociado a un terminal móvil, módulo de seguridad, servidor de gestión y sistema asociados |
JP2011010218A (ja) * | 2009-06-29 | 2011-01-13 | Toshiba Corp | 携帯可能電子装置、及び携帯可能電子装置の制御方法 |
JP5400564B2 (ja) * | 2009-10-21 | 2014-01-29 | 富士通株式会社 | 受信装置及びコンテンツの再暗号化方法 |
US8826039B2 (en) * | 2010-02-02 | 2014-09-02 | Broadcom Corporation | Apparatus and method for providing hardware security |
JP5775738B2 (ja) * | 2011-04-28 | 2015-09-09 | 富士通株式会社 | 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム |
-
2012
- 2012-09-28 EP EP12885704.2A patent/EP2903202A4/en not_active Withdrawn
- 2012-09-28 JP JP2014537997A patent/JPWO2014049830A1/ja active Pending
- 2012-09-28 WO PCT/JP2012/075081 patent/WO2014049830A1/ja active Application Filing
-
2015
- 2015-03-24 US US14/666,601 patent/US20150195258A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1055273A (ja) * | 1996-06-05 | 1998-02-24 | Matsushita Electric Ind Co Ltd | ソフトウェア保護装置 |
JPH1079000A (ja) * | 1996-09-03 | 1998-03-24 | Hitachi Ltd | プログラム書き込み可能なicカード |
JP2000285025A (ja) * | 1999-03-31 | 2000-10-13 | Nippon Computer:Kk | セキュリティ管理用電子デバイス |
JP2002185447A (ja) * | 2000-12-18 | 2002-06-28 | Toshiba Corp | 秘匿データ処理装置及びその電子部品 |
JP2003198527A (ja) | 2001-12-27 | 2003-07-11 | Fujitsu Ltd | 情報再生装置およびセキュアモジュール |
JP2004129227A (ja) | 2002-07-30 | 2004-04-22 | Fujitsu Ltd | 情報再生装置、セキュアモジュールおよび情報再生方法 |
JP2004096666A (ja) | 2002-09-04 | 2004-03-25 | Matsushita Electric Ind Co Ltd | 暗号化部を有する半導体装置、外部インターフェースを有する半導体装置、およびコンテンツ再生方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016088273A1 (ja) * | 2014-12-05 | 2016-06-09 | 富士通株式会社 | セキュリティ装置および制御方法 |
JPWO2016088273A1 (ja) * | 2014-12-05 | 2017-09-07 | 富士通株式会社 | セキュリティ装置および制御方法 |
JP2016144040A (ja) * | 2015-02-02 | 2016-08-08 | 株式会社東芝 | 情報処理端末、情報処理方法、及び情報処理システム |
JP2017050865A (ja) * | 2015-09-03 | 2017-03-09 | エルエス産電株式会社Lsis Co., Ltd. | 通信装置 |
KR20170028218A (ko) * | 2015-09-03 | 2017-03-13 | 엘에스산전 주식회사 | 동적 모드버스 프로토콜 매핑을 지원하는 통신 장치 |
US9973598B2 (en) | 2015-09-03 | 2018-05-15 | Lsis Co., Ltd. | Communications device supporting dynamic modbus protocol mapping |
KR101977401B1 (ko) | 2015-09-03 | 2019-05-13 | 엘에스산전 주식회사 | 동적 모드버스 프로토콜 매핑을 지원하는 통신 장치 |
JP2018169694A (ja) * | 2017-03-29 | 2018-11-01 | 大日本印刷株式会社 | 故障利用攻撃に対しての耐タンパー性を持たせたセキュリティデバイス |
JP2019029933A (ja) * | 2017-08-02 | 2019-02-21 | 富士通株式会社 | コンテンツ配信装置、コンテンツ配信システム、コンテンツ配信プログラム、およびコンテンツ配信方法 |
JP7221462B1 (ja) * | 2022-05-26 | 2023-02-13 | 三菱電機株式会社 | プログラマブルロジックコントローラ、制御方法及びプログラム |
WO2023228373A1 (ja) * | 2022-05-26 | 2023-11-30 | 三菱電機株式会社 | プログラマブルロジックコントローラ、制御方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP2903202A1 (en) | 2015-08-05 |
JPWO2014049830A1 (ja) | 2016-08-22 |
US20150195258A1 (en) | 2015-07-09 |
EP2903202A4 (en) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014049830A1 (ja) | 情報処理装置および半導体装置 | |
US7962713B2 (en) | Memory device having secure non-volatile locking functionality | |
JP4687703B2 (ja) | 記録システム、情報処理装置、記憶装置、記録方法及びプログラム | |
US8402240B2 (en) | Systems and methods for locking and exporting the locking of a removable memory device | |
US8280818B2 (en) | License source component, license destination component, and method thereof | |
US20040236918A1 (en) | Information storage device, memory access control system and method, and computer program | |
US20060059105A1 (en) | Move component, program, and move method | |
US20140289514A1 (en) | Secure transfer and tracking of data using removable nonvolatile memory devices | |
US20080270796A1 (en) | System and method for providing program information, and recording medium used therefor | |
US20060069652A1 (en) | Copy component, program and method thereof | |
US20060155651A1 (en) | Device and method for digital rights management | |
JP4239747B2 (ja) | 情報処理装置、およびコンテンツ情報管理方法、並びにコンピュータ・プログラム | |
US20040236919A1 (en) | Information storage device, memory access control method, and computer program | |
US20060059101A1 (en) | Reproduction component, program and method thereof | |
US20060059103A1 (en) | Return component, program, and return component method | |
JP2007133608A (ja) | 情報処理装置、ソフトウェアインストール方法、および光ディスク | |
US8438112B2 (en) | Host device, portable storage device, and method for updating meta information regarding right objects stored in portable storage device | |
US20060059104A1 (en) | Rent component, program, and rent component method | |
WO2015045172A1 (ja) | 情報処理装置及び情報処理方法 | |
US20100166189A1 (en) | Key Management Apparatus and Key Management Method | |
JP2009080772A (ja) | ソフトウェア起動システム、ソフトウェア起動方法、及びソフトウェア起動プログラム | |
US20150269360A1 (en) | Control method and system | |
CN115189929B (zh) | 授权认证的方法、装置、计算机设备和存储介质 | |
JP2014197374A (ja) | 携帯型記録媒体、携帯型記録媒体を含むシステム、携帯型記録媒体のデータ復旧方法 | |
US20080229094A1 (en) | Method of transmitting contents between devices and system thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12885704 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014537997 Country of ref document: JP Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2012885704 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012885704 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |