Abstract:
A secure booting method for a mobile terminal comprising: checking configuration information stored in a non-volatile memory embedded in the mobile terminal to determine whether the configuration information is effective when the mobile terminal is booted, connecting the mobile terminal with a host to copy a downloader and a downloader certificate from the host when it is determined that the configuration information is not effective, performing authentication of the copied downloader using the downloader certificate and an authentication key stored in the mobile terminal, and downloading a program stored in the host to the non-volatile memory using the downloader when the downloader is authenticated.

Description:
CROSS-REFERENCE TO RELATED PATENT APPLICATION  
       [0001]     This application claims priority to Korean Patent Application No. 2005-0095305, filed on Oct. 11, 2005, in the Korean Intellectual Property Office, the disclosure of which is incorporated by reference herein.  
       BACKGROUND OF THE INVENTION  
       [0002]     1. Technical Field  
         [0003]     The present disclosure relates to a secure booting method for a mobile terminal, and more particularly, to a method of authenticating a certificate stored in a downloader or a mobile terminal when booting the mobile terminal.  
         [0004]     2. Discussion of the Related Art  
         [0005]     Security methods have been developed for preventing a lost or stolen mobile terminal from being improperly used by persons other than the owner. One such method makes use of an International Mobile Equipment Identity (IMEI) element.  
         [0006]     However, one who acquires a lost or stolen mobile terminal can still use the mobile terminal either by changing the IMEI stored in the mobile terminal, or by replacing the flash memory and downloading software from a host to store a certificate and application code with a new IMEI.  
         [0007]     Therefore, a need exists for a security method for preventing illegal software download or illegal change of an IMEI when a mobile terminal is booted.  
       SUMMARY OF THE INVENTION  
       [0008]     According to an exemplary embodiment of the present invention, there is provided a secure booting method for a mobile terminal. In the secure booting method, configuration information stored in a non-volatile memory in the mobile terminal is checked to determine whether the configuration information is effective when the mobile terminal is booted. The mobile terminal is connected with a host and a downloader and a downloader certificate are copied from the host when it is determined that the configuration information is not effective. Authentication of the copied downloader is performed using the downloader certificate and an authentication key stored in the mobile terminal. A program stored in the host is downloaded to the non-volatile memory using the downloader when the downloader is authenticated.  
         [0009]     According to an exemplary embodiment of the present invention, there is provided a mobile terminal including a memory storing a first program, a non-volatile memory, and a processor to execute the first program. According to the program, the processor checks configuration information stored in the non-volatile memory to determine whether the configuration information is effective when the mobile terminal is booted, connects the mobile terminal with a host and copies a downloader and a downloader certificate from the host when it is determined that the configuration information is not effective, performs authentication of the copied downloader using the downloader certificate and an authentication key stored in the mobile terminal, and downloads a second program stored in the host to the non-volatile memory using the downloader when the downloader is authenticated. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]     The above and other features of the present invention will become readily apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:  
         [0011]      FIG. 1  illustrates a user attempting to illegally download software to a mobile terminal;  
         [0012]      FIG. 2  is a flowchart of a secure booting method for a mobile terminal, according to an exemplary embodiment of the present invention;  
         [0013]      FIG. 3  is a block diagram of a mobile terminal according to an exemplary embodiment of the present invention;  
         [0014]      FIG. 4  illustrates the structure of a downloader certificate according to an exemplary embodiment of the present invention;  
         [0015]      FIG. 5  illustrates the structure of a program stored in a host to be used for download, according to an exemplary embodiment of the present invention;  
         [0016]      FIG. 6  illustrates the detailed structure of the certificate shown in  FIG. 5  according to an exemplary embodiment of the present invention; and  
         [0017]      FIG. 7  is a flowchart of the security check in  FIG. 2  according to an exemplary embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS  
       [0018]     Hereinafter, the exemplary embodiments will be described in detail with reference to the attached drawings. Like reference numerals in the drawings denote like elements.  
         [0019]      FIG. 1  illustrates a user  1  attempting to illegally download software to a mobile terminal  3 . Referring to  FIG. 1 , the user  1  obtains the mobile terminal  3  which had been lost or stolen and accesses a host  2  to illegally download software or change an IMEI allocated to the mobile terminal  3 . Alternately, the user  1  can use the mobile terminal  3  illegally by replacing a flash memory  31  embedded into the mobile terminal  3  with a new flash memory  32 .  
         [0020]      FIG. 2  is a flowchart of a secure booting method for the mobile terminal  3 , according to an exemplary embodiment of the present invention.  FIG. 3  is a block diagram of the mobile terminal  3 , according to an exemplary embodiment of the present invention. Referring to  FIG. 3 , the mobile terminal  3  includes a control unit  30 , a flash memory  31 , a random access memory (RAM)  32 , and a read-only memory (ROM)  33 .  
         [0021]     The ROM  33  stores a control program for the booting and operation of the mobile terminal  3  and a public key of a manufacturer. The flash memory  31  stores a certificate and an application code. The RAM  32  stores a second stage loader (SSL) and a downloader certificate for the authentication of the downloader.  
         [0022]     When the mobile terminal  3  is turned on or reset, the control unit  30  checks whether flash configuration table (FCT) information is stored in the flash memory  31  according to a booting algorithm stored in the ROM  33  in operation  20 . When it is determined that the flash memory  31  is empty or the FCT information is not effective in operation  21 , the control unit  30  tries to connect the mobile terminal  3  with the host  2  in operation  22 . When the control unit  30  fails to connect with the host  2  in operation  22 , booting is not performed and the secure booting method ends.  
         [0023]     When the control unit  30  succeeds in connecting with the host  2  in operation  22 , the control unit  30  copies an SSL and a downloader certificate from the host  2  to the RAM  32  using a first stage loader (FSL) and performs authentication of the SSL using the downloader certificate stored in the RAM  32  in operation  23 .  
         [0024]      FIG. 4  illustrates the structure of a downloader certificate according to an exemplary embodiment of the present invention. The downloader certificate includes a customer public key (CPK)  41 , a CPK signature (CPK_SIG)  42 , and an SSL signature (SSL_SIG)  43 .  
         [0025]     The control unit  30  performs authentication of the CPK  41  of the downloader certificate using the CPK_SIG  42  and the manufacturer&#39;s public key stored in the ROM  33 . In addition, the control unit  30  performs authentication of the SSL using the authenticated CPK  41  and the SSL_SIG  43 . When the downloader is not authenticated in operation  24 , download from the host  2  is not carried out and the secure booting method ends.  
         [0026]     When the downloader is authenticated, the control unit  30  downloads all of a program stored in the host  2  other than the SSL and the download certificate using the SSL and stores the downloaded program in the flash memory  31  in operation  25 .  
         [0027]     After the download from the host  2  is completed, the control unit  30  terminates a current downloading process and reboots the mobile terminal  3  in operation  25 - 1 . Thereafter, the above-described operations are repeated starting from operation  20 .  
         [0028]      FIG. 5  illustrates the structure of the program stored in the host  2  to be used for download, according to an exemplary embodiment of the present invention. Referring to  FIG. 5 , the program includes an SSL  51 , a downloader certificate  52 , an application code  53 , a simple boot code (SBC)  54 , an FCT  55 , and a certificate  56 . The FCT  55  is the same as the FCT checked in operation  20 .  
         [0029]     When it is determined that the FCT stored in the flash memory  31  is effective in operation  21 , the control unit  30  determines whether the mobile terminal  3  has been connected with the host  2  in operation  26 . When it is determined that the mobile terminal  3  has been connected with the host  2 , the control unit  30  determines which application program or the like to download from the host  2  and performs authentication of the downloader in operation  23 . The downloader authentication and the downloading process are performed through operations  23  through  25 , as described above.  
         [0030]     When it is determined that the mobile terminal  3  has not been connected with the host  2  in operation  26 , the control unit  30  performs a security check on the mobile terminal  3  using the certificate  56  stored in the flash memory  31  in operation  27 .  
         [0031]      FIG. 6  illustrates the detailed structure of the certificate  56  shown in  FIG. 5  according to an exemplary embodiment of the present invention. The certificate  56  includes a CERT_SIZE  61  indicating the size of the certificate  56 ; a CPK  62 ; a secure booting area count  63  indicating the number of areas, i.e., areas for a first hash information  64  through an n-th hash information  65  and a first digital signature  66  through an n-th digital signature  67 , for the authentication of the application code  53  shown in  FIG. 5 ; a BOND_IMEI_CHIP_ID_SIG  68  for preventing the change of an IMEI value; an IMEI_ADDR  69  indicating a position where the IMEI value is stored; a CPK_SIG  70  for CPK authentication; and a CERT_SIG  71  for authentication of the entire certificate  56 . The BOND_IMEI_CHIP_ID_SIG  68  is a signature used to hinder booting when the IMEI value is changed.  
         [0032]     The security check is performed according to the flowchart shown in  FIG. 7 . First, authentication of the CPK  62  is performed using the CPK_SIG  70  and the manufacturer&#39;s public key stored in the ROM  33  in operation  75 . Next, authentication of the entire certificate  56  is performed using the CERT_SIG  71  in operation  76 . Authentication of an IMEI is performed using the IMEI_ADDR  69  and the BOND_IMEI_CHIP_ID_SIG  68  in operation  77 . Authentication of the application code  53  is performed using the secure booting area count  63 , the first hash information  64  through the n-th hash information  65 , and the first digital signature  66  through the n-th digital signature  67  in operation  78 . If the authentication fails in each operation, the mobile terminal  3  is not booted.  
         [0033]     Referring back to  FIG. 2 , when it is determined that the authentication has failed in operation  28 , the mobile terminal  3  is not booted. When it is determined that the authentication has succeeded, the control unit  30  executes an application in operation  29 . The control unit  30  copies the application code  53  to the RAM  32  using the SBC  54  shown in  FIG. 5  and executes the application.  
         [0034]     The invention can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include ROM, RAM, CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the Internet). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.