US6993654B2 - Secure encryption processor with tamper protection - Google Patents
Secure encryption processor with tamper protection Download PDFInfo
- Publication number
- US6993654B2 US6993654B2 US09/733,912 US73391200A US6993654B2 US 6993654 B2 US6993654 B2 US 6993654B2 US 73391200 A US73391200 A US 73391200A US 6993654 B2 US6993654 B2 US 6993654B2
- Authority
- US
- United States
- Prior art keywords
- data
- control apparatus
- encryption control
- section
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- 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
- 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/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
- G06Q20/40975—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/0806—Details of the card
- G07F7/0813—Specific details related to card security
- G07F7/082—Features insuring the integrity of the data on or in the card
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1016—Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
-
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2153—Using hardware token as a secondary aspect
Definitions
- the present invention relates to an encryption control apparatus for encrypting and decrypting data.
- a data encryption and decryption technique has been used, by which data is encrypted when being sent and the receive data is decrypted at the receiver's end.
- General information processing devices such as personal computers (hereinafter, abbreviated to PCs occasionally), have been used in encrypting and decrypting data.
- an I/O control unit composed of a plurality of semiconductor devices has been used as an I/O control unit for controlling peripherals, such as an IC card reader/writer that accesses the IC card.
- the conventional I/O control unit for controlling the peripherals such as the IC card reader/writer, is composed of a plurality of semiconductor devices, progress information of the I/O control job is outputted to an address bus or a data bus interconnecting the semiconductor devices, thereby exposing such information to the risk of stealing.
- an encryption control apparatus of the present invention comprises: a CPU for running a program; a ROM for storing the program run by the CPU; a RAM used as a work area while the CPU is running the program; an I/O section for sending/receiving data to/from an external device; and an encryption section for decrypting encrypted data and encrypting plain text data, and characterized in that each of the foregoing components is formed on a single semiconductor device.
- the encryption control apparatus of the present invention because all of the foregoing components are mounted on the single semiconductor device, it is not necessary to output the information on the address bus or data bus to the external, which makes it difficult to discover the encryption/decryption procedure.
- the RAM stores a private key used in decrypting the encrypted data
- the ROM stores data specifying a party having an authorization to use the encryption control apparatus
- the encryption control apparatus has a standby mode for waiting for data to be received from an external and an enable mode for enabling an operation, and further comprises mode switching means for decrypting encrypted data sent from the external in the standby mode with the private key stored in the RAM so that the plain text data is restored, the switching means also checking whether the plain text data coincides with the data stored in the ROM, and switching the encryption control apparatus to the enable mode or back to the standby mode depending on coincidence and discrepancy of the data.
- the ROM stores a plurality of main programs run in the enable mode
- the encryption control apparatus further comprises main program selecting means for selecting one of the plurality of main programs run in the enable mode based on the data sent from the external in the standby mode.
- the encryption control apparatus can be used extensively, and by allowing only one of the main programs to run selectively at the start-up from the standby status, the interference of the main programs can be avoided, thereby ensuring data security and job reliability.
- the encryption control apparatus of the present invention in such a manner so as to further comprise an authentication section, formed on the single semiconductor device, for sending/receiving data to/from an external information processing device that carries out information processing based on data sent/received to/from the encryption control apparatus, the authentication section also authenticating a data sender party to judge whether the data sender party is an authorized party or not.
- the security of the data sent/received to/from the external information processing device can be maintained by authentication.
- authentication can be carried out at a higher speed than carrying out on the software by the CPU.
- the encryption control apparatus of the present invention in such a manner so as to further comprise key generating means for generating a key used in encrypting and decrypting data, so that the encryption control apparatus encrypts and decrypts the data with the key generated by the key generating means.
- the key generating means generates a private key and a public key, and sends the public key alone to an external and stores the private key in the RAM.
- the RAM stores a private key used in decrypting the encrypted data
- the ROM stores data for specifying a party having an authorization to use the encryption control apparatus
- the encryption control apparatus further comprises I/O section control means for decrypting the encrypted data received in the authentication section with the private key stored in the RAM so that plain text data is restored, the I/O section control means also checking whether the plain text data coincides with the data stored in the ROM, and enabling the I/O section only when coincidence of the data is confirmed.
- the single semiconductor device includes a plurality of the I/O sections mounted thereon;
- the I/O section control means enables an I/O section corresponding to the data received by the authentication section based on the authentication data.
- the encryption control apparatus may be arranged in such a manner that: the I/O section is allowed to be set to an arbitrary security level among a plurality of security levels; and
- the I/O section control means sets the I/O section to a security level corresponding to the data received in the authentication section based on the data.
- the encryption control apparatus provided with the authentication section in such a manner that the authentication section sends/receives the data to/from the external information processing device through a modem.
- the operation of the encryption control apparatus can be started from a remote place.
- the encryption control apparatus of the present invention in such a manner so as to further comprise data destroying means for, upon receipt of abnormality detection, destroying a key stored in the RAM.
- FIG. 1 is a block diagram showing a first embodiment of an encryption control apparatus of the present invention.
- FIG. 2 is a block diagram showing a second embodiment of the encryption control apparatus of the present invention.
- FIG. 3 is a flowchart showing an operation flow of the second embodiment of FIG. 2 .
- FIG. 4 is a view schematically showing a program structure in a ROM in a third embodiment of the encryption control apparatus of the present invention.
- FIG. 5 is a flowchart showing an operation flow of the third embodiment whose program structure is shown in FIG. 4 .
- FIG. 6 is a block diagram showing a fourth embodiment of the encryption control apparatus of the present invention.
- FIG. 7 is a view showing a data structure of authentication data.
- FIG. 8 is a block diagram showing an exemplary authentication procedure between a PC and an encryption control apparatus of the present invention.
- FIG. 9 is a block diagram showing a fifth embodiment of the encryption control apparatus of the present invention.
- FIG. 10 is a view showing a data structure of authentication data.
- FIG. 11 is a view showing a correspondence of a range of an access right in each security level to each command.
- FIG. 12 is a view schematically showing a sixth embodiment of the encryption control apparatus of the present invention.
- FIG. 1 is a block diagram showing a first embodiment of an encryption control apparatus of the present invention.
- An encryption control apparatus 10 A is formed in a single semiconductor device 100 , and comprises a CPU 11 A for running the program, a RAM 12 A used as a work area while the CPU 11 A is running a program, a ROM 13 A for storing the program run by the CPU 11 A, an I/O section 14 A for sending/receiving data to/from an external device (herein, IC card reader/writer (IC card R/W) 200 ), and an encryption section 15 A for decrypting encrypted data and encrypting plain text data.
- the components forming the encryption control apparatus 10 A are interconnected to each other through an internal bus 20 A.
- the ROM 13 A stores an encryption algorithm or a program controlling the I/O section 14 A.
- data transmitted between the IC card R/W 200 and I/O section 14 A includes control data for controlling the IC card R/W 200 and encrypted data read out from the IC card.
- the data is encrypted by a specific function of the IC card when it is read out from the IC card by the IC card R/W 200 , and sent to the encryption control apparatus 10 A.
- the encrypted data sent to the encryption control apparatus 10 A is decrypted by the encryption section 15 A in the encryption control apparatus 10 A.
- the data generated in the encryption control apparatus 10 A is encrypted by the encryption section 15 A in the encryption control apparatus 10 A when it is sent to the IC card R/W 200 by way of the I/O section 14 A, and written into the IC card inserted therein.
- the encrypted data is decrypted by the specific function of the IC card.
- FIG. 2 is a block diagram showing a second embodiment of the encryption control apparatus of the present invention
- FIG. 3 is a flowchart detailing an operation flow of the second embodiment of FIG. 2 .
- An encryption control apparatus 10 B is formed in a single semiconductor device 100 B, and comprises a CPU 11 B, a RAM 12 B, a ROM 13 B, an encryption section 15 B, and an interface section 16 B.
- the CPU 11 B, RAM 12 B, ROM 13 B, and encryption section 15 B are the same as their counterparts, namely the CPU 11 A, RAM 12 A, ROM 13 A, and encryption section 15 A in the encryption control apparatus 10 A of the first embodiment, and the description of these components is not repeated.
- the interface section 16 B is a component corresponding to the I/O section 14 A of the encryption control apparatus 10 A of FIG. 1 .
- the I/O section 14 A of FIG. 1 is suitable to send/receive data to/from the IC card R/W 200
- the interface section 16 B of FIG. 2 is connected to an ISA bus of a personal computer (PC) 300 , and therefore, is suitable to send/receive data to/from the PC 300 through the ISA bus.
- PC personal computer
- the operation flow of FIG. 3 is started at the power ON (PON) when the power source is supplied to the encryption control apparatus 10 B.
- PON power ON
- the start-up routine of FIG. 3 is initiated at the power ON
- a minimum of initialization is carried out in the encryption control apparatus 10 B (Step a 1 )
- the encryption control apparatus 10 B waits for input information from the PC 300 in a standby status (Step a 2 ).
- Step a 1 a minimum of initialization is carried out in the encryption control apparatus 10 B
- Step a 2 In the standby status, no portions but a portion that detects input of the information from the PC 300 alone is operating, thereby saving power consumption.
- Step a 3 a decryption job is carried out.
- the decryption job is carried out by using a private key that has been pre-stored in the RAM 12 B.
- the encryption section 15 B is disabled, and for this reason, the decryption job is carried out not by the encryption section 15 B but on software by a program stored in the ROM 13 B.
- the input information from the PC 300 during the standby status includes an ID and a password, so that information conformation is carried out as to whether or not the information is sent from a party having an authorization to use the encryption control apparatus 10 B (authorized party) by checking if the decrypted information coincides with the information pre-stored in the ROM 13 B (Step a 4 ). If the information is judged as not the one sent from the authorized party, the encryption control apparatus 10 B returns to Step a 2 , and switches to the standby status and waits for input information from the PC.
- Step a 5 when the information is judged as the one sent from the authorized party, an initial setting job is carried out for each component in the encryption control apparatus 10 B (Step a 5 ), and a main routine is called out (Step a 6 ), after which the main routine is executed (Step a 7 ).
- the encryption control apparatus of the present embodiment stays in the standby status until a call is initiated from the PC, thereby eliminating waste of power consumption.
- FIG. 4 is a view schematically showing a program structure in the ROM in the third embodiment of the encryption control apparatus of the present invention.
- the encryption control apparatus of the third embodiment is of the same structure as shown in FIG. 2 .
- the drawing for the present embodiment is omitted and the explanation is given with reference to FIG. 2 .
- a program stored in the ROM 13 B includes a start-up routine, a main routine dividing routine, and three main routines A, B, and C.
- Each of the main routines A, B, and C is allowed to refer to their respective information A, B, and C alone.
- the main routines A, B, and C allow a single encryption control apparatus to operate in different manners by selectively using encryption/decryption control algorithms different from one another.
- FIG. 5 is a flowchart showing an operation flow of the third embodiment whose program structure is shown in FIG. 4 .
- the operation flow of FIG. 5 is initiated at the power ON (PON) when the power source is supplied to the encryption control apparatus 10 B.
- PON power ON
- the start-up routine in the program structure of FIG. 4 is initiated.
- Steps b 1 to b 5 in the operation flow of FIG. 5 are the same as their respective counterparts, namely Steps a 1 to a 5 in the operation flow of FIG. 3 , and the explanation of these steps is omitted.
- Step b 6 which of the three main routines A, B and C should be initiated is determined based on the information, which was received in Step b 2 and decrypted in Step b 3 . Then, with respect to the main routine thus determined (Step b 7 , b 8 ), the internal initial setting is carried out (Step b 9 , b 10 or b 11 ) and the main program is started to run (Step b 12 , b 13 , or b 14 ).
- FIG. 6 is a block diagram showing a fourth embodiment of the encryption control apparatus of the present invention.
- An encryption control apparatus 10 C is formed in a single semiconductor device 100 C, and comprises a CPU 11 C, a RAM 12 C, a ROM 13 C, an I/O section 14 C, and an encryption section 15 C, which are the same as their respective counterparts in the encryption control apparatus 10 A of the first embodiment shown in FIG. 1 . Hence, the explanation of these components is omitted.
- FIG. 6 shows schematically but explicitly that the RAM 12 C stores a key.
- An authentication unit 16 C also forming the encryption control apparatus 10 C of FIG. 6 not only serves as an interface connected to the PC 300 to send/receive serial data to/from the PC 300 , but also authenticates a data sender to judge whether the data sender is an authorized party or not.
- FIG. 7 is a view showing a data structure of authentication data sent to the encryption control apparatus 10 C from the PC 300 .
- the authentication data sent from the PC 300 to the encryption control apparatus 10 C includes an ID identifying the user of the PC 300 , his password, and I/O information that controls the I/O section 14 C.
- the authentication data is encrypted with a public key (a public key 0 shown in FIG. 8 , which will be described below), which has been generated by the encryption section 15 C in the encryption control apparatus 10 C in advance and delivered to the PC 300 by way of the authentication section 16 C.
- FIG. 8 is a view showing the authentication procedure between the PC 300 and encryption control apparatus 10 C.
- the encryption control apparatus Initially, the encryption control apparatus generates a private key 1 and a public key 0 , and delivers the public key 0 alone to the PC.
- the encryption control apparatus 10 C stores the private key in its RAM 12 C, so that it is not leaked to the outside by any chance.
- the data encrypted with the public key 0 can be decrypted with the private key 1 alone.
- the PC When the PC sends/receives data to/from the encryption control apparatus, the PC generates authentication data in the data format shown in FIG. 7 , encrypts the authentication data with the public key 0 that has been received from the encryption control apparatus in advance, and sends the encrypted authentication data to the encryption control apparatus.
- the encryption control apparatus Upon receipt of the encrypted authentication data, the encryption control apparatus decrypts the same with the private key 1 pre-stored in the RAM 12 C, so that plain text authentication data is restored.
- the encryption control apparatus receives the authentication data when it is in the standby status, during which only the necessary and least number of components are operating. For example, the I/O section 14 C and decryption section 15 C of FIG. 6 are not operating. Accordingly, the authentication data is decrypted on software by a decryption program stored in the ROM 13 C.
- the encryption control apparatus After decrypting the encrypted authentication data with the private key 1 to the plain text authentication data, the encryption control apparatus checks whether the restored plain text authentication data coincides with the checking authentication data pre-stored in the ROM 13 C. When the two kinds of authentication data coincide with each other, the encryption control apparatus proceeds to the next step described below; otherwise, the encryption control apparatus switches back to the standby status and waits for the following data to be received from the PC 300 .
- a random number A, a private key 2 , and two public keys 1 and 2 are generated by an algorithm in the ROM 13 C.
- the random number A and public key 2 are encrypted with the public key 1 by the algorithm in the ROM, and the random number A and public key 2 encrypted with the public key 1 are sent to the PC together with the public key 1 .
- the originally generated private key 2 is stored in the RAM 12 C, and the random number A and public key 2 are stored in the RAM 12 C as well.
- the PC 300 Upon receipt of the public key 1 , and the random number A and public key 2 encrypted with the public key 1 from the encryption control apparatus, the PC 300 decrypts the encrypted random number A and public key 2 with the public key 1 so that the plain text random number A and public key 2 are restored, and generates a random number B. Then, the PC 300 encrypts the random number A restored by the decryption with the public key 1 and the new random number B with the public key 2 restored in the above manner, and sends the same to the encryption control apparatus.
- the random number B is stored also in the PC.
- the encryption control apparatus Upon receipt of the encrypted random numbers A and B, the encryption control apparatus decrypts the same with the private key 2 stored in the RAM 12 C, so that the random numbers A and B are restored. Then, of these restored random numbers A and B, the random number A is checked whether it coincides with the random number A, which has been generated and stored in the RAM 12 C in advance. When the two random numbers A coincide with each other, the encryption control apparatus authenticates the linked PC as an authorized party having an access right to the same. When these random numbers A have a discrepancy, although it is not shown in FIG. 8 , the encryption control apparatus notifies the PC of the discrepancy, and switches back to the standby status.
- the encryption control apparatus When the random number A that has been received and decrypted by the encryption control apparatus coincides with the random number A stored in the RAM 12 C, the encryption control apparatus generates a public key 3 , encrypts the random number B that has been sent from the PC 300 and decrypted by the encryption control apparatus and the public key 3 with the public key 2 stored in the RAM 12 C, and sends the result to the PC.
- the public key 3 is also stored in the RAM 12 C.
- the public key 3 is a key that can decrypt the data encrypted with itself.
- the PC Upon receipt of the random number B and public key 3 encrypted with the public key 2 , the PC decrypts the received data with the public key 2 . Then, of these random number B and public key 3 contained in the decrypted data, the PC checks whether the decrypted random number B coincides with the random number B that the PC has generated and stored therein. When the two random numbers B coincide with each other, the PC authenticates the current communicating party as the encryption control apparatus, to/from which the PC is to send/receive data.
- the decryption and encryption of the data by the encryption control apparatus are carried out on the software by the algorithm in the ROM 13 C.
- the encryption control apparatus enables the encryption section 15 C only when the linked PC is authenticated as the one having an authorization to access the encryption control apparatus. Consequently, the encryption and decryption hereinafter are carried out by the encryption section 15 C at a higher speed than by carrying out the same on the software using the algorithm in the ROM.
- the I/O section 14 C is enabled based on the I/O information.
- the I/O information indicates that the I/O section 14 C does not have to be enabled, the I/O section 14 C remains in the disabled status. According to the above arrangement, the power consumption in the I/O section 14 C can be saved when the I/O section 14 C does not have to be operated, and because the internal portion of the encryption control apparatus is connected to the external communication path less frequently, the security can be further ensured.
- the PC issues a command to the encryption control apparatus, and the encryption control apparatus sends a response to that command to the PC.
- the command sent from the PC to the encryption control apparatus is encrypted with the public key 3
- the encryption control apparatus decrypts the received encrypted command with the public key 3 stored in the RAM 12 C by means of the encryption section 15 C, whereupon the encryption control apparatus executes the command.
- the command result (response) obtained by executing the command is encrypted with the public key 3 by the encryption section 15 C in the encryption control apparatus and sent to the PC.
- the PC decrypts the encrypted response, so that the original response is restored.
- the PC and encryption control apparatus communicates with each other in the similar manner as necessary.
- the encryption control apparatus is provided with key generating means, so that the encryption control apparatus encrypts or decrypts the data with a key generated by itself while strictly keeping the private key inside. Also, when the current communicating party is not authenticated as an authorized party, the encryption control apparatus switches to the standby status and stops operating. Moreover, the substantial data is transmitted only when the current communicating party is authenticated as an authorized party. According to the above arrangements, the privacy and safety of the data can be maintained, and illegal deciphering of the data is almost impossible.
- FIG. 9 is a block diagram showing a fifth embodiment of the encryption control apparatus of the present invention. Here, only the difference from the counterpart of the fourth embodiment shown in FIG. 6 will be explained.
- the encryption control apparatus of the fifth embodiment of FIG. 9 is provided with three I/O sections 141 D, 142 D, and 143 D (ICC, UART 1 , and UART 2 ) that correspond to the I/O section 14 C in the encryption control apparatus of the fourth embodiment shown in FIG. 6 .
- each component forming the encryption control apparatus 10 D is mounted on a single semiconductor device 100 D.
- the I/O sections 141 D, 142 D, and 143 D are connected to the IC card R/W 200 , a printer (PR) 400 , and a remote controller modem (MODEM) 300 , respectively.
- FIG. 10 is a view showing a data structure of authentication data sent to the encryption control apparatus of the fifth embodiment shown in FIG. 9 .
- the authentication data shown in FIG. 10 additionally includes command information.
- the command information indicates either (1) a command (Open) to enable one of the three I/O sections 141 D, 142 D, and 143 D specified by the I/O information, (2) a command (Close) to disable the specified enabled I/O section, or (3) a command (Change) to enable the I/O section specified by the I/O information and, if any of the other I/O sections is enabled, disable that enabled I/O section.
- the PC encrypts the authentication data and sends the same to the encryption control apparatus, and the encryption control apparatus decrypts the received data, so that the plain text authentication data is restored.
- the encryption control apparatus controls the three I/O sections 141 D, 142 D, and 143 D shown in FIG. 9 in accordance with the command information and I/O information contained in the authentication data.
- the I/O sections other than the I/O section necessary for running the current job are kept disabled. Consequently, the power consumption can be saved, and the risk that the data outputted from the I/O section is illegally deciphered can be reduced.
- each of the three I/O sections 141 D, 142 D, and 143 D shown in FIG. 9 can change its security level within several levels including the disable status (no access right).
- the command information can include a LevelUp 1 command for changing the security level from “0” to “1”, a LevelUp 2 command for changing the security level from “1” to “2”, a LevelUp 3 command for changing the security level from “2” to “3”, and a LevelDn command for lowering the current security level by one.
- FIG. 11 is a view showing a correspondence of a range of an access right in each security level to each command. Also, Table 1 shows a function of each command in each security level.
- the authentication section 16 D is used as a connection portion to the PC 300 , but it can be included inside the I/O section 143 D that controls the modem 500 . In the latter case, by connecting the PC or the like to the modem 500 , the operation of the encryption control apparatus can be controlled remotely.
- FIG. 12 is a view schematically showing a sixth embodiment of the encryption control apparatus of the present invention.
- An encryption control apparatus 10 E of FIG. 12 only shows a SRAM 12 E.
- the SRAM 12 E serves as the RAM 12 D of FIG. 9 , and although it is not shown in FIG. 12 , the encryption control apparatus of FIG. 12 comprises the same components as those shown in FIG. 9 , and all of these components are mounted on a single LSI chip 100 E.
- FIG. 12 shows a cylindrical body 600 of an apparatus incorporating the encryption control apparatus 10 E mounted on the LSI chip 100 E.
- the cylindrical body 600 includes inside a main power source section 601 for supplying power from a commercial power source to the SRAM 12 E of the encryption control apparatus 10 E, a battery power source section 602 for supplying power accumulated in the battery to the SRAM 12 E, an attack detecting sensor 603 for detecting disassembly or break-up of the cylindrical body 600 , and an abnormality detector 604 for receiving a signal from the attack detecting sensor 603 and detecting disassembly or break-up when the cylindrical body 600 is forced to be opened.
- power is also supplied to the components of the encryption control apparatus 10 E other than the SRAM 12 E.
- the abnormality detector 604 detects abnormality, such as disassembly or break-up of the cylindrical body 600 , from the signal sent from the attack detecting sensor 603 , the abnormality detector 604 notifies the main power source section 601 of the abnormality, whereupon the main power source section 601 forcibly cuts the power supply to the encryption control apparatus 10 E including the SRAM 12 E. Also, the abnormality detector 604 cuts the power supply from the battery power source section 602 to the encryption control apparatus 10 E. As has been described, the key is stored in the SRAM 12 E, but when the power supply is cut in the above manner, the key and other data stored in the SRAM 12 E are all destroyed. Thus, if someone tries to steal the key or other data illegally by unauthorized disassembly or break-up, he certainly fails in doing so, and therefore, illegal leakage of the data can be prevented.
- the key or data may be destroyed by the following manner. That is, a signal from the attack detecting sensor 603 or the detection result of the abnormality detector 604 is inputted to the encryption control apparatus 10 E as an interruption signal, and the encryption control apparatus overwrites useless data on the SRAM 12 E upon receipt of the interruption signal, thereby destroying the key or data on the software.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
Abstract
An encryption processor for encrypting and decrypting data that ensures data security by preventing illegal deciphering or leakage of the data. The encryption processor includes a CPU for running a program, a ROM for storing the program run by the CPU, a RAM used as a work area while the CPU is running the program, an I/O section for sending/receiving data to/from an external device, and an encryption section for decrypting encrypted data and encrypting plain text data.
Description
1. Field of the Invention
The present invention relates to an encryption control apparatus for encrypting and decrypting data.
2. Description of the Related Art
With the recent development of communication techniques, data having the same value as notes, such as electronic money, has been used increasingly, and it becomes quite important to prevent illegal leakage of the data or unauthorized tampering with the data.
As one of the safety measures to protect data, a data encryption and decryption technique has been used, by which data is encrypted when being sent and the receive data is decrypted at the receiver's end. General information processing devices, such as personal computers (hereinafter, abbreviated to PCs occasionally), have been used in encrypting and decrypting data.
Incidentally, attention has been paid to a system that employs an IC card as a typical example of a system capable of dealing with electronic money, etc, and an I/O control unit composed of a plurality of semiconductor devices has been used as an I/O control unit for controlling peripherals, such as an IC card reader/writer that accesses the IC card.
However, when an encryption/decryption computation is carried out by a general information processing device, it is difficult to conceal an encryption/decryption algorithm or a key used in encrypting/decrypting data. Therefore, such an algorithm or a key may be leaked illegally, resulting in unauthorized tampering with the data.
Also, because the conventional I/O control unit for controlling the peripherals, such as the IC card reader/writer, is composed of a plurality of semiconductor devices, progress information of the I/O control job is outputted to an address bus or a data bus interconnecting the semiconductor devices, thereby exposing such information to the risk of stealing.
As has been discussed, the conventional technique poses a problem in data security, and there has been an increasing need to ensure the security.
It is therefore an object of the present invention to provide an encryption control apparatus with ensured data security.
In order to achieve the above and further objects, an encryption control apparatus of the present invention comprises: a CPU for running a program; a ROM for storing the program run by the CPU; a RAM used as a work area while the CPU is running the program; an I/O section for sending/receiving data to/from an external device; and an encryption section for decrypting encrypted data and encrypting plain text data, and characterized in that each of the foregoing components is formed on a single semiconductor device.
According to the encryption control apparatus of the present invention, because all of the foregoing components are mounted on the single semiconductor device, it is not necessary to output the information on the address bus or data bus to the external, which makes it difficult to discover the encryption/decryption procedure.
It is preferable to arrange the encryption control apparatus in such a manner that:
the RAM stores a private key used in decrypting the encrypted data;
the ROM stores data specifying a party having an authorization to use the encryption control apparatus; and
the encryption control apparatus has a standby mode for waiting for data to be received from an external and an enable mode for enabling an operation, and further comprises mode switching means for decrypting encrypted data sent from the external in the standby mode with the private key stored in the RAM so that the plain text data is restored, the switching means also checking whether the plain text data coincides with the data stored in the ROM, and switching the encryption control apparatus to the enable mode or back to the standby mode depending on coincidence and discrepancy of the data.
By checking the coincidence, an unauthorized access can be prevented. Also, because unnecessary components are not operating in the standby mode, waste of power consumption can be reduced.
Also, in the above case, it is preferable that:
the ROM stores a plurality of main programs run in the enable mode; and
the encryption control apparatus further comprises main program selecting means for selecting one of the plurality of main programs run in the enable mode based on the data sent from the external in the standby mode.
By storing more than one main program in the ROM, the encryption control apparatus can be used extensively, and by allowing only one of the main programs to run selectively at the start-up from the standby status, the interference of the main programs can be avoided, thereby ensuring data security and job reliability.
It is preferable to arrange the encryption control apparatus of the present invention in such a manner so as to further comprise an authentication section, formed on the single semiconductor device, for sending/receiving data to/from an external information processing device that carries out information processing based on data sent/received to/from the encryption control apparatus, the authentication section also authenticating a data sender party to judge whether the data sender party is an authorized party or not.
When the above authentication section is additionally mounted on the single semiconductor device, the security of the data sent/received to/from the external information processing device can be maintained by authentication. In addition, by including the exclusive-use authentication section, authentication can be carried out at a higher speed than carrying out on the software by the CPU.
Also, it is preferable to arrange the encryption control apparatus of the present invention in such a manner so as to further comprise key generating means for generating a key used in encrypting and decrypting data, so that the encryption control apparatus encrypts and decrypts the data with the key generated by the key generating means. In this case, it is preferable that the key generating means generates a private key and a public key, and sends the public key alone to an external and stores the private key in the RAM.
According to the above arrangement, privacy and safety of the private key can be maintained, thereby making illegal deciphering of the data more difficult.
Also it is preferable to arrange the encryption control apparatus provided with the authentication section in such a manner that:
the RAM stores a private key used in decrypting the encrypted data;
the ROM stores data for specifying a party having an authorization to use the encryption control apparatus; and
the encryption control apparatus further comprises I/O section control means for decrypting the encrypted data received in the authentication section with the private key stored in the RAM so that plain text data is restored, the I/O section control means also checking whether the plain text data coincides with the data stored in the ROM, and enabling the I/O section only when coincidence of the data is confirmed.
In this case, it is also preferable to arrange the encryption control apparatus in such a manner that:
the single semiconductor device includes a plurality of the I/O sections mounted thereon; and
the I/O section control means enables an I/O section corresponding to the data received by the authentication section based on the authentication data.
Alternatively, the encryption control apparatus may be arranged in such a manner that: the I/O section is allowed to be set to an arbitrary security level among a plurality of security levels; and
the I/O section control means sets the I/O section to a security level corresponding to the data received in the authentication section based on the data.
By checking the coincidence, an unauthorized access can be prevented. Also, by enabling the I/O section only when it has to be operated, not only can the security be ensured further, but also the power consumption can be saved. Further, by controlling the security level as described above, an unnecessary access can be prevented, thereby further ensuring the security.
It is also preferable to arrange the encryption control apparatus provided with the authentication section in such a manner that the authentication section sends/receives the data to/from the external information processing device through a modem.
In this case, the operation of the encryption control apparatus can be started from a remote place.
Further, it is preferable to arrange the encryption control apparatus of the present invention in such a manner so as to further comprise data destroying means for, upon receipt of abnormality detection, destroying a key stored in the RAM.
According to the above arrangement, illegal delivery of the key to an intruder can be prevented.
The following description will describe preferred embodiments of the present invention.
An encryption control apparatus 10A is formed in a single semiconductor device 100, and comprises a CPU 11A for running the program, a RAM 12A used as a work area while the CPU 11A is running a program, a ROM 13A for storing the program run by the CPU 11A, an I/O section 14A for sending/receiving data to/from an external device (herein, IC card reader/writer (IC card R/W) 200), and an encryption section 15A for decrypting encrypted data and encrypting plain text data. The components forming the encryption control apparatus 10A are interconnected to each other through an internal bus 20A.
The ROM 13A stores an encryption algorithm or a program controlling the I/O section 14A.
Also, data transmitted between the IC card R/W 200 and I/O section 14A includes control data for controlling the IC card R/W 200 and encrypted data read out from the IC card. The data is encrypted by a specific function of the IC card when it is read out from the IC card by the IC card R/W 200, and sent to the encryption control apparatus 10A. The encrypted data sent to the encryption control apparatus 10A is decrypted by the encryption section 15A in the encryption control apparatus 10A. On the other hand, the data generated in the encryption control apparatus 10A is encrypted by the encryption section 15A in the encryption control apparatus 10A when it is sent to the IC card R/W 200 by way of the I/O section 14A, and written into the IC card inserted therein. In the IC card, the encrypted data is decrypted by the specific function of the IC card.
By adopting the above arrangement, none of the data transferred among the encryption section 15A, RAM 12A, and ROM 13A will be leaked to the outside, thereby constructing an encryption control apparatus with high security.
An encryption control apparatus 10B is formed in a single semiconductor device 100B, and comprises a CPU 11B, a RAM 12B, a ROM 13B, an encryption section 15B, and an interface section 16B. Of these components, the CPU 11B, RAM 12B, ROM 13B, and encryption section 15B are the same as their counterparts, namely the CPU 11A, RAM 12A, ROM 13A, and encryption section 15A in the encryption control apparatus 10A of the first embodiment, and the description of these components is not repeated.
The interface section 16B is a component corresponding to the I/O section 14A of the encryption control apparatus 10A of FIG. 1. However, the I/O section 14A of FIG. 1 is suitable to send/receive data to/from the IC card R/W 200, whereas the interface section 16B of FIG. 2 is connected to an ISA bus of a personal computer (PC) 300, and therefore, is suitable to send/receive data to/from the PC 300 through the ISA bus.
The operation flow of FIG. 3 is started at the power ON (PON) when the power source is supplied to the encryption control apparatus 10B. When the start-up routine of FIG. 3 is initiated at the power ON, a minimum of initialization is carried out in the encryption control apparatus 10B (Step a1), and the encryption control apparatus 10B waits for input information from the PC 300 in a standby status (Step a2). In the standby status, no portions but a portion that detects input of the information from the PC 300 alone is operating, thereby saving power consumption.
Because the information sent from the PC 300 is encrypted, upon receipt of the information from the PC 300, a decryption job is carried out (Step a3). The decryption job is carried out by using a private key that has been pre-stored in the RAM 12B. At this stage, the encryption section 15B is disabled, and for this reason, the decryption job is carried out not by the encryption section 15B but on software by a program stored in the ROM 13B.
The input information from the PC 300 during the standby status includes an ID and a password, so that information conformation is carried out as to whether or not the information is sent from a party having an authorization to use the encryption control apparatus 10B (authorized party) by checking if the decrypted information coincides with the information pre-stored in the ROM 13B (Step a4). If the information is judged as not the one sent from the authorized party, the encryption control apparatus 10B returns to Step a2, and switches to the standby status and waits for input information from the PC.
On the other hand, when the information is judged as the one sent from the authorized party, an initial setting job is carried out for each component in the encryption control apparatus 10B (Step a5), and a main routine is called out (Step a6), after which the main routine is executed (Step a7).
As has been described, the encryption control apparatus of the present embodiment stays in the standby status until a call is initiated from the PC, thereby eliminating waste of power consumption.
The encryption control apparatus of the third embodiment is of the same structure as shown in FIG. 2. Thus, the drawing for the present embodiment is omitted and the explanation is given with reference to FIG. 2.
A program stored in the ROM 13B includes a start-up routine, a main routine dividing routine, and three main routines A, B, and C. Each of the main routines A, B, and C is allowed to refer to their respective information A, B, and C alone. The main routines A, B, and C allow a single encryption control apparatus to operate in different manners by selectively using encryption/decryption control algorithms different from one another.
As is with the operation flow of FIG. 3 , the operation flow of FIG. 5 is initiated at the power ON (PON) when the power source is supplied to the encryption control apparatus 10B. Upon the power ON, the start-up routine in the program structure of FIG. 4 is initiated.
Steps b1 to b5 in the operation flow of FIG. 5 are the same as their respective counterparts, namely Steps a1 to a5 in the operation flow of FIG. 3 , and the explanation of these steps is omitted.
In Step b6, which of the three main routines A, B and C should be initiated is determined based on the information, which was received in Step b2 and decrypted in Step b3. Then, with respect to the main routine thus determined (Step b7, b8), the internal initial setting is carried out (Step b9, b10 or b11) and the main program is started to run (Step b12, b13, or b14).
As has been discussed, by storing more than one main program in the ROM and allowing only one of the main programs to run selectively at the start-up from the standby status, not only can extensive use of the encryption control apparatus become available, but also the interference of the main programs can be avoided, thereby ensuring data security and job reliability.
An encryption control apparatus 10C is formed in a single semiconductor device 100C, and comprises a CPU 11C, a RAM 12C, a ROM 13C, an I/O section 14C, and an encryption section 15C, which are the same as their respective counterparts in the encryption control apparatus 10A of the first embodiment shown in FIG. 1. Hence, the explanation of these components is omitted. FIG. 6 shows schematically but explicitly that the RAM 12C stores a key.
An authentication unit 16C also forming the encryption control apparatus 10C of FIG. 6 not only serves as an interface connected to the PC 300 to send/receive serial data to/from the PC 300, but also authenticates a data sender to judge whether the data sender is an authorized party or not.
The authentication data sent from the PC 300 to the encryption control apparatus 10C includes an ID identifying the user of the PC 300, his password, and I/O information that controls the I/O section 14C. The authentication data is encrypted with a public key (a public key 0 shown in FIG. 8 , which will be described below), which has been generated by the encryption section 15C in the encryption control apparatus 10C in advance and delivered to the PC 300 by way of the authentication section 16C.
Initially, the encryption control apparatus generates a private key 1 and a public key 0, and delivers the public key 0 alone to the PC. The encryption control apparatus 10C stores the private key in its RAM 12C, so that it is not leaked to the outside by any chance. The data encrypted with the public key 0 can be decrypted with the private key 1 alone.
When the PC sends/receives data to/from the encryption control apparatus, the PC generates authentication data in the data format shown in FIG. 7 , encrypts the authentication data with the public key 0 that has been received from the encryption control apparatus in advance, and sends the encrypted authentication data to the encryption control apparatus.
Upon receipt of the encrypted authentication data, the encryption control apparatus decrypts the same with the private key 1 pre-stored in the RAM 12C, so that plain text authentication data is restored. The encryption control apparatus receives the authentication data when it is in the standby status, during which only the necessary and least number of components are operating. For example, the I/O section 14C and decryption section 15C of FIG. 6 are not operating. Accordingly, the authentication data is decrypted on software by a decryption program stored in the ROM 13C.
After decrypting the encrypted authentication data with the private key 1 to the plain text authentication data, the encryption control apparatus checks whether the restored plain text authentication data coincides with the checking authentication data pre-stored in the ROM 13C. When the two kinds of authentication data coincide with each other, the encryption control apparatus proceeds to the next step described below; otherwise, the encryption control apparatus switches back to the standby status and waits for the following data to be received from the PC 300.
When the two kinds of authentication data coincide with each other, a random number A, a private key 2, and two public keys 1 and 2 are generated by an algorithm in the ROM 13C. The random number A and public key 2 are encrypted with the public key 1 by the algorithm in the ROM, and the random number A and public key 2 encrypted with the public key 1 are sent to the PC together with the public key 1. The originally generated private key 2 is stored in the RAM 12C, and the random number A and public key 2 are stored in the RAM 12C as well.
Upon receipt of the public key 1, and the random number A and public key 2 encrypted with the public key 1 from the encryption control apparatus, the PC 300 decrypts the encrypted random number A and public key 2 with the public key 1 so that the plain text random number A and public key 2 are restored, and generates a random number B. Then, the PC 300 encrypts the random number A restored by the decryption with the public key 1 and the new random number B with the public key 2 restored in the above manner, and sends the same to the encryption control apparatus. The random number B is stored also in the PC.
Upon receipt of the encrypted random numbers A and B, the encryption control apparatus decrypts the same with the private key 2 stored in the RAM 12C, so that the random numbers A and B are restored. Then, of these restored random numbers A and B, the random number A is checked whether it coincides with the random number A, which has been generated and stored in the RAM 12C in advance. When the two random numbers A coincide with each other, the encryption control apparatus authenticates the linked PC as an authorized party having an access right to the same. When these random numbers A have a discrepancy, although it is not shown in FIG. 8 , the encryption control apparatus notifies the PC of the discrepancy, and switches back to the standby status.
When the random number A that has been received and decrypted by the encryption control apparatus coincides with the random number A stored in the RAM 12C, the encryption control apparatus generates a public key 3, encrypts the random number B that has been sent from the PC 300 and decrypted by the encryption control apparatus and the public key 3 with the public key 2 stored in the RAM 12C, and sends the result to the PC. The public key 3 is also stored in the RAM 12C.
It should be noted that the public key 3 is a key that can decrypt the data encrypted with itself.
Upon receipt of the random number B and public key 3 encrypted with the public key 2, the PC decrypts the received data with the public key 2. Then, of these random number B and public key 3 contained in the decrypted data, the PC checks whether the decrypted random number B coincides with the random number B that the PC has generated and stored therein. When the two random numbers B coincide with each other, the PC authenticates the current communicating party as the encryption control apparatus, to/from which the PC is to send/receive data.
In the foregoing, the decryption and encryption of the data by the encryption control apparatus are carried out on the software by the algorithm in the ROM 13C.
In addition, the encryption control apparatus enables the encryption section 15C only when the linked PC is authenticated as the one having an authorization to access the encryption control apparatus. Consequently, the encryption and decryption hereinafter are carried out by the encryption section 15C at a higher speed than by carrying out the same on the software using the algorithm in the ROM.
Also, when the I/O information in the authentication data shown in FIG. 7 indicates to enable the I/O section 14C, the I/O section 14C is enabled based on the I/O information. On the other hand, when the I/O information indicates that the I/O section 14C does not have to be enabled, the I/O section 14C remains in the disabled status. According to the above arrangement, the power consumption in the I/O section 14C can be saved when the I/O section 14C does not have to be operated, and because the internal portion of the encryption control apparatus is connected to the external communication path less frequently, the security can be further ensured.
When the authentication between the PC and encryption control apparatus is completed in the above manner, the PC issues a command to the encryption control apparatus, and the encryption control apparatus sends a response to that command to the PC. Here, the command sent from the PC to the encryption control apparatus is encrypted with the public key 3, and the encryption control apparatus decrypts the received encrypted command with the public key 3 stored in the RAM 12C by means of the encryption section 15C, whereupon the encryption control apparatus executes the command.
The command result (response) obtained by executing the command is encrypted with the public key 3 by the encryption section 15C in the encryption control apparatus and sent to the PC. Upon receipt of the encrypted response, the PC decrypts the encrypted response, so that the original response is restored.
Hereinafter, the PC and encryption control apparatus communicates with each other in the similar manner as necessary.
As has been discussed, the encryption control apparatus is provided with key generating means, so that the encryption control apparatus encrypts or decrypts the data with a key generated by itself while strictly keeping the private key inside. Also, when the current communicating party is not authenticated as an authorized party, the encryption control apparatus switches to the standby status and stops operating. Moreover, the substantial data is transmitted only when the current communicating party is authenticated as an authorized party. According to the above arrangements, the privacy and safety of the data can be maintained, and illegal deciphering of the data is almost impossible.
The encryption control apparatus of the fifth embodiment of FIG. 9 is provided with three I/ O sections 141D, 142D, and 143D (ICC, UART1, and UART2 ) that correspond to the I/O section 14C in the encryption control apparatus of the fourth embodiment shown in FIG. 6. Besides the three I/ O sections 141D, 142D, and 143D, each component forming the encryption control apparatus 10D is mounted on a single semiconductor device 100D. The I/ O sections 141D, 142D, and 143D are connected to the IC card R/W 200, a printer (PR) 400, and a remote controller modem (MODEM) 300, respectively.
Different from the authentication data shown in FIG. 7 , the authentication data shown in FIG. 10 additionally includes command information.
The command information indicates either (1) a command (Open) to enable one of the three I/ O sections 141D, 142D, and 143D specified by the I/O information, (2) a command (Close) to disable the specified enabled I/O section, or (3) a command (Change) to enable the I/O section specified by the I/O information and, if any of the other I/O sections is enabled, disable that enabled I/O section. The PC encrypts the authentication data and sends the same to the encryption control apparatus, and the encryption control apparatus decrypts the received data, so that the plain text authentication data is restored. Upon completion of the authentication explained with reference to FIG. 8 , the encryption control apparatus controls the three I/ O sections 141D, 142D, and 143D shown in FIG. 9 in accordance with the command information and I/O information contained in the authentication data.
According to the above arrangement, the I/O sections other than the I/O section necessary for running the current job are kept disabled. Consequently, the power consumption can be saved, and the risk that the data outputted from the I/O section is illegally deciphered can be reduced.
Further, each of the three I/ O sections 141D, 142D, and 143D shown in FIG. 9 can change its security level within several levels including the disable status (no access right). Accordingly, the command information can include a LevelUp1 command for changing the security level from “0” to “1”, a LevelUp2 command for changing the security level from “1” to “2”, a LevelUp3 command for changing the security level from “2” to “3”, and a LevelDn command for lowering the current security level by one.
TABLE 1 | ||||
LevelUp1 | LevelUp2 | LevelUp3 | LevelDn | |
Security | Command | Command | Command | Command |
Security | to Security | Error | | Error |
Level | ||||
0 | |
|||
Security | NOP | To Security | Error | to |
Level | ||||
1 | |
|
||
Security | Error | NOP | to Security | to |
Level | ||||
2 | |
|
||
Security | Error | Error | NOP | to |
Level | ||||
3 | |
|||
As has been discussed, by providing more than one security level, an unnecessary access can be prevented, thereby further ensuring the security.
In the encryption control apparatus of the fifth embodiment shown in FIG. 9 , the authentication section 16D is used as a connection portion to the PC 300, but it can be included inside the I/O section 143D that controls the modem 500. In the latter case, by connecting the PC or the like to the modem 500, the operation of the encryption control apparatus can be controlled remotely.
An encryption control apparatus 10E of FIG. 12 only shows a SRAM 12E. The SRAM 12E serves as the RAM 12D of FIG. 9 , and although it is not shown in FIG. 12 , the encryption control apparatus of FIG. 12 comprises the same components as those shown in FIG. 9 , and all of these components are mounted on a single LSI chip 100E.
Here, when the abnormality detector 604 detects abnormality, such as disassembly or break-up of the cylindrical body 600, from the signal sent from the attack detecting sensor 603, the abnormality detector 604 notifies the main power source section 601 of the abnormality, whereupon the main power source section 601 forcibly cuts the power supply to the encryption control apparatus 10E including the SRAM 12E. Also, the abnormality detector 604 cuts the power supply from the battery power source section 602 to the encryption control apparatus 10E. As has been described, the key is stored in the SRAM 12E, but when the power supply is cut in the above manner, the key and other data stored in the SRAM 12E are all destroyed. Thus, if someone tries to steal the key or other data illegally by unauthorized disassembly or break-up, he certainly fails in doing so, and therefore, illegal leakage of the data can be prevented.
An example of destroying the key or other data by cutting the power supply has been explained. However, the key or data may be destroyed by the following manner. That is, a signal from the attack detecting sensor 603 or the detection result of the abnormality detector 604 is inputted to the encryption control apparatus 10E as an interruption signal, and the encryption control apparatus overwrites useless data on the SRAM 12E upon receipt of the interruption signal, thereby destroying the key or data on the software.
Claims (8)
1. An encryption control apparatus, comprising:
a CPU for running a program;
a ROM for storing the program run by the CPU;
a RAM used as a work area while the CPU is running the program;
an I/O section for sending/receiving data to/from an external device; and
an encryption section for decrypting encrypted data and encrypting plain text data,
wherein each of the foregoing components is formed on a single semiconductor device,
wherein the RAM stores a private key and a public key used in decrypting the encrypted data,
the ROM stores data specifying a party having an authorization to use the encryption control apparatus, and
wherein the encryption control apparatus has a standby mode for waiting for data to be received from an external device and an enable mode for enabling an operation, and further comprises mode switching means for decrypting encrypted data sent from the external device in the standby mode with the private key stored in the RAM so that the plain text data is restored, the switching means also checking whether the plain text data coincides with the data stored in the ROM, and switching the encryption control apparatus to the enable mode or back to the standby mode depending on coincidence and discrepancy of the data,
wherein the encryption control apparatus further comprises a key generating means for generating the private key and the public key, and
wherein the encryption control apparatus delivers the public key alone to the external device, and
wherein the external device receives the public key from the encryption control apparatus to encrypt the data sent to the encryption control apparatus.
2. The encryption control apparatus according to claim 1 , wherein:
the ROM stores a plurality of main programs run in the enable mode; and
the encryption control apparatus further comprises main program selecting means for selecting one of the plurality of main programs run in the enable mode based on the data sent from the external device in the standby mode.
3. The encryption control apparatus according to claim 1 , further comprising an authentication section, formed on the single semiconductor device, for sending/receiving data to/from an external information processing device that carries out information processing based on data sent/received to/from the encryption control apparatus, the authentication section also authenticating a data sender party to judge whether the data sender party is an authorized party.
4. The encryption control apparatus according to claim 3 , wherein:
the RAM stores a private key used in decrypting the encrypted data;
the ROM stores data for specifying a party having an authorization to use the encryption control apparatus; and
the encryption control apparatus further comprises I/O section control means for decrypting the encrypted data received in the authentication section with the private key stored in the RAM so that plain text data is restored, the I/O section control means also checking whether the plain text data coincides with the data stored in the ROM, and enabling the I/O section only when coincidence of the data is confirmed.
5. The encryption control apparatus according to claim 4 , wherein:
the single semiconductor device includes a plurality of the I/O sections mounted thereon; and
the I/O section control means enables an I/O section corresponding to the data received by the authentication section based on the authentication data.
6. The encryption control apparatus according to claim 4 , wherein:
the I/O section is allowed to be set to an arbitrary security level among a plurality of security levels; and
the I/O section control means sets the I/O section to a security level corresponding to the data received in the authentication section based on the data.
7. The encryption control apparatus according to claim 3 , wherein the authentication section sends/receives the data to/from the external information processing device through a modem.
8. The encryption control apparatus according to claim 1 , further comprising data destroying means, which upon receipt of abnormality detection, destroys a key stored in the RAM.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000196040A JP2002014872A (en) | 2000-06-29 | 2000-06-29 | Cipher controller |
JP2000-196040 | 2000-06-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20020016914A1 US20020016914A1 (en) | 2002-02-07 |
US6993654B2 true US6993654B2 (en) | 2006-01-31 |
Family
ID=18694603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/733,912 Expired - Fee Related US6993654B2 (en) | 2000-06-29 | 2000-12-12 | Secure encryption processor with tamper protection |
Country Status (3)
Country | Link |
---|---|
US (1) | US6993654B2 (en) |
JP (1) | JP2002014872A (en) |
FR (1) | FR2811097B1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040111391A1 (en) * | 2002-11-08 | 2004-06-10 | Hitachi, Ltd. | Command processing system by a management agent |
US20040143748A1 (en) * | 2003-01-21 | 2004-07-22 | Kabushiki Kaisha Toshiba | Data access control method for tamper resistant microprocessor using cache memory |
US20040236852A1 (en) * | 2003-04-03 | 2004-11-25 | International Business Machines Corporation | Method to provide on-demand resource access |
US20050044219A1 (en) * | 2003-07-24 | 2005-02-24 | International Business Machines Corporation | Method to disable on/off capacity on demand |
US20050214229A1 (en) * | 1998-09-03 | 2005-09-29 | Jsr, Llc | Two-stage transmucosal medicine delivery system for symptom relief |
US20080046763A1 (en) * | 2000-12-28 | 2008-02-21 | Kabushiki Kaisha Toshiba | Method for sharing encrypted data region among processes in tamper resistant processor |
US20110033049A1 (en) * | 2009-07-10 | 2011-02-10 | Finisar Corporation | Encrypted optoelectronic module |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2180391B1 (en) * | 2000-09-25 | 2003-12-16 | Telesincro S A | INTEGRATED CIRCUIT. |
US7269736B2 (en) * | 2001-02-28 | 2007-09-11 | Microsoft Corporation | Distributed cryptographic methods and arrangements |
GB0221464D0 (en) * | 2002-09-16 | 2002-10-23 | Cambridge Internetworking Ltd | Network interface and protocol |
US20040128528A1 (en) * | 2002-12-31 | 2004-07-01 | Poisner David I. | Trusted real time clock |
JP4487490B2 (en) | 2003-03-10 | 2010-06-23 | ソニー株式会社 | Information processing apparatus, access control processing method, information processing method, and computer program |
US6990011B2 (en) * | 2003-05-09 | 2006-01-24 | Stmicroelectronics, Inc. | Memory circuit and method for corrupting stored data |
US7457953B2 (en) | 2003-12-18 | 2008-11-25 | Intel Corporation | Method and apparatus to provide secure communication |
US7224600B2 (en) * | 2004-01-08 | 2007-05-29 | Stmicroelectronics, Inc. | Tamper memory cell |
CN1331017C (en) * | 2005-03-23 | 2007-08-08 | 联想(北京)有限公司 | Safety chip |
TWI317078B (en) | 2006-06-02 | 2009-11-11 | Giga Byte Tech Co Ltd | Energy-saving computer and a method making the same |
US20110246790A1 (en) * | 2010-03-31 | 2011-10-06 | Gainteam Holdings Limited | Secured removable storage device |
US10218383B2 (en) * | 2013-06-25 | 2019-02-26 | Ncr Corporation | Keypad |
CN114616563A (en) * | 2019-08-23 | 2022-06-10 | 联邦科学和工业研究组织 | Secure environment for encryption key generation |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4700055A (en) * | 1985-10-15 | 1987-10-13 | Kashkashian Jr Arsen | Multiple credit card system |
US5027397A (en) * | 1989-09-12 | 1991-06-25 | International Business Machines Corporation | Data protection by detection of intrusion into electronic assemblies |
US5048085A (en) * | 1989-10-06 | 1991-09-10 | International Business Machines Corporation | Transaction system security method and apparatus |
US5111504A (en) * | 1990-08-17 | 1992-05-05 | General Instrument Corporation | Information processing apparatus with replaceable security element |
US5134700A (en) * | 1987-09-18 | 1992-07-28 | General Instrument Corporation | Microcomputer with internal ram security during external program mode |
US5142578A (en) * | 1991-08-22 | 1992-08-25 | International Business Machines Corporation | Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors |
US5148481A (en) * | 1989-10-06 | 1992-09-15 | International Business Machines Corporation | Transaction system security method and apparatus |
US5301231A (en) * | 1992-02-12 | 1994-04-05 | International Business Machines Corporation | User defined function facility |
JPH08190509A (en) | 1994-11-08 | 1996-07-23 | Matsushita Electric Ind Co Ltd | Storage |
US5721781A (en) | 1995-09-13 | 1998-02-24 | Microsoft Corporation | Authentication system and method for smart card transactions |
US5737419A (en) * | 1994-11-09 | 1998-04-07 | Bell Atlantic Network Services, Inc. | Computer system for securing communications using split private key asymmetric cryptography |
US5742756A (en) * | 1996-02-12 | 1998-04-21 | Microsoft Corporation | System and method of using smart cards to perform security-critical operations requiring user authorization |
US5768389A (en) * | 1995-06-21 | 1998-06-16 | Nippon Telegraph And Telephone Corporation | Method and system for generation and management of secret key of public key cryptosystem |
US5778071A (en) | 1994-07-12 | 1998-07-07 | Information Resource Engineering, Inc. | Pocket encrypting and authenticating communications device |
US5794207A (en) * | 1996-09-04 | 1998-08-11 | Walker Asset Management Limited Partnership | Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers |
US5832207A (en) | 1995-07-20 | 1998-11-03 | Dallas Semiconductor Corporation | Secure module with microprocessor and co-processor |
EP0876026A2 (en) | 1997-04-30 | 1998-11-04 | Motorola, Inc. | Programmable crypto processing system and method |
JPH11175334A (en) | 1997-08-26 | 1999-07-02 | Lg Semicon Co Ltd | Program data protective circuit |
WO1999039475A1 (en) | 1998-02-03 | 1999-08-05 | Tandem Computers, Inc. | Cryptographic system |
WO1999061989A1 (en) | 1998-05-22 | 1999-12-02 | Wave Systems Corporation | Method and system for secure transactions in a computer system |
US6643781B1 (en) * | 1999-05-14 | 2003-11-04 | Sun Microsystems, Inc. | Method and apparatus for rendering stolen computing devices inoperable |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3597704B2 (en) * | 1998-06-19 | 2004-12-08 | 株式会社日立製作所 | IC card and recording medium |
JP3457225B2 (en) * | 1998-07-31 | 2003-10-14 | 松下電器産業株式会社 | A portable body, a communication system, a communication system, a terminal device, and a computer-readable recording medium recording a program used in two applications |
-
2000
- 2000-06-29 JP JP2000196040A patent/JP2002014872A/en active Pending
- 2000-12-12 US US09/733,912 patent/US6993654B2/en not_active Expired - Fee Related
- 2000-12-22 FR FR0016904A patent/FR2811097B1/en not_active Expired - Fee Related
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4700055A (en) * | 1985-10-15 | 1987-10-13 | Kashkashian Jr Arsen | Multiple credit card system |
US5134700A (en) * | 1987-09-18 | 1992-07-28 | General Instrument Corporation | Microcomputer with internal ram security during external program mode |
US5027397A (en) * | 1989-09-12 | 1991-06-25 | International Business Machines Corporation | Data protection by detection of intrusion into electronic assemblies |
US5159629A (en) * | 1989-09-12 | 1992-10-27 | International Business Machines Corp. | Data protection by detection of intrusion into electronic assemblies |
US5148481A (en) * | 1989-10-06 | 1992-09-15 | International Business Machines Corporation | Transaction system security method and apparatus |
US5048085A (en) * | 1989-10-06 | 1991-09-10 | International Business Machines Corporation | Transaction system security method and apparatus |
US5111504A (en) * | 1990-08-17 | 1992-05-05 | General Instrument Corporation | Information processing apparatus with replaceable security element |
US5142578A (en) * | 1991-08-22 | 1992-08-25 | International Business Machines Corporation | Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors |
US5301231A (en) * | 1992-02-12 | 1994-04-05 | International Business Machines Corporation | User defined function facility |
US5778071A (en) | 1994-07-12 | 1998-07-07 | Information Resource Engineering, Inc. | Pocket encrypting and authenticating communications device |
JPH08190509A (en) | 1994-11-08 | 1996-07-23 | Matsushita Electric Ind Co Ltd | Storage |
US5737419A (en) * | 1994-11-09 | 1998-04-07 | Bell Atlantic Network Services, Inc. | Computer system for securing communications using split private key asymmetric cryptography |
US5768389A (en) * | 1995-06-21 | 1998-06-16 | Nippon Telegraph And Telephone Corporation | Method and system for generation and management of secret key of public key cryptosystem |
US5832207A (en) | 1995-07-20 | 1998-11-03 | Dallas Semiconductor Corporation | Secure module with microprocessor and co-processor |
US5721781A (en) | 1995-09-13 | 1998-02-24 | Microsoft Corporation | Authentication system and method for smart card transactions |
US5742756A (en) * | 1996-02-12 | 1998-04-21 | Microsoft Corporation | System and method of using smart cards to perform security-critical operations requiring user authorization |
US5794207A (en) * | 1996-09-04 | 1998-08-11 | Walker Asset Management Limited Partnership | Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers |
EP0876026A2 (en) | 1997-04-30 | 1998-11-04 | Motorola, Inc. | Programmable crypto processing system and method |
JPH11175334A (en) | 1997-08-26 | 1999-07-02 | Lg Semicon Co Ltd | Program data protective circuit |
WO1999039475A1 (en) | 1998-02-03 | 1999-08-05 | Tandem Computers, Inc. | Cryptographic system |
US6378072B1 (en) * | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
WO1999061989A1 (en) | 1998-05-22 | 1999-12-02 | Wave Systems Corporation | Method and system for secure transactions in a computer system |
US6643781B1 (en) * | 1999-05-14 | 2003-11-04 | Sun Microsystems, Inc. | Method and apparatus for rendering stolen computing devices inoperable |
Non-Patent Citations (2)
Title |
---|
Microsoft Press "Microsoft Computer Dictionary Third Edition" Microsoft Corporation 1997 p. 428. * |
Search Report for corresponding French Application (0016904000) dated Aug. 27, 2004. |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050214229A1 (en) * | 1998-09-03 | 2005-09-29 | Jsr, Llc | Two-stage transmucosal medicine delivery system for symptom relief |
US7657760B2 (en) * | 2000-12-28 | 2010-02-02 | Kabushiki Kaisha Toshiba | Method for sharing encrypted data region among processes in tamper resistant processor |
US20080046763A1 (en) * | 2000-12-28 | 2008-02-21 | Kabushiki Kaisha Toshiba | Method for sharing encrypted data region among processes in tamper resistant processor |
US7430761B2 (en) | 2002-11-08 | 2008-09-30 | Hitachi, Ltd. | Command processing system by a management agent |
US20060272029A1 (en) * | 2002-11-08 | 2006-11-30 | Hitachi, Ltd. | Command processing system by a management agent |
US7257843B2 (en) * | 2002-11-08 | 2007-08-14 | Hitachi, Ltd. | Command processing system by a management agent |
US20040111391A1 (en) * | 2002-11-08 | 2004-06-10 | Hitachi, Ltd. | Command processing system by a management agent |
US7568112B2 (en) * | 2003-01-21 | 2009-07-28 | Kabushiki Kaisha Toshiba | Data access control method for tamper resistant microprocessor using cache memory |
US20040143748A1 (en) * | 2003-01-21 | 2004-07-22 | Kabushiki Kaisha Toshiba | Data access control method for tamper resistant microprocessor using cache memory |
US20040236852A1 (en) * | 2003-04-03 | 2004-11-25 | International Business Machines Corporation | Method to provide on-demand resource access |
US8135795B2 (en) | 2003-04-03 | 2012-03-13 | International Business Machines Corporation | Method to provide on-demand resource access |
US20050044219A1 (en) * | 2003-07-24 | 2005-02-24 | International Business Machines Corporation | Method to disable on/off capacity on demand |
US7493488B2 (en) * | 2003-07-24 | 2009-02-17 | International Business Machines Corporation | Method to disable on/off capacity in demand |
US8086856B2 (en) | 2003-07-24 | 2011-12-27 | International Business Machines Corporation | Disabling on/off capacity on demand |
US20110033049A1 (en) * | 2009-07-10 | 2011-02-10 | Finisar Corporation | Encrypted optoelectronic module |
US8504821B2 (en) * | 2009-07-10 | 2013-08-06 | Finisar Corporation | Encrypted optoelectronic module |
Also Published As
Publication number | Publication date |
---|---|
FR2811097B1 (en) | 2005-10-14 |
US20020016914A1 (en) | 2002-02-07 |
JP2002014872A (en) | 2002-01-18 |
FR2811097A1 (en) | 2002-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6993654B2 (en) | Secure encryption processor with tamper protection | |
EP0865695B1 (en) | An apparatus and method for cryptographic companion imprinting | |
US5844497A (en) | Apparatus and method for providing an authentication system | |
US7260726B1 (en) | Method and apparatus for a secure computing environment | |
US6367017B1 (en) | Apparatus and method for providing and authentication system | |
US5960084A (en) | Secure method for enabling/disabling power to a computer system following two-piece user verification | |
US7353393B2 (en) | Authentication receipt | |
US20110113235A1 (en) | PC Security Lock Device Using Permanent ID and Hidden Keys | |
US20020066039A1 (en) | Anti-spoofing password protection | |
US20040128523A1 (en) | Information security microcomputer having an information securtiy function and authenticating an external device | |
JPH09259045A (en) | Security system device for memory card and the memory card | |
JPH0675251B2 (en) | Method for authenticating a portable object connected to an external medium via a transmission line by the external medium, and a system for implementing the method | |
JP2006080636A (en) | Information processing apparatus | |
KR100332690B1 (en) | Secret key security device with USB port | |
JPH09171416A (en) | Computer illegal use prevention device | |
US7853787B2 (en) | Peripheral device for programmable logic controller | |
JP2005157930A (en) | Confidential information processing system and lsi | |
CN114785503B (en) | Cipher card, root key protection method thereof and computer readable storage medium | |
CN101770559A (en) | Data protecting device and data protecting method | |
WO2011064708A1 (en) | Secure pin management of a user trusted device | |
EP1146685B1 (en) | Decryption device | |
KR101116607B1 (en) | Printing apparatus having security funcition and method for the same | |
JPH1139156A (en) | Enciphered data decoding device | |
KR100740658B1 (en) | A Method for Handling Crypto-Algorithm and a Crypto-Module, Supporting Polymorphism and Tamper-proof | |
KR200334484Y1 (en) | Security apparatus of input device for atm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FUJITSU LIMITED, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SEKI, YUJI;KAWASAKI, YUSUKE;HASHIMOTO, SHIGERU;AND OTHERS;REEL/FRAME:011367/0079 Effective date: 20001206 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20140131 |