Abstract:
A memory card controller includes a random number generator and an encoder. The random number generator creates random numbers from one of a plurality of unique numbers and the encoder generates a cipher text from the random numbers and embedded keys. A memory card authentication system includes storage media and a memory card controller. The memory card controller receives the unique numbers from the storage medium. Every storage medium has a unique number that is used as a seeds to generate random numbers. This increases the randomness of the random numbers and hence enhances a security level in the memory card authentication system.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    The present application claims priority under 35 U.S.C. §119 to Korean Patent Application No. 2006-06240 filed on Jan. 20, 2006, the entire contents of which are hereby incorporated by reference. 
       BACKGROUND  
       [0002]    1. Technical Field 
         [0003]    The present invention relates to card authentication systems and in particular, to a card authentication system and method for improving a security level thereof. 
         [0004]    2. Discussion of the Related Art 
         [0005]    A card authentication system generally determines a pass or fail condition of an authentication (i.e., whether a proper storage medium is inserted) during an authorizing operation between a storage medium, e.g., a memory card, and a host. If the authentication is successful, the host is able to retrieve data from the storage medium and/or store desired data into the storage medium. 
         [0006]    Such an authorizing operation may be carried out with a random number generator. The random number generator may generate the same random numbers from input seeds. However, when the same seeds are used, the same random numbers may be generated. Therefore, the same random numbers can be more easily discovered by a hacker thereby weakening a security level of the whole authentication system. 
         [0007]    Therefore, it is desirable to enhance the randomness of the random numbers produced by the random number generator to raise the security level of a card authentication system. As used herein, the term “randomness” refers to the extent to which a generated random number cannot be anticipated by any pattern or mathematical formula. Therefore, increasing or enhancing the randomness of the random numbers lessens the likelihood that the generated random numbers can be anticipated. 
       SUMMARY OF THE INVENTION 
       [0008]    Embodiments of the present invention are directed to a card authentication system having an enhanced security level with higher randomness of random numbers made by a random number generator. 
         [0009]    Embodiments of the present invention are also directed to a method for card authentication capable of improving a security level with higher randomness of random numbers made by a random number generator. 
         [0010]    According to one embodiment of the present invention, a card controller may comprise a random number generator and an encoder. The random number generator may produce a random number from a unique number provided from a storage medium. The encoder may accept the random number. 
         [0011]    According to an embodiment, a memory card may comprise a storage medium storing a unique number and a card controller producing a random number from the unique number. A cipher text may be generated from the random number. 
         [0012]    The card controller may comprise a random number generator producing the random number from the unique number and an encoder generating the cipher text from the random number. The random number generator may receive a first key from a user and produce the random number from the unique number and the first key. The encoder may generate the cipher text from the random number and an embedded second key. The encoder may transfer the random number and the cipher text to a host. 
         [0013]    In another embodiment, a storage medium may store the random number produced from the random number generator. When the storage medium stores the random number, the random number generator may produce a new random number from the stored random number. The unique number may depend on the kind of storage medium used. 
         [0014]    A card authentication system may comprises a hose and memory card storing a unique number, generating a random number from the unique number, generating a cipher text from the random number, and providing the cipher text to the host. 
         [0015]    The memory card may comprise a storage medium storing the unique number and a card controller producing the random number from the unique number and generating the cipher text from the random number. The card controller may comprise a random number generator producing a first random number from the unique number provided by the storage medium and an encoder generating the cipher text from the first random number. The random number generator may receive a first key from a user and produce the random number from the unique number and the first key. The encoder may generate the cipher text from the first random number and an embedded second key. The encoder may transfer the first random number and the cipher text to a host. The host may comprise a decoder decrypting the cipher text by means of a third key embedded in the host and generating a second random number from the decrypted cipher text and a random number comparator configured to compare the first random number with the second random number. 
         [0016]    A method for authorizing a card may comprise finding whether there is a stored random number, accepting a unique number from a storage medium when the random number is absent, and generating a first random number from the unique number. 
         [0017]    A further understanding of the several embodiments of the present invention may be realized by reference to the remaining portions of the specification and the attached drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         [0018]    Non-limiting and non-exhaustive embodiments of the present invention will be described with reference to the following figurers, where like reference numerals refer to like parts throughout the various figures unless otherwise specified. In the figures:
         FIG. 1  is a block diagram illustrating a card authentication system in accordance with an embodiment of the invention; and     FIG. 2  is a flow chart showing a method for operating the card authentication system in accordance with an embodiment of the invention.       
 
       
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
       [0021]    Embodiments of the invention will be described below in more detail with reference to the accompanying drawings. The invention may, however, be embodied in different forms and should not be constructed as limited to the embodiments set forth herein. 
         [0022]      FIG. 1  is a block diagram illustrating a card authentication system  100  in accordance with an embodiment of the present invention. Referring to  FIG. 1 , the card authentication system  100  may be comprised of a memory card  105  and a host  130 . The memory card  105  may be installed in the host  130 . 
         [0023]    The memory card  105  and the host  130  may each have their own keys. The card authentication system  100  may execute an authorizing operation by means of two embedded keys when the memory card  105  links up with the host  130 . For example, the card authentication system  100  enables communication between the memory card  105  and the host  130  when the embedded keys are identical to each other. 
         [0024]    For example, memory card  105  may be a MultiMedia Card (MMC), Secure Digital (SD) card, MiniSD, MicroSD, Compact Flash, Memory Stick, removable/transportable hard disk or any other memory card either commercially available or in development. The memory card  105  may vary in operation speed, card size, and security level depending on the kind of memory card  105  used. The memory card  105  may comprise a storage medium  110  and a card controller  120 . 
         [0025]    The storage medium  110  may include a block for storing unique numbers  113  and a block for storing data  115 . The unique numbers may be used as seeds during an encryption operation. A general storage medium, such as, for example, a hard disk drive (HDD), nonvolatile memory, and so forth, may have its own unique number for identification. The block storing the unique number  113  may also contain additional information, for example, a manufacturer name, a package type, manufacture time information represented in a unit of time such as minutes and/or seconds. The unique number may be different for each storage medium used. 
         [0026]    The storage medium  110  may be an electrically erasable/programmable read-only memory (EEPROM), a NOR flash memory, a NAND flash memory, a phase-changeable random access memory (PRAM), a magnetic random access memory (MRAM), a ferroelectric random access memory (FRAM) or any other form of storage medium. 
         [0027]    The card controller  120  may be comprised of a random number generator  123  producing random numbers from a unique number supplied by the storage medium  110 , and an encoder  125  generating a cipher text. The card controller  120  may use the unique number (e.g., 64-bit unique number) for a seed, to improve the randomness of random numbers. 
         [0028]    The random number generator  123  may be used for the authorizing operation to protect an embedded key value. The random number generator  123  may produce random numbers RN from the seed input thereto. Therefore, a seed that is simple in numeric structure may result in random numbers that would be more easily discovered by a hacker and hence may weaken a security level of the whole authentication system. 
         [0029]    As illustrated in  FIG. 1 , the random number generator  123  may produce a first random number RN 1  from a unique number received as a seed. The random number generator  123  may further accept a first key K 1 . The encoder  125  may generate a cipher text by encrypting the first random number RN 1  and a second key K 2  embedded therein. The card controller  120  may transfer the first random number RN 1  and the cipher text to the host  130 . 
         [0030]    The host  130  may be a computer, digital camera, a digital camcorder, MP3 player, printer, mobile telephone, personal digital assistant (PDA), or any other device that can accept a memory card  105 . The host  130  may include a decoder  133  and a random number comparator  135 . The decoder  133  may decrypt the cipher text transferred from the card controller  120 . The random number comparator  135  may determine whether the decoded random number RN 2  is identical to the random number RN 1  directly supplied from the card controller  120 . 
         [0031]    If the memory card  105  links up with the host  130 , the card controller  120  may accept the unique number from the block  113  storing the unique numbers within the storage medium  110 . The random number generator  123  may produce the first random numbers RN 1  by using the accepted unique number as a seed. The random number generator  123  may further receive the first key K 1  (e.g., 56-bit key) input by a user. By the random number generator  123  using the unique number and the first key K 1  for the seed, the randomness of the first random number RN 1  may be strengthened. 
         [0032]    The encoder  125  may generate the cipher text by encrypting the first random number RN 1  and the second key K 2  embedded therein. The card controller  120  may transfer the first random number RN 1  and the cipher text to the host  130 . 
         [0033]    The decoder  133  may generate the second random number RN 2  from deciphering the cipher text, which is transferred from the card controller  120 , using a third key K 3 . The random number comparator  135  may determine whether the first random number RN 1  transferred from the card controller  120  is identical to the second random number RN 2  generated from the decoder  133 . 
         [0034]    If the first random number RN 1  agrees with the second random number RN 2 , then the key K 2  embedded in the card controller  120  is determined to be equal to the key K 3  embedded in the host  130  and a successful authentication is achieved. Following a successful authentication, the host  130  may be permitted to retrieve data from the memory card  105  and/or store data into the memory card  105 . 
         [0035]    If the first random number RN 1  disagrees with the second random number RN 2 , then the embedded keys K 2  and K 3  are determined to be different from each other and a failed authentication results. 
         [0036]    The first random number RN 1  produced by the random number generator  123  may be stored in the storage medium  110 . When the first random number RN 1  is being stored in the data block storing data  116  in the storage medium  110 , the random number generator  123  may produce random numbers by using the first random number RN 1  stored in the data block storing data  115  as a seed instead of the unique number. 
         [0037]    The card authentication system  100  according to an embodiment of the present invention may be able to enhance the randomness of the random numbers produced by the random number generator, reinforcing a security level thereof. 
         [0038]      FIG. 2  is a flow chart showing a method for operating the card authentication system in accordance with an embodiment of the present invention. 
         [0039]    First, in step  201 , if the memory card  105  contacts the host  130 , the card authentication system  100  may begin its authorizing operation. 
         [0040]    Next, in step  202 , the card controller  120  determines whether a random number has been stored. From the determination of step  202 , if there is no random number (no, step  202 ), the card controller  120  receives a unique number from the block storing unique numbers  113  within the storage medium  110  (step  203 ). Thereafter, the random number generator  123  may produce the first random number RN 1  using the unique number as a seed (step  204 ). If a random number has been stored, (yes, step  202 ), the random number generator  123  may read the stored random number and produce the first random number RN 1  using the stored random number as a seed (step  204 ). 
         [0041]    The random number generator  123  may further accept the first key K 1  through an input by a user (step  206 ). The random number generator  123  may then be able to produce the first random number RN 1  from the first key K 1  and the unique number (step  204 ). 
         [0042]    The first random number RN 1  generated in the step  204  may be transferred to the host  130  (step  207 ). The second key K 2  embedded in the card controller  120  may then be used to generate a cipher text (step  208 ). The cipher text generated by the step  208  may then be transferred to the host  130  (step  209 ). The decoder  133  of the host  130  may decrypt the cipher text by means of the third key K 3  embedded therein, and the second random number RN 2  may then be generated (step  210 ). 
         [0043]    The second random number RN 2  from the step  210  may then be compared with the first random number RN 1  from the step  204  (step  211 ). From a result of the comparison of the step  211 , if the two random numbers are equal (yes, step  211 ), authentication is successful and communication between the host  130  and the memory card  105  is permitted (step  212 ). Otherwise, if it is determined that the two random numbers are different (no, step  211 ), authentication is regarded as having failed (step  213 ). 
         [0044]    Accordingly, the card authentication systems and methods according to embodiments of the present invention provide for enhanced randomness of random numbers and an improved level of security. 
         [0045]    The above-disclosed subject matter is to be considered illustrative, and the present invention should not be limited to the illustrated examples and may include modifications and variations apparent to those skilled in the art. It is to be understood that any of the above-disclosed features from the various disclosed embodiments of the present invention may be joined in any possible combination and the above-disclosed features should not be understood as limited to the embodiment for which they were described. The appended claims are intended to cover all such modifications, enhancements, combinations and other embodiments, which fall within the true spirit and scope of the present invention.