Abstract:
Two kinds of security chips having a security interface are provided. One kind of security chip comprises a processor module, an encrypt/decrypt module, a memory module, a power detecting module and a security I/O module, and all of the modules are connected with each other by an internal bus in the security chip; the other kind of security chip comprises a processor module, an encrypt/decrypt module, a memory module, a power detecting module and an I/O interface module, all of the modules being connected with each other by the internal bus in the security chip, wherein, the security chip also comprises a security input module, a security output module and a south bridge interface module, and all of the modules are connected with each other by the internal bus in the security chip. With the security chip provided by the present invention, it is possible to encrypt/decrypt the I/O information of an information processing device, ensure the safety of the I/O information, and thus prevent the information from being listened to or otherwise revealed.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of Invention 
         [0002]    The present invention relates to the field of computer security technology, and in particular to a security chip having a security interface. 
         [0003]    2. Description of Prior Art 
         [0004]    Nowadays, various information processing apparatuses have been widely used in people&#39;s daily life. So-called information processing apparatus is mainly referred to as a personal computer (PC), a notebook computer, a palm computer, a mobile phone and the like. 
         [0005]    The organization of Trusted Computing Platform Alliance (TCPA) initiated by Intel, IBM, HP, Microsoft and Compaq in 1999 has been promoting the establishment of a trusted computing environment and defined an architecture for platform device authentication as well as specification for security chip embedded in mainboard TPM (Trusted Platform Module) and upper-layer software middleware TSS (Trusted Software Stack). In 2003, TCPA was restructured as Trusted Computing Group (TCG) and made necessary supplement to TPM and TSS. 
         [0006]      FIG. 1  shows a schematic diagram for the structure of a security chip system required by TCG. The security chip comprises a processor module  101  for performing control, such as a micro-controller unit (MCU) processor, an encryption/decryption module  102 , a storage module  103  for storing encryption/decryption keys, an input/output (IO) interface module  104  and a power detecting module  105  for detecting the power supply of the security chip. All of the modules are connected with each other via an internal bus in the security chip. The processor module  101  controls the encryption/decryption module  102  according to an instruction received from the I/O interface module  104 , or sends the instruction processing result to the I/O interface module  104  according to the received instruction or retrieves secret information such as a key from the storage module  103  directly and sends it to the I/O interface module  104 . The encryption/decryption module  102 , under the control of the processor module  101 , retrieves the pre-stored encryption/decryption keys from the storage module  103 , encrypts/decrypts the received data with the encryption/decryption keys and transmits the encrypted/decrypted data to external devices via the I/O interface module  104 , which serves to transmit data and/or instructions between the security chip and the external devices. 
         [0007]    The encryption/decryption module  102  generally consists of a SHA/HMAC engine module, a random number generator, a RSA processor module and a key generation module. The SHA/HMAC engine module which is controlled by the processor module  101  conducts SHA/HMAC operation on the received data and sends the calculated result to the I/O interface module  104 . The RSA processor module, also under the control of the processor module  101 , conducts RSA operation on the received data and sends the calculated result to the I/O interface module  104 . The random number generator generates random numbers for random key generation under the control of the processor module  101 . The key generation module generates keys required by RSA and SHA/HMAC algorithm using the random numbers generated by the random number generator. The storage module  103  is formed of a nonvolatile storage for holding key data, user data and programs and a volatile storage for saving temporal data and temporal programs. 
         [0008]    The security chip can further include other optional components for managing the current status of the security chip. 
         [0009]      FIG. 2  is a schematic diagram showing the connection between a security chip and a mainboard in the prior art. The CPU  201  of the information processing apparatus is connected to a north bridge  202  on the mainboard, and the north bridge  202  is connected directly to a south bridge  203  and a static RAM (SRAM)  204 , respectively. The south bridge  103  is connected directly to a Super Input/Output (SuperIO) interface  205  and the security chip  206 , respectively, via a LPC (Low Pin Count Bus) bus. The primary functions of the security chip specified by TCG currently include: conducting integrity verification on BIOS during the startup of a computer and verifying the integrity for hardware devices and for operating system; monitoring and verifying the integrity for protected application software after the operating system starts running; generating and managing various keys in the system; and providing digital signature if necessary. 
         [0010]    Although the security chip can ensure a secured running environment for the information processing apparatus, the above mentioned security chip can not guarantee the safety for input and output stages. This is caused by the fact that the security chip only monitors and verifies the existing data inside the information processing apparatus, but the data being inputted and outputted is not subjected to be monitored and verified. At present, many Trojan horse programs can monitor data entered via a keyboard, the on-screen position of a mouse and output data sent to a video card so as to acquire confidential information relevant to a user. Obviously, this is a loophole to any trusted terminal based on security chip. Consequently, the existing chip has not yet overcome the problems related to trusted input and output. 
       SUMMARY OF THE INVENTION 
       [0011]    In view of the above problems, the object of the present invention is to provide two kinds of security chips each having a security interface in order to guarantee the security for information input and output of an information processing apparatus. 
         [0012]    To achieve the above object, the inventive technical scheme is implemented as follows. 
         [0013]    A security chip is provided, which comprises a processor module, an encryption/decryption module, a storage module, a power detecting module and a security I/O module, all of which are connected with each other via an internal bus in the security chip; wherein: said processor module controls said security I/O module to send the received data to said encryption/decryption module, controls said encryption/decryption module to perform encryption/decryption operation and transmit the operation result to said security I/O module by controlling said encryption/decryption module, or controls said storage module to stores the encryption/decryption key generated by said encryption/decryption module; said security I/O module is configured to receive input data from an external device and, under the control of said processor module, to send the received data to said encryption/decryption module or to transmit the data from said encryption/decryption module to said external device; said storage module is configured to store the encryption/decryption key; said encryption/decryption module, under the control of said processor module, retrieves the encryption/decryption key pre-stored in said storage module, encrypts/decrypts the received data with the encryption/decryption key and transmits the encrypted/decrypted data to said security I/O module, or it generates the key required for encryption/decryption; and said power detecting module is controlled by said processor module to detect the power supplied to the security chip. 
         [0014]    Preferably, when said security chip is positioned within an input device, said security I/O module acquires unencrypted data output by the input device and sends the acquired data to said encryption/decryption module, or transmits the encrypted data from said encryption/decryption module to the external device. 
         [0015]    Said security I/O module preferably comprises a USB security I/O module connected directly to an input device having a USB interface, a non-USB security I/O module connected directly to an input device having a non-USB interface or the combination of said USB and non-USB security I/O modules. 
         [0016]    Said input device preferably includes, but not limited to, a mouse and/or a keyboard. 
         [0017]    Preferably, when said security chip is positioned within an output device, said security I/O module receives encrypted data from the external device and transmits the received data to said encryption/decryption module, or transmits the decrypted data from said encryption/decryption module to the output device. 
         [0018]    Said output device preferably includes, but not limited to, an audio card and/or video card. 
         [0019]    Said encryption/decryption module is preferably formed of a SHA/HMAC engine module, a random number generator, a RSA processor module and a key generation module; said SHA/HMAC engine module conducts SHA/HMAC operation on the received data and sends the calculated result to said security I/O module under the control of said processor module; said RSA processor module is controlled by said processor module to conduct RSA operation on the received data and sends the calculated result to said security I/O module; said random number generator is controlled by said processor module to generate random numbers for random key generation; and said key generation module generates keys required by RSA and SHA/HMAC algorithm using the random numbers generated by said random number generator. 
         [0020]    Said storage module is preferably formed of a nonvolatile storage for holding key data, user data and programs and a volatile storage for saving temporal data and temporal programs. 
         [0021]    A security chip is further provided comprising a processor module, an encryption/decryption module, a storage module, a power detecting module and an I/O interface module, all of which are connected with each other via an internal bus in the security chip, wherein: said processor module controls said encryption/decryption module according to an instruction received from said I/O interface module, sends the instruction processing result to said I/O interface module according to the received instruction or retrieves secret information directly from said storage module and sends it to said I/O interface module; said storage module is configured to store the encryption/decryption key; said I/O interface module is connected to an external device and controlled by said processor module to receive an instruction from the external device and send to the external device the operation result required by the external device; and said power detecting module is controlled by said processor module to detect the power supplied to the security chip; and wherein said security chip further comprises a security I/O module; said encryption/decryption module, under the control of said processor module, retrieves the encryption/decryption key pre-stored in said storage module, encrypts/decrypts the received data with the encryption/decryption key and transmits the encrypted/decrypted data to said security I/O module; said security I/O module is connected directly to the internal bus in the security chip and receives data from the external device; controlled by said processor module, said security I/O module sends the received data to said encryption/decryption module or sends the data from said encryption/decryption module to a device for receiving the information output by an input device or to an output device. 
         [0022]    Said security I/O module preferably comprises a security input module, a security output module and a south bridge interface module, wherein: said security input module is connected directly to the internal bus in the security chip, receives encrypted data from an external input device and sends the received data to said encryption/decryption module under the control of said processor module; said south bridge interface module is connected directly to the internal bus in the security chip, receives unencrypted data from an external device and, under the control of said processor module, sends the received data to said encryption/decryption module or sends the decrypted data from said encryption/decryption module to the device for receiving the information output by an input device; said security output module is connected directly to the internal bus in the security chip and transmits the decrypted data from said encryption/decryption module to the output device; and said encryption/decryption module is preferably formed of a SHA/HMAC engine module, a random number generator, a RSA processor module and a key generation module. 
         [0023]    Said SHA/HMAC engine module is controlled by said processor module to conduct SHA/HMAC operation on the received data and sends the calculated result to said security output module or said south bridge interface module; said RSA processor module is controlled by said processor module to conduct RSA operation on the received data and sends the calculated result to said security output module or said south bridge interface module; said random number generator is controlled by said processor module to generate random numbers for random key generation; and said key generation module generates keys required by RSA and SHA/HMAC algorithm using the random numbers generated by said random number generator. Said storage module is preferably formed of a nonvolatile storage for holding key data, user data and programs and a volatile storage for saving temporal data and temporal programs. 
         [0024]    Said security input module preferably comprises a USB security input module connected directly to an input device having a USB interface, a non-USB security input module connected directly to an input device having a non-USB interface or the combination of said USB and non-USB security input modules. 
         [0025]    Said security input module preferably comprises a mouse security input module connected directly to a mouse, a keyboard security input module connected directly to a keyboard or the combination of said mouse and keyboard security input modules. 
         [0026]    The present invention mainly proposes two kinds of security chips, one of which differs from the existing security chip in that it provides a security I/O module in place of an I/O interface module, and the other kind is equipped with a security I/O module additionally compared to the existing security chip. By applying the security chips of the present invention to an information processing apparatus, the information input to/output from the information processing apparatus an be encrypted/decrypted for securing the information and thus preventing illegal monitoring and information leakage. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS  
         [0027]      FIG. 1  shows a schematic diagram of the system structure of a security chip specified by TCG. 
           [0028]      FIG. 2  is a schematic diagram showing the connection between a security chip and a mainboard in the prior art. 
           [0029]      FIG. 3  shows a structural schematic diagram for one kind of security chip provided by the present invention. 
           [0030]      FIG. 3   a  shows a security chip applicable to only a USB interface input device according to the present invention. 
           [0031]      FIG. 3   b  shows a security chip applicable to only a non-USB interface input device according to the present invention. 
           [0032]      FIG. 3   c  shows a security chip applicable to a USB interface input device as well as a non-USB interface input device according to the present invention. 
           [0033]      FIG. 4  shows a structural schematic diagram of the other kind of security chip according to the present invention. 
           [0034]      FIG. 5  is a schematic diagram showing the connection between the security chip of  FIG. 4  and a mainboard. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0035]    Hereafter, the present invention will be further elaborated in conjunction with the diagrams. 
         [0036]      FIG. 3  shows a structural schematic diagram of one kind of security chip provided by the present invention. The security chip comprises a processor module  101 , an encryption/decryption module  102 , a storage module  103 , a power detecting module  105  and a security I/O module  306 , all of which are connected with each other via an internal bus in the security chip. The processor module  101 , such as MCU, controls the security I/O module  306  to send the received data to the encryption/decryption module  102 , or controls the encryption/decryption module  102  to perform encryption/decryption operation and transmit the operation result to the security I/O module  306 , or controls the storage module  103  to stores the encryption/decryption key generated by the encryption/decryption module  102 . The security I/O module  306  is configured to receive input data from an external device and, under the control of the processor module  101 , to send the received data to the encryption/decryption module  102  or transmit the data from the encryption/decryption module  102  to the external device. The storage module  103  is configured to store the encryption/decryption key. The encryption/decryption module  102 , under the control of said processor module  101 , retrieves the encryption/decryption key pre-stored in the storage module  102 , encrypts/decrypts the received data with the encryption/decryption key and transmits the encrypted/decrypted data to the security I/O module  306 . The power detecting module  105  is configured to detect the power supplied to the security chip. 
         [0037]    The encryption/decryption module  102  comprises a SHA/HMAC engine module, a random number generator, a RSA processor module and a key generation module. The SHA/HMAC engine module is controlled by the processor module  101  to conduct SHA/HMAC operation on the received data and sends the calculated result to the security I/O module  306 . The RSA processor module is controlled by the processor module  101  to conduct RSA operation on the received data and sends the calculated result to the security I/O module  306 . The random number generator is controlled by the processor module  101  to generate random numbers for random key generation. The key generation module generates keys required by RSA and SHA/HMAC algorithm using the random numbers generated by the random number generator. The storage module is formed of a nonvolatile storage for holding key data, user data and programs and a volatile storage for saving temporal data and programs. 
         [0038]    The security chip shown in  FIG. 3  is commonly located within the input or output device of an information processing apparatus and used for data encryption/decryption exclusively, that is, the security chip do not perform any operation instruction other than that for data encryption/decryption. Therefore, the security chip is basically the same as the existing security chip shown in  FIG. 1  except that a security I/O module is added and the I/O interface module is removed. 
         [0039]    When the security chip as shown in  FIG. 3  is positioned within an input device, the security I/O module  306  acquires unencrypted data output by the input device and sends the acquired data to the encryption/decryption module  102 , or transmits the encrypted data from the encryption/decryption module  102  to an external device. The security I/O module  306  can be either a USB security I/O module  306   a  exclusively applied in a USB interface input device as shown in  FIG. 3   a  or a is non-USB security I/O module  306   b  exclusively applied in a non-USB interface input device as shown in  FIG. 3   b . Further, the security I/O module  306  can be the combination of said USB and non-USB security I/O modules, such as the security I/O module  306   c  shown in  FIG. 3   c , which can be adopted in both the input device with a USB interface and the input device without a USB interface. The above-mentioned input device includes, but not limited to, a mouse and/or a keyboard. 
         [0040]    When the security chip as shown in  FIG. 3  is positioned within an output device, the security I/O module  306  receives encrypted data from the external device and transmits the received data to the encryption/decryption module  102 , or transmits the decrypted data from the encryption/decryption module  102  to the output device for display. The above-mentioned output device includes, but not limited to, an audio card and/or a video card. 
         [0041]      FIG. 4  shows a structural schematic diagram for the other kind of security chip provided by the present invention. The security chip comprises a security I/O module  406  in addition to the processor module  101 , the encryption/decryption module  102 , the storage module  103 , the power detecting module  105  and the I/O interface module  104 , all of which are connected with each other via an internal bus in the security chip. The I/O interface module  104  is connected to an external device and controlled by the processor module  101  to receive an instruction from the external device and send to the external device the operation result required by the external device. The processor module  101 , such as MCU, controls the encryption/decryption module according to an instruction received from the I/O interface module  104 , or sends the instruction processing result to the I/O interface module  104  according to the received instruction, or retrieves secret information, such as a key, directly from the storage module  103  and sends it to the I/O interface module  104 . The storage module  103  is configured to store the encryption/decryption key. The encryption/decryption module  102 , under the control of the processor module  101 , retrieves the encryption/decryption key pre-stored in the storage module  103 , encrypts/decrypts the received data with the encryption/decryption key and transmits the encrypted/decrypted data to the security I/O module  406 . The security I/O module  406  is connected directly to the internal bus in the security chip and receives data from the external device. Controlled by the processor module  101 , the security I/O module  406  sends the received data to the encryption/decryption module  102 , or sends the data from the encryption/decryption module  102  to a device for receiving the information output by an input device or to an output device. 
         [0042]    The security I/O module  406  mentioned above comprises a security input module  406   a , a security output module  406   b  and a south bridge interface module  406   c .The security input module  406   a  receives encrypted data from the input device and sends the received data which is encrypted to the encryption/decryption module under the control of the processor module  101 . The security output module  406   b  transmits the decrypted data from the encryption/decryption module  102  to the output device. The south bridge interface module  406   c  receives unencrypted data from the external device and, under the control of the processor module  101 , sends the received data to the encryption/decryption module  102 , or sends the decrypted data from the encryption/decryption module  102  to the device for receiving the information output by the input device. 
         [0043]    The encryption/decryption module  102  is commonly formed of a SHA/HMAC engine module, a random number generator, a RSA processor module and a key generation module. The SHA/HMAC engine module is controlled by the processor module  101  to conduct SHA/HMAC operation on the received data and sends the calculated result to the security output module  406   b  or the south bridge interface module  406   c . The RSA processor module is controlled by the processor module  101  to conduct RSA operation on the received data and sends the calculated result to the security output module  406   b  or the south bridge interface module  406   c . The random number generator is controlled by the processor module  101  to generate random numbers for random key generation. The key generation module generates keys required by RSA and SHA/HMAC algorithm using the random numbers generated by said random number generator. The storage module  103  is formed of a nonvolatile storage for holding key data, user data and programs and a volatile storage for saving temporal data and programs. 
         [0044]    The security chip shown in  FIG. 4  is usually positioned in the mainboard of an information processing apparatus and performs operations related to not only data encryption/decryption but also other instructions concerning the security chip. Therefore, compared with the existing security chip shown in  FIG. 1 , the inventive security chip has the security I/O module  406  added, in addition to all the functions of the security chip shown in  FIG. 1 , that is, the security input module  406   a , the security output module  406   b  and the south bridge interface module  406   c  are additionally provided. The reason for providing the south bridge interface module  406   c  is to increase data transmission rate. 
         [0045]    The above security input module is a USB security input module connected directly to an input device having a USB interface, a non-USB security input module connected directly to an input device having a non-USB interface or the combination of the USB and non-USB security I/O modules. The USB security input module can be a USB mouse security input module connected to a USB mouse, a USB keyboard security input module connected to a USB keyboard or the combination of the USB mouse and keyboard security input modules. A non-USB security input module is configured similarly to the USB security input module. 
         [0046]    Naturally, the security input module can also be a mouse security input module connected to a mouse, a keyboard security input module connected to a keyboard or the combination of the mouse and keyboard security input modules. The mouse security input module can be a USB mouse security input module connected to a USB mouse, a non-USB mouse security input module connected to a non-USB mouse or the combination of the USB mouse and the non-USB mouse. A keyboard input module is configured similarly to the mouse security input module. 
         [0047]    Meanwhile, the forgoing security output module can be an audio card output module, a video card output module or their combination. 
         [0048]      FIG. 5  is a schematic diagram showing the connection between the security chip of  FIG. 4  and a mainboard. The CPU  201  of an information processing apparatus is connected to a north bridge  202  on the mainboard, and the north bridge  202  is connected directly to a south bridge  203  and a static RAM (SRAM)  204 , respectively. To accelerate data transmission rate, data transmission between the south bridge  203  and the security chip  205  is carried out via a dedicated south bridge interface. The security chip  205  is connected directly to input devices, for example, a mouse, a keyboard, etc. Further, the security chip of  FIG. 4  can be connected to the mainboard system via a LPC, PCI, USB, 1394 or GPIO bus so as to transmit instructions. 
         [0049]    Next, a brief description will be given to the application of the above different security chips by example of a computer. 
         [0050]    The security chip as shown in  FIG. 3  is generally provided within each of the input device, such as a mouse and a keyboard, and the output device, such as an audio card and a video card of the computer. Apparently, the security chip within the input device can be as shown in  FIG. 3   a ,  3   b  or  3   c . Furthermore, the security chip shown in  FIG. 4  is mounted inside the mainboard of the computer. 
         [0051]    The security chip inside the mainboard verifies whether the security chips in the input device and the output device can be trusted, respectively. If the verification is successful, the security chip inside the mainboard cooperates, respectively with the security chips in the input device and the output device to determine and save encryption/decryption keys for encrypting/decrypting data. 
         [0052]    The security chip in the input device acquires data to be output by the input device via the security I/O interface, encrypts the acquired data with the above encryption/decryption keys and subsequently sends the encrypted data to the security chip inside the mainboard via the security I/O interface. By using the same encryption/decryption keys as that of the security chip in the input device, the security chip inside the mainboard decrypts the encrypted data received via the security I/O interface and, via the south bridge interface, sends the decrypted data to a device for receiving information output by the input device in the information processing apparatus, which device further carries out subsequent processing. 
         [0053]    The security chip inside the mainboard acquires, via the south bridge interface, data to be transmitted to the output device, encrypts the acquired data with the same encryption/decryption keys as that of the security chip in the output device and then sends the encrypted data to the security chip in the output device via the security output interface. By using the same encryption/decryption keys as that of the security chip inside the mainboard, the security chip in the output device decrypts the encrypted data received via the security I/O interface and sends the decrypted data via the security I/O interface to the output device for data output. 
         [0054]    The foregoing description gives only the preferred embodiments of the present invention and is not intended to limit the present invention in any way. Thus, any modification, substitution, improvement or like made within the spirit and principle of the present invention should be encompassed by the scope of the present invention.