Abstract:
The present invention relates to a remote update method for a firmware, in which the encoded firmware is decoded and updated using the XOR table, checksum, and signature stored in the header of the remotely updated new firmware in the update of an automated teller machine, thereby updating the firmware in a convenient manner without moving the automated teller machine to the outside, thus improving the efficiency of managing the machine and preventing illegal operations of the automated teller machine performed by external hacking using a network.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to a method for remotely updating firmware, and more specifically, to a method for remotely updating firmware, wherein in updating an automated banking machine, firmware encrypted at a remote site is decrypted using a series of information contained in the header of the firmware, and the firmware of the automated banking machine is updated after a connection authority authentication is performed, thereby preventing various hackings and financial safety accidents that can occur at the automated banking machine. 
       BACKGROUND ART 
       [0002]    Generally, in order to allow only authorized users to normally access a machine, such as an automated banking machine, which needs to prevent other people from illegally connecting and using the machine, a password is issued to each user, and the user is required to input the password before performing a financial processing function. Then, it is confirmed whether or not the inputted password matches a previously registered password, and the process proceeds to the next step only when the passwords match. 
         [0003]    An encryption device for encrypting inputted data is combined with a keypad for inputting a password in the automated banking machine or the like that requires utmost security. An encryption pin pad module employing a data encryption standard (DES) algorithm is widely used as the encryption device. The DES pin pad module, which performs encryption or key processing on a user&#39;s password, is provided with numeric buttons for inputting the password, a plurality of menu buttons for performing a variety of functions, and SRAM for storing an encryption key. The SRAM is installed inside the machine to prevent arbitrary handlings from the outside, but the numeric buttons and menu buttons are installed so that top surfaces thereof are exposed at a place easy to handle the pin pad module by a user. 
         [0004]    In addition, the types of the DES pin pad module include a bus type installed to an input-output slot of a system, a serial type connected to a communication port of a system, and an EPP type integrated with the pin pad for inputting a password. 
         [0005]    An EPP type pin pad module stores EPP firmware manufactured by a laboratory of a company manufacturing a corresponding machine, wherein the EPP firmware is encrypted through a public key (PK), a private key (SK), a firmware checksum, a signature value, and an XOR table generated using a special encryption device (TRSM). 
         [0006]    Conventionally, firmware stored in an automated banking machine can be updated at a relevant place after moving the automated banking machine to a laboratory or a factory, i.e., only at a special place where security is guaranteed. Alternatively, the firmware can be remotely updated if payment card industry (PCI) specification B4 is satisfied. 
         [0007]    However, in the former case, since the automated banking machine should be moved to a specific place, workers suffer inconvenience furthermore in doing the job, and thus efficiency is lowered in managing the automated banking machine. In the latter case, if the PCI specification B4 is not satisfied, the firmware cannot be updated remotely. 
       DETAILED DESCRIPTION OF INVENTION 
     Technical Problem 
       [0008]    The present invention is conceived to solve the aforementioned problems. Accordingly, an object of the present invention is to provide a method for remotely updating firmware, in which when an automated banking machine is remotely updated with new firmware, the updated new firmware encrypted using an XOR table, a checksum, and a signature value stored in the header of the firmware is decrypted to update the firmware of the automated banking machine, thereby preventing illegal handlings of the automated banking machine by external hackings attacking through a network and simultaneously improving efficiency in managing the automated banking machine. 
       Solution to Problem 
       [0009]    According to an aspect of the present invention for achieving the object, there is provided a method for remotely updating new firmware of an automated banking machine with new firmware, the method comprising: a first step of downloading encrypted new firmware from a host server; a second step of converting encrypted firmware data into real firmware using an XOR table contained in a header of the encrypted firmware; a third step of generating a signature value using the header of the encrypted firmware; a fourth step of comparing the signature value generated in the third step with a signature value stored in the header; a fifth step of generating a new checksum value (CS RF ) by performing checksum on the real firmware, if the signature values compared in the fourth step match; a sixth step of comparing the new checksum value (CS RF ) generated in the fifth step with a checksum value (CS H ) stored in the header; and a seventh step of completing verification on the new firmware and updating the automated banking machine with the new firmware, if the checksum values compared in the sixth step match. 
       ADVANTAGEOUS EFFECTS OF INVENTION 
       [0010]    The method for remotely updating firmware according to the present invention is effective in that the firmware can be conveniently updated without moving an automated banking machine to the outside, thereby improving efficiency in managing the automated banking machine and simultaneously guaranteeing security against external hackings attacking through a network. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0011]      FIG. 1  is a block diagram showing the structure of firmware used in a method for remotely updating firmware according to the present invention. 
           [0012]      FIG. 2  is a flowchart illustrating a process of updating firmware at an automated banking machine by the method for remotely updating firmware according to the present invention. 
           [0013]      FIG. 3  is a flowchart illustrating a process of verifying firmware in the flowchart shown in  FIG. 2 . 
       
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0014]    Hereinafter, preferred embodiments of the present invention will be described in more detail. However, the present invention is not limited to the preferred embodiments thereof set forth herein without departing from the essential features of the invention. 
         [0015]      FIG. 1  is a block diagram showing the structure of firmware used in a method for remotely updating firmware according to the present invention. 
         [0016]    Referring to  FIG. 1 , encrypted firmware transmitted from a host includes an encrypted firmware data (XORed APBIN) and a header for decrypting and verifying the encrypted firmware data. The header includes an XOR table, a signature value, and a checksum value (CS H ) for verifying the encrypted firmware data. 
         [0017]    New firmware including such components can be decrypted and remotely updated in an automated banking machine as described below. 
         [0018]      FIG. 2  is a flowchart illustrating a process of updating firmware at an automated banking machine by the method for remotely updating firmware according to the present invention, and  FIG. 3  is a flowchart illustrating a process of verifying firmware in the flowchart shown in  FIG. 2 . 
         [0019]    First, if the automated banking machine is booted and an operating system (OS) is normally driven, and then an EPP pin pad module starts to operate (EPP power-on), BOOTBIN is activated (step S 210 ). Then, a checksum value is calculated for previously stored firmware (APBIN), and it is confirmed whether or not the calculated checksum value matches a checksum value stored in the firmware header (step S 212 ). 
         [0020]    If the checksum values match as a result of the comparison, the previously stored firmware (APBIN) is activated in order to update the automated banking machine with new firmware (step S 214 ), and the process stays in a waiting state until a command for downloading new firmware is received (step S 216 ). 
         [0021]    On the other hand, if the checksum values do not match, the process stays in step S 210  and waits for another command in a waiting state (step S 220 ). At this point, if a command for confirming the version of the previously stored firmware is received, the version of the previously stored firmware is confirmed. 
         [0022]    Thereafter, if a command for downloading new firmware is inputted (steps S 218  and S 222 ), new firmware encrypted as shown in  FIG. 1  is downloaded and verified (step S 224 ). This step will be described in further detail with reference to  FIG. 3 . 
         [0023]    If the verification succeeds as a result of the verification step (step S 226 ), the automated banking machine is updated with the new firmware (step S 228 ), and the EPP is reset (step S 230 ). If the verification fails (step S 226 ), the process returns to step S 218  or S 222 . 
         [0024]    The process of verifying the firmware is as described below. 
         [0025]    First, if a download command is inputted, the encrypted new firmware (APBIN) is downloaded from the host (step S 224   a ). As shown in  FIG. 1 , the downloaded new firmware includes an encrypted firmware data and a header storing information for decrypting and verifying the encrypted firmware data. 
         [0026]    If the new firmware is downloaded, the encrypted firmware data (XORed APBIN) is decrypted and converted into real firmware using the XOR table contained in the header (step S 224   b ). 
         [0027]    Next, an original encoded message (EM) is generated by decrypting the signature value contained in the header through the RSA algorithm using a public key (PK) (step S 224   c ). 
         [0028]    Then, a hash value (H) is generated by operating a checksum value of the firmware stored in the header using a hash function (step S 224   d ). 
         [0029]    A DER encoding value (T) is generated using the hash value (H) generated in step S 224   d  (step S 224   e ). 
         [0030]    Next, a new encoded message (EM) is generated using the hash value H and the DER encoding value T respectively generated in steps S 224   d  and S 224   e  (step S 224   f ). 
         [0031]    Thereafter, the new EM generated in step S 224   f  is compared with the original EM generated in step S 224   c  (step S 224   g ), and if they match each other, the process goes to the next step, and if they do not match, the process of updating the new firmware is terminated. 
         [0032]    If the signature value of the new firmware is verified through steps S 224   c  to S 224   g,  verification is performed on the checksum value of the new firmware. 
         [0033]    In performing the verification of the new firmware, a checksum value (CS RF ) of the real firmware generated in step S 224   b  is generated (step S 224   h ), and the checksum value (CS H ) stored in the header is compared with the checksum value (CS RF ) of the real firmware generated in step S 224   b  (step S 224   i ). 
         [0034]    If the checksum values match each other as a result of the comparison (step S 224   j ), verification on the new firmware is succeeded, and the automated banking machine is updated with the new firmware. If the checksum values do not match each other as a result of the comparison (step S 224   j ), verification on the new firmware is failed, and the update process is terminated. 
         [0035]    Although the present invention has been described and illustrated in connection with the specific embodiments as described above, it will be readily understood that various modifications can be made thereto without departing from the scope of the present invention. Therefore, the scope of the present invention is not limited to the embodiments described above but is defined by the appended claims and the equivalents thereto. 
       INDUSTRIAL APPLICABILITY 
       [0036]    The method for remotely updating firmware according to the present invention can be used to safely and remotely update firmware applied to an automated banking machine, as well as other diverse IT devices, at a place where the automated banking machine is installed.