the present invention relates generally to bank card systems and more particularly relates to a method and system for providing a bank ( ic ) card for commercial use . the following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements . various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art . thus , the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein . a system and method in accordance with the present provides a mechanism that provides the following advantages . 1 cover all existing smart card business model , market and application . 2 . introduce the blank smart card device business model in order to create the market and application not yet existent . although the invention addresses “ smart card device ” specifically , its application applies to ic card or smart card in general as well as to any other interface , such as sd or microsd , with a built - in smart card . to describe the features of a system and method in accordance with the present invention refer now to the following description in conjunction with the accompanying drawings . the conventional life cycle of an ic card process includes a number of stages : 1 . manufacturing : design and fabrication of the smart card ic and the hosting ic card . in general , in the life cycle of an ic card , there are a number of parties involved , including ic supplier , card manufacturer , os developer , card issuer , access terminal and customer . a flow chart of the conventional closed model of distribution of an ic card , as shown in fig1 , follows the following steps : ( a1 ) the ic supplier designs and fabricates the smart card ic . it may also develop the smart card operating system to be loaded into the ic card , via step 11 . ( a2 ) the card manufacturer assembles the hosting ic card and load the operating system developed either by the ic supplier or the card issuer , via step 12 . ( a3 ) the customer has an account already established with a card issuer as in the case of a bank card , or a credit card , via step 13 . ( a4 ) the blank ic card is acquired by the card issuer with the smart card operating system loaded inside , via step 14 . ( a5 ) the card issuer then , based on the specific customer &# 39 ; s account information , has the ic card initialized and personalized in its facility , via step 15 . ( a6 ) the ic card is considered “ issued ” and physically sent to the customer , via step 16 . ( a7 ) the customer activates the ic card through an access terminal , a phone or a pc , via step 17 . ( a8 ) the card is activated by the issuer server and ready for operation , via step 18 . it is important to note that during step 15 ( a5 ) above , the card issuer server conducts initialization and personalization of the ic card through in - house secure channel . the ic card will be loaded with a security certificate of the issuer for use in later authentication process in operation in the field . by combining the reader function and the smart card into a single smart card device , a system and method in accordance with an embodiment functions as an ic card both in its life cycle and its distribution steps . in addition , an open business model is provided through mechanisms that will be described more in detail below . a flow chart that illustrates an open model of distribution of a smart card device , in accordance with an embodiment , is shown in fig2 . as is seen the distribution model includes the following steps : ( b1 ) the ic supplier designs and fabricates the smart card ic . it may also develop the smart card operating system to be loaded into the smart card device , via step 21 . ( b2 ) the card manufacturer assembles the hosting smart card device and load the operating system developed by the ic supplier , via step 22 . ( b3 ) the customer has an account already established with a specific issuer that is a service provider for either tangible content or intangible services , via step 23 . ( b4 ) the smart card device is purchased or acquired physically by the customer through retail channels , marketed any interested party , via step 24 . ( b5 ) the customer can then connect to the service provider / issuer server through an access terminal , most likely a pc , to conduct initialization and personalization of the smart card device , via step 25 . ( b6 ) the service provider / issuer then , based on the specific customer &# 39 ; s account information , has the smart card device initialized and personalized through the access terminal , via step 26 . ( b7 ) the smart card device is considered “ issued ” by the service provider / issuer , via step 27 . ( b8 ) the customer then activates the smart card device through the same access terminal , via step 28 . ( b9 ) the smart card device is activated by the service provider / issuer server and ready for operation , via step 29 . comparing the closed distribution system of fig1 with the open distribution system of fig2 , it is noted that the there are some similarities , but there are significant differences . the ic card issuance through close distribution model includes steps 14 ( a4 ) and 15 ( a5 ), while the smart card device issuance through open distribution model includes step 24 ( b4 ) through step 26 ( b6 ). in the conventional close model of distribution of an ic card as depicted in fig1 , the ic card is acquired by the card issuer , via step 14 , and is therefore associated with the card issuer . the ic card is then initialized and personalized in the card issuer facility through proprietary and secure channel with specific customer account information . the process is usually costly , inflexible and time - consuming . it is therefore advantageous to provide a blank smart card issuance system such that the ic card can be initialized and personalized remotely and securely in the field by the user . the location to personalize the smart card can be through the user &# 39 ; s pc via internet connection or through a public kiosk with internet access . unlike the conventional model , the smart card device is not required to go through an authorized “ retailer ” of the issuer to complete the personalization process . even though the communication channel is not secure , the remote personalization service can still be performed in a secure manner to ensure the security of the transfer of all proprietary and confidential data between the smart card and the issuer . once the above mentioned remote personalization process is widely conducted , it will make the smart card issuance system more cost - effective and competitive . in the open model of distribution of the smart card device , the smart card device is acquired by the customer before it is initialized or personalized . there is no prior knowledge of which service provider / issuer is associated with the smart card device . since there is no prior knowledge of the issuer , there are some challenges in the initialization and processing of the data . first , since challenges are described below , how to authenticate the service provider / issuer through an insecure public web channel , as there is no proper certificate to be loaded when the smart card device is first manufactured . second , how to authenticate the smart card device through an insecure public web channel , as the smart card device can be associated with one of many prospective service providers / issuers in the field . third , how to make smart card device secure , if the initialization and personalization is done by the customer with an access terminal , possibly a pc , through insecure public web channel . the above - identified issues of open model are addressed by a system and method in accordance with the present invention . the retail distribution model of the smart card device can then be realized in application of content protection and secure content distribution . there are several issues that need to be addressed when utilizing the open distribution model when issuing a smart card device . first , it must be determined how to authenticate the smart card device through an insecure public web channel , when the smart card device intends to be associated with one of many prospective service providers / issuers in the field . second , it must be determined how to authenticate the service provider / issuer through an insecure public web channel , when there is no proper certificate to be loaded when the blank smart card device is first manufactured . third , it must be determined how to make the smart card device secure , if the initialization and personalization is done by the customer with an access terminal , possibly a pc , through an insecure public web channel . before any of above issues can be addressed , there are three tasks to complete before the customer obtains the smart card device : ( 1 ) have the smart card device initialized , ( 2 ) have the smart card device registered for the first time , and ( 3 ) have the smart card device registered and authenticated in the field . fig2 a is a flow chart that illustrates a complete initialization and personalization process of a smart card device . the process starts with the initialization phase of the smart card device ( sc ) by the manufacturer ( mn ), via step 200 . it is followed by the authentication phase of the sc by the mn , via step 201 . after the sc is deployed in the field , it goes through a first time authentication phase of sc by the issuer ( is ) 202 . the is then starts a first phase of registration with the sc , via step 203 . it is followed by the authentication phase of the sc by the is after the first time authentication , via step 204 . the sc will in turn start an authentication phase on the is , via step 205 . once both sc and is are mutually authenticated , the is starts a second phase of registration , via step 206 . fig2 b is a flowchart that illustrates a data transmission process of the sc . in this process , the user first goes through the access terminal to conduct login phase , via step 207 . the sc and is then go through a mutual authentication phase 208 . after mutual authentication , a session key is established . it is used in data transmission phase to encrypt and decrypt data for transmission between is and sc , via step 209 . various phases of the initialization and personalization of the sc are described below . as is shown in fig3 , during the manufacturing process , the mn first create a unique id uid_sc and a pair of keys , private key ks_sc and public key kv_sc , via step 31 . the unique id and keys are then sent to the sc , via step 33 . the mn further sends the certificate of the uid , signed with its private key ks_mn , via step 34 . the certificate along with the manufacturer public key kv_mn are also sent to sc , via step 36 . the sc stores this information ( uid_sc , ks_sc , kv_sc , kkv_mn , cert_uid_sc_by_mn ), via step 39 . the mn then sends the sc &# 39 ; s public key kv_sc to the certificate authority ca , via step 37 , for it to sign and generate the certificate cert_kv_sc_by_ca , via step 300 . the certificate is then sent to the sc , via step 302 and is stored by the sc , via step 306 . the mn also sends its own public key kv_mn to the certificate authority ( ca ) to create the signed certificate . if it is the first time that the ca receives the request , it signs with its private key ks_ca and saves the certificate cert_kv_mn_ca for reference later , via step 304 . as is shown in fig4 , the mn requests to obtain uid_sc , cert_uid_sc_by_mn from the sc , via step 42 . after receiving uid_sc , cert_uid_sc_by_mn from the sc , via step 43 , the mn sends its public key kv_mn to the ca , via step 44 and requests kv_ca , cert_mn_by_ca from the ca , via step 45 . the ca then returns its public key kv_ca and the previously stored certificate cert_mn_by_ca corresponding to mn &# 39 ; s public key kv_mn , via step 46 . the mn then decrypts the public key kv_mn 1 from the received data , via step 47 . the derived public key kv_mn 1 is further used to decrypt the certificate cert_uid_sc_by_mn and to retrieve the unique id uid_sc 1 , via step 48 . if the retrieved uid_sc 1 is equal to the originally stored uid_sc of the sc , via step 49 . then the sc is authenticated . otherwise the authentication fails , via step 401 . after this point , the sc is ready to deploy in the field . after the sc is deployed in the field through a distributor and into the possession of the end user , the sc is ready to be associated with the is for the very first time . but before any further personalization or registration can be done , the sc needs to be authenticated by the issuer is . as is shown in fig5 , the is requests to obtain uid_sc . cert_uid_sc_by_mn , kv_mn from the sc , via step 52 . after receiving ( uid_sc , cert_uid_sc_by_mn , kv_mn ) from the sc , via step 53 , the is sends the received manufacturer public key kv_mn to the ca , via step 54 , and obtains kv_ca , cert_mn_by_ca from the ca , via step 55 . the ca then returns its public key kv_ca and looks up the previously stored certificate cert_mn_by_ca corresponding to mn &# 39 ; s public key kv_mn , via step 56 . the is then decrypts the public key kv_mn 1 from the received data , via step 57 . the derived public key kv_mn 1 is further used to decrypt the certificate cert_uid_sc_by_mn and to retrieve the unique id uid_sc 1 , via step 58 . if the retrieved uid_sc 1 is equal to the originally stored uid_sc of the sc , via step 59 , then the sc is authenticated . otherwise the authentication fails , via step 501 . after the sc is authenticated by the is for the first time , the sc is ready for the first phase of registration . as is shown in fig6 , the is sends its public key kv_is to the ca , via step 61 and requests a certificate . the ca will sign with its private key ks_ca and generate the certificate cert_kv_is_by_ca , via step 62 . the certificate is then returned to the is , via step 63 . the is requests the public key kv_sc from the sc , via step 64 . after the is receives kv_sc , it signs with its own private key ks_is to generate the certificate cert_kv_sc_by_is , via step 66 . the is then sends both certificates ( cert_kv_is_by_ca , cert_kv_sc_by_is ) to the sc , via step 67 . the sc then stores both certificates for later use , via step 68 . at this point , the sc is ready for further personalization . as is shown in fig7 , the is first generates a random number rnum 1 , via step 71 . rnum 1 is then sent to the smart card device sc , via step 73 , as a challenge . the random number rnum 1 is signed by the sc private key ks_sc to generate a certificate cert_r_by_sc , via step 74 , and sent back to the is , via step 76 . the is then requests to obtain the previously stored certificate cert_kv_sc_by_ca from the sc , via step 78 . the returned certificate is retrieved and returned to the is , via step 700 . the is requests the ca public key kv_ca from the ca , via step 701 . after retrieving kv_ca via step 702 , the is uses the ca public key to recover the corresponding sc public key kv_sc 1 , via step 703 . the recovered sc public key kv_sc 1 is in turn used to recover the corresponding random number from the certificate cert_r_by_sc and compared with the original challenged random number rnum 1 , via step 704 . if the result of the comparison is ok , then the sc is authenticated . otherwise , the authentication fails , via step 705 . after the sc is authenticated by the is , it is sc &# 39 ; s turn to authenticate the is . as is shown in fig8 , the sc generates a random number rnum 2 , via step 81 . the second random number is then sent to the is as a challenge , via step 83 . the is signs with its private key ks_is , via step 84 , and sends the certificate cert_r_by_is back to the sc , via step 86 . the sc requests the ca &# 39 ; s public key kv_ca , via step 800 . the ca returns kv_ca back to the sc , via step 803 . the sc retrieves certificate cert_kv_is_by_ca from its memory and decrypts with the ca &# 39 ; s public key kv_ca , via step 804 . the resulting is public key kv_is 1 is then used to further decrypt the certificate cert_r_by_is . the result is compared with the previously generated random number rnum 2 , via step 805 . if it compares , the is is authenticated . otherwise , the authentication fails , via step 806 . once is and sc are mutually authenticated , the issuer is is ready to conduct the second phase of the registration . as is shown in fig9 , the is requests the unique id uid_sc from the sc , via step 92 . the sc returns the requested data , via step 94 . the is starts the personalization / registration process by first creating a pair of corresponding account name and password ( acct , pswd ), via step 95 . a pair of random numbers ( acct_key_on_is , acct_key_on_sc ) are also generated , via step 96 . the account name acct is exclusive - ored with the random number acct_key_on_is . its hash value is generated as hash_acct , via step 97 . the corresponding password pswd is exclusive - ored with the random number acct_key_on_sc . its hash value is generated as hash_pswd , via step 98 . hash_acct and hash_pswd are then exclusive - ored to generate hash_acct_pswd . hash_pswd is further hashed with hash_acct to create a signature sig_hash_acct_pswd , via step 99 . the data ( hash_acct_pswd , sig_hash_acct_pswd , acct_key_on_sc ) are sent to the sc , via step 901 and re stored accordingly , via step 902 . the is also stores ( acct , acct_key_by_is ) in its data base for later use , via step 903 . at this point , the is has complete registration or personalization of the particular sc . the sc is ready for use . fig1 is a flowchart that illustrates a login process by the user through the access terminal . the user enters the account name acct 1 and password pswd 1 on the access terminal to log in , via step 101 . the account name acct 1 and password pswd 1 are sent to the sc , via step 102 . the sc generates hash_pswd 1 , via step 103 . accordingly hash_acct 2 is re - generated from hash_acct_pswd and hash_pswd 1 , via step 104 . the signature sig_hash_acct_pswd 1 is generated by hashing hash_acct 2 and hash_pswd 1 , via step 105 . if the signature sig_hash_acct_pswd 1 matches the previously stored sig_hash_acct_pswd via step 106 , then login is successful and the operation proceeds with mutual authentication phase , via step 108 . otherwise , the login fails , via step 107 . in order to deploy the smart card device in the field , it is assumed that all communication channels are insecure , between the pc and the sc , between the pc and the is , and between the is and the ca . further to improve the security of the communication , a challenge and response mechanism is added for the bi - directional communication between the parties . further to improve the security of the communication , a challenge and response mechanism is added generate a session key for the bi - directional communication between the parties . there exists proven mechanisms , including diffie - hellman ( d - h ) key exchange , to generate on demand a common shared key sk between two parties intending for communication through an insecure network . but the diffie - hellman key exchange mechanism requires longer time than other key exchange mechanism . it is one of the purposes of this invention to supplement with other key exchange mechanisms to the conventional d - h key exchange mechanism . fig1 is a flowchart that illustrates a mutual authentication phase of the is and the sc . after login is successful , the sc generates a random number rnum 3 , via step 111 . hash_rnum 3 is generated from rnum 3 and acct_key_on_sc , via step 112 . hash_acct 2 _rum 3 is also generated accordingly . a signature sig_hash_acct 2 _rnum 3 _t 1 is generated based on the current time stamp t 1 on the sc , via step 112 . the account name acct 1 , hashed value hash_acct 2 _rnum 3 , the signature sig_hash_acct 1 _rnum 3 _t 1 and the time stamp t 1 are sent to the is , via step 113 . the is then verifies the validity of acct 1 and the time stamp t 1 . if verification is ok , then the is looks up its account database and retrieves the corresponding account secret key acct_key_on_is , via step 114 . accordingly , hash_acct 1 _hash_rnum 33 and the signature sig_hash_acct 1 _rnum 33 _t 1 are generated , via step 115 . the two signatures are compared , via step 116 . if the comparison fails , the sc authentication fails , via step 117 . otherwise , the is looks up its current time stamp and creates a new signature sig_hash_acct 1 _rnum 33 _hash_t 3 , based on the hashed time stamp of t 3 , via step 118 . the reason of the hashed time stamp hash ( t 3 ) is to avoid the possible replay attack . the time stamp t 3 and the new signature sig_hash_acct 1 _rnum 33 _hash_t 3 are then sent to the sc , via step 1100 . the sc verifies the time stamp t 3 to make sure it is valid . accordingly , a new signature sig_hash_acct 2 _rnum 3 _hash_t 3 is generated , via step 1101 . the new signature is compared with the just received signature sig_hash_acct 2 _rnum 3 _hash_t 3 , via step 1102 . if the comparison fails , the is authentication fails , via step 1103 . otherwise , the is is authenticated and the mutual authentication is complete . at this point , a session key sk has been established . the session key for the smart card device is hash_rnum 3 , which is associated with the just generated random number rnum 3 and the secret key acct_key_on_sc . the session key for the issuer is is hash_rnum 33 , via step 1105 , which logically is the same as hash_rnum 3 . fig1 is a flowchart that illustrates a data transmission phase after the mutual authentication is completed . a session key is therefore established and used as the encryption / decryption key between the two transmission parties . once the session key sy is established via steps 121 and 122 , the key can be used as a mutually agreed secret key to transmit data between the is and the sc . if the sc wants to send sc_data to the issuer , the sc_data is first encrypted with session key sk and generates an encrypted data e_sc_data , via step 123 . the encrypted data is then sent to the is through the public insecure communication channel , via step 124 . the encrypted data is then decrypted with the previously agreed session key sk and generates the sc_data on the receiving end of the is , via step 125 . similarly , if the is intends to send is_data to the sc , the is_data is first encrypted with session key sk and generates an encrypted data e_is_data , via step 126 . the encrypted data is then sent to the sc through the public insecure communication channel , via step 127 . the encrypted data is then decrypted with the previously agreed session key sk and generates the is_data on the receiving end of the sc , via step 128 . fig1 is a flowchart which illustrates a change password process , which requires no issuer server involvement . there are times when the user password needs to be changed . ideally , the change password process requires as little attention of the issuer as possible . in this embodiment , no involvement of the issuer server is required at all in the password changing process , while maintaining the security and the integrity of the sc . the user first keys in the old password pswd 1 at an access terminal , via step 131 . the password is then sent to the sc , via step 132 . the corresponding hashed password hash_pswd 1 is generated . accordingly , the hashed account name hash_acct 2 is re - generated from hash pswd 1 and the previously stored hash_acct_pswd . the signature sig_hash_acct_pswd 1 is also generated from hash_acct 2 and hash_pswd 1 , via step 133 . the signature is then compared with the originally stored signature sig_hash_acct_pswd , via step 134 . if the comparison fails , the login fails . otherwise , the login is successful . the user is prompted to key in a new password pswd 2 , via step 136 . the new password pswd 2 is sent to the sc , via step 137 . the hash_pswd 2 is generated with the new password pswd 2 and the secret key acct_key_on_sc . the hash_acct_pswd is updated with the previously retrieved hash_acct 2 and the newly generated hash_pswd 2 . the signature sig_hash_acct_pswd is also updated with hash_acct 2 and hash_pswd 2 , via step 138 . both updated hash_acct_pswd and sig_hash_acct_pswd are stored on the smart card device for later use , via step 139 . although the invention addresses “ smart card device ” specifically , its application applies to ic card or smart card in general as well as to any other interface , such as sd or microsd , with a built - in smart card . although the present invention has been described in accordance with the embodiments shown , one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention . accordingly , many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims .