(57)【要約】      （修正有）【課題】仮想カード番号基盤の金融取引提供システム、仮想カード番号生成装置、仮想カード番号検証装置、仮想カード番号基盤の金融取引提供方法及び仮想カード番号基盤の金融取引提供プログラムを提供する。【解決手段】仮想カード番号基盤の金融取引提供方法は、仮想カード番号検証手段が仮想カード番号生成手段から提供された仮想カード番号を受信する段階（Ｓ２００；仮想カード番号受信段階）、仮想カード番号検証手段が仮想カード番号に含まれている複数の細部コードを抽出する段階（Ｓ４００）及び仮想カード番号検証手段が複数の細部コードを基に実際カード番号の格納位置を探索する実際カード番号探索段階（Ｓ１０００）及び前記格納位置から抽出された前記実際カード番号で金融取引の進行又は金融取引の進行を要求する段階（Ｓ１２００）を含む。【選択図】図７
2019091485.tif 000002
【特許請求の範囲】
【請求項１】
仮想カード番号検証手段が仮想カード番号生成手段から提供された仮想カード番号を金融取引端末より受信する仮想カード番号受信段階と、
前記仮想カード番号検証手段が前記仮想カード番号に含まれている複数の細部コードを抽出し、前記仮想カード番号は、固定コード及び複数の細部コードを特定の規則に従って結合して生成される細部コード抽出段階と、
前記仮想カード番号検証手段が前記複数の細部コードを基に実際カード番号の格納位置を探索する実際カード番号探索段階と、
前記仮想カード番号検証手段が前記格納位置から抽出された前記実際カード番号で金融取引の進行又は金融取引の進行を要請する段階とを含み、
前記固定コードは、前記仮想カード番号内に予め定められた位置に結合され、前記実際カード番号に対応するカード会社又はカードの類型を判断するコードであり、
前記複数の細部コードは、
格納位置探索の開始地点を設定する第１コードと、
特定の探索方式によって前記開始地点から前記格納位置への探索経路を設定する第２コードとを含み、
前記仮想カード番号生成手段に含まれている複数の細部コード生成関数によりそれぞれ生成されることを特徴とし、
前記第１コード及び前記第２コードは単位カウント毎に変更され、
前記単位カウントは特定の時間間隔に設定される、仮想カード番号基盤の金融取引提供方法。
【請求項２】
前記仮想カード番号検証手段は、
単位カウント毎に正常に生成された仮想カード番号が受信されると、前記第１コードに対応する前記開始地点から前記第２コードに相応する探索経路に沿って移動した地点を前記格納位置にマッチされた地点として抽出する格納位置探索アルゴリズムを含むことを特徴とする請求項１に記載の仮想カード番号基盤の金融取引提供方法。
【請求項３】
カード会社サーバが前記仮想カード番号検証手段を含む場合、
前記仮想カード番号受信段階は、
前記仮想カード番号検証手段が支払い決済サービスサーバで前記固定コードを基に特定のカード会社に対応するものとして分類された前記仮想カード番号を受信し、前記支払い決済サービスサーバは、前記金融取引端末から前記仮想カード番号を受信し、
前記細部コード抽出段階は、
前記固定コードを基にカードの類型を判断する段階と、
前記カードの類型に対応する仮想カード番号生成関数を用いて複数の細部コードを抽出する段階とを含み、
前記仮想カード番号生成関数は、複数の細部コードを特定の規則に従って結合する細部コード結合関数を含むことを特徴とし、
前記実際カード番号探索段階は、
前記カードの類型に対応する格納位置探索アルゴリズムを用いて複数の細部コードを基に実際カード番号の格納位置を探索することを特徴とする請求項２に記載の仮想カード番号基盤の金融取引提供方法。
【請求項４】
前記仮想カード番号は、
前記固定コードで前記実際カード番号の発行者識別番号を同一の位置に配置し、
前記固定コードを除いた桁の個数の全部又は一部を分けて前記第１コードと第２コードの桁数として付与することを特徴とする請求項１に記載の仮想カード番号基盤の金融取引提供方法。
【請求項５】
Ｍ（Ｍは自然数）個の文字でＮ（Ｎは自然数）桁の前記第１コード又は前記第２コードを生成する場合、
それぞれの前記細部コードは、
異なるＭＮ個のコードがそれぞれの単位カウント毎にマッチされており、
前記仮想カード番号生成関数は、
単位カウント毎に特定のマッチング規則に従って順次、第１コード又は第２コードを提供する第１関数又は第２関数を含むことを特徴とする請求項１に記載の仮想カード番号基盤の金融取引提供方法。
【請求項６】
前記第１コードは、前記仮想カード番号検証手段で実際カード番号の発行を始めた最初の時点から経過した単位カウントを基に生成され、
前記第２コードは、個別の実際カード番号を発行した時点から経過した単位カウントを基に生成されることを特徴とする請求項１に記載の仮想カード番号基盤の金融取引提供方法。
【請求項７】
前記格納位置探索アルゴリズムが、１つのトラック上で第１コード及び第２コードを基にポインタを移動させる場合、
前記実際カード番号探索段階は、
前記仮想カード番号生成手段から受信した前記仮想カード番号内の第１コードに対応するトラック上の地点へポインタを移動する段階と、
前記第１コードに対応する位置を探索開始地点に設定し、前記第２コードに対応するカウント数だけトラックを回帰して実際カード番号の格納位置にマッチされた地点を探索する段階と、
実際カード番号の格納位置に含まれている実際カード番号を抽出する段階と、を含むことを特徴とする請求項３に記載の仮想カード番号基盤の金融取引提供方法。
【請求項８】
特定の仮想カード番号生成手段に対する実際カード番号の新規生成要請が受信されると、特定のカウントにトラック上の特定の地点に対応する格納位置に実際カード番号を格納する段階を更に含み、
前記特定の地点は、前記ポインタが特定のカウントに位置する地点であることを特徴とする請求項７に記載の仮想カード番号基盤の金融取引提供方法。    
【請求項９】
前記実際カード番号探索段階は、
前記格納位置探索アルゴリズムがｋ（ｋはＭＮ）個のコードが並んだトラック上をｋ角形が各コードが配置された地点に頂点が対応しながら転がり移動する場合、
前記仮想カード番号生成手段から受信した前記仮想カード番号内の第１コードに対応するトラック上の地点にｋ角形を転がり移動する段階と、
前記第１コードに対応する位置を探索開始地点に設定し、前記第２コードに適用された探索方式によって第２コードを基にｋ角形の配置状態における格納位置を探索し、前記格納位置は、前記ｋ角形のそれぞれの頂点にマッチされる格納位置探索段階と、
前記格納位置に含まれている実際カード番号を抽出する段階と、
を含むことを特徴とする請求項３に記載の仮想カード番号基盤の金融取引提供方法。
【請求項１０】
特定の仮想カード番号生成手段から金融取引の取消要請が受信される場合、
前記仮想カード番号生成手段で金融取引の取消を要請するカウントに対応する仮想カード番号を受信する段階と、
前記仮想カード番号検証手段が前記仮想カード番号に対応する実際カード番号を探索する段階と、
前記仮想カード番号検証手段が前記実際カード番号に対する以前の金融取引を取り消す段階と、
を更に含むことを特徴とする請求項１に記載の仮想カード番号基盤の金融取引提供方法。
【請求項１１】
前記仮想カード番号は、
実際カード番号の発行時点又は金融取引の要請時点で仮想セキュリティコードを加えたカウントを基に生成された第１コード及び第２コードで構成され、
前記仮想セキュリティコードは、仮想カード番号生成手段の固有値とカードセキュリティコードを基にＯＴＰ関数を通じて生成される特定桁数のコード値であって、前記仮想カード番号生成手段から前記仮想カード番号検証手段へ別途に提供されないものであり、
前記仮想カード番号検証手段が前記仮想カード番号を受信した時点から特定範囲内の時間値を基に算出された生成仮想セキュリティ番号を用いて前記仮想カード番号生成手段が正常に発行されたかを検証する段階と、
を更に含むことを特徴とする請求項１に記載の仮想カード番号基盤の金融取引提供方法。
【請求項１２】
ハードウェアであるコンピュータと結合し、請求項１〜１１のいずれか１項に記載の方法を実行するために媒体に格納された仮想カード番号基盤の金融取引提供プログラム。
【請求項１３】
複数の細部コードを生成する細部コード生成部と、
前記複数の細部コードを組み合わせて仮想カード番号として生成する仮想カード番号生成部と、
前記仮想カード番号を仮想カード番号検証手段に提供する仮想カード番号提供部とを含み、
前記仮想カード番号検証手段は、前記仮想カード番号に含まれている前記複数の細部コードを抽出し、
前記仮想カード番号は、固定コード及び前記複数の細部コードを特定の規則に従って結合して生成され、
前記固定コードは、前記仮想カード番号内に予め定められた位置に結合され、前記実際カード番号に対応するカード会社又はカードの類型を判断するコードであり、
前記複数の細部コードは、
格納位置探索の開始地点を設定する第１コードと、
特定の探索方式によって前記開始地点から前記格納位置への探索経路を設定する第２コードとを含み、
仮想カード番号生成関数 に含まれている複数の細部コード生成関数によりそれぞれ生成されることを特徴とし、
前記第１コード及び前記第２コードは単位カウント毎に変更され、
前記単位カウントは特定の時間間隔に設定される、仮想カード番号生成装置。
【請求項１４】
仮想カード番号を基に実際カード番号を探索する仮想カード番号検証サーバにおいて、
仮想カード番号生成装置から提供された仮想カード番号を受信する受信部と、
前記仮想カード番号に含まれている複数の細部コードを抽出し、前記仮想カード番号は、仮想カード番号生成装置により固定コード及び前記複数の細部コードを特定の規則に従って結合して生成される細部コード抽出部と、
前記複数の細部コードを基に実際カード番号の格納位置を探索する実際カード番号探索部とを含み、
前記固定コードは、前記仮想カード番号内に予め定められた位置に結合され、前記実際カード番号に対応するカード会社又はカードの類型を判断するコードであり、
前記複数の細部コードは、
格納位置探索の開始地点を設定する第１コードと、
特定の探索方式によって前記開始地点から前記格納位置への探索経路を設定する第２コードとを含み、
前記仮想カード番号生成装置に含まれている複数の細部コード生成関数によりそれぞれ生成されることを特徴とし、
前記第１コード及び前記第２コードは単位カウント毎に変更され、
前記単位カウントは特定の時間間隔に設定される、仮想カード番号検証サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は仮想カード番号基盤の金融取引提供システム、仮想カード番号生成装置、仮想カード番号検証装置、仮想カード番号基盤の金融取引提供方法及び仮想カード番号基盤の金融取引提供プログラムに関し、より詳細には、各時点毎に重複しないように生成される仮想カード番号を生成し、これに基づいて実際カード番号を探索して金融取引を行うシステム、方法及びプログラムと各時点毎に重複しない仮想カード番号を生成する装置及びこれに基づいて実際カード番号を探索して金融取引を行う装置に関する。
【背景技術】
【０００２】
コード状のデータは、多くの領域において利用されている。決済時に用いられるカード番号、口座番号だけでなく、ユーザ識別のためのＩＰＩＮ番号、個人番号などがコード状のデータである。
【０００３】
しかし、このようなコードデータを用いる過程で流出事故が多く発生する。カード番号の場合、カードの表面に実際カード番号がそのまま記載されており、他人に視覚的に流出され、マグネチックを用いた決済時にカード番号がそのままＰＯＳ装置に伝達されて漏えいする。
【０００４】
実際カード番号がそのまま流出しないようにするために、仮想カード番号を利用しようとする試みが多かったが、仮想カード番号に対応する実際カード番号を探索するために、ユーザを識別するためのデータが必要であった。例えば、ＯＴＰ（Ｏｎｅ Ｔｉｍｅ Ｐａｓｓｗｏｒｄ）の場合、毎回、一度限り有効なパスワードが生成されるが、ユーザに付与されたアルゴリズム判断のためにログイン手順が必要であり、多様な領域に適用され難い。
【０００５】
そのため、実際カード番号に対応するユーザや装置に関する識別情報を提供せず、リアルタイムに変動する仮想カード番号を基に実際カード番号を探索できる発明が必要である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】韓国登録特許１０-１３１６４６６号（２０１３.１０.０１）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、本発明は上記事情に鑑みてなされたものであって、その目的は、仮想カード番号生成手段を識別するための別途の手順なしに、仮想カード番号を基に実際カード番号を探索できる仮想カード番号基盤の金融取引提供システム、仮想カード番号生成装置、仮想カード番号検証装置、仮想カード番号基盤の金融取引提供方法及び仮想カード番号基盤の金融取引提供プログラムを提供することにある。
【０００８】
また、本発明の他の目的は、全ての仮想カード番号生成手段において全周期中に重複して生成されず、単位カウント間隔で新たに生成される仮想カード番号を提供する仮想カード番号基盤の金融取引提供システム、仮想カード番号生成装置、仮想カード番号検証装置、仮想カード番号提供方法及び仮想カード番号提供プログラムを提供することにある。
【０００９】
本発明が解決しようとする課題は、以上で言及した課題に制限されず、言及されていない他の課題は、以下の記載から通常の技術者に明確に理解を得ることができるであろう。
【課題を解決するための手段】
【００１０】
本発明の一実施形態に係る仮想カード番号基盤の金融取引提供方法は、 仮想カード番号検証手段が仮想カード番号生成手段から提供された仮想カード番号を金融取引端末より受信する仮想カード番号受信段階と、前記仮想カード番号検証手段が前記仮想カード番号に含まれている複数の細部コードを抽出し、前記仮想カード番号は、固定コード及び複数の細部コードを特定の規則に従って結合して生成される細部コード抽出段階と、前記仮想カード番号検証手段が前記複数の細部コードを基に実際カード番号の格納位置を探索する実際カード番号探索段階と、前記仮想カード番号検証手段が前記格納位置から抽出された前記実際カード番号で金融取引の進行又は金融取引の進行を要請する段階とを含み、前記固定コードは、前記仮想カード番号内に予め定められた位置に結合され、前記実際カード番号に対応するカード会社又はカードの類型を判断するコードであり、前記複数の細部コードは、格納位置探索の開始地点を設定する第１コードと、特定の探索方式によって前記開始地点から前記格納位置への探索経路を設定する第２コードとを含み、前記仮想カード番号生成手段に含まれている複数の細部コード生成関数によりそれぞれ生成されることを特徴とし、前記第１コード及び前記第２コードは単位カウント毎に変更され、前記単位カウントは特定の時間間隔に設定される。
【００１１】
また、他の実施形態として、 前記仮想カード番号検証手段は、単位カウント毎に正常に生成された仮想カード番号が受信されると、前記第１コードに対応する前記開始地点から前記第２コードに相応する探索経路に沿って移動した地点を前記格納位置にマッチされた地点として抽出する格納位置探索アルゴリズムを含むことを特徴とする。
【００１２】
更に、他の実施形態として、カード会社サーバが前記仮想カード番号検証手段を含む場合、前記仮想カード番号受信段階は、前記仮想カード番号検証手段が支払い決済サービスサーバで前記固定コードを基に特定のカード会社に対応するものとして分類された前記仮想カード番号を受信し、前記支払い決済サービスサーバは、前記金融取引端末から前記仮想カード番号を受信し、前記細部コード抽出段階は、前記固定コードを基にカードの類型を判断する段階と、前記カードの類型に対応する仮想カード番号生成関数を用いて複数の細部コードを抽出する段階とを含み、前記仮想カード番号生成関数は、複数の細部コードを特定の規則に従って結合する細部コード結合関数を含むことを特徴とし、前記実際カード番号探索段階は、前記カードの類型に対応する格納位置探索アルゴリズムを用いて複数の細部コードを基に実際カード番号の格納位置を探索することを特徴とする。
【００１３】
また、他の実施形態として、 前記仮想カード番号は、前記固定コードで前記実際カード番号の発行者識別番号を同一の位置に配置し、前記固定コードを除いた桁の個数の全部又は一部を分けて前記第１コードと第２コードの桁数として付与することを特徴とする。
【００１４】
更に、他の実施形態として、 Ｍ（Ｍは自然数）個の文字でＮ（Ｎは自然数）桁の前記第１コード又は前記第２コードを生成する場合、それぞれの前記細部コードは、異なるＭＮ個のコードがそれぞれの単位カウント毎にマッチされており、前記仮想カード番号生成関数は、単位カウント毎に特定のマッチング規則に従って順次、第１コード又は第２コードを提供する第１関数又は第２関数を含むことを特徴とする。
【００１５】
また、他の実施形態として、 前記第１コードは、前記仮想カード番号検証手段で実際カード番号の発行を始めた最初の時点から経過した単位カウントを基に生成され、前記第２コードは、個別の実際カード番号を発行した時点から経過した単位カウントを基に生成されることを特徴とする。
【００１６】
更に、他の実施形態として、 前記格納位置探索アルゴリズムが、１つのトラック上で第１コード及び第２コードを基にポインタを移動させる場合、前記実際カード番号探索段階は、前記仮想カード番号生成手段から受信した前記仮想カード番号内の第１コードに対応するトラック上の地点へポインタを移動する段階と、前記第１コードに対応する位置を探索開始地点に設定し、前記第２コードに対応するカウント数だけトラックを回帰して実際カード番号の格納位置にマッチされた地点を探索する段階と、実際カード番号の格納位置に含まれている実際カード番号を抽出する段階と、を含むことを特徴とする。
【００１７】
また、他の実施形態として, 特定の仮想カード番号生成手段に対する実際カード番号の新規生成要請が受信されると、特定のカウントにトラック上の特定の地点に対応する格納位置に実際カード番号を格納する段階を更に含み、前記特定の地点は、前記ポインタが特定のカウントに位置する地点であることを特徴とする。
【００１８】
更に、他の実施形態として、前記実際カード番号探索段階は、前記格納位置探索アルゴリズムがｋ（ｋはＭＮ）個のコードが並んだトラック上をｋ角形が各コードが配置された地点に頂点が対応しながら転がり移動する場合、前記仮想カード番号生成手段から受信した前記仮想カード番号内の第１コードに対応するトラック上の地点にｋ角形を転がり移動する段階と、前記第１コードに対応する位置を探索開始地点に設定し、前記第２コードに適用された探索方式によって第２コードを基にｋ角形の配置状態における格納位置を探索し、前記格納位置は、前記ｋ角形のそれぞれの頂点にマッチされる格納位置探索段階と、前記格納位置に含まれている実際カード番号を抽出する段階と、を含むことを特徴とする。
【００１９】
また、他の実施形態として、 特定の仮想カード番号生成手段から金融取引の取消要請が受信される場合、前記仮想カード番号生成手段で金融取引の取消を要請するカウントに対応する仮想カード番号を受信する段階と、前記仮想カード番号検証手段が前記仮想カード番号に対応する実際カード番号を探索する段階と、前記仮想カード番号検証手段が前記実際カード番号に対する以前の金融取引を取り消す段階と、を更に含むことを特徴とする。
【００２０】
更に、他の実施形態として、 前記仮想カード番号は、実際カード番号の発行時点又は金融取引の要請時点で仮想セキュリティコードを加えたカウントを基に生成された第１コード及び第２コードで構成され、前記仮想セキュリティコードは、仮想カード番号生成手段の固有値とカードセキュリティコードを基にＯＴＰ関数を通じて生成される特定桁数のコード値であって、前記仮想カード番号生成手段から前記仮想カード番号検証手段へ別途に提供されないものであり、前記仮想カード番号検証手段が前記仮想カード番号を受信した時点から特定範囲内の時間値を基に算出された生成仮想セキュリティ番号を用いて前記仮想カード番号生成手段が正常に発行されたかを検証する段階と、を更に含むことを特徴とする。
【００２１】
本発明の他の実施形態に係る 仮想カード番号基盤の金融取引提供プログラムは、ハードウェアであるコンピュータと結合し前述した仮想カード番号基盤の金融取引提供方法を実行し、媒体に格納される。
【００２２】
本発明の更に他の実施形態に係る 仮想カード番号生成装置は、 複数の細部コードを生成する細部コード生成部と、前記複数の細部コードを組み合わせて仮想カード番号として生成する仮想カード番号生成部と、前記仮想カード番号を仮想カード番号検証手段に提供する仮想カード番号提供部とを含み、前記仮想カード番号検証手段は、前記仮想カード番号に含まれている前記複数の細部コードを抽出し、前記仮想カード番号は、固定コード及び前記複数の細部コードを特定の規則に従って結合して生成され、前記固定コードは、前記仮想カード番号内に予め定められた位置に結合され、前記実際カード番号に対応するカード会社又はカードの類型を判断するコードであり、前記複数の細部コードは、格納位置探索の開始地点を設定する第１コードと、特定の探索方式によって前記開始地点から前記格納位置への探索経路を設定する第２コードとを含み、仮想カード番号生成関数 に含まれている複数の細部コード生成関数によりそれぞれ生成されることを特徴とし、前記第１コード及び前記第２コードは単位カウント毎に変更され、前記単位カウントは特定の時間間隔に設定される。
【００２３】
本発明の更に別の実施形態に係る 仮想カード番号検証サーバは、 仮想カード番号を基に実際カード番号を探索する仮想カード番号検証サーバにおいて、仮想カード番号生成装置から提供された仮想カード番号を受信する受信部と、前記仮想カード番号に含まれている複数の細部コードを抽出し、前記仮想カード番号は、仮想カード番号生成装置により固定コード及び前記複数の細部コードを特定の規則に従って結合して生成される細部コード抽出部と、前記複数の細部コードを基に実際カード番号の格納位置を探索する実際カード番号探索部とを含み、前記固定コードは、前記仮想カード番号内に予め定められた位置に結合され、前記実際カード番号に対応するカード会社又はカードの類型を判断するコードであり、前記複数の細部コードは、格納位置探索の開始地点を設定する第１コードと、特定の探索方式によって前記開始地点から前記格納位置への探索経路を設定する第２コードとを含み、前記仮想カード番号生成装置に含まれている複数の細部コード生成関数によりそれぞれ生成されることを特徴とし、前記第１コード及び前記第２コードは単位カウント毎に変更され、前記単位カウントは特定の時間間隔に設定される。
【発明の効果】
【００２４】
本発明によると、以下のような多様な効果を奏する。
【００２５】
第一に、単位カウント毎に仮想カード番号が新たに生成され、重複する仮想カード番号が定められた全周期中に登場しないので、仮想カード番号の流出時にも実際カード番号が漏れないという効果を提供する。
【００２６】
第二に、仮想カード番号生成装置と実際カード番号検証装置（例えば、金融機関のサーバ）にのみ仮想カード番号の生成及び実際カード番号の探索のためのアルゴリズムが追加されればよいので、既存に実際カード番号を用いるプロセスをそのまま維持できる。例えば、スマートカード又はＡＰＰカードに重複して生成されない仮想カード番号を生成して提供される場合、ＰＯＳ装置と決済代行（Ｐａｙｍｅｎｔ Ｇａｔｅｗａｙ、ＰＧ）会社のサーバはそのまま維持され、仮想カード番号をカード会社サーバに伝達し、カード会社サーバが仮想カード番号に相応する実際カード番号を探索して決済を行える。これにより、セキュリティを高めるために既存のプロセス内で変更されなければならない部分を最小化でき、ユーザは、セキュリティ向上のための別途の段階を実行しなくてもよい。
【００２７】
第三に、同一の仮想カード番号生成手段から提供された仮想カード番号は、生成時点と関係なく実際カード番号にマッチされるので、各カウント毎に変更される仮想カード番号を用いるものの、容易に金融取引の取消を行うことができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係る仮想カード番号基盤の金融取引提供システムの構成図である。
【図２】本発明の一実施形態に係る仮想カード番号生成手段から金融機関のサーバへ仮想カード番号が提供される過程を示す例示図である。
【図３】本発明の一実施形態に係る仮想カード番号生成装置の構成図である。
【図４】本発明の一実施形態に係る仮想カード番号生成装置の例示図である。
【図５−６】本発明の実施形態に係る仮想カード番号検証装置の構成図である。
【図７】本発明の一実施形態に係る仮想カード番号基盤の金融取引提供方法の順序図である。
【図８】本発明の一実施形態によってｋ角形の転がり移動を通じて実際カード番号の格納位置を探索する格納位置探索アルゴリズムに対する例示図である。
【図９】本発明の一実施形態に係るｋ角形の転がり移動に伴う実際カード番号の探索過程を含む仮想カード番号基盤の金融取引提供方法の順序図である。
【図１０】本発明の一実施形態に係る細部コードを基にトラック上を移動して格納位置を探索する格納位置探索アルゴリズムに対する例示図である。
【図１１】本発明の一実施形態に係る実際カード番号を発行して格納位置に格納する過程を更に含む仮想カード番号基盤の金融取引提供方法の順序図である。
【図１２−１３】本発明の一実施形態に係る仮想カード番号検証段階を更に含む仮想カード番号基盤の金融取引提供方法の順序図である。
【図１４】本発明の一実施形態に係る仮想セキュリティコードを用いて実際カード番号の探索時点を移動させる方式の例示図である。
【図１５】本発明の一実施形態に係る金融取引の取消過程を更に含む仮想カード番号基盤の金融取引提供方法の順序図である。
【発明を実施するための形態】
【００２９】
以下、添付の図面を参照して本発明の好適な実施形態を詳細に説明する。本発明の利点及び特徴、そしてそれらを達成する方法は、添付の図面と共に詳細に後述されている実施形態を参照すれば明確になる。しかし、本発明は以下で開示される実施形態に限定されるものではなく、互いに異なる多様な形態で実現できる。但し、本実施形態は本発明の開示を完全なものにし、本発明が属する技術分野において通常の知識を有する者に発明の範疇を完全に理解させるために提供されるものであり、本発明は請求の範囲の範疇により定義されるに過ぎない。明細書全体に亘って同一の参照符号は、同一の構成要素を示す。
【００３０】
他の定義がなければ、本明細書において用いられる全ての用語（技術及び科学的用語を含む）は、本発明が属する技術分野において通常の知識を有する者に共通して理解され得る意味として使用されることができる。また、一般に用いられる辞典に定義されている用語は、明白に特に定義されていない限り、理想的に又は過度に解釈されない。
【００３１】
本明細書において用いられた用語は、実施形態を説明するためのものであり、本発明を制限しようとするものではない。本明細書において、単数形は特に言及しない限り複数形も含む。明細書において用いられる「含む（ｃｏｍｐｒｉｓｅｓ）」及び／又は「含んでいる（ｃｏｍｐｒｉｓｉｎｇ）」は、言及された構成要素以外に１つ以上の他の構成要素の存在又は追加を排除しない。
【００３２】
本明細書において「金融取引」は、金融機関と行われる手順を意味する。「金融取引」はカード決済、銀行口座からの入出金などを含む。
【００３３】
本明細書において「文字」はコードを構成する構成要素であって、アルファベットの大文字、アルファベットの小文字、数字及び特殊文字などの全部又は一部を含む。
【００３４】
本明細書において「コード」は、文字が並んだ文字列を意味する。
【００３５】
本明細書において「カード番号」は、決済などの金融取引のために用いられるものであって、カードに付与され、決済、決済取消などの状況でカード会社に送られる番号を意味する。
【００３６】
本明細書において「実際カード番号」は、カード会社から特定のユーザのカードへ付与する番号である。即ち、「実際カード番号」は一般の実物のカード、モバイルカードなどに付与される番号を意味する。
【００３７】
本明細書において「仮想カード番号」は、実際カード番号に繋がるように仮に生成されるカード番号であって、数字を含む文字からなる特定の桁数のコードである。
【００３８】
本明細書において「細部コード」は、仮想カード番号に含まれる一部のコードを意味する。即ち、仮想カード番号が別途に生成された複数のコードを結合して生成される場合、細部コードは別途に生成され、仮想カード番号を構成する個別コードを意味する。
【００３９】
本明細書において「単位カウント」は特定の時間間隔に設定され、前記時間間隔が経過するにつれて変更されるものとして定義された単位である。例えば、１カウントは特定の時間間隔（例えば、１.５秒）に設定され使用されることができる。
【００４０】
本明細書において「仮想カード番号生成関数」は、仮想カード番号を生成するのに用いられる関数を意味する。
【００４１】
本明細書において「スマートカード」は、カード番号を変更して出力できるカードを意味する。
【００４２】
本明細書において「転がり移動」は、対象体が回転しながら並進運動を行うことを意味する。 即ち、「転がり移動」は回転運動と並進運動を共に行いながら移動するものであって、回転する対象体の各地点が移動する軸上に順に接しながら移動することを意味する。
【００４３】
以下、本発明の実施形態によって実際カード番号に代わる仮想カード番号の生成及び実際カード番号の探索過程について説明するために、実際カード番号の構成について説明する。
【００４４】
「実際カード番号」は、カード識別番号、カードセキュリティコード、有効期間のうち少なくとも１つを含む。カード識別番号とは、カード会社、カードの類型及びカード使用者を識別するために付与されたコードを称する。一般に、カードに付与されるカード識別番号は１５個又は１６個の桁数からなる。また、一般に、１６桁からなるカード識別番号の場合、前の６桁の番号はカードの発行者識別番号（ＩＩＮ）からなり、７番目の桁から１５番目の桁までは各カード会社が任意の規則に従って各カードに付与するコードからなり、１６番目の桁は特定の公式によりカード識別番号を検証する値からなる。
【００４５】
カードセキュリティコードは、カードの一側に印刷された特定の桁数（例えば、ＶＩＳＡ、ＭＡＳＴＥＲの場合は３桁、ＡＭＥＸの場合は４桁）の数字からなり、カード番号が正常か否かを確認するコードである。即ち、カードセキュリティコードが３桁であり、カード識別番号が１６桁である場合、カードセキュリティコードの３桁のコードとカード識別番号の１６桁のコードを定められた規則に従って暗／復号化して該当値が一致すると、カードが正常カードであることが分かる。カードセキュリティコードは、カード会社毎に名称が異なっており、ビザカードはＣＶＶ（Ｃａｒｄ Ｖｅｒｉｆｉｃａｔｉｏｎ Ｖａｌｕｅ）、マスターカード／ＪＣＢはＣＶＣ（Ｃａｒｄ Ｖａｌｉｄａｔｉｏｎ Ｃｏｄｅ）、アメリカン・エックスプレスはＣＩＤ（Ｃｏｎｆｉｄｅｎｔｉａｌ Ｉｄｅｎｔｉｆｉｅｒ Ｎｕｍｂｅｒ又はＣａｒｄ Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ Ｎｕｍｂｅｒ）と称する。
【００４６】
有効期間は、実際カード番号が発行された後に使用できる期限を意味する。一般に、有効期間は年／月に対して２桁が付与され、４桁のコードで構成される。マグネチックカードには実際カード番号がそのまま含まれているため、マグネチックカードをリードするだけでカード番号全体が流出されるという問題があり、近年、全世界的にマグネチックカードの使用が制限され、ＩＣカードなどのセキュリティが高い方式へ変わりつつある。他のセキュリティが高い方式を適用するためには、新たな端末が設置されなければならないか、既存のプロセスと異なって変更されなければならないという問題がある。従って、既存の実際カード番号を用いるプロセスを同一に適用しながら、カード番号の流出を防止できる方法が必要である。特に、既存のマグネチックカードリーダをそのまま利用しながらセキュリティを向上させる方式が必要である。
【００４７】
以下、図面を参照して、本発明の実施形態に係る仮想カード番号基盤の金融取引提供システム、仮想カード番号生成装置１００、仮想カード番号検証サーバ２００、仮想カード番号基盤の金融取引提供方法及び仮想カード番号基盤の金融取引提供プログラムについて詳細に説明する。
【００４８】
図１は、本発明の一実施形態に係る仮想カード番号基盤の金融取引提供システムの構成図である。
【００４９】
図２は、本発明の一実施形態に係る仮想カード番号生成手段から金融機関のサーバへ仮想カード番号が提供される過程を示す例示図である。
【００５０】
図１を参照すると、本発明の一実施形態に係る仮想カード番号基盤の金融取引提供システムは、仮想カード番号生成手段１０及び仮想カード番号検証手段２０を含む。
【００５１】
仮想カード番号生成手段１０は、仮想カード番号検証手段２０が実際カード番号を探索できる情報を含む仮想カード番号を生成する役割を果たす。即ち、仮想カード番号生成手段１０は、仮想カード番号生成関数によって仮想カード番号を生成する。このとき、仮想カード番号検証手段２０で仮想カード番号を基に実際カード番号を探索するので、仮想カード番号生成手段１０は実際カード番号を格納しないこともあり得る。これにより、仮想カード番号生成手段１０のハッキングなどを通じて実際カード番号が流出されるのを防止できる。仮想カード番号生成関数に関する具体的な説明は後述する。
【００５２】
仮想カード番号検証手段２０は、仮想カード番号生成手段１０から提供される仮想カード番号を基に実際カード番号を探索する役割を果たす。仮想カード番号検証手段２０は、仮想カード番号生成手段１０より受信した仮想カード番号から実際カード番号を探索するために、仮想カード番号生成手段１０と同一の仮想カード番号生成関数を格納する。仮想カード番号検証手段２０が仮想カード番号を基に実際カード番号を探索する方式に関する具体的な説明は後述する。
【００５３】
また、仮想カード番号検証手段２０は、仮想カード番号が仮想カード番号生成手段１０で正常に生成されたコードか否かを検証する役割を果たす。仮想カード番号検証手段２０が仮想カード番号の正常か否かを判断する方式に関する具体的な説明は後述する。
【００５４】
仮想カード番号検証手段２０は、仮想カード番号生成手段１０から多様な方式を通じて仮想カード番号を受け取ることができる。一実施形態として、仮想カード番号検証手段２０は、無線通信を介して仮想カード番号生成手段１０から仮想カード番号を受信することができる。例えば、仮想カード番号生成手段１０を含む仮想カード番号生成装置１００がＮＦＣアンテナモジュール、ブルートゥース通信モジュールなどを含む場合、金融取引端末との通信を通じて仮想カード番号検証サーバへ伝達する仮想カード番号を金融取引端末に伝送することができる。また、他の実施形態として、仮想カード番号検証サーバ２００は、仮想カード番号生成装置１００により生成された仮想カード番号を仮想カード番号検証サーバ２００に通信を介して繋がる移動端末上に直接入力（例えば、ウェブページ又はアプリケーションの決済ページに仮想カード番号が入力）されて受信することができる。このとき、仮想カード番号検証手段２０は、仮想カード番号生成手段１０から仮想カード番号を受信した他のサーバより伝達を受けることができる。
【００５５】
具体的に、図２に示すように、仮想カード番号生成手段１０が決済端末に決済可能なスマートカードであり、仮想カード番号検証手段２０が仮想カード番号生成関数を含む金融会社サーバ(例えば、カード会社サーバ)である場合、仮想カード番号生成手段１０であるスマートカードでＰＯＳ装置３０にて決済を行うと、仮想カード番号検証手段２０は、ＰＯＳ装置３０から仮想カード番号を受け取ったＰＧ会社サーバ４０から仮想カード番号を受け取る。即ち、仮想カード番号検証手段２０（即ち、カード会社サーバ）は、既存の決済プロセスを用いて仮想カード番号生成手段１０から実際カード番号の代わりに仮想カード番号を受信することができる。即ち、後述するように、仮想カード番号を実際カード番号と同一の長さのコードに生成すると、仮想カード番号生成手段から仮想カード番号検証手段が含まれているカード会社サーバまで行われるプロセス上では変更されるものがなく、本発明の実施形態に係る仮想カード番号基盤の金融取引提供方式が適用されることができる。また、仮想カード番号生成手段であるスマートカードでＡＴＭ装置を通じて金融取引を行う場合、仮想カード番号生成手段１０が実際カード番号と同一の長さのコードに生成された仮想カード番号をＡＴＭ装置に提供し、金融機関サーバ２０はＡＴＭ装置から仮想カード番号をそのまま受け取って金融取引を行える。
【００５６】
また、一実施形態として、前記仮想カード番号検証手段２０と前記仮想カード番号生成手段１０は、同一の仮想カード番号生成関数を含む。仮想カード番号検証手段２０と仮想カード番号生成手段１０が同一の仮想カード番号生成関数を含むことによって仮想カード番号検証手段２０は仮想カード番号生成手段１０で生成された仮想カード番号内の複数の細部コードを正常に抽出できる。なお、仮想カード番号検証手段２０は、受信した仮想カード番号が正常な仮想カード番号生成手段１０で生成され、受信されたものであるかを検証できる。即ち、仮想カード番号検証手段２０が仮想カード番号生成手段１０と同一の条件でコード（即ち、仮想カード番号又は特定の細部コード）の生成を行った後、仮想カード番号生成手段１０から受信したコード（即ち、仮想カード番号又は特定の細部コード）を比較することによって検証を行うことができる。
【００５７】
図３は、本発明の他の実施形態に係る仮想カード番号生成装置１００の構成図である。
【００５８】
図４は、本発明の一実施形態に係る仮想カード番号生成装置の例示図である。
【００５９】
図３を参照すると、本発明の他の実施形態に係る仮想カード番号生成装置１００は、細部コード生成部１１０、仮想カード番号生成部１２０及び仮想カード番号提供部１３０を含む。
【００６０】
本発明の実施形態に係る仮想カード番号生成装置１００は、仮想カード番号生成手段１０に該当するプログラムが内蔵（ｅｍｂｅｄｅｄ）されているか、仮想カード番号生成手段１０に該当するプログラムが設置された装置であり得る。例えば、仮想カード番号生成装置１００は、仮想カード番号生成手段１０に該当するプログラムが内蔵されたスマートカードであり得る。また、例えば、仮想カード番号生成装置１００は、仮想カード番号生成手段１０に該当するＡＰＰカードアプリケーションがインストールされた移動端末であり得る。仮想カード番号生成装置１００は、前述した例示以外に仮想カード番号を生成して伝送しなければならない多様な装置になり得る。
【００６１】
仮想カード番号生成部１２０は、１つ以上の細部コードを組み合わせて仮想カード番号として生成する役割を果たす。一実施形態として、前記仮想カード番号は、複数の細部コードを特定の規則に従って結合して生成される。仮想カード番号生成関数は、複数の細部コードを組み合わせる規則（即ち、細部コード結合関数）を含む。
【００６２】
複数の細部コードを結合して１つの仮想カード番号を生成する方式としては、多様な方式が適用され得る。前記細部コード結合関数の一例として、仮想カード番号生成部１２０は、Ｎ桁の第１コードとＮ桁の第２コードを交互に配置する方式で仮想カード番号を生成できる。また、他の例として、細部コード結合関数は第１コードの後に第２コードを結合する関数であり得る。仮想関数に含まれる細部コードが増えることによって細部コード結合関数も多様に生成され得る。
【００６３】
細部コード生成部１１０は、１つ以上の細部コードを生成する役割を果たす。仮想カード番号生成関数は、それぞれの細部コード生成関数を含む。例えば、仮想カード番号生成関数は、複数の細部コード生成関数を用いて複数の細部コードを生成し、複数の細部コードを結合する細部コード結合関数を用いて仮想カード番号を生成する。
【００６４】
一実施形態として、細部コード生成部１１０は、細部コード生成関数として第１関数と第２関数を含み、第１コード及び第２コードを生成する。第１コードと第２コードは、仮想カード番号検証手段２０内で実際カード番号の格納位置を探索するための相関関係を有するが、仮想カード番号生成装置１００は、セキュリティを高めるために第１コードを生成する第１関数と第２コードを生成する第２関数を細部コード生成関数として含むだけであって、第１コードと第２コードの相関関係に対するデータを含まないこともあり得る。
【００６５】
また、他の実施形態として、仮想カード番号は、グループを区別するための変更されない固定コードを複数の細部コードと共に含むことができる。仮想カード番号検証手段２０は、複数のグループにそれぞれ対応する複数の仮想カード番号生成関数を含むことができ、仮想カード番号生成装置１００から仮想カード番号が受信されると、該当仮想カード番号生成装置１００が属するグループの仮想カード番号生成関数を基に実際カード番号の探索を行わなければならない。固定コードが含まれず、全体コードが単位カウントが経過する度に新たに生成される細部コードのみを含むとなると、別途の情報なしに仮想カード番号生成装置１００が属するグループを判断することができない。従って、仮想カード番号生成装置１００は、グループを識別するための変更されない固定コードを含む。
【００６６】
例えば、特定カード会社のカードの類型別に仮想カード番号生成関数が付与される場合、仮想カード番号生成装置１００は、カード番号のうち、カード会社及びカードの類型を示す前の６桁を固定コードとして用い、仮想カード番号検証手段２０は、仮想カード番号生成装置１００と同一の仮想カード番号生成関数が適用される特定のカード会社の特定のカード類型を識別することができる。即ち、固定コードは、前記実際カード番号に対応するカード会社又はカードの類型を判断するコードである。
【００６７】
また、固定コードは、前記仮想カード番号内に予め定められた位置に結合されることができる。各カード類型のグループ別に仮想カード番号生成関数が付与される場合、仮想カード番号検証手段２０は仮想カード番号から固定コードをまず抽出しなければカード類型のグループを判断することができない。従って、固定コードは、別途の関数なしに分離可能に仮想カード番号内の予め定められた位置（例えば、実際カード番号の発行者識別番号と同一の位置）に結合されることができる。
【００６８】
更に、一実施形態として、仮想カード番号生成装置１００は、複数の細部コードと固定コードを組み合わせて実際カード番号と同一の桁数のコードとなるように細部コードを生成する。既存の金融取引システム（例えば、金融取引がお店での決済である場合、ＰＯＳ装置及びＰＧ会社サーバ）をそのまま維持しながら仮想カード番号を用いるためには、仮想カード番号生成装置１００は実際カード番号と同一の桁数を有するコードを仮想カード番号として生成しなければならない。このために、仮想カード番号生成装置１００は、カード会社及び該当カード会社のカードの類型を判断するための固定コードを除いた桁数を分けて複数の細部コードの桁数を活用する。例えば、実際カード番号が１６桁のカード識別番号を有し、細部コードとして第１コード及び第２コードを含む場合、仮想カード番号生成装置１００は、１６桁のうち、６桁の固定コードを除いた１０桁を同一に分けて５桁の第１コード及び第２コードを生成できる。その後、後述する仮想カード番号生成部が第１コード及び第２コードを特定の規則に従って結合した後、固定コードを実際カード番号のカード識別番号のように、前の部分に結合して仮想カード番号のカード識別番号を生成できる。
【００６９】
また、例えば、カード番号のカード識別番号と有効期間の桁を活用して細部コードからなる仮想カード番号を生成できる。即ち、１６桁のカード識別番号と４桁の有効期間のうち、仮想カード番号生成装置１００は実際カード番号の発行者識別番号に該当する６桁を固定コードとして維持し、残りの１４桁を複数の細部コードに割り当て、細部コード生成部は割り当てられたそれぞれの桁数に沿う細部コードを生成する。
【００７０】
更に、例えば、仮想カード番号生成装置１００は、実際カード番号のカード識別番号、有効期間及びカードセキュリティコードを仮想カード番号で細部コードに割り当てる桁数として活用できる。例えば、仮想カード番号生成装置１００は、実際カード番号の発行者識別番号に該当する６桁を固定コードとして維持し、カード識別コードの残りの１０桁、４桁の有効期間及び３桁のカードセキュリティコードをそれぞれの細部コードに桁数として割り当てることができる。
【００７１】
また、例えば、仮想カード番号生成装置１００は、カード識別番号部分だけで仮想カード番号の細部コードと固定コードを表現できる。このとき、仮想カード番号生成装置１００は、複数の細部コードに異なる桁数を割り当てることができる。即ち、仮想カード番号が固定コード、第１コード及び第２コードを含み、カード識別番号の桁数だけで固定コード、第１コード及び第２コードを生成する場合、仮想カード番号生成装置１００は、固定コードに割り当てられる６桁を除いた桁数のうち、９桁を第１コードと第２コードに分けて割り当てる。カード識別番号が１５桁の場合と１６桁の場合にいずれも適用するために、仮想カード番号生成関数は、カード識別番号の９桁のみを第１コードと第２コードに割り当てることができる。例えば、仮想カード番号生成関数は、９桁のうち、第１コードに６桁を割り当て、第２コードに３桁を割り当てることができる。このように、カード番号全体のうち、カード識別番号部分だけで仮想カード番号を構成するコードを表現すれば、ユーザがカード番号を直接入力しなければならない状況で入力すべき文字数が減少し得る。また、仮想カード番号生成装置１００は、有効期間及びカードセキュリティコード部分をセキュリティを向上させることができる他の用途として活用できる。
【００７２】
また、一実施形態として、仮想カード番号は仮想セキュリティコードを更に含む。例えば、仮想カード番号は複数の細部コードと仮想セキュリティコードを含む。仮想カード番号のセキュリティコードは、実際カード番号のカードセキュリティコード（即ち、ＣＶＶ又はＣＶＣ）の桁を活用して提供されることができる。即ち、既存の金融取引システムで用いられる実際カード番号と同一の文字数を含むように、仮想カード番号生成装置は、カードセキュリティコードの桁を仮想カード番号の仮想セキュリティコードに割り当て、カード識別番号及び有効期間の全部又は一部の桁を複数の細部コードに割り当てることができる。
【００７３】
前記セキュリティコードは特定のセキュリティコード生成関数を基に生成されるコードであって、正常な仮想カード番号か否かを検証するために用いられる。前記セキュリティコード生成関数は、時間データと仮想カード番号生成手段の固有値を関数値として用いて特定の桁数のセキュリティコードを生成する。
【００７４】
仮想セキュリティコードを活用して仮想カード番号の正常か否かを判断する過程の一例は以下の通りである。仮想カード番号検証手段２０は、実際カード番号の発行時に仮想カード番号生成装置１００の固有値（例えば、スマートカード内のチップ固有値又はＡＰＰカードがインストールされたスマートフォンの固有値など）を受信して実際カード番号の格納位置に共に格納するか、実際カード番号の格納位置に繋がっている別途の格納空間に格納できる。仮想カード番号生成装置１００が、仮想セキュリティコードが結合された仮想カード番号を生成して仮想カード番号検証手段２０に提供すると、仮想カード番号検証手段２０は、細部コードを基に仮想カード番号が生成された時間データを獲得し、内部に格納された特定の仮想カード番号生成装置１００の固有値を抽出して時間データと共に仮想セキュリティコード生成関数（例えば、ＯＴＰ（Ｏｎｅ Ｔｉｍｅ Ｐａｓｓｗｏｒｄ）関数）に適用して仮想セキュリティコードを算出する。仮想カード番号検証手段２０は、仮想カード番号生成装置１００から受信した仮想セキュリティコード（即ち、受信仮想セキュリティコード）と内部に格納された仮想セキュリティコード生成関数で算出した仮想セキュリティコード（即ち、生成仮想セキュリティコード）とが一致するかを判断する。仮想カード番号生成装置１００で仮想カード番号を生成する時点と仮想カード番号検証装置２００で仮想カード番号を受信した時点との間に差が存在し得るので、仮想カード番号検証装置２００は時間遅延を考慮して特定の時間範囲内（例えば、仮想カード番号を受信した時点から特定のカウント以前まで）の仮想セキュリティコード（即ち、ＯＴＰ番号）を計算し、仮想カード番号生成装置１００から受信した受信仮想セキュリティコードと一致する値が存在するかを確認する。仮想カード番号検証手段２０は、受信仮想セキュリティコードと生成仮想セキュリティコードとが一致すると、正常な仮想カード番号と判断して実際カード番号を提供する。
【００７５】
例えば、仮想セキュリティコードは、カードセキュリティ番号に対応する桁数に生成されることができる。即ち、仮想カード番号生成装置１００は、仮想セキュリティコード生成関数を用いてカードセキュリティ番号に該当する３桁又は４桁を仮想セキュリティコードとして生成し、カードの使用時にカードセキュリティ番号として仮想セキュリティコードを入力すると、仮想カード番号検証手段２０は仮想セキュリティコードを検証する過程を行う。
【００７６】
また、他の例として、仮想セキュリティコード生成関数は、各カウント毎に異なるｌ桁（ｌは自然数）のコードを生成して関数値として共に適用できる。即ち、仮想セキュリティコード生成関数は、ｌ桁のランダムコード生成関数（例えば、ｌ桁のコードを生成するＯＴＰ関数）を含むことができる。
【００７７】
更に、一実施形態として、仮想カード番号が第１コード及び第２コードの特定の規則による組み合わせで生成される場合、第１コードと第２コードは、実際カード番号が格納された格納位置を探索するためのそれぞれの役割を果たすことができる。例えば、第１コードは格納位置探索の開始地点を設定し、第２コードは特定の探索方式によって前記開始地点から前記格納位置への探索経路を設定する。即ち、仮想カード番号生成装置１００から単位カウント毎に正常に生成された仮想カード番号が提供されると、仮想カード番号検証手段２０は第１コードに対応する探索開始地点から第２コードに相応する探索経路に沿って移動した地点を実際カード番号の格納位置として判断する。仮想カード番号を構成する第１コードと第２コードを基に格納位置を探索する具体的な方式は後述する。
【００７８】
細部コード生成部１１０が細部コードを生成する方式の一実施形態として、細部コード生成部１１０は単位カウント毎に新たな細部コードを生成し、これにより、仮想カード番号生成装置１００は単位カウント毎に新たな仮想カード番号を生成する。単位カウント毎に新たに生成される仮想カード番号は重複して生成されない。具体的に、細部コード生成部１１０は、単位カウント毎に新たに生成される仮想カード番号が特定のユーザ又は特定の仮想カード番号生成装置１００に定められた期間に重複して生成されないだけでなく、特定のグループに属するユーザ間でも重複して生成されないように設定される。
【００７９】
仮想カード番号の重複生成を防止する具体的な一実施形態として、Ｍ個の文字でＮ桁の前記第１コード又は前記第２コードを生成する場合、仮想カード番号生成関数に含まれる細部コード生成関数はＭＮ個のコードを第１コード又は第２コードとして生成することができ、それぞれのコードを細部コード生成関数が駆動される初期時点から各カウント毎にマッチする。例えば、単位カウントを１秒に設定する場合、細部コード生成関数が最初に駆動された時点から毎秒、異なるＭＮ個のコードをマッチする。そして、特定の細部コード生成関数を用いる周期又は仮想カード番号生成装置１００の使用周期（例えば、仮想カード番号を生成するスマートカードの有効期間）をＭＮカウントに該当する時間長（例えば、１カウントが１秒である場合、ＭＮ秒）よりも短い時間長に設定すると、第１コード又は第２コードは、使用周期の間に同一のコードが重複して生成されない。即ち、時間が経過するにつれてカウントが増加するとき、ユーザが特定時点で仮想カード番号生成装置１００に仮想カード番号の生成を要求する場合、仮想カード番号生成装置１００は、特定時点に対応するカウントにマッチしたコード値を第１コード又は第２コードとして生成できる。
【００８０】
具体的に、アルファベットの大文字と０から９までの数字をコードに含むことが可能な文字として使用（即ち、３６個の文字を使用）し、実際カード番号のカード識別番号と有効期間の桁を活用して第１コードと第２コードにそれぞれ６桁を割り当てる場合、仮想カード番号生成装置１００は第１コード及び第２コードとして３６６個のコードを提供できる。このとき、仮想カード番号生成装置１００は、それぞれのコードを各カウント毎にマッチさせ、各カウント毎に変更された第１コード及び第２コードを提供できる。
【００８１】
仮想カード番号の重複生成を防止する具体的な他の実施形態として、仮想カード番号生成装置１００の使用周期が経過すれば、第１コード又は第２コードを生成する関数（即ち、第１関数又は第２関数）を変更するか、第１コードと第２コードのマッチング関係を変更して以前の使用周期と異なる仮想カード番号が生成されるようにする。仮想カード番号が、第１関数により生成される第１コードと第２関数により生成される第２コードが結合される場合、第１コード生成関数又は第２コード生成関数が変更されると、仮想カード番号生成装置１００は、第１コード又は第２コードが登場する順序が以前の使用周期と相違することにより、以前周期と異なる仮想カード番号を生成する仮想カード番号生成関数を新規の使用周期へ適用できる。また、仮想カード番号生成装置１００は、以前の使用周期で用いられた仮想カード番号と同一のコードが新規の使用周期内の各カウントの仮想カード番号として登場しないように（即ち、第１関数によって生成される第１コードと第２関数によって生成される第２コードのマッチング関係が、新規の使用周期の全てのカウントで、以前の使用周期内に含まれているマッチング関係の中に含まれないように）第１関数と第２関数を選択できる。即ち、ＭＮ個のコードを１回ずつ適用できる使用周期を経過した後、仮想カード番号生成関数の調節又は更新を通じて以前の使用周期と重なる仮想カード番号が生成されない新規の使用周期の仮想カード番号生成関数を適用できる。
【００８２】
このとき、仮想カード番号生成手段１０及び仮想カード番号検証手段２０は、仮想カード番号生成関数を更新する規則を格納できる。即ち、仮想カード番号生成手段１０及び仮想カード番号検証手段２０は、複数の第１関数と第２関数を各使用周期に適用する順序又は規則を格納できる。
【００８３】
また、仮想カード番号の重複生成を防止する具体的な他の実施形態として、同一のグループに属するユーザ間でも同一の仮想カード番号が同一時点に生成されないように、仮想カード番号に含まれる第１コード又は第２コードのうち何れか１つは少なくとも仮想カード番号生成装置１００毎に同一時点に常に相違して存在する値（即ち、装置識別値）を反映し、生成できる。一実施形態として、装置識別値は、特定の細部コード生成関数が適用されるグループに特定の仮想カード番号生成装置１００が含まれている時点（例えば、仮想カード番号検証手段２０内に特定の細部コード生成関数が駆動された最初の時点から特定時間が経過した後、特定の仮想カード番号生成装置１００に前記細部コード生成関数が適用され始めた時点）から現在まで経過した時間（又はカウント数）であり得る。１つのグループ内に複数の仮想カード番号生成装置１００が含まれる場合、仮想カード番号生成装置１００を該当グループに属するように設定するカウントを異なるようにすれば（即ち、仮想カード番号生成装置１００が該当グループに同時に属せなくすれば）、仮想カード番号生成装置１００がグループに属するようになった時点（又はカウント）から特定時点までの経過時間は各仮想カード番号生成装置１００毎に異なることになる。従って、細部コード生成関数のうち少なくとも何れか１つは、仮想カード番号生成装置１００がグループに属するようになった時点（又はカウント）から特定時点までの経過時間を装置識別値として用いて、各時点毎にそれぞれの仮想カード番号生成装置１００で生成される仮想カード番号が異なるようにすることができる。これにより、仮想カード番号検証手段２０がユーザを区別するためのデータを別途に受信せず、仮想カード番号を受信するだけで仮想カード番号生成装置１００の区別が可能にすることができる。
【００８４】
例えば、仮想カード番号生成装置１００が出力されるカード番号を変更できるカード（例えば、スマートカード又はＡＰＰカードなど）である場合、特定のカード会社の特定のカード類型が１つのグループに設定され、カード会社サーバ内の特定の仮想カード番号検証手段２０が該当グループに対して駆動する。第１ユーザが仮想カード番号検証手段２０の駆動時からＡ時間だけ経過した時点で第１仮想カード番号生成装置１００（即ち、第１ユーザの仮想カード番号生成装置１００）にカードの発行を要求し、第２ユーザが仮想カード番号検証手段２０の駆動時からＢ（ＢはＡよりも大きい値）時間だけ経過した時点で第２仮想カード番号生成装置１００（即ち、第２仮想カード番号生成装置１００）にカードの発行を要求すると、第１仮想カード番号生成装置１００及び第２仮想カード番号生成装置１００は、第１ユーザと第２ユーザから仮想カード番号の生成を要求されたＣ（ＣはＢよりも大きい値）時間にカードの発行時点から経過した時間長が常に異なることになる。従って、細部コード生成関数は、各仮想カード番号生成装置１００にカードが発行された時点から経過した時間長を変数として適用することによって、同一時点に同一の仮想カード番号が生成されないようにすることができる。
【００８５】
また、特定の仮想カード番号生成装置１００が特定のグループに属するようになった時点から経過した時間長は、時間が経過するにつれて増加し続けるので、特定の仮想カード番号生成装置１００で生成される細部コード（例えば、第２コード）は同一の値が生成されず、継続して異なる値が生成される。
【００８６】
更に、仮想カード番号の重複生成を防止する具体的な更に他の実施形態として、周期全体においてユーザと関係なく重複した仮想カード番号が発生しないように、第１コードは、仮想カード番号検証手段２０内で第１関数が駆動される初期時点から各カウント毎にマッチされたコードのうち、仮想カード番号の生成が要求された時点（又はカウント）に対応するコード値に設定し、第２コードは、仮想カード番号生成装置１００毎に同一時点に常に相違して存在する値（即ち、装置識別値）を反映させて生成されるコード値に設定し、仮想カード番号を前記第１コードと第２コードが結合されたコード値として利用できる。第１コードは各カウント毎に異なるコード値となり、第２コードは同一時点に仮想カード番号生成装置１００毎に異なるコード値を有するようになり、第１コードと第２コードが結合された仮想カード番号は、全ての仮想カード番号生成装置１００と全ての時点で異なるコード値が出力されるようになる。
【００８７】
また、他の実施形態として、前記仮想カード番号生成関数（又は細部コード生成関数）は、Ｍ個の文字を昇順に並べる多数の羅列規則のうち何れか１つが適用される。即ち、仮想カード番号生成装置１００（即ち、仮想カード番号生成手段１０）は、仮想カード番号生成関数内に含まれる細部コード生成関数にＭ個の文字を昇順に並べる規則を多様に適用して行える。例えば、アルファベットの大文字を昇順に並べる羅列規則は、一般的な順序であるＡ、Ｂ、Ｃ、...、Ｚの順となってもよく、Ａ、Ｃ、Ｂ、...、Ｚの順となってもよい。仮想カード番号生成関数で羅列規則が変わることによって仮想カード番号生成関数が駆動される初期時点から各カウントに順にコードがマッチされる順序が変わることになる。仮想カード番号検証手段２０は、同一の羅列規則に従って生成されたコードが各カウントにマッチされているか、同一の羅列規則自体を仮想カード番号生成関数に含んで格納できる。従って、各グループ別の仮想カード番号生成関数が異なる細部コード結合関数を含むか、異なる文字羅列規則を含み、各グループ別に異なる仮想カード番号生成関数を有するようにすることができる。
【００８８】
仮想カード番号提供部１３０は、前記仮想カード番号を仮想カード番号検証装置２００に提供するために外部に出力する役割を果たす。仮想カード番号提供部１３０は、仮想カード番号を外部に提供できる多様な構成を含むことができる。仮想カード番号提供部１３０は、無線インターネットモジュール、近距離通信モジュール、ＩＣチップ（１３１）、磁場発生部、ディスプレイ部（１３２）などの全部又は一部を含む。
【００８９】
無線インターネットモジュールとは、無線インターネットへの接続のためのモジュールのことをいい、移動端末１００に内蔵又は外蔵されることができる。無線インターネット技術としては、ＷＬＡＮ（Ｗｉｒｅｌｅｓｓ ＬＡＮ）（Ｗｉ-Ｆｉ）、Ｗｉｂｒｏ（Ｗｉｒｅｌｅｓｓ ｂｒｏａｄｂａｎｄ）、Ｗｉｍａｘ（Ｗｏｒｌｄ Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ ｆｏｒ Ｍｉｃｒｏｗａｖｅ Ａｃｃｅｓｓ）、ＨＳＤＰＡ（Ｈｉｇｈ Ｓｐｅｅｄ Ｄｏｗｎｌｉｎｋ Ｐａｃｋｅｔ Ａｃｃｅｓｓ）、ＬＴＥ（Ｌｏｎｇ Ｔｅｒｍ Ｅｖｏｌｕｔｉｏｎ）、ＬＴＥ-Ａ（Ｌｏｎｇ Ｔｅｒｍ Ｅｖｏｌｕｔｉｏｎ-Ａｄｖａｎｃｅｄ）などが利用されることができる。例えば、仮想カード番号生成装置１００が仮想カード番号生成手段であるＡＰＰカードアプリケーションがインストールされた移動端末である場合、ショッピングアプリケーション又はショッピングウェブサイトで商品を購入するとき、仮想カード番号生成装置１００は、無線インターネット通信を介して支払い決済サービスサーバ（即ち、ＰＧ会社サーバ）４０に仮想カード番号を送ることができる。
【００９０】
近距離通信モジュールとは、近距離通信のためのモジュールを指す。近距離通信（ｓｈｏｒｔ ｒａｎｇｅ ｃｏｍｍｕｎｉｃａｔｉｏｎ）技術としてブルートゥース（Ｂｌｕｅｔｏｏｔｈ）、ＢＬＥ（Ｂｌｕｅｔｏｏｔｈ Ｌｏｗ Ｅｎｅｒｇｙ）、ビーコン（Ｂｅａｃｏｎ）、ＲＦＩＤ（Ｒａｄｉｏ Ｆｒｅｑｕｅｎｃｙ Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、ＮＦＣ（Ｎｅａｒ Ｆｉｅｌｄ Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、赤外線通信（Ｉｎｆｒａｒｅｄ Ｄａｔａ Ａｓｓｏｃｉａｔｉｏｎ；ＩｒＤＡ）、ＵＷＢ（Ｕｌｔｒａ Ｗｉｄｅｂａｎｄ）、ＺｉｇＢｅｅなどが利用されることができる。
【００９１】
仮想カード番号提供部１３０は、仮想カード番号生成装置１００がＰＯＳ装置に仮想カード番号を伝達するカードに該当する場合、磁場発生部又はＩＣチップを含むことができる。磁場発生部は、カードデータを磁気信号の形態で出力してカードリーダに伝達する機能を行う。磁場発生部は、電流の流れを通じて磁場を形成してカード情報磁気信号を出力する磁気セルを１つ以上含むことができる。磁場発生部は、カードのＰＣＢ板の特定の長辺に隣接するように前記長辺に沿ってＰＣＢ板の上面又は下面に露出するように具備することができる。
【００９２】
ＩＣチップは、ＰＣＢ板内に実装され、ＩＣ方式のカードリーダの端子と接触してデータの交換を行うようにすることができる。即ち、ＩＣチップは、仮想カード番号生成部１２０で生成された仮想カード番号をＩＣ方式のカードリーダに伝達する。
【００９３】
ディスプレイ部は、液晶ディスプレイ（ｌｉｑｕｉｄ ｃｒｙｓｔａｌ ｄｉｓｐｌａｙ）、薄膜トランジスタ液晶ディスプレイ（ｔｈｉｎ ｆｉｌｍ ｔｒａｎｓｉｓｔｏｒ-ｌｉｑｕｉｄ ｃｒｙｓｔａｌ ｄｉｓｐｌａｙ）、有機発光ダイオード（ｏｒｇａｎｉｃ ｌｉｇｈｔ-ｅｍｉｔｔｉｎｇ ｄｉｏｄｅ）、フレキシブルディスプレイ（ｆｌｅｘｉｂｌｅ ｄｉｓｐｌａｙ）、電子ペーパ（Ｅ-ｐａｐｅｒ）のうち少なくとも１つを含むこともできる。
【００９４】
ディスプレイ部は、仮想カード番号生成部１２０で生成した仮想カード番号を視覚的に外部に出力する。これにより、仮想カード番号生成装置１００のユーザは、リアルタイムに生成された仮想カード番号を視覚的に確認でき、仮想カード番号検証手段２０に視覚的に確認した仮想カード番号を直接入力できる。
【００９５】
例えば、図４に示すように、仮想カード番号生成装置がスマートカードである場合、仮想カード番号生成装置は、表面にカード番号を記載せず、仮想カード番号を出力できるディスプレイ部を具備することができる。また、例えば、仮想カード番号が発行者識別番号と同一の固定コードを含む場合、仮想カード番号生成装置１００は、発行者識別番号をカードの表面に記載し、残りのカード番号の桁のみディスプレイ部に有することができる。例えば、前記ディスプレイ部は、電子ペーパ、ＯＬＥＤなどであってもよく、それぞれの桁に備えられる７-Ｓｅｇｍｅｎｔディスプレイであってもよい。また、例えば、仮想カード生成装置がＡＰＰカードアプリケーションがインストールされているスマートフォンである場合、ディスプレイ部は、ＡＰＰカードアプリケーションが実行されて表示されるスマートフォンのディスプレイ部であり得る。
【００９６】
また、ユーザは、ディスプレイ部に表示された仮想カード番号を文字メッセージなどの多様な経路を通じて仮想カード番号を送ることができる。実際カード番号を伝送するのではなく、仮想カード番号検証手段２０で実際カード番号を探索できる仮想カード番号（具体的に、継続的に変更・生成されるコード）を伝達するので、ユーザが文字メッセージなどを通じてコードを伝送する際に実際カード番号の流出を恐れないようにすることができる。
【００９７】
図５は、本発明の一実施形態に係る仮想カード番号検証装置２００の構成図である。
【００９８】
図５を参照すると、本発明の更に他の一実施形態に係る仮想カード番号検証装置２００は、仮想カード番号受信部２１０、細部コード抽出部２２０及び実際カード番号探索部２３０を含む。仮想カード番号検証装置２００は、金融機関のサーバ（例えば、カード会社又は銀行のサーバ）であり得る。
【００９９】
例えば、仮想カード番号検証装置２００は、特定のユーザが保有している特定カード会社の特定類型のカードに対する仮想カード番号を受信した後、実際カード番号を探索して決済を進めるカード会社サーバであり得る。具体的に、カード決済の場合、仮想カード番号検証装置２００は、ＰＯＳ装置及びＰＧ会社のサーバを介して仮想カード番号生成装置１００で生成した仮想カード番号を受信する。
【０１００】
また、例えば、ユーザが仮想カード番号生成装置であるスマートカードを用いてＡＴＭから現金を引き出そうとする場合、仮想カード番号検証装置２００が銀行サーバであり得る。即ち、ユーザが仮想カード番号生成装置１００であるスマートカードで現金自動預払機（ＡＭＴ）に仮想カード番号を入力（例えば、スマートカードをカード挿入口に挿入するか、ＮＦＣリーダに接触）すると、銀行サーバはＡＴＭから仮想カード番号を受信した後、実際カード番号を探索する。
【０１０１】
仮想カード番号受信部２１０は、仮想カード番号生成装置１００から仮想カード番号を受信する役割を果たす。一実施形態として、仮想カード番号受信部２１０は、他のサーバ（例えば、支払い決済サービスサーバ）との通信を介して仮想カード番号生成装置１００で生成された仮想カード番号を受け取ることができる。
【０１０２】
細部コード抽出部２２０は、前記仮想カード番号に含まれている複数の細部コードを抽出する。前記仮想カード番号は、複数の細部コードを特定の規則に従って結合して生成される。仮想カード番号検証装置２００の細部コード抽出部２２０は、特定グループの仮想カード番号生成装置１００と同一の細部コード結合関数を含み、細部コード抽出部２２０は、細部コード結合関数を適用して仮想カード番号から複数の細部コードを抽出できる。例えば、仮想カード番号生成装置１００で２つの細部コード（即ち、第１コード及び第２コード）が結合された仮想カード番号を生成する場合、細部コード抽出部２２０は、仮想カード番号の文字配列から細部コード結合関数を適用して第１コード及び第２コードを分離できる。
【０１０３】
実際カード番号探索部２３０は、複数の細部コードを基に実際カード番号の格納位置を探索する。実際カード番号探索部２３０がそれぞれの細部コードを基に実際カード番号の格納位置を探索する方式としては、多様な方式が適用され得る。実際カード番号探索部２３０が複数の細部コードを基に格納位置を探索するために細部コード間には相関関係を含むことができる。
【０１０４】
仮想カード番号が第１コード及び第２コードで構成される場合、細部コード間で相関関係を有する一実施形態として、実際カード番号探索部２３０は第１コードに対応する探索開始地点を決定し、前記探索開始地点から第２コードに相応する探索経路に沿って移動した地点を実際カード番号の格納位置として探索できる。即ち、前記細部コードは、格納位置探索の開始地点を設定する第１コード及び特定の探索方式によって前記開始地点から前記格納位置への探索経路を設定する第２コードを含むことができる。
【０１０５】
また、他の実施形態として、仮想カード番号生成手段１０（又は仮想カード番号生成装置１００）が単位カウント毎に新規の仮想カード番号を提供することによって、仮想カード番号検証装置２００は、各カウント毎に変更される第１コード及び第２コードを基に探索開始地点と探索経路を設定して実際カード番号の格納位置を探索できる。
【０１０６】
更に、他の実施形態として、実際カード番号探索部２３０は、相関関係を有する複数の細部コードを用いて実際カード番号の格納位置を探索するために、格納位置探索アルゴリズムを含むことができる。格納位置探索アルゴリズムは、仮想カード番号に含まれるそれぞれの細部コードの適用時に格納位置の探索が可能にするアルゴリズムである。例えば、仮想カード番号から格納位置の探索開始地点を決定する第１コードと探索開始地点からの格納位置の方向を提示する第２コードを含む場合、格納位置探索アルゴリズムは、第１コードに対応する地点で第２コードに対応する方向を指示するとき、該当位置に実際カード番号がマッチされる格納位置が配置されるように調節するアルゴリズムである。格納位置探索アルゴリズムを用いることによって、仮想カード番号検証装置２００は、仮想カード番号に含まれている第１コードと第２コードが変更されても実際カード番号の格納位置又は格納位置にマッチされた地点を探索できる。格納位置探索アルゴリズムは多様な方式が適用され得、具体的な例示は後述する。但し、格納位置探索アルゴリズムは、後述される例示に限定されない。
【０１０７】
例えば、後述するように、図８を参照すると、格納位置探索アルゴリズムが第１コードに該当するＭＮ個のコードが並んだトラックに沿って転がり移動するｋ角形（ｋはＭＮ）であり、ｋ角形の頂点が第１コードのトラック上にコードが配置される地点に対応しながら移動する場合、ｋ角形の各頂点が実際カード番号の格納位置とマッチされ、第１コードのトラック（即ち、第１トラック）とｋ角形が対応する地点が第１コードに対応する格納位置の探索開始地点になり得る。このとき、実際カード番号探索部２３０は、細部コード抽出部２２０から抽出された第１コードに対応する地点にｋ角形の頂点が接するようにｋ角形を転がり移動させることができる。これにより、実際カード番号探索部２３０は、ｋ角形が接している第１トラック上の位置で第２コードに相応する角度（例えば、ｋ角形の頂点に向かうように１８０度をＭＮ個に分割した特定の角度）で指示することによって、仮想カード番号に対応する実際カード番号が格納された格納位置であるｋ角形の頂点を探索できる。
【０１０８】
具体的に、図８に示すように、仮想カード番号検証装置２００は、第１コードに対応する地点にｋ角形を転がり移動（即ち、ｋ角形の各頂点とトラック上の各地点が順に接するようにしながら移動）させる。その後、仮想カード番号検証装置２００は、第２コードに相応する角度の方向を指示して格納位置に相応する頂点を探索する。例えば、仮想カード番号生成手段Ｂは、実際カード番号の発行を受けた後、２カウントが経過したので、仮想カード番号生成手段Ｂは、２カウントを関数値に適用した第２コードを生成して仮想カード番号検証手段に提供する。仮想カード番号検証手段は、ｋ角形とトラックが接する地点で各頂点に向かう角度に各カウント毎に第２関数により生成される第２コードをマッチして格納（即ち、ｎカウントが適用された第２コードをｋ角形のｎカウントだけ転がり移動することによって転がり移動されたｎ番目の頂点に向かう角度でマッチして格納）するので、仮想カード番号検証手段は、第２コードに相応する角度を第１コードの対応地点に適用して実際カード番号の格納位置に対応するｋ角形の頂点を探索する。
【０１０９】
また、他の実施形態として、図６に示すように、前記仮想カード番号検証装置２００は、仮想カード番号検証部２４０を更に含む。仮想カード番号検証部２４０は、仮想カード番号検証装置２００が受信した仮想カード番号の真偽を判断する役割を果たす。
【０１１０】
図７は、本発明の一実施形態に係る仮想カード番号基盤の金融取引提供方法の順序図である。
【０１１１】
図７を参照すると、本発明の一実施形態に係る仮想カード番号基盤の金融取引提供方法は、仮想カード番号検証手段２０が仮想カード番号生成手段１０から提供された仮想カード番号を受信する段階（Ｓ２００；仮想カード番号受信段階）、前記仮想カード番号検証手段２０が前記仮想カード番号に含まれている複数の細部コードを抽出する段階（Ｓ４００）及び前記仮想カード番号検証手段２０が複数の細部コードを基に実際カード番号の格納位置を探索する実際カード番号探索段階（Ｓ１０００）及び前記格納位置から抽出された前記実際カード番号で金融取引の進行又は金融取引の進行を要求する段階（Ｓ１２００）を含む。以下、各段階に関する詳細な説明を記載する。但し、仮想カード番号生成装置１００及び仮想カード番号検証装置２００に対する説明過程で前述した内容に関する具体的な開示は省略する。
【０１１２】
仮想カード番号検証手段２０が仮想カード番号生成手段１０から仮想カード番号を受信する（Ｓ２００；仮想カード番号受信段階）。仮想カード番号は、仮想カード番号生成装置１００（又は仮想カード番号生成手段１０）で生成され、仮想カード番号検証手段２０に提供される。
【０１１３】
仮想カード番号生成手段１０で生成される仮想カード番号は、複数の細部コードで構成され得る。一実施形態として、仮想カード番号は第１コードと第２コードの結合により生成され得る。第１コード及び第２コードは、仮想カード番号検証手段２０で実際カード番号の位置を探索するのにそれぞれ用いられる。例えば、第１コードは、仮想カード番号検証手段２０で実際カード番号の格納位置探索の開始地点を設定するコードであり、第２コードは、特定の探索方式によって前記開始地点から前記格納位置への探索経路を設定するコードであり得る。
【０１１４】
前記探索方式は、格納位置探索アルゴリズムにより決定され得る。探索方式の決定に関する詳細な説明は、後述する実際カード番号探索段階（Ｓ１０００）で詳細に記述する。
【０１１５】
また、他の実施形態として、前記仮想カード番号生成関数は、Ｍ個の文字でＮ桁の前記第１コード又は前記第２コードを生成する場合、異なるＭＮ個のコードを単位カウント毎に順次変更される第１コード又は第２コードとして提供する第１関数又は第２関数を含む。即ち、第１関数又は第２関数は、ＭＮ個のコードをカウントの増加によって重ならないように生成する関数であって、特定の時点に対応するカウントにＭＮ個のコードのうち、特定の１つを第１コード又は第２コードとして生成する。これにより、仮想カード番号生成手段１０は、ＭＮカウント（即ち、ＭＮ個のカウントに対応する時間長）内に同一の第１コード又は第２コードを重複して生成せず、単位カウント毎に新たな細部コード（即ち、第１コード又は第２コード）を生成し、単位カウント毎に新たな仮想カード番号を生成する。
【０１１６】
具体的に、仮想カード番号生成関数は、Ｍ個の文字でＮ桁の前記第１コード又は前記第２コードを生成することによって、ＭＮ個のコードを第１コード又は第２コードとして用いる場合、それぞれのコードを細部コード生成関数が駆動される初期時点から各カウント毎にマッチする。例えば、単位カウントを１秒に設定する場合、細部コード生成関数が最初に駆動された時点から毎秒、異なるＭＮ個のコードをマッチする。そして、特定の細部コード生成関数を用いる周期又は仮想カード番号生成装置１００の使用周期（例えば、仮想カード番号を生成するスマートカードの有効期間）をＭＮカウントに該当する時間長（例えば、１カウントが１秒である場合、ＭＮ秒）よりも短い時間長に設定すると、第１コード又は第２コードは、使用周期の間に同一のコードが重複して生成されない。即ち、時間が経過するにつれてカウントが増加するとき、ユーザが特定時点で仮想カード番号生成手段１０に仮想カード番号の生成を要求する場合、仮想カード番号生成装置１００は、特定時点に対応するカウントにマッチされたコード値を第１コード又は第２コードとして生成できる。
【０１１７】
また、他の実施形態として、同一のグループ（即ち、同一のカード会社の同一のカード類型のグループ）内でも同一の仮想カード番号が同一時点に生成されないように、仮想カード番号に含まれる第１コード又は第２コードのうち少なくとも何れか１つは、各仮想カード番号生成手段１０で同一時点に常に相違して存在する値（即ち、装置識別値）を反映し、生成できる。即ち、特定の時点で同一のカード類型又はカード種類である、複数の仮想カード番号生成手段１０で仮想カード番号の発行が要求される場合、各仮想カード番号生成手段１０が異なる仮想カード番号を生成するように各時点で各仮想カード番号生成手段１０に異なって付与される値を反映させて異なる第１コード又は第２コードを生成する。
【０１１８】
例えば、仮想カード番号が発行会社識別コードに該当する固定コードを含む場合、仮想カード番号検証装置２００（例えば、カード会社サーバ）は発行会社識別番号で区別される各カード会社のカードの類型別に仮想カード番号生成関数を付与する。従って、仮想カード番号生成手段１０は、固定コードにより異なるカード会社／カードの類型間で異なる仮想カード番号を生成するので、同一のカード会社の特定のカード類型のグループ内で同一の仮想カード番号が生成されないように細部コードを生成しなければならない。このために、各仮想カード番号生成手段１０が異なる仮想カード番号を生成するように各時点で各仮想カード番号生成手段１０に相違して付与される値を反映させて異なる細部コードを生成する。
【０１１９】
一例として、装置識別値は、特定の細部コード生成関数が適用されるグループに特定の仮想カード番号生成手段１０が含まれている開始時点（例えば、仮想カード番号検証手段２０内に特定の細部コード生成関数が駆動された最初の時点から特定時間が経過した後、特定の仮想カード番号生成装置１００に前記細部コード生成関数が適用され始めた時点）から現在まで経過した時間（又はカウント数）であり得る。例えば、装置識別値は、特定のユーザの要求によって特定のカード会社のカードの類型に実際カード番号を発行し、実際カード番号が該当カード類型のグループに属するようになったカウントからの経過時間が用いられることができる。例えば、仮想カード番号が第１コードと第２コードの結合により生成される場合、仮想カード番号生成関数は、実際カード番号を新たに生成した時点から経過した単位カウントを基に第２コードを生成するようにすることができる。
【０１２０】
複数の仮想カード番号生成手段から同時に仮想カード番号の発行を要求された場合にも異なるコードが生成されなければ重複コードの発生に伴う問題を解消できない。仮想カード番号生成手段１０を該当カード類型のグループに属するように設定するカウントを異なるようにすれば（即ち、仮想カード番号生成手段１０に対する実際カード番号を該当カード類型のグループに同一時点に登録できなくすれば）、仮想カード番号生成手段１０がグループに属するようになった時点（又はカウント）から特定時点までの経過時間は各仮想カード番号生成装置１００毎に異なることになる。例えば、同時に特定のカード会社の特定のカード類型のカード発行要求が受信される場合、仮想カード番号検証手段２０は、同時に受信されたカードの発行要求を、予め定められた条件によって順序を付与して他のカウントに要求が入力されたものとして処理できる。即ち、仮想カード番号検証手段２０は、実際に同時に受信したカードの発行要求を少なくとも単位カウントの差が１つ発生するように異なるカウントにマッチし、これにより、各仮想カード番号生成手段１０に対する実際カード番号が発行された時点から特定の同一時点まで経過したカウント数が常に異なるようにすることができる。
【０１２１】
従って、細部コード生成関数のうち少なくとも何れか１つは、仮想カード番号生成装置１００が特定のカード類型のグループに属するようになった時点（又はカウント）から特定時点までの経過時間を装置識別値として用いて、各時点毎にそれぞれの仮想カード番号生成装置１００で生成される仮想カード番号が常に異なるようにすることができる。これにより、仮想カード番号検証手段２０がユーザを区別するためのデータを別途に受信せず、仮想カード番号を受信するだけで仮想カード番号生成手段１０の区別が可能にすることができる。
【０１２２】
また、特定の仮想カード番号生成装置１００が特定のカード類型のグループに属するようになった時点から経過した時間長は、時間が経過するにつれて継続して増加するようになるので、特定の仮想カード番号生成装置１００で生成される細部コード（例えば、第２コード）は同一の値が生成されず、継続して異なる値が生成される。
【０１２３】
なお、更に他の実施形態として、周期全体においてユーザと関係なく重複した仮想カード番号が発生しないように、第１コードは、第１関数が駆動される初期時点から各カウント毎にマッチされたコードのうち、仮想カード番号の生成が要求された時点（又はカウント）に対応するコード値に設定し、第２コードは、仮想カード番号生成装置１００毎に同一時点に常に相違して存在する値（即ち、装置識別値）を反映させて生成されるコード値に設定し、仮想カード番号を前記第１コードと第２コードが結合されたコード値として利用できる。第１コードは各カウント毎に異なるコード値となり、第２コードは同一時点に仮想カード番号生成装置１００毎に異なるコード値を有するようになり、第１コードと第２コードが結合された仮想カード番号は、仮想カード番号生成装置１００及び時点と関係なく異なるコード値が出力されるようになる。
【０１２４】
また、他の実施形態として、前記仮想カード番号生成関数は、複数の細部コードを配列する規則に該当する細部コード結合関数を含む。即ち、仮想カード番号生成関数は、複数の細部コードに含まれている文字を羅列又は配置する特定の規則を有していることができる。これにより、同一の仮想カード番号生成関数を含む仮想カード番号生成手段１０と仮想カード番号検証手段２０の場合、仮想カード番号生成手段１０が複数の細部コードに含まれている文字を細部コード結合関数によって配列し、仮想カード番号検証手段２０が同一の細部コード結合関数を用いて仮想カード番号から個別の細部コードを分離できる。
【０１２５】
更に、他の実施形態として、前記仮想カード番号生成関数は、Ｍ個の文字を昇順に並べる多数の羅列規則のうち何れか１つが適用され得る。即ち、仮想カード番号生成関数は、Ｍ個の文字を昇順に並べる多様な羅列規則が適用され得、適用される羅列規則に従って異なる仮想カード番号生成関数に分類され得る。
【０１２６】
仮想カード番号検証手段２０は、仮想カード番号生成手段１０が生成した仮想カード番号を多様な方式で受信する。即ち、上述した仮想カード番号生成装置１００の多様な仮想カード番号提供方式が適用され得る。
【０１２７】
例えば、カード会社サーバが前記仮想カード番号検証手段を含む場合、前記仮想カード番号受信段階（Ｓ２００）は、前記仮想カード番号検証手段が支払い決済サービスサーバで前記固定コードを基に特定のカード会社に対応するものとして分類された前記仮想カード番号を受信する。このとき、前記支払い決済サービスサーバは、金融取引端末３０やコンピュータで駆動される決済プログラムから仮想カード番号を受信する。
【０１２８】
仮想カード番号検証手段２０が前記仮想カード番号に含まれている複数の細部コードを抽出する（Ｓ４００）。仮想カード番号検証手段２０は、仮想カード番号生成手段１０が含む仮想カード番号生成関数を含むことによって、複数の細部コードを結合していた規則（即ち、細部コード結合関数）を同一に適用して複数の細部コードを抽出する。即ち、細部コード結合関数は、複数の細部コードを配列する規則に該当するものであって、仮想カード番号生成関数内に含まれる。
【０１２９】
また、他の実施形態として、仮想カード番号が、仮想カード番号生成手段１０が含まれているグループを決定する固定コードを含む場合、前記細部コード抽出段階（Ｓ４００）は、前記仮想カード番号内から前記固定コードを抽出し、前記固定コードを基に前記仮想カード番号生成手段のカード類型のグループを判断し、前記カード類型のグループに対する前記仮想カード番号生成関数又は前記格納位置探索アルゴリズムを決定する。即ち、各グループ別に仮想カード番号生成関数又は格納位置探索アルゴリズムを異なって適用する場合、仮想カード番号検証手段２０は、仮想カード番号内の固定コードを基にグループを区別する。
【０１３０】
また、固定コードを用いて仮想カード番号生成関数を決定する過程は、複数の細部コードを抽出する過程の前に実行され得る。固定コードにより仮想カード番号生成関数が決定されなければ仮想カード番号生成関数内に含まれている細部コード結合関数が決定されず、複数の細部コードを抽出できない。
【０１３１】
このために、仮想カード番号検証手段２０が別途の関数がなくても容易に分離できるように、固定コードは仮想カード番号内に固定された位置（例えば、仮想カード番号の最も前の特定個数の桁）に結合され得る。
【０１３２】
仮想カード番号検証手段２０が複数の細部コードを基に実際カード番号の格納位置を探索する（Ｓ１０００；実際カード番号探索段階）。複数の細部コードは互いに相関関係にあり、仮想カード番号検証手段２０は、細部コード間の相関関係を基に実際カード番号の格納位置を探索する。
【０１３３】
一実施形態として、仮想カード番号内の複数の細部コードは、単位カウント毎に生成されるコードが変更（例えば、仮想カード番号が２つの細部コードからなる場合、第１コード及び第２コードは単位カウント毎に変更）され得、仮想カード番号検証手段２０は、単位カウント毎に仮想カード番号が変更されても実際カード番号の格納位置を探索できるように、実際カード番号の格納位置にマッチされた地点を変更された第１コード及び第２コードに沿う位置に単位カウント毎に調節する。
【０１３４】
仮想カード番号を構成する細部コード間の相関関係に関する一実施形態として、仮想カード番号が第１コードと第２コードの結合によりなされる場合、仮想カード番号検証手段２０は、第１コードを探索開始地点（即ち、実際カード番号の格納位置の探索を始める地点）に設定し、第２コードを前記探索開始地点から格納位置に移動する経路に適用して格納位置を探索できる。即ち、単位カウント毎に正常に生成された仮想カード番号が受信されると、仮想カード番号検証手段２０は、第１コードに対応する開始地点から前記第２コードに相応する探索経路に沿って移動した探索地点を実際カード番号の格納位置又は格納位置にマッチされた地点（例えば、別途のサーバの探索地点にマッチされている格納空間）と判断する。
【０１３５】
一実施形態として、第２コードが第１コードに相応する探索開始地点から格納位置までの経路に関する情報を全て含む場合、仮想カード番号検証手段２０は第１コードに相応する探索開始地点から第２コードに相応する探索経路によって実際カード番号の格納位置又は格納位置にマッチされた地点を探索できる。
【０１３６】
他の実施形態として、仮想カード番号検証手段２０は、単位カウント毎に実際カード番号の格納位置を仮想カード番号に沿うように調節する格納位置探索アルゴリズムを含むことができる。即ち、前記仮想カード番号検証手段２０は、単位カウント毎に実際カード番号の格納位置にマッチされた地点への探索経路を調節する格納位置探索アルゴリズムを含む。前記第１コード及び前記第２コードは、単位カウント毎に変更される場合、仮想カード番号検証手段２０は、変更される第１コード及び第２コードに沿うように格納位置探索アルゴリズムを調節できる。前記格納位置探索アルゴリズムは、多様な形態で実現することができる。
【０１３７】
一実施形態として、図９に示すように、格納位置探索アルゴリズムが、ｋ（ｋはＭＮ）個のコードが並んだトラック上をｋ角形が各コードが配置された地点に頂点が対応しながら転がり移動するものであり得る。このとき、前記実際カード番号探索段階（Ｓ１０００）は、仮想カード番号検証手段２０が前記仮想カード番号生成手段１０から受信した前記仮想カード番号内の第１コードに対応するトラック上の地点にｋ角形を転がり移動する段階（Ｓ１０１０）、前記第１コードに対応する位置を開始地点に設定し、前記第２コードに適用された探索方式によって第２コードを基にｋ角形の配置状態における格納位置又は前記格納位置がマッチされた地点を探索する段階（Ｓ１０２０；格納位置探索段階）及び前記格納位置に含まれている実際カード番号を抽出する段階（Ｓ１０３０）を含む。
【０１３８】
仮想カード番号検証手段２０は、図８に示すように、仮想カード番号生成手段１０から受信した前記仮想カード番号内の第１コードに対応するトラック上の地点にｋ角形を転がり移動する（Ｓ１０１０）。格納位置探索アルゴリズムは、第１コードに該当するＭＮ個のコードが並んだトラックに沿って転がり移動するｋ角形（ｋはＭＮ）であり、ｋ角形の頂点が第１コードのトラック上にコードが配置される地点に対応しながら移動する。このとき、仮想カード番号検証手段２０は、第１コードに対応する地点にｋ角形の頂点が接するようにｋ角形を転がり移動させることができる。
【０１３９】
仮想カード番号検証手段２０は、図８に示すように、前記第１コードに対応する位置を開始地点に設定し、前記第２コードに適用された探索方式によって第２コードを基にｋ角形の配置状態における格納位置又は格納位置にマッチされた地点（即ち、ｋ角形の特定の頂点）を探索する（Ｓ１０２０；格納位置探索段階）。前記格納位置は、前記ｋ角形のそれぞれの頂点にマッチされる。第１コードのトラック（即ち、第１トラック）とｋ角形が対応する地点が第１コードに対応する格納位置の探索開始地点となる。仮想カード番号検証手段２０は、探索開始地点から第２コードを基に格納位置のマッチング地点を探索する。
【０１４０】
第２コードを基にｋ角形で格納位置を探索する方式としては、多様な方式が適用され得る。一例として、仮想カード番号検証手段２０は、ｋ角形が接している第１トラック上の位置で第２コードに相応する角度（例えば、ｋ角形の頂点に向かうように１８０度をＭＮ個に分割した特定の角度）で指示することによって、仮想カード番号に対応する実際カード番号が格納された格納位置であるｋ角形の頂点を探索できる。
【０１４１】
また、他の例として、ｋ角形が第１トラック上の第１コードに対応する地点に接している状態で、仮想カード番号検証手段２０はｋ角形の中心と第１トラック上の接点を基準に中心角全体（即ち、３６０度）をＭＮ個に分割し、それぞれの角度をＭＮ個の第２コードにマッチする。このとき、ｋ角形の中心と第１トラック上の接点を繋ぐ線から特定個数の単位角度（即ち、３６０度／ＭＮ）を移動した線の方向はｋ角形の特定の頂点となる。従って、特定の角度に対応する第２コードが受信されると、仮想カード番号検証手段２０は、該当角度方向に位置する頂点を探索できる。
【０１４２】
更に、他の例として、第２コードの特定の桁を角度算出方向を決定するものとして使用できる。即ち、Ｎ個（Ｎは自然数）の文字を用いて第２コードを生成する場合、１個の桁（Ｄｉｇｉｔ）で角度の測定方向を決定できる。例えば、仮想カード番号検証手段２０は、ｋ角形の中心と第１トラック上の接点を基準に中心角全体（即ち、３６０度）を分割してそれぞれの角度に第２コードをマッチする場合、ｋ角形の中心と第１トラック上の接点を繋ぐ線から左側方向に測定される角度か、右側方向に測定される角度かを１個の桁（Ｄｉｇｉｔ）の値で決定できる。
【０１４３】
一例として、格納位置探索アルゴリズムは、ｋ角形上の各頂点に角度の測定方向によって異なる２個の第２コードが１つの頂点に割り当てられることができる。即ち、１つの頂点に内角で到達時と外角で到達時に異なる第２コードとマッチされ、他の実際カード番号が連結され得る。他の例として、格納位置探索アルゴリズムは、Ｎ個（Ｎは自然数）の文字を用いて第２コードを生成する場合にＮ-１個で角度全体（例えば、中心角を基準に分割する場合３６０度）の半分に対してマッチし、１個の桁を用いて各頂点に到達するための角度の適用方向を決定できる。
【０１４４】
第２コードを基にｋ角形で格納位置を探索する方式はこれに限定されず、第２コードに相応するｋ角形上の地点と第１トラック上の接点間を特定の割合で分ける地点を格納位置として探索する方式などの多様な方式が適用され得る。
【０１４５】
その後、仮想カード番号検証手段２０は、前記格納位置に含まれている実際カード番号を抽出する（Ｓ１０３０）。即ち、仮想カード番号検証手段２０は、ｋ角形の頂点に対応する格納位置を探索し、格納位置内の実際カード番号を抽出する。
【０１４６】
また、他の実施形態として、前記格納位置探索アルゴリズムは、仮想カード番号を構成する複数の細部コードを基にトラック上を移動して実際カード番号の格納位置にマッチされた地点へ移動する。例えば、前記実際カード番号の格納位置にマッチされた地点は、仮想カード番号生成手段に実際カード番号を発行したカウント（即ち、時点）に対応するトラック上の地点であり得る。
【０１４７】
具体的に、仮想カード番号が、仮想カード番号生成関数が駆動された時点から経過した時間を基に生成された第１コードと、特定の仮想カード番号生成手段に実際カード番号が発行された時点から経過した時間を基に生成された第２コードとを含む場合、図１０に示すように、仮想カード番号検証手段２０は、第１コードに対応するコード値がマッチされたトラック上のカウントを探索開始地点に設定し、第２コードに第２関数の逆関数を適用することによって算出されたカウント値だけ前記探索開始地点からトラックに沿って回帰して仮想カード番号生成手段１０に実際カード番号を発行した時点のトラック上の地点（即ち、実際カード番号の格納位置にマッチされた地点）を探索する。仮想カード番号検証手段２０は、前記格納位置から抽出された前記実際カード番号で金融取引の進行又は金融取引の進行を要求する（Ｓ１２００）。
【０１４８】
また、図１１に示すように、他の実施形態として、特定の仮想カード番号生成手段１０から特定のカウントに新規で実際カード番号の生成が要求されると、前記特定のカウントにｋ角形の特定の頂点に対応する格納位置に実際カード番号を格納する段階（Ｓ１００；実際カード番号格納段階）を更に含む。前記特定の頂点は、前記特定のカウントにトラック上に接する。仮想カード番号検証手段２０が仮想カード番号生成関数及び格納位置探索アルゴリズムを駆動した後、特定の時点（又はカウント）が経過したとき、仮想カード番号検証手段２０は、特定の仮想カード番号生成手段１０に対する新規の実際カード番号の発行を受信することによって第１トラック上に接しているｋ角形の頂点にマッチされた格納位置に新たに生成した実際カード番号を格納する。具体的に、仮想カード番号検証手段２０で仮想カード番号生成関数及び格納位置探索アルゴリズムが駆動されることによって各カウント毎に１つのコードずつｋ角形とトラックが接する位置が移動するようにｋ角形が転がり移動するようになり、特定のカウントに新規の実際カード番号の発行が要求されると、特定のカウントにトラックに接している頂点が実際カード番号が格納されるｋ角形上の地点として決定される。
【０１４９】
例えば、図８に示すように、仮想カード番号検証手段は、Ａ時点で仮想カード番号生成手段Ａに対して実際カード番号を発行することによってＡ時点でトラックに接していたｋ角形の頂点に仮想カード番号生成手段Ａの実際カード番号を格納する。その後、カウントが経過するにつれてｋ角形はトラックに沿って転がり移動を行う。ｋ角形の回転により仮想カード番号生成手段Ａの実際カード番号が格納された格納位置が回転するようになる。
【０１５０】
即ち、トラックと接するｋ角形の頂点に実際カード番号が格納された後、ｎカウントが経過しただけｋ角形が回転し、経過したｎカウント数だけ実際カード番号が格納された地点が回転する。従って、第２コードが実際カード番号が発行されたカウント（即ち、時点）から経過した単位カウント数を反映させて算出されると、仮想カード番号検証手段２０は、第２コードを通じて仮想カード番号が生成された時点で実際カード番号が格納されたｋ角形上の地点を算出することができる。
【０１５１】
具体的に、第１コードが仮想カード番号検証手段２０内で特定の仮想カード番号生成関数及び格納位置探索アルゴリズムが駆動された最初の時点から経過したカウント数に対応するコード値であり、第２コードが特定の仮想カード番号生成手段１０に対して実際カード番号を発行した後、経過したカウント数に対応するコード値である場合、仮想カード番号検証手段２０は、第１コードを通じて仮想カード番号生成手段１０で仮想カード番号の生成を要求した時点（例えば、Ｃ時点）を把握し、第２コードを通じて該当時点のｋ角形の配置状態で実際カード番号が格納されたｋ角形上の頂点を把握する。即ち、第１コードは、ｋ角形の特定の頂点を探索できるｋ角形の配置状態となるようにするトラック上の地点を決定するのに利用され、第２コードは、第１コードに対応するトラック上の地点にｋ角形が配置された後に実際カード番号の格納位置にマッチされたｋ角形上の頂点を探索するのに用いられる。これにより、仮想カード番号生成手段１０で仮想カード番号を生成した後、仮想カード番号検証手段２０に提供されるが、遅延時間（ｄｅｌａｙ ｔｉｍｅ）があっても、仮想カード番号検証手段２０は、仮想カード番号に対応する実際カード番号を正確に探索できる。
【０１５２】
また、他の実施形態として、図１０に示すように、１つのトラック上で第１コードと第２コードを基に移動する格納位置探索アルゴリズムを用いる場合、仮想カード番号検証手段２０は、仮想カード番号生成関数が駆動された時点からトラックの開始地点よりスタートしたポインタ（Ｐｏｉｎｔｅｒ）が単位カウントが経過する度にトラック上の分割単位を移動して実際カード番号の発行時点（Ａ時点）に位置するトラック上の地点を実際カード番号の格納位置にマッチされた地点として決定できる。
【０１５３】
更に、他の実施形態として、図１２に示すように、前記仮想カード番号検証手段２０が前記第１コード又は前記第２コードを前記第１関数又は第２関数の逆関数を適用して正常に生成された仮想カード番号に該当するかを検証する段階（Ｓ５００）を更に含む。例えば、第１コードが仮想カード番号検証手段２０内で特定の仮想カード番号生成関数及び格納位置探索アルゴリズムが駆動された最初の時点から経過したカウント数に対応するコード値であり、第２コードが特定の仮想カード番号生成手段１０に対して実際カード番号を発行した後、経過したカウント数に対応するコード値である場合、仮想カード番号検証手段２０は、実際カード番号を格納位置に格納するとき、仮想カード番号生成関数の駆動後に実際カード番号の発行時まで経過した時間（Ｔｓ）を共に格納する。仮想カード番号検証手段２０は、仮想カード番号内の第１コードに第１関数の逆関数を適用して仮想カード番号生成関数の駆動時から仮想カード番号の生成時点までの経過時間（Ｔ１）を算出し、仮想カード番号内の第２コードに第２関数の逆関数を適用して実際カード番号の発行時から仮想カード番号の生成時点までの経過時間（Ｔ２）を算出する。その後、仮想カード番号検証手段２０は、Ｔ１とＴ２との差がＴｓに該当するか否かを判断して仮想カード番号を検証する。
【０１５４】
また、他の実施形態として、図１３に示すように、前記仮想カード番号生成手段１０から受信した第１受信コードと前記仮想カード番号検証手段２０で生成された第１関数によって生成された第１生成コードとを比較する段階（Ｓ６００）、前記第１受信コードが前記第１生成コードから誤差の許容範囲内に収まれば、前記第１受信コードを前記開始地点とする第１コードに設定する段階（Ｓ７００）及び前記第１受信コードが前記第１生成コードから誤差の許容範囲を超えれば、異常コードと判断する段階（Ｓ８００）を更に含む。仮想カード番号生成手段１０及び仮想カード番号検証手段２０は、時間が経過するにつれて同一の単位カウントが経過する。しかし、仮想カード番号生成手段１０と仮想カード番号検証手段２０に含まれているタイマ（Ｔｉｍｅｒ）間に誤差が存在して同一時点に経過したカウント数が異なり得る。従って、タイマによる誤差は解消しながら正常な仮想カード番号ではない異常コードを判別するための過程が必要である。このために、仮想カード番号検証手段２０は、内部で第１関数により特定のカウントで生成した第１コードである第１生成コードと仮想カード番号生成手段１０から受信した仮想カード番号内の第１コードである第１受信コードとを比較し（Ｓ６００）、第１生成コードと第１受信コードとの間で発生したカウント数の差が誤差の許容範囲内に該当すれば、正常コードと判断した後、第１受信コードを基準に実際カード番号の探索過程を行い（Ｓ７００）、第１生成コードと第１受信コードとの間で発生したカウント数の差が誤差の許容範囲を越えれば異常コードと判断する（Ｓ８００）。
【０１５５】
更に、他の実施形態として、前記仮想カード番号は特定の桁数の仮想セキュリティコードを更に含む場合、前記仮想カード番号検証手段が前記仮想カード番号生成手段から受信した受信仮想セキュリティコードと前記仮想カード番号検証手段内で生成された生成仮想セキュリティコードとが一致するか否かを判断して仮想カード番号を検証する段階を更に含む。仮想セキュリティコードはカードセキュリティコードの桁数に対応するように生成されることができ、実際カード番号のカードセキュリティコードの位置に表示されることができる。
【０１５６】
一実施形態として、仮想セキュリティコードは、仮想カード番号生成装置内の固有値及びカードセキュリティコード（例えば、ＣＶＣ／ＣＶＶ番号）を基に生成されることができる。前記固有値は、それぞれの仮想カード番号生成装置毎に個別に付与された装置固有値である。固有値及びカードセキュリティコードは、それぞれの仮想カード番号生成装置１００毎に付与されるものであるので、悪質な目的で仮想カード番号生成装置をハッキングするために、新たに仮想カード番号生成装置の発行を受けた者が個別の仮想カード番号生成装置に付与された固有値及びカードセキュリティコードを確認することができない。従って、仮想カード番号検証手段２０が仮想カード番号生成手段１０により固有値及びカードセキュリティコードを基に生成された仮想セキュリティコードを受信し、仮想カード番号生成手段１０を検証できる。
【０１５７】
また、他の実施形態として、仮想カード番号生成手段１０は、時間値を反映させて仮想セキュリティコードを生成できる。即ち、仮想カード番号生成手段１０は、ＯＴＰ（Ｏｎｅ Ｔｉｍｅ Ｐａｓｓｗｏｒｄ：固定されたパスワードの代わりに無作為に生成される一回限りのパスワードを用いる使用者認証）方式を用いて仮想セキュリティコードを生成できる。仮想カード番号検証手段２０は、仮想セキュリティコードに該当するＯＴＰ番号を仮想カード番号生成手段１０から受信し、仮想カード番号生成手段１０よりＯＴＰ番号を受信したカウントから特定範囲内のカウントで算出されたＯＴＰ番号を比較して仮想カード番号生成手段１０を検証する。即ち、仮想カード番号検証手段２０は、実際カード番号の格納位置内にカードセキュリティコード（例えば、ＣＶＣ／ＣＶＶ）と固有値を共に格納し、仮想カード番号が受信された時点で実際カード番号の格納空間から抽出されたカードセキュリティコード及び固有値を用いて生成されたＯＴＰ番号と仮想カード番号生成手段１０から受信したＯＴＰ番号とが一致するかを判断し、仮想カード番号生成手段１０を検証する。
【０１５８】
また、他の実施形態として、仮想セキュリティコードは、仮想カード番号生成手段が外部に出力せず、第１コード及び第２コードの生成に反映されることができる。図１４に示すように、仮想カード番号生成手段１０は、仮想カード番号生成装置内の固有値及びカードセキュリティコードを基に生成された仮想セキュリティコード値をカード番号の発行時点に加えたカウントの第１コードを生成し、仮想セキュリティコード値に対応するカウントの第２コードを生成する。即ち、第１コード及び第２コードは、仮想カード番号生成装置Ａに実際カード番号が発行されたＡ時点から仮想セキュリティコード値だけ移動（ｓｈｉｆｔｉｎｇ）したカウントを基に生成される。Ａ時点から移動（ｓｈｉｆｔｉｎｇ）したカウントは、生成される仮想セキュリティコード値によって現在時点に対応するカウントよりも以前のカウントになることもでき、以後のカウントになることもできる。仮想カード番号検証手段２０は、受信した第１コードと第２コードを格納位置探索アルゴリズムに適用して実際カード番号の格納位置がマッチされた地点を探索できる。これにより、他人が仮想カード番号を構成する第１コード及び第２コードが提供される順序を確認できなくなり、セキュリティが向上し得る。更に、他の実施形態として、仮想カード番号検証手段２０は、仮想セキュリティコードを基に生成された第２コードから仮想セキュリティコードを抽出した後、仮想セキュリティコード生成関数（即ち、ＯＴＰ関数）を仮想カード番号を受信したカウントから特定範囲内のカウントを入力して算出されたＯＴＰ番号のうち、仮想セキュリティコードと一致する値があるか否かを確認する。仮想カード番号検証手段は、第２コードに第２関数の逆関数を適用して第２コードの生成に用いられた仮想セキュリティコード値（即ち、ＯＴＰ関数値）を獲得し、仮想セキュリティコード値と同一の値を算出するカウントを探索する。仮想カード番号の伝送時間や遅延により仮想カード番号生成手段で仮想セキュリティコードが生成された時点と仮想カード番号検証手段が仮想セキュリティコードを受信した時点の間に差が存在することにより、仮想カード番号検証手段２０が仮想カード番号を受信したカウントと仮想セキュリティコードに該当するＯＴＰ番号を生成したカウントとが一致しないこともあり得るので、仮想カード番号検証手段２０は、仮想カード番号を受信したカウントから誤差範囲を許容する。これにより、仮想カード番号検証手段２０は、仮想カード番号を伝送した仮想カード番号生成手段が正常に実際カード番号とマッチしているかを検証でき、セキュリティが向上し得る。また、ユーザは、仮想カード番号の入力時に特定の桁数の仮想セキュリティコードを入力しなくても仮想カード番号検証手段２０が自ら仮想セキュリティコードを探索して仮想カード番号生成手段１０を検証するので、仮想カード番号生成手段１０を容易に使用できる。
【０１５９】
また、他の実施形態として、仮想カード番号生成手段１０は、金融取引が要求された時点で仮想カード番号生成装置内の固有値及びカードセキュリティコードを基に生成された仮想セキュリティコード値を加えたカウントに対応する第１コードを生成し、実際カード番号の発行時点（Ａ時点）と金融取引の要求時点（Ｃ時点）間のカウントの差に仮想セキュリティコード値を加えたカウントに対応する第２コードを生成する。即ち、仮想カード番号生成手段１０が第１コードと第２コードを生成する式は以下のように表される。
【０１６０】
［数１］
第１コード＝ｆ１（Ｃ時点のカウント＋仮想セキュリティコード）
第２コード＝ｆ２（Ｃ時点のカウント-Ａ時点のカウント＋仮想セキュリティコード）
（Ａ時点：実際カード番号の発行時点、Ｃ時点：金融取引要求時点のカウント、仮想セキュリティコード：ＯＴＰ番号）
【０１６１】
仮想カード番号検証手段２０は、受信した仮想カード番号内の第１コード及び第２コードを基に実際カード番号の格納位置を探索し、実際カード番号の格納位置内に共に含まれているカードセキュリティコード（即ち、ＣＶＶ又はＣＶＣ）及び仮想カード番号生成装置１００の固有値を抽出する。仮想カード番号検証手段２０は、カードセキュリティコード及び固有値を基に金融取引の要求を受信した時点から特定のカウント範囲内の仮想セキュリティコード（即ち、ＯＴＰ番号）を生成する。その後、仮想カード番号検証手段２０は、実際カード番号の発行時点（Ａ時点）より金融取引要求の受信時点から特定のカウント範囲内の各カウントまでのカウント数と仮想セキュリティコード（即ち、ＯＴＰ番号）の和が第２コードに対応するカウント数（即ち、第２コードに第２関数の逆関数を適用した値）と同一のカウントが存在するかを確認する。仮想カード番号検証手段は、第１コード及び第２コードを基に実際カード番号の格納位置がマッチされた地点を探索することによって実際カード番号の発行時点を把握できる。これにより、仮想カード番号検証手段２０は、仮想カード番号を提供した仮想カード番号生成手段１０が正常に発行されたか否かを確認することができる。
【０１６２】
また、他の実施形態として、図１５に示すように、特定の仮想カード番号生成手段から金融取引の取消要求が受信される場合、前記仮想カード番号生成手段で金融取引の取消を要求するカウントに対応する仮想カード番号を受信する段階（Ｓ１３００）、前記仮想カード番号検証手段が前記仮想カード番号に対応する実際カード番号を探索する段階（Ｓ１４００）、及び前記実際カード番号に対する以前の金融取引を取り消す段階（Ｓ１５００）を更に含む。一般に、金融取引時に仮想カード番号を用いる場合、決済を行った仮想カード番号を再び探索するのに困難があり、カード決済をキャンセルする際に困難があった。本発明の一実施形態では、カード決済時と決済したカードの取消時に異なる仮想カード番号が発行されるが、同一の仮想カード番号生成手段で生成された仮想カード番号であるので、同一の実際カード番号に繋がっており、決済の取消時に提供された仮想カード番号で決済を行った実際カード番号を容易に探索できる。
【０１６３】
即ち、仮想カード番号検証手段２０は、決済の取消時点で仮想カード番号生成手段１０で生成された仮想カード番号（即ち、第２仮想カード番号）を受信する（Ｓ１３００）。仮想カード番号検証手段２０は、第２仮想カード番号に対応する実際カード番号を探索する（Ｓ１４００）。実際カード番号を探索する方式は、金融取引の進行のために、実際カード番号を探索するＳ１０００段階と同一の方式が適用されることができる。その後、仮想カード番号検証手段２０は、探索された実際カード番号を基にカード決済の取消を行う（Ｓ１５００）。仮想カード番号検証手段２０は、金融取引の実行（即ち、カード決済）時に用いられた仮想カード番号（即ち、第１仮想カード番号）を探索しなくても、金融取引が実行された実際カード番号を第２仮想カード番号を用いて探索するので、金融取引の取消を行うことができる。
【０１６４】
以上で前述した本発明の一実施形態に係る仮想カード番号基盤の金融取引提供方法は、ハードウェアであるコンピュータと結合して実行されるためにプログラム（又はアプリケーション）で実現して媒体に格納され得る。
【０１６５】
上述したプログラムは、前記コンピュータがプログラムを読み込んでプログラムで実現した前記方法を実行させるために、前記コンピュータのプロセッサ（ＣＰＵ）が前記コンピュータの装置インターフェースを介して読み取られるＣ、Ｃ++、ＪＡＶＡ、機械語などのコンピュータ言語でコード化されたコード（Ｃｏｄｅ）を含むことができる。このようなコードは、前記方法を実行する必要な機能を定義した関数などと関連する機能的なコード（Ｆｕｎｃｔｉｏｎａｌ Ｃｏｄｅ）を含むことができ、前記機能を前記コンピュータのプロセッサが所定の手順通りに実行させるのに必要な実行手順関連の制御コードを含むことができる。また、このようなコードは、前記機能を前記コンピュータのプロセッサが実行させるのに必要な追加の情報やメディアが前記コンピュータの内部又は外部メモリのどの位置（アドレスナンバー）で参照されなければならないかに対するメモリ参照関連のコードを更に含むことができる。また、前記コンピュータのプロセッサが前記機能を実行させるために遠隔（Ｒｅｍｏｔｅ）にある任意の他のコンピュータやサーバなどと通信が必要な場合、コードは前記コンピュータの通信モジュールを用いて遠隔にある任意の他のコンピュータやサーバなどとどのように通信すべきか、通信時にどんな情報やメディアを送受信すべきかなどに対する通信関連のコードを更に含むことができる。
【０１６６】
前記格納される媒体は、レジスタ、キャッシュ、メモリなどのように短い瞬間にデータを格納する媒体ではなく半永久的にデータを格納し、機器により読み取り（ｒｅａｄｉｎｇ）が可能な媒体を意味する。具体的には、前記格納される媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ-ＲＯＭ、磁気テープ、フロッピーディスク、光データ格納装置などが挙げられるが、これに制限されない。即ち、前記プログラムは、前記コンピュータが接続できる多様なサーバ上の多様な記録媒体又はユーザの前記コンピュータ上の多様な記録媒体に格納されることができる。また、前記媒体は、ネットワークに繋がっているコンピュータシステムに分散され、分散方式でコンピュータが読み取れるコードが格納され得る。
【０１６７】
前記のような本発明によると、以下のような多様な効果を奏する。
【０１６８】
第一に、単位カウント毎に仮想カード番号が新たに生成され、重複する仮想カード番号が定められた全周期中に登場しないので、仮想カード番号の流出時にも実際カード番号が漏れないという効果を提供する。
【０１６９】
第二に、仮想カード番号生成装置と実際カード番号検証装置（例えば、金融機関のサーバ）にのみ仮想カード番号の生成及び実際カード番号の探索のためのアルゴリズムが追加されればよいので、既存に実際カード番号を用いるプロセスをそのまま維持できる。例えば、スマートカード又はＡＰＰカードに重複して生成されない仮想カード番号を生成して提供される場合、ＰＯＳ装置とＰ Ｇ会社のサーバはそのまま維持され、仮想カード番号をカード会社サーバに伝達し、カード会社サーバが仮想カード番号に相応する実際カード番号を探索して決済を行える。これにより、セキュリティを高めるために既存のプロセス内で変更されなければならない部分を最小化でき、ユーザは、セキュリティ向上のための別途の段階を実行しなくてもよい。
【０１７０】
第三に、同一の仮想カード番号生成手段から提供された仮想カード番号は、生成時点と関係なく実際カード番号にマッチされるので、各カウント毎に変更される仮想カード番号を用いるものの、容易に金融取引の取消を行うことができる。
【０１７１】
以上、添付の図面を参照して本発明の実施形態を説明したが、本発明が属する技術分野において通常の技術者は、本発明がその技術的思想や必須な特徴を変更せず、他の具体的な形態で実施され得るということが理解できるであろう。従って、以上で記述した実施形態は、あらゆる面で例示的なものであり、制約的ではないと理解すべきである。
【図１】
2019091485.tif 000003
【図２】
2019091485.tif 000004
【図３】
2019091485.tif 000005
【図４】
2019091485.tif 000006
【図５】
2019091485.tif 000007
【図６】
2019091485.tif 000008
【図７】
2019091485.tif 000009
【図８】
2019091485.tif 000010
【図９】
2019091485.tif 000011
【図１０】
2019091485.tif 000012
【図１１】
2019091485.tif 000013
【図１２】
2019091485.tif 000014
【図１３】
2019091485.tif 000015
【図１４】
2019091485.tif 000016
【図１５】
2019091485.tif 000017