(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-09
(45)【発行日】2022-12-19
(54)【発明の名称】仮想コードを生成及び提供するスマートカードとその方法及びプログラム
(51)【国際特許分類】
G06Q 20/34 20120101AFI20221212BHJP
G06K 19/077 20060101ALI20221212BHJP
G06K 19/073 20060101ALI20221212BHJP
G06K 19/06 20060101ALI20221212BHJP
G06F 21/32 20130101ALI20221212BHJP
【FI】
G06Q20/34 300
G06K19/077 244
G06K19/073 054
G06K19/077 112
G06K19/06 112
G06F21/32
(21)【出願番号】P 2021506752
(86)(22)【出願日】2019-08-06
(86)【国際出願番号】 KR2019009760
(87)【国際公開番号】W WO2020032517
(87)【国際公開日】2020-02-13
【審査請求日】2021-02-08
(31)【優先権主張番号】10-2018-0093349
(32)【優先日】2018-08-09
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2019-0094493
(32)【優先日】2019-08-02
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】517002580
【氏名又は名称】株式会社センストーン
【氏名又は名称原語表記】SSENSTONE INC.
【住所又は居所原語表記】15F., Frontone, 122 Mapo-daero, Mapo-gu, Seoul,04213 Korea
(74)【代理人】
【識別番号】100121382
【氏名又は名称】山下 託嗣
(72)【発明者】
【氏名】ユ,チャン フン
【審査官】谷川 智秀
(56)【参考文献】
【文献】特開2018-056831(JP,A)
【文献】特開2018-050434(JP,A)
【文献】国際公開第2015/115075(WO,A1)
【文献】国際公開第2008/004312(WO,A1)
【文献】特開2009-031940(JP,A)
【文献】特開2005-182192(JP,A)
【文献】特開平11-195102(JP,A)
【文献】特開2005-050292(JP,A)
【文献】特開2008-269342(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06K 19/077
G06K 19/073
G06K 19/06
G06F 21/32
(57)【特許請求の範囲】
【請求項1】
外部機器から第1電源の供給を受け、前記外部機器と通信できる通信インターフェースと、
特定時点を基準に付与される初期時間値からの時間データを測定する時間測定モジュールと、
前記第1電源を用いて前記時間データを基にカウントされる時間カウントに基づいて仮想コードを生成する仮想コード生成部と、
前記仮想コードを外部に提供する仮想コード提供部とを含み、
前記仮想コードは、
仮想カード番号又は仮想トークンであり、スマートカードに事前に格納された仮想コード生成関数により
実際のカード番号が発行された時点の時間カウントに基づいて生成され、仮想コード検証サーバで前記実際のカード番号が発行された時点の時間カウントに対応する前記実際のカード番号の格納位置の探索に用いられ、
前記時間測定モジュールは、
前記時間データを測定するクロックと、前記クロックに第2電源を供給するクロック用バッテリとを含む、仮想コードを生成及び提供するスマートカード。
【請求項2】
前記通信インターフェースは、ICコネクタ又はアンテナのうちの1つ以上を含み、
前記ICコネクタは、前記スマートカードが接触式である場合に、前記外部機器と物理的に接触して前記外部機器から第1電源の供給を受け、
前記アンテナは、前記スマートカードが非接触式である場合に、前記外部機器と物理的に接触せず、前記外部機器から第1電源の供給を受けることを特徴とする請求項1に記載の仮想コードを生成及び提供するスマートカード。
【請求項3】
前記外部機器はユーザ端末であり、
前記第1電源は、スマートカードが前記ユーザ端末にタギングされることで供給されることを特徴とする請求項2に記載の仮想コードを生成及び提供するスマートカード。
【請求項4】
前記仮想コード提供部はディスプレイ部を含み、前記ディスプレイ部に前記仮想コードをコード値又はイメージコードとして出力することを特徴とする請求項3に記載の仮想コードを生成及び提供するスマートカード。
【請求項5】
ユーザの指紋を認識して使用権限を確認する指紋認識部を更に含み、
前記仮想コード生成部は、前記指紋認識部を介して認識された指紋が事前に登録された指紋情報と一致する場合にのみ仮想コードを生成することを特徴とする請求項4に記載の仮想コードを生成及び提供するスマートカード。
【請求項6】
前記時間測定モジュールで測定された第1時間カウントは、前記仮想コード検証サーバで測定された第2時間カウントと一致するか検証され、
前記第1時間カウントと前記第2時間カウントとの差が特定の誤差範囲内である場合に一致するものと判断されることを特徴とする請求項1に記載の仮想コードを生成及び提供するスマートカード。
【請求項7】
前記仮想コード検証サーバには、前記実際のカード番号とマッチする単位カウントに時間補正値が格納及び管理され、前記時間補正値は、各ユーザ別に測定された誤差履歴に基づいて特定され、
前記第1時間カウントは、前記時間補正値が反映されて検証されることを特徴とする請求項6に記載の仮想コードを生成及び提供するスマートカード。
【請求項8】
前記仮想コードは、
前記仮想コード生成関数により、複数の細部コードを組み合わせて生成され
、
前記複数の細部コードは、
前記仮想コード生成関数が駆動された時点から経過した時間に基づいて生成され、前記実際のカード番号の格納位置の探索の開始地点を設定する第1コードと、
前記実際のカード番号が発行された時点から経過した時間に基づいて生成され、前記開始地点から前記実際のカード番号の格納位置への探索経路を設定する第2コードと、
を含むことを特徴とする請求項
1に記載の仮想コードを生成及び提供するスマートカード。
【請求項9】
スマートカードが外部から第1電源の供給を受ける段階と、
前記スマートカードが前記第1電源を用いて時間カウントに基づいて仮想コードを生成する段階と、
前記スマートカードが前記仮想コードを外部に提供する段階とを含み、
前記仮想コードは、
仮想カード番号又は仮想トークンであり、前記スマートカードに事前に格納された仮想コード生成関数により
実際のカード番号が発行された時点の時間カウントに基づいて生成され、仮想コード検証サーバで前記実際のカード番号が発行された時点の時間カウントに対応する前記実際のカード番号の格納位置の探索に用いられ、
前記時間カウントは、
前記スマートカードに含まれている時間測定モジュールにより特定時点を基準に付与される初期時間値から測定された時間データを基にカウントされ、
前記時間測定モジュールは、
前記時間データを測定するクロックと、前記クロックに第2電源を供給するクロック用バッテリとを含む、スマートカード基盤の仮想コードを生成及び提供する方法。
【請求項10】
前記スマートカードは、ICコネクタ又はアンテナのうちの1つ以上を含み、
前記ICコネクタは、前記スマートカードが接触式である場合に、外部機器と物理的に接触して前記外部機器から第1電源の供給を受け、
前記アンテナは、前記スマートカードが非接触式である場合に、前記外部機器と物理的に接触せず、前記外部機器から第1電源の供給を受けることを特徴とする請求項
9に記載のスマートカード基盤の仮想コードを生成及び提供する方法。
【請求項11】
前記外部機器はユーザ端末であり、
前記外部から第1電源の供給を受ける段階では、スマートカードが前記ユーザ端末にタギングされることで第1電源が供給される、ことを特徴とする請求項
10に記載のスマートカード基盤の仮想コードを生成及び提供する方法。
【請求項12】
前記スマートカードはディスプレイ部を含み、
前記仮想コードを外部に提供する段階では、前記ディスプレイ部に前記仮想コードをコード値又はイメージコードとして出力することを特徴とする請求項
11に記載のスマートカード基盤の仮想コードを生成及び提供する方法。
【請求項13】
前記スマートカードがユーザの指紋を認識して使用権限を確認する段階を更に含み、
前記スマートカードは、認識された指紋が事前に登録された指紋情報と一致する場合にのみ仮想コードを生成することを特徴とする請求項
12に記載のスマートカード基盤の仮想コードを生成及び提供する方法。
【請求項14】
前記スマートカードで測定された第1時間カウントは、前記仮想コード検証サーバで測定された第2時間カウントと一致するか検証され、
前記第1時間カウントと前記第2時間カウントとの差が特定の誤差範囲内である場合に一致するものと判断されることを特徴とする請求項
9に記載のスマートカード基盤の仮想コードを生成及び提供する方法。
【請求項15】
前記仮想コード検証サーバには、前記実際のカード番号とマッチする単位カウントに時間補正値が格納及び管理され、前記時間補正値は、各ユーザ別に測定された誤差履歴に基づいて特定され、
前記第1時間カウントは、前記時間補正値が反映されて検証されることを特徴とする請求項
14に記載のスマートカード基盤の仮想コードを生成及び提供する方法。
【請求項16】
前記仮想コードは、
前記仮想コード生成関数により、複数の細部コードを組み合わせて生成され
、
前記複数の細部コードは、
前記仮想コード生成関数が駆動された時点から経過した時間に基づいて生成され、前記実際のカード番号の格納位置の探索の開始地点を設定する第1コードと、
前記実際のカード番号が発行された時点から経過した時間に基づいて生成され、前記開始地点から前記実際のカード番号の格納位置への探索経路を設定する第2コードと、
を含むことを特徴とする請求項
9に記載のスマートカード基盤の仮想コードを生成及び提供する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想コードを生成及び提供するスマートカードとその方法及びプログラムに関し、より詳細には、各時点毎に重複しないように生成される仮想コードを生成し、外部に提供して決済を行えるようにする仮想コードを生成及び提供するスマートカードとその方法及びプログラムに関する。
【背景技術】
【0002】
コード化されたデータは、多くの領域において利用されている。決済時に用いられるカード番号、口座番号だけでなく、ユーザの識別のためのIPIN番号、住民登録番号(韓国版マイナンバー)などがコード化されたデータである。
【0003】
しかし、このようなコードデータを用いる過程で流出事故が多く発生する。カード番号の場合、カードの表面に実際のカード番号がそのまま記載されており、他人に視覚的に流出し、磁気を用いた決済時にカード番号がそのままPOS装置に伝達されることで漏洩する。
【0004】
実際のカード番号がそのまま流出しないようにするために、仮想カード番号を利用しようとする試みが多かったが、仮想カード番号に対応する実際のカード番号を探索するために、ユーザを識別するためのデータが必要であった。例えば、OTP(One Time Password)の場合、毎回、一度限り有効なパスワードが生成されるが、ユーザに付与されたアルゴリズム判断のためにログイン手順が必要であり、多様な領域に適用し難い。
【0005】
一方、ICカード(Integrated Circuit Card)とは、クレジットカード、キャッシュカードなどに半導体メモリ記憶素子(ICメモリ)を挿入したカードである。ICカードは、ICメモリに格納されている情報を伝達するために外部機器と通信できるICコネクタ又はアンテナを備えており、カードリーダにICカードを挿入するか、近距離無線通信技術が用いられる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
そこで、本発明は上記事情に鑑みてなされたものであって、その目的は、カードを利用して決済を行う際に実際のカード情報を露出することなく、実際のカード番号を探索できる仮想コードを生成及び提供するスマートカードとその方法及びプログラムを提供することにある。
【0007】
また、本発明の他の目的は、スマートカードを利用した決済を要求する度に、重複して生成されない仮想コードを生成及び提供するスマートカードとその方法及びプログラムを提供することにある。
【0008】
更に、本発明の別の目的は、既存に用いられる決済システム及び装置をそのまま維持しながら実際のカード情報の代わりに利用できる仮想コードを生成及び提供するスマートカードとその方法及びプログラムを提供することにある。
【0009】
本発明が解決しようとする課題は、以上で言及した課題に制限されず、言及していない更に他の課題は、以下の記載から通常の技術者が明確に理解できるだろう。
【課題を解決するための手段】
【0010】
上述した課題を解決するための本発明の一側面に係る仮想コードを生成及び提供するスマートカードは、外部機器から第1電源の供給を受け、前記外部機器と通信できる通信インターフェースと、特定時点を基準に付与される初期時間値からの時間データを測定する時間測定モジュールと、前記第1電源を用いて前記時間データを基にカウントされる時間カウントに基づいて仮想コードを生成する仮想コード生成部と、前記仮想コードを外部に提供する仮想コード提供部とを含み、前記仮想コードは、仮想カード番号又は仮想トークンであり、スマートカードに事前に格納された仮想コード生成関数により実際のカード番号にマッチしたコードとして生成されるものであって、仮想コード検証サーバで前記実際のカード番号の探索に用いられ、前記時間測定モジュールは、前記時間データを測定するクロックと、前記クロックに第2電源を供給するクロック用バッテリとを含む。
【0011】
また、前記通信インターフェースは、ICコネクタ又はアンテナのうちの1つ以上を含み、前記ICコネクタは、前記スマートカードが接触式である場合に、前記外部機器と物理的に接触して前記外部機器から第1電源の供給を受け、前記アンテナは、前記スマートカードが非接触式である場合に、前記外部機器と物理的に接触せず、前記外部機器から第1電源の供給を受けることを特徴とする。
【0012】
更に、前記外部機器はユーザ端末であり、前記第1電源は、スマートカードが前記ユーザ端末にタギングされることで供給されることを特徴とする。
【0013】
また、前記仮想コード提供部はディスプレイ部を含み、前記ディスプレイ部に前記仮想コードをコード値又はイメージコードの形状として出力することを特徴とする。
【0014】
更に、ユーザの指紋を認識して使用権限を確認する指紋認識部を更に含み、前記仮想コード生成部は、前記指紋認識部を介して認識された指紋が事前に登録された指紋情報と一致する場合にのみ仮想コードを生成することを特徴とする。
【0015】
また、前記時間測定モジュールで測定された第1時間カウントは、前記仮想コード検証サーバで測定された第2時間カウントと一致するか検証され、前記第1時間カウントと前記第2時間カウントとの差が特定の誤差範囲内である場合に一致するものと判断されることを特徴とする。
【0016】
更に、前記仮想コード検証サーバには、前記実際のカード番号とマッチする単位カウントに時間補正値が格納及び管理され、前記時間補正値は、各ユーザ別に測定された誤差履歴に基づいて特定され、前記第1時間カウントは、前記時間補正値が反映されて検証されることを特徴とする。
【0017】
また、前記仮想コードは、複数の細部コードを組み合わせて生成されることができる。
【0018】
更に、前記複数の細部コードは、格納位置の探索の開始地点を設定する第1コードと、特定の探索方式によって、前記開始地点から前記格納位置への探索経路を設定する第2コードとを含む。
【0019】
上述した課題を解決するための本発明の他の側面に係るスマートカード基盤の仮想コードを生成及び提供する方法は、スマートカードが外部から第1電源の供給を受ける段階と、前記スマートカードが前記第1電源を用いて時間カウントに基づいて仮想コードを生成する段階と、前記スマートカードが前記仮想コードを外部に提供する段階とを含み、前記仮想コードは、仮想カード番号又は仮想トークンであり、前記スマートカードに事前に格納された仮想コード生成関数により実際のカード番号にマッチしたコードとして生成されるものであって、仮想コード検証サーバで前記実際のカード番号の探索に用いられ、前記時間カウントは、前記スマートカードに含まれている時間測定モジュールにより特定時点を基準に付与される初期時間値から測定された時間データを基にカウントされ、前記時間測定モジュールは、前記時間データを測定するクロックと、前記クロックに第2電源を供給するクロック用バッテリとを含む。
【0020】
また、前記スマートカードは、ICコネクタ又はアンテナのうちの1つ以上を含み、前記ICコネクタは、前記スマートカードが接触式である場合に、外部機器と物理的に接触して前記外部機器から第1電源の供給を受け、前記アンテナは、前記スマートカードが非接触式である場合に、前記外部機器と物理的に接触せず、前記外部機器から第1電源の供給を受けることを特徴とする。
【0021】
更に、前記外部機器はユーザ端末であり、前記外部から第1電源の供給を受ける段階は、スマートカードが前記ユーザ端末にタギングされて第1電源の供給を受けることを特徴とする。
【0022】
また、前記スマートカードはディスプレイ部を含み、前記仮想コードを外部に提供する段階は、前記ディスプレイ部に前記仮想コードをコード値又はイメージコードの形状として出力することを特徴とする。
【0023】
更に、前記スマートカードがユーザの指紋を認識して使用権限を確認する段階を更に含み、前記スマートカードは、認識された指紋が事前に登録された指紋情報と一致する場合にのみ仮想コードを生成することを特徴とする。
【0024】
また、前記スマートカードで測定された第1時間カウントは、前記仮想コード検証サーバで測定された第2時間カウントと一致するか検証され、前記第1時間カウントと前記第2時間カウントとの差が特定の誤差範囲内である場合に一致するものと判断されることを特徴とする。
【0025】
更に、前記仮想コード検証サーバには、前記実際のカード番号とマッチする単位カウントに時間補正値が格納及び管理され、前記時間補正値は、各ユーザ別に測定された誤差履歴に基づいて特定され、前記第1時間カウントは、前記時間補正値が反映されて検証されることを特徴とする。
【0026】
また、前記仮想コードは、複数の細部コードを組み合わせて生成されることができる。
【0027】
更に、前記複数の細部コードは、格納位置の探索の開始地点を設定する第1コードと、特定の探索方式によって、前記開始地点から前記格納位置への探索経路を設定する第2コードとを含む。
【0028】
上述した課題を解決するための本発明の更に他の側面に係るスマートカード基盤の仮想コードの生成及び提供プログラムは、前記スマートカード基盤の仮想コードを生成及び提供する方法をハードウェアであるコンピュータに実行させるプログラムであって、コンピュータと結合された媒体に格納される。
【0029】
本発明のその他の具体的な事項は、詳細な説明及び図面に含まれている。
【発明の効果】
【0030】
前記本発明によれば、スマートカードを利用して決済を行う際に実際のカード情報の代わりに仮想コード、即ち、仮想カード番号又は仮想トークンなどを用いるので、実際のカード情報が漏洩するのを防止できる。
【0031】
また、前記本発明によれば、決済を要求する度に異なる時間カウントに基づいて仮想コードを生成するので、重複しない仮想コードを生成することが可能であるため、特定時点での仮想コードが流出してもそれによる被害を予防でき、実際のカード情報が漏れないという効果を奏する。
【0032】
更に、前記本発明によれば、実際のカード番号などと同じ形式の仮想コードを用いるので、既存に実際のカード番号を用いる決済プロセスをそのまま維持できる。例えば、金融取引サービスを提供するアプリケーションで重複して生成されない仮想カード番号を生成して提供する場合、POS装置とPG会社のサーバはそのまま維持されて仮想カード番号をトークンサービスサーバ又は金融機関のサーバに伝達し、トークンサービスサーバ又は金融機関のサーバが仮想カード番号に相応する実際のカード番号を探索して決済を行える。これにより、セキュリティを向上させるために既存のプロセス内で変更されるべき部分を最小化でき、ユーザはセキュリティの向上のための別途の段階を行わなくても済む。
【0033】
本発明の効果は、以上で言及した効果に制限されず、言及していない更に他の効果は、以下の記載から通常の技術者が明確に理解できるだろう。
【図面の簡単な説明】
【0034】
【
図1】本発明の一実施例に係るスマートカード基盤の仮想コードを生成及び提供するシステムのブロック図である。
【
図2】本発明の一実施例に係るスマートカードの構成図である。
【
図3】本発明の一実施例に係るスマートカードに含まれている通信インターフェースの例示図である。
【
図4】本発明の一実施例に係る時間測定モジュールの構成図である。
【
図5】本発明の一実施例に係る仮想コード提供部がディスプレイ部を含む場合の例示図である。
【
図6】本発明の一実施例に係るスマートカードをユーザ端末にタギングして用いる様子を示す例示図である。
【
図7】本発明の一実施例に係るスマートカードに指紋認識部が含まれている様子を示す例示図である。
【
図8】本発明の一実施例に係るスマートカードが仮想コードを生成及び提供する方法のフローチャートである。
【
図9】本発明の一実施例に係る指紋認識部が追加された場合のスマートカードが仮想コードを生成及び提供する方法のフローチャートである。
【
図10】本発明の一実施例に係る時間カウントの一致不一致を検証する段階が追加された場合のスマートカードが仮想コードを生成及び提供する方法のフローチャートである。
【
図11】本発明の一実施例に係る時間カウントの一致不一致を検証する段階を細部的に示すフローチャートである。
【
図12】本発明の一実施例に係る時間カウントの一致不一致を検証し、決済を承認するか否かを決定する過程を概略的に示す順序図である。
【発明を実施するための形態】
【0035】
本発明の利点及び特徴、そしてそれらを達成する方法は、添付の図面と共に詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は、以下で開示される実施例に制限されるものではなく、互いに異なる多様な形態で実現することができる。但し、本実施例は本発明の開示を完全なものにし、本発明が属する技術分野における通常の技術者に本発明の範疇を完全に理解させるために提供されるものであり、本発明は請求項の範囲により定義されるに過ぎない。
【0036】
本明細書で用いられた用語は、実施例を説明するためのものであり、本発明を制限しようとするものではない。本明細書において、単数型は特に言及しない限り複数型も含む。明細書で用いられる「含む(comprises)」及び/又は「含んでいる(comprising)」は、言及された構成要素以外に1つ以上の他の構成要素の存在又は追加を排除しない。明細書全体に亘って同一の図面符号は同一の構成要素を示し、「及び/又は」は言及された構成要素のそれぞれ及び1つ以上の全ての組み合わせを含む。たとえ、「第1」、「第2」などが多様な構成要素を叙述するために用いられていても、これらの構成要素はこれらの用語により制限されないのは当然である。これらの用語は、単に1つの構成要素を他の構成要素と区別するために用いる。従って、以下で言及される第1構成要素は、本発明の技術的思想内で第2構成要素でもあり得るのは言うまでもない。
【0037】
他の定義がなければ、本明細書で用いられる全ての用語(技術及び科学的用語を含む)は、本発明が属する技術分野における通常の技術者が共通して理解できる意味として用いられる。また、一般に用いられる辞典に定義されている用語は、明白に特に定義されていない限り、理想的に又は過度に解釈されない。
【0038】
本明細書において、「スマートカード」は仮想コードを生成及び提供できるカードを意味する。また、クレジットカード、チェックカード、キャッシュカードなど金融取引を行える任意のカードであり、カードの種類及び目的には制限がない。
【0039】
本明細書において、「文字」はコードを構成する構成要素であって、アルファベットの大文字、アルファベットの小文字、数字及び特殊文字などの全部又は一部を含む。
【0040】
本明細書において、「コード」は文字が並んでいる文字列を意味する。
【0041】
本明細書において、「カード番号」は決済などの金融取引のために用いられるものであって、カードに付与され、決済、決済の取消しなどの状況にカード会社に伝達される番号を意味する。
【0042】
本明細書において、「実際のカード番号」はカード会社から特定のユーザのカードに付与する番号である。即ち、実際のカード番号は一般的な実物のカード、モバイルカードなどに付与される番号を意味する。
【0043】
本明細書において、「仮想コード」は実際のカード番号に連結されるように臨時に生成されるカード番号であって、数字を含む文字からなる特定の桁数のコードである。前記仮想コードは、金融機関のサーバで実際のカード番号の探索に用いる仮想カード番号、仮想トークン検証サーバで実際のカード番号の探索に用いる仮想トークンなどを含む。
【0044】
本明細書において、「細部コード」は仮想コードに含まれる一部のコードを意味する。即ち、仮想コードが別途生成された複数のコードを結合して生成される場合、細部コードは別途生成されて仮想コードを構成する個別のコードを意味する。
【0045】
本明細書において、「単位カウント」は特定の時間間隔に設定され、前記時間間隔が経過するにつれて変更されるものとして定義された単位である。例えば、1カウントは特定の時間間隔(例えば、1.5秒)に設定されて用いられる。
【0046】
本明細書において、「仮想コード生成関数」は仮想コードを生成するのに用いられる関数を意味する。
【0047】
本明細書において、「細部コード生成関数」は仮想コードを構成するそれぞれの細部コードを生成する関数を意味する。
【0048】
本明細書において、「細部コード結合関数」は複数の細部コードを組み合わせ又は結合して仮想コード(例えば、仮想カード番号又は仮想トークン)を生成する関数を意味する。
【0049】
本明細書において、「ユーザ端末」は演算処理を行ってユーザに結果を提供できる任意の装置である。例えば、コンピュータはデスクトップPC、ノートブック(Note Book)だけでなく、スマートフォン(Smart phone)、タブレットPC、携帯電話(Cellular phone)、PCSフォン(PCS phone;Personal Communication Service phone)、同期式/非同期式IMT-2000(International Mobile Telecommunication-2000)の移動端末、パームPC(Palm Personal Computer)、携帯情報端末(PDA;Personal Digital Assistant)なども該当し、これに限定されるものではない。
【0050】
本明細書において、「近距離無線通信(Short-range Wireless Communication)」は、物理的に分離された端末が接触又は近接することによって無線で通信を行う無線通信技術を意味する。例えば、近距離無線通信は複数の端末が、ユーザが直接確認しながら手で制御できる範囲内に位置している状態で無線通信を行う方式が該当し得る。
【0051】
以下、添付の図面を参照して本発明の実施例を詳細に説明する。
【0052】
図1は、本発明の一実施例に係るスマートカード基盤の仮想コードを生成及び提供するシステムのブロック図である。
【0053】
図1を参照すれば、本発明の一実施例に係るスマートカード基盤の仮想コードを生成及び提供するシステムは、スマートカード100及び外部機器200を含み、必要に応じてサーバ300を更に含むことができる。
【0054】
スマートカード100は金融取引を行えるカードであって、実際のカード情報の代わりに仮想コードを用いて金融取引を行うカードである。また、スマートカード100は、クレジットカード、チェックカード、キャッシュカードなど金融取引を行える任意のカードであり、カードの種類及び目的には制限がない。
【0055】
また、スマートカード100は金属素材でできており、当該金属素材は、ステンレス、チタニウム、アルミニウム及び非晶質合金や非金属素材など任意の金属素材であり、上述した例示に限定されない。
【0056】
本発明において、スマートカード100は、金融取引に用いられる仮想コードを外部からデータを受信せず、直接生成する役割を果たす。スマートカード100は、金融取引の要求時にのみ作動して仮想コードを生成及び提供し、前記仮想コードの生成及び提供のために必要な電源(本明細書における「第1電源」)は外部から供給を受ける。即ち、スマートカード100は、仮想コードの生成及び提供に必要な電源の供給のために別途のバッテリを備える必要がない。従って、スマートカード100の製造コストを削減でき、バッテリの寿命によりスマートカード100の使用に制約がない。
【0057】
一実施例として、スマートカード100は、時間を測定するクロック121を駆動するための電源(本明細書における「第2電源」)以外に他の構成を駆動するための電源を供給するバッテリを含まない。即ち、スマートカード100内のクロック121以外の構成を駆動するための電源は、何れもユーザにより金融取引が要求された時点に外部から供給を受ける第1電源であり、スマートカード100は、クロック121を駆動するための第2電源を供給するクロック用バッテリ122のみを含むことができる。
【0058】
スマートカード100が外部から電源の供給を受ける形式は、金融取引の要求方式が接触式になっているか、非接触式になっているかなどによって多様であり、詳細な説明は後述する。
【0059】
スマートカード100は、特定時点を基準に付与される初期時間値からの時間データを測定する。また、前記時間データを基にカウントされた時間カウントに基づいて仮想コードを生成する。
【0060】
仮想コードの生成に用いられる前記時間データも外部から受信せず、スマートカード100自体で直接測定される。このとき、前記時間データは金融取引の要求時だけでなく、特定時点(例えば、カード使用の開始時点又はカードの製造時点)から持続的に測定されなければならない。即ち、スマートカードが現在時間を測定できなければ、サーバが現時点で有効なものと判断できる正常な仮想コードを生成できない恐れがある。従って、スマートカードは、サーバと同一の時点を獲得するために外部電源が提供されない間にも時間を継続して測定する。
【0061】
クロック用バッテリ122は、クロック121のみを特定期間に駆動可能な容量のバッテリであり得る。例えば、スマートカード100の使用期限がスマートカード100の製作時期又はユーザがスマートカード100の使用を開始した時期から5年に設定される場合、スマートカード100は、時間測定を行うクロック121を5年間駆動できるクロック用バッテリ122を含むことができる。
【0062】
クロック121により測定される時間データは、仮想コードが金融取引の要求時点に正常に有効に生成されたかを検証するのに核心的な役割を果たす。クロック121及びクロック用バッテリ122を含む時間測定モジュール120についての詳細な説明は後述する。
【0063】
また、スマートカード100は、生成した仮想コードを外部に提供する役割を果たす。スマートカード100が仮想コードを外部に提供する形式及び仮想コードを外部に提供する主体になる構成には制限がない。
【0064】
一実施例として、仮想コードを提供する主体となる構成は、スマートカード100に含まれている通信インターフェース110であり得る。例えば、通信インターフェース110に含まれているICコネクタ111を介して外部機器200と物理的に接触して仮想コードを伝送できる。また、通信インターフェース110に含まれているアンテナ112を介して外部機器200と物理的に接触せず、無線通信を行って仮想コードを伝送できる。このとき、スマートカード100は、仮想コードを金融取引に用いられる暗号化方式を適用してセキュリティを向上させることができる。一方、EMV標準のように決済標準として生成して通信インターフェース110を介して提供できる。
【0065】
また、他の実施例として、スマートカード100は、仮想コードを視覚的に提供できる構成を含むことができる。例えば、スマートカード100は、別途のディスプレイ部141を備え、仮想コードをユーザが視覚的に確認できるようにディスプレイ部141に出力して提供することができる。
【0066】
一方、仮想コードが視覚的に提供される形式は、数字及び/又は文字の組み合わせからなるコード値自体を提供する形式とすることもでき、バーコード(Barcode)、QRコード(登録商標)(Quick Response Code)などのイメージコードの形状として提供する形式とすることもできる。
【0067】
また、他の実施例として、仮想コードを、スマートカード100から外部機器200としての役割を果たすユーザ端末にインストール又は内蔵されたソフトウェア(Software)及びアプリケーション(Application)を介してユーザ端末の画面に視覚的に表示することも可能である。即ち、スマートカード100にディスプレイ部141が備えられなくても、ユーザ端末の画面を介して出力することも可能である。例えば、後述するように、スマートカード100が外部機器200であるユーザ端末から第1電源の提供を受けることによって仮想コードを生成し、ユーザ端末内の専用アプリケーションに無線通信(例えば、NFC通信)を介して仮想コードを伝送できる。これにより、ユーザは、専用アプリケーションでスマートカード100のリアルタイム仮想コードを視覚的に確認できる。
【0068】
外部機器200は、スマートカード100を用いた金融取引が要求されたとき、スマートカード100に第1電源を供給する任意の装置である。具体的な例として、外部機器200は、カードを読み取る電子機器であるカードリーダ(Card Reader)(例えば、ICカードリーダ又はNFCリーダ)であり得る。例えば、スマートカード100が一般的なICカード又はNFCカードと同一の規格に製作されることによって、既存のカードリーダ(Card Reader)(例えば、ICカードリーダ又はNFCリーダ)で同様に用いることができる。即ち、既存に加盟店などに設置されたカードリーダ装置及び金融取引システムをそのまま使用できるという長所がある。
【0069】
また、他の具体的な例として、ユーザが所持しているモバイル機器などのユーザ端末が外部機器200としての役割を果たすことも可能である。例えば、ユーザがオンライン決済のために仮想コード(例えば、仮想カード番号又は仮想トークン)が必要な場合、ユーザはICカードリーダ又はNFCリーダなしにスマートカード100に第1電源を提供して視覚的に仮想コードの提供を受けなければならない。
【0070】
この場合、ユーザは、スマートカード100を外部機器200としての役割を果たすユーザ端末にタギング(Tagging)して近距離無線通信(Short-range Wireless Communication)を用いてユーザ端末から第1電源の供給を受けることができる。これにより、スマートカード100は、ユーザ端末から供給を受けた第1電源を用いてスマートカード100に備えられたディスプレイ部141に仮想コードを出力できる。また、仮想コードをユーザ端末にメッセージ形式に伝達するか、専用アプリケーションを介して確認できるように提供することもできる。具体的な実施例については、例示図を参照して後述する。
【0071】
一実施例として、外部機器200はスマートカード100に第1電源を供給するだけでなく、スマートカード100と通信して仮想コードを受信し、金融取引の要求を処理する役割も果たせる。このとき、金融取引の要求を処理する形式は、外部機器200で該当金融取引自体を承認するか、該当金融取引関連の情報をサーバ300に伝送するなど多様に行われることができる。
【0072】
一方、他の実施例として、外部機器200は、スマートカード100に第1電源を供給する役割のみを果たし、金融取引の要求を処理する別途の機器が備えられることも可能である。
【0073】
本発明の一実施例として、スマートカード基盤の仮想コードを生成及び提供するシステムは、サーバ300を更に含むことができる。
【0074】
一実施例として、サーバ300は、スマートカード100が生成した仮想コードを検証する仮想コード検証サーバである。
【0075】
具体的な例として、仮想コード検証サーバは、仮想トークン検証サーバ(即ち、Token Service Provider Server;TSP Server)又は金融機関のサーバであり得る。
【0076】
「仮想トークン検証サーバ」は、実際のカード番号を格納し、仮想トークンに基づいて実際のカード番号を探索して支払い決済サービスサーバ又は金融機関のサーバに提供するサーバである。
【0077】
「金融機関のサーバ」は、仮想コード(即ち、仮想カード番号)を用いて実際のカード番号を探索し、これに基づいて決済が承認されたか否かを判断するサーバである。
【0078】
サーバ300は、仮想コード検証手段を含んで実際のカード番号に基づいて決済が承認されたか否かを判断するか、仮想コードに基づいて実際のカード番号を探索し、仮想コードを検証する役割を果たす。一方、このような役割を別途構成されたサーバ300でなく、外部機器200を介して行われることも可能である。
【0079】
図2は、本発明の一実施例に係るスマートカードの構成図である。
【0080】
図2を参照すれば、本発明の一実施例に係るスマートカード100は通信インターフェース110、時間測定モジュール120、仮想コード生成部130及び仮想コード提供部140を含む。
【0081】
通信インターフェース110は、スマートカード100が外部機器200から仮想コードの生成に用いられる第1電源の供給を受け、前記外部機器200と通信して情報を送受信する役割を果たす。
【0082】
一実施例として、通信インターフェース110は、ICコネクタ111又はアンテナ112を含む。
【0083】
ICコネクタ111は、スマートカード100が外部機器200に挿入されるなど接触式である際に利用され、アンテナ112は、スマートカード100が無線通信を介して非接触にて用いられる際に利用される。
【0084】
ICコネクタ111は、スマートカード100に含まれている回路パターンが外部と接触できるように露出されている接触式パッドである。ICコネクタ111は、スマートカード100が接触式であるときに、外部機器200と物理的に接触して前記外部機器200から第1電源の供給を受ける。
【0085】
アンテナ112は、スマートカード100を非接触にて用いるために必要な無線通信を行う構成であって、スマートカード100周辺の無線周波数信号を感知してデータをやりとりし、外部機器200と通信する役割を果たす。アンテナ112は、スマートカード100が非接触にて用いられるとき、外部機器200と物理的に接触せず、前記外部機器200から第1電源の供給を受ける。
【0086】
一方、アンテナ112はループアンテナ(Loop Antenna)、コイルアンテナ(Coil Antenna)などの任意のアンテナであって、種類に制限がない。また、アンテナ112は、スマートカード内にICチップと個別に内蔵されることができ、ICチップ内に備えられることもできる。
【0087】
時間測定モジュール120は、仮想コード生成の基盤となる時間カウントの基礎となる時間データを特定時点(例えば、カード使用の開始時点又はカードの製造時点)から持続的に測定する役割を果たす。
【0088】
時間カウントは、特定時点を基準に付与される初期時間値からユーザが金融取引を要求した時点まで測定された時間データを基にカウントされた値であって、同一のスマートカード100を繰り返して用いる場合にもユーザの取引要求時点は毎回異なるので、該当取引要求時点まで測定された時間データ及びこれを基にカウントされた時間カウントもいつも異なる値を有する。従って、本発明において時間データは、取引要求時点によって毎度重複しない仮想コードを生成するのに核心的な役割を果たす。また、仮想コードを毎時点毎に仮想コードの生成時期及びユーザと関係なく重複しないように生成できるようになることによって、特定時点の仮想コードが流出しても該当時点以後は使用できない仮想コードであるので、仮想コード又は実際のカード情報が流出して発生し得る金融被害を予防できるため、セキュリティが強化されるという効果がある。
【0089】
本発明の一実施例として、時間測定モジュール120は、クロック121及びクロック用バッテリ122を含む。
【0090】
クロック121は、スマートカード100の特定時点を基準に付与される初期時間値からユーザの取引要求時点まで測定された時間データを測定する。本発明では、スマートカード100が時間データを測定するために外部から別途の時間データなどを受信することを必要としない。即ち、スマートカード100自体で外部との通信なしに時間データが測定されるものであり、これにより一層強化したセキュリティを提供できる。
【0091】
一実施例として、クロック121はユーザの取引要求時点にのみ作動するのではなく、カードの製造時から持続的に作動して時間データを測定しなければならない。これにより、クロック121は、ユーザの金融取引の要求時点にのみ作動する仮想コード生成部130及び仮想コード提供部140とは異なり、電源の供給も持続的に行われなければならない。そのため、仮想コード生成部130及び仮想コード提供部140に提供される電源(本明細書における「第1電源」)とクロック121に提供される電源(本明細書における「第2電源」)は区別されることを特徴とする。
【0092】
第1電源は、前述したように、スマートカード100の内部で供給する電源ではなく、ユーザの取引要求時点にスマートカード100が外部機器200から供給を受ける電源である。従って、金融取引の進行時にのみ供給される電源であり、仮想コード生成部130及び仮想コード提供部140も金融取引の進行時にのみ作動して仮想コードを生成及び提供する。
【0093】
反面、第2電源は第1電源とは異なり、スマートカード100の内部で自ら電力を供給する電源である。スマートカード100の時間測定モジュール120は、クロック用バッテリ122を含む。クロック用バッテリ122は、専らクロック121にのみ電源を供給するスマートカード100に備えられた内部バッテリである。クロック用バッテリ122は、クロック121以外の他の構成には電源を供給しないので、大容量が要求されず、特定期間にのみ電源を供給できる容量のバッテリであり得る。
【0094】
クロック用バッテリ122の寿命と関連して既存のOTP(One Time Password)カードのバッテリの寿命が平均3年という点を考慮するとき、本発明のクロック用バッテリ122の寿命は、ユーザのスマートカード100の使用期間中に放電されず、持続的に電源を供給するのに問題がない。
【0095】
一方、一実施例として、クロック用バッテリ122は、一定周期で交換されるか、充電式スマートカード100を提供してクロック用バッテリ122をユーザが自ら充電することも可能である。これだけでなく、スマートカード100は、クロック用バッテリ122の残存寿命をスマートカード100のユーザが確認できるように提供することも可能である。
【0096】
仮想コード生成部130は、仮想コード生成関数によってクロック121が測定した時間データを基にカウントされた時間カウントに基づいて仮想コードを生成する役割を果たす。上述したように、仮想コード生成部130は、ユーザの金融取引の要求時点にのみ外部機器200と接触式又は非接触式にて接続されると、前記外部機器200から第1電源の供給を受けて作動して仮想コードを生成する。
【0097】
一方、一実施例として、仮想コードは、仮想コードを検証するか、これにマッチする実際のカード番号を探索するのに用いられる複数の細部コードを結合して生成することができる。このとき、仮想コード生成関数は、複数の細部コードを生成する細部コード生成関数及び複数の細部コードを結合する細部コード結合関数を含むことができる。
【0098】
具体的な例として、前記複数の細部コードは、格納位置の探索の開始地点を設定する第1コード及び特定の探索方式によって、前記開始地点から前記格納位置への探索経路を設定する第2コードを含むことができる。サーバ300で仮想コードに基づいて実際のカード番号を探索するか、前記仮想コードを検証する過程についての詳細な説明は後述する。
【0099】
仮想コード提供部140は、仮想コード生成部130が生成した仮想コードを外部に提供する役割を果たす。外部に提供する方法については、前述したように、外部に提供する形式及び仮想コードを外部に提供する主体になる構成に制限がない。具体的な説明は、重複するので省略する。
【0100】
図3は、本発明の一実施例に係るスマートカードに含まれている通信インターフェースの例示図である。
【0101】
図3を参照すれば、本発明の一実施例に係るスマートカード100に含まれている通信インターフェース110は、ICコネクタ111又はアンテナ112のうちの1つ以上を含む。便宜上、
図3にはICコネクタ111及びアンテナ112が何れも示されているが、何れか1つのみ含むことも可能であり、各構成がスマートカード100上で位置する位置には制限がない。ICコネクタ111及びアンテナ112のそれぞれの役割については、前述した内容と重複するので省略する。
【0102】
図4は、本発明の一実施例に係る時間測定モジュールの構成図である。
【0103】
図4を参照すれば、時間測定モジュール120は、クロック121及びクロック用バッテリ122を含み、クロック121は、クロック用バッテリ122から第2電源の供給を受けて持続的に作動する。それぞれの役割についての詳細な説明は、前述した内容と重複するので省略する。
【0104】
図5は、本発明の一実施例に係る仮想コード提供部がディスプレイ部を含む場合の例示図である。
【0105】
図5を参照すれば、仮想コード提供部140の一実施例としてスマートカード100の外観にディスプレイ部141が示されている。
【0106】
図5には便宜上、ディスプレイ部141を右側下段に示したが、ディスプレイ部141がスマートカード100上で位置する位置には制限がない。
【0107】
また、出力される仮想コードは便宜上、「0000 0000 0000 0000」と実際のカード番号の桁数とマッチする数字列で示したが、上述したように、仮想コードは文字及び/又は数字で構成されたコード値自体や、バーコード及びQRコード(登録商標)のようなイメージコードとして表示することも可能であり、その形式に制限がなく、視覚的に提供される任意の形式であり得る。
【0108】
一方、一実施例として、ディスプレイ部141は一般的な平板ディスプレイ、LCD、LED、OLED、フレキシブルディスプレイ(Flexible Display)など種類に制限がなく、具体的な例として、電子ペーパー(Electronic Paper、E-Paper)であり得る。電子ペーパーは、紙に一般的なインキの特徴を適用したディスプレイ技術であって、画素が光るようにバックライトを用いる平板ディスプレイとは異なり、一般の紙のように反射光を利用する。従って、一度出力された仮想コードは、電力を消費することなく表示でき、折り畳まれ、又は、曲がっている時にも損傷しない。
【0109】
図6は、本発明の一実施例に係るスマートカードをユーザ端末にタギングして用いる様子を示す例示図である。
【0110】
図6に示されるように、ユーザが所持しているモバイル機器などのユーザ端末が外部機器200としての役割を果たす場合、スマートカード100をユーザ端末にタギングしてユーザ端末と無線通信により接続して第1電源の供給を受けて金融取引を行える。
【0111】
図6には、ディスプレイ部141が備えられたスマートカード100をユーザ端末にタギングしたとき、ディスプレイ部141を介して仮想コードが出力されるものとして示されているが、仮想コードをユーザ端末にメッセージ形式にて提供するか、ユーザ端末に内蔵又はインストールされたソフトウェアを介して仮想コードを提供することも可能である。これはオンライン決済時に有用に用いることができ、必要に応じて、オフラインのお店で仮想コードを直接入力するか、視覚的に確認しなければならない場合に用いることも可能である。
【0112】
図7は、本発明の一実施例に係るスマートカードに指紋認識部が含まれている様子を示す例示図である。
【0113】
図7を参照すれば、本発明の一実施例に係るスマートカード100は、指紋認識部150を更に含むことができる。
【0114】
指紋認識部150は、ユーザの指紋を認識してスマートカード100を介して金融取引を要求したユーザが正当な使用権限を持つユーザかを検証する役割を果たす。従って、ユーザがスマートカード100を紛失した場合にもこれを第三者が取得して使用するのを防止できるので、一次的なフィルタリングとしての役割を果たしてセキュリティが強化される。
【0115】
指紋認識部150は、ユーザの指紋を認識し、スマートカード100の内部に事前に登録された指紋情報と一致するか否かを判断して使用権限の有無を検証する。これについての詳細な説明は後述する。
【0116】
一方、
図7では便宜上、指紋認識部150が右側上段に位置するように示されているが、指紋認識部150のスマートカード100上における位置には制限がない。
【0117】
図8は、本発明の一実施例に係るスマートカードが仮想コードを生成及び提供する方法のフローチャートである。
【0118】
図8を参照すれば、本発明の一実施例に係るスマートカード100が仮想コードを生成及び提供する方法は、外部から第1電源の供給を受ける段階(S400)、第1電源を用いて時間カウントに基づいて仮想コードを生成する段階(S500)及び仮想コードを外部に提供する段階(S600)を含む。
【0119】
S400段階は、スマートカード100が取引要求時点に外部機器200と接触式又は非接触式にて接続されて前記外部機器200から第1電源の供給を受ける段階である。S500段階は、スマートカード100が前記第1電源を用いて、時間測定モジュール120で測定された時間カウントに基づいて仮想コードを生成する段階である。S600段階は、スマートカード100が生成した仮想コードを外部に提供する段階である。各段階についての詳細な説明は、前述したのと重複するので省略する。
【0120】
図9は、本発明の一実施例に係る指紋認識部が追加された場合のスマートカードが仮想コードを生成及び提供する方法のフローチャートである。
【0121】
図9を参照すれば、
図8と比較してユーザの指紋を認識して使用権限を確認する段階(S450)が更に含まれ、これを重点的に説明する。
【0122】
S450段階は、一実施例として、スマートカード100に指紋認識部150が更に含まれている場合であって、指紋認識部150がユーザの指紋を認識して事前に格納された正当な権限があるユーザの指紋情報と一致するか否かを確認する段階である。一例として、スマートカード100は、事前に格納された指紋情報と入力された指紋情報とが一致しないと、仮想コード生成手順を実行しないことも可能である。他の例として、スマートカード100は、指紋認識と仮想コードの生成を個別に行い、事前に格納された指紋情報と入力された指紋情報とが一致しないと、金融取引時に別途の本人認証手順の実行(例えば、金融取引端末にPIN番号の入力)を要求できる。
【0123】
一実施例として、ユーザは、スマートカード100を発行してもらい、ユーザ登録過程を経る。
【0124】
具体的な例として、ユーザに発行された初期状態のスマートカード100は、ユーザ登録過程を行える程度の少量の電力を備えることができ、この場合、上述したクロック用バッテリ122を用いるか、別途のバッテリを備えることができる。ユーザは、前記少量の電力を用いてスマートカード100にユーザ情報を登録し、前記ユーザ情報はユーザの指紋情報を含む。これにより、スマートカード100には、正当な使用権限を持つユーザの指紋情報が格納及び管理され、後でユーザを追加したり、変更登録したりすることも可能である。
【0125】
図10は、本発明の一実施例に係る時間カウントの一致不一致を検証する段階が追加された場合のスマートカードが仮想コードを生成及び提供する方法のフローチャートである。
【0126】
図10を参照すれば、
図8と比較して実際のカード番号の格納位置を探索する段階(S700)及びサーバで第1時間カウントと第2時間カウントが一致するか検証される段階(S800)が更に追加される。
【0127】
S700段階で、サーバ300は、仮想コード検証手段を用いて格納位置探索アルゴリズムで受信した仮想コードにマッチする実際のカード番号が格納された単位カウント(格納位置)を探索する。仮想コード検証手段及び探索する方法についての詳細な説明は後述する。
【0128】
S800段階で、「第1時間カウント」は、スマートカード100の時間測定モジュール120が測定した時間データを基にカウントされた時間カウントであり、「第2時間カウント」は、サーバ300でスマートカード100に対して測定した時間データを基にカウントされた時間カウントである。即ち、第1時間カウントは、クロック121が外部から別途の時間データを受信せず、クロック121のみの時間の流れを基準として測定される時間データを基にカウントされた時間カウントであり、第2時間カウントは、サーバ300でGPS(Global Positioning System)などを基準として測定した時間データを基にカウントされた時間カウントである。
【0129】
サーバ300は、外部機器200から受信した仮想コードを検証するとき、第1時間カウントと第2時間カウントが一致するか否かを確認することによって、受信した仮想コードが該当する取引要求時点に正常に生成された仮想コードかを検証する。検証過程についての詳細な説明は後述する。
【0130】
図11は、本発明の一実施例に係る時間カウントの一致不一致を検証する段階を細部的に示すフローチャートである。
【0131】
図11を参照すれば、S400~S600段階を経てスマートカード100で生成された仮想コードが外部機器200に提供される。
【0132】
外部機器200は、提供を受けた仮想コードをサーバ300に伝送する(S610)。
図11には便宜上、S700~S830段階がサーバ300で行われることのみ示したが、外部機器200自体で行われることも可能である。
【0133】
サーバ300は、受信した仮想コードとマッチする実際のカード番号の格納位置を探索し(S700)、受信した仮想コードの基となった第1時間カウントがサーバ300自体で測定された第2時間カウントと一致するか否かを検証し(S800)、検証結果によって該当金融取引を承認するか否かを決定する(S830)。これについての詳細な説明は、
図12を参照して後述する。
【0134】
図12は、一実施例に係る時間カウントの一致不一致を検証し、決済を承認するか否かを決定する過程を概略的に示す順序図である。
【0135】
図12を参照すれば、サーバ300で第1時間カウントと第2時間カウントが一致するか検証される段階(S800)は、第2時間カウントを抽出する段階(S810)、第1時間カウントと第2時間カウントが一致するか否かを判断する段階(S820)及び決済を承認するか否かを決定する段階(S830-1、S830-2)を含む。
【0136】
S810段階で、サーバ300は、探索した実際のカード番号に対応する第2時間カウントを抽出する。
【0137】
S820段階で、サーバ300は、抽出した第2時間カウントと第1時間カウントを比較して一致するか否かを判断する。サーバ300は、判断の結果、第1時間カウントと第2時間カウントが一致する場合は、決済を承認して要求された金融取引を処理し、一致しない場合は、要求された金融取引を拒む(S830-1、S830-2)。
【0138】
一方、一実施例として、S820段階で第1時間カウントと第2時間カウントが完全に一致しなくても、第1時間カウントと第2時間カウントの差が特定の誤差範囲内に収まる場合にはこれらが一致するものと判断できる。これはスマートカード100で測定された第1時間カウント又はサーバ300で測定された第2時間カウントに誤差が発生した可能性を考慮して、より融通性のある検証を可能にさせるためである。
【0139】
具体的な例として、サーバ300は、サーバ300で測定された第2時間カウントの前後に特定のカウントだけ誤差範囲を設定して、第1時間カウントが当該範囲内に収まるカウント値を有すると、第1時間カウントと第2時間カウントが一致するものと判断して決済を承認する。
【0140】
また、一実施例として、サーバ300には、実際のカード番号とマッチする単位カウントに時間補正値が格納及び管理されることができる。
【0141】
「時間補正値」は、各ユーザ別に測定された誤差履歴に基づいて特定されるものであって、ユーザ、使用態様、使用頻度などによって異なる値である。即ち、時間補正値は固定された値ではなく、ユーザ別にそれぞれ測定及び記録されたデータに基づいて特定される値である。
【0142】
サーバ300は、このような時間補正値を第1時間カウントに反映した値を基準として第2時間カウントと一致するか否かを検証する。これにより、時間測定装置を介して測定された時間値で発生し得る基本的な誤差によって発生する取引障害を最小化でき、ユーザ別に異なる使用習慣を考慮した時間補正値を用いるので、より正確度の高い時間カウントの検証が可能になる。
【0143】
以下、仮想コードを基に実際のカード番号の格納位置を探索する方法を細部的に説明する。
【0144】
一実施例として、サーバ300は、スマートカード100と同一の仮想コード生成関数を含むことができる。即ち、サーバ300は、同一の仮想コード生成関数を用いて生成した仮想コードと、スマートカード100から受信した仮想コードとが同一であるか否かを確認して正常に生成された仮想コードかを検証し、これにマッチする実際のカード番号を探索できる。
【0145】
一実施例として、仮想コードは、仮想コードを検証したり、これにマッチする実際のカード番号を探索するのに用いられる複数の細部コードを結合して生成できる。複数の細部コードが第1コードと第2コードを含む場合、サーバ300は、第1コードと第2コードを用いて格納位置探索アルゴリズム内で実際のカード番号の格納位置を探索する。
【0146】
具体的な例として、サーバ300は、前記複数の細部コードに含まれている格納位置の探索の開始地点を設定する第1コード及び特定の探索方式によって、前記開始地点から前記格納位置への探索経路を設定する第2コードを用いて受信した仮想コードが正常に生成された仮想コードかを検証し、これにマッチする実際のカード番号の格納位置を探索できる。
【0147】
一実施例として、サーバ300は、第1コードに対応する位置を開始地点として設定し、第2コードに適用された探索方式によって第2コードに基づいてk角形の配置状態での実際のカード番号にマッチした地点(即ち、k角形の特定の頂点)を探索する。実際のカード番号は、k角形のそれぞれの頂点にマッチする。第1コードトラック(即ち、第1トラック)とk角形が対応する地点が第1コードに対応する格納位置の探索開始地点になる。サーバ300は、探索開始地点で第2コードに基づいて認証用カードの格納位置のマッチング地点を探索する。
【0148】
第2コードに基づいてk角形で実際のカード番号を探索する方式としては、多様な方式が適用できる。例えば、サーバ300は、k角形が接している第1トラック上の位置で第2コードに相応する角度(例えば、k角形の頂点に向かうように180°をMN個に分割した特定の角度)で指示することによって、仮想コードに基づいて実際のカード番号の格納位置であるk角形の頂点を探索できる。
【0149】
また、他の例として、k角形が第1トラック上の第1コードに対応する地点に接している状態で、サーバ300は、k角形の中心と第1トラック上の接点を基準に、全体中心角(即ち、360°)をMN個に分割し、それぞれの角度をMN個の第2コードにマッチする。このとき、k角形の中心と第1トラック上の接点をつなぐ線から特定数の単位角度(即ち、360°/MN)を移動した線の方向は、k角形の特定の頂点になる。従って、特定の角度に対応する第2コードが受信されると、サーバ300は該当角度方向に位置する頂点を探索できる。
【0150】
更に、他の例として、第2コードの特定の桁を、角度算出方向を決定するものとして用いることができる。即ち、N個(Nは自然数)の文字を用いて第2コードを生成する場合、1つの桁(Digit)で角度測定方向を決定できる。例えば、サーバ300は、k角形の中心と第1トラック上の接点を基準に、全体中心角(即ち、360°)を分割してそれぞれの角度に第2コードをマッチする場合、k角形の中心と第1トラック上の接点をつなぐ線から左側方向に測定される角度か、右側方向に測定される角度かを1つの桁(Digit)の値により決定できる。
【0151】
第2コードに基づいてk角形で実際のカード番号の格納位置を探索する方式は、これに限定されず、第2コードに相応するk角形上の地点と第1トラック上の接点間を特定の割合で分ける地点を格納位置として探索する方式などの多様な方式が適用できる。
【0152】
また、他の実施例として、前記格納位置探索アルゴリズムは、仮想コードを構成する複数の細部コードに基づいてトラック上を移動して実際のカード番号の格納位置にマッチした地点へ移動する。例えば、前記実際のカード番号の格納位置にマッチした地点は、仮想コード生成手段に実際のカード番号を発行したカウント(即ち、時点)に対応するトラック上の地点であり得る。
【0153】
具体的に、仮想コードが、仮想コード生成関数が駆動された時点から経過した時間に基づいて生成された第1コードと、特定の仮想コード生成手段に実際のカード番号が発行された時点から経過した時間に基づいて生成された第2コードとを含む場合、仮想コード検証手段は、第1コードに対応するコード値がマッチしたトラック上のカウントを探索開始地点として設定し、第2コードに第2関数(又は抽出コードは第2コードとして用いる場合、抽出コード生成関数)の逆関数を適用することによって算出されたカウント値だけ前記探索開始地点からトラックに沿って回帰して仮想コード生成手段に実際のカード番号を発行した時点のトラック上の地点(即ち、実際のカード番号の格納位置にマッチした地点)を探索する。
【0154】
また、具体的な他の例として、仮想コード検証手段20は、第1コードに対する移動トラック(即ち、第1移動トラック)と平行するように配置される第2コードに対する移動トラック(即ち、第2移動トラック)を、第1コードにより移動した探索開始地点を原点とし、第1コードによる移動方向と逆方向に配置する。そして、仮想コード検証手段は、第2移動トラック上で第2コードに対応するコード値の位置へ移動し、この位置に対応する第1移動トラック上の地点を実際のカード番号の格納位置として探索する。
【0155】
その後、仮想コード検証手段は、前記格納位置で抽出された前記実際のカード番号で金融取引の進行又は金融取引の進行を要求する。
【0156】
以下、仮想コードを数字でのみ生成するアルゴリズムについて説明する。
【0157】
既存の金融取引システム(例えば、金融取引がお店での決済である場合、POS装置及びPG会社のサーバ)をそのまま維持しながら仮想コードを用いるためには、スマートカード100は、実際のカード番号と同一の桁数を有するコードを仮想コードとして生成しなければならない。
【0158】
一実施例として、スマートカード100は、複数の細部コードを組み合わせて仮想コードを生成し、実際のカード番号と同一の桁数のコードになるように細部コードを生成する。例えば、仮想コードは固定コード、OTPコード、変換コード及び抽出コードなどの複数の細部コードを特定の規則に従って結合して生成できる。このために、仮想コード生成関数は、OTPコードを生成するOTP関数、抽出コード生成関数及び細部コード結合関数を含むことができる。
【0159】
一実施例として、スマートカード100は、仮想コードの生成が要求された時点に内部に格納されたOTP関数に基づいてOTPコードを生成する。スマートカード100は、特定のシードデータ(又はシリアル番号)に基づいてOTPコードの生成が要求されたカウント(即ち、ユーザから金融取引のために実際のカード番号に対応する仮想コードの生成が要求された時点)を反映してOTPコードを生成する。前記OTPコードは、OTP関数に基づいて特定数の数字の配列により生成され、変換コードの算出に用いられる。即ち、仮想コードが仮想コード検証手段(例えば、仮想コード検証サーバ)に伝送されると、仮想コード検証手段はOTP番号に基づいて変換コードを探索した後、変換コードを実際のカード番号格納位置の探索に用いられる第1コード又は第2コードとして用いる。
【0160】
一実施例として、スマートカード100は、金融機関のサーバから実際のカード番号が特定のユーザに発行されるか、実際のカード番号を仮想トークン検証サーバに登録したカウントをOTP関数のシードデータとして用いる。即ち、仮想コード検証手段(即ち、金融機関のサーバ又は仮想トークン検証サーバ)は、各ユーザ別に区別される実際のカード番号の発行カウント又は実際のカード番号の登録カウントをシードデータとして用いる。これにより、仮想コード検証手段は、仮想コードから抽出されたOTPコードを用いて実際のカード番号が発行されるか、登録されたカウントを探索できる。また、これにより、スマートカード100は、他のユーザの実際のカード番号が登録又は発行されたカウントが異なるので、異なるシードデータを用いてOTP関数が駆動される。即ち、スマートカード100は、各ユーザに異なる実際のカード番号の登録又は発行カウントをシードデータとして用いることによって、ユーザ別に同一の時点に異なるOTPコードを生成できる。
【0161】
スマートカード100で生成されるOTPコードは、仮想コード検証サーバで第1コード又は第2コードとして用いられる変換コードを算出するのに利用される。即ち、OTPコードは、変換コード生成関数にシード値として入力されて特定の変換コードの生成に用いられる。変換コード生成関数は、仮想コード検証サーバ内に格納できる。また、スマートカード100は、抽出コード生成関数に変換コードがシード値として用いられる場合、OTPコードで変換コードを生成するために変換コード生成関数を含むことができる。
【0162】
一実施例として、前記変換コードは、特定の規則に従ってOTPコードに一対一でマッチできる。即ち、変換コード生成関数が、桁数が異なるOTPコードと変換コードを一対一でマッチング関係を形成することができる。
【0163】
また、他の実施例として、前記変換コードは、前記OTPコードと仮想コードの生成が要求されたカウント値を変換コード生成関数にシード値として入力して算出される。即ち、変換コード生成関数は、OTPコードと仮想コードの生成が要求されたカウント値をシード値として活用して、同一のOTP値がシード値として用いられてもカウント値によって異なる変換コードを生成することができる。これにより、OTPコードが変換コードよりも少ない桁数の数字列である場合、実際のカード番号格納位置の探索に用いられる第1コード又は第2コードでOTPコードよりも更に多くの場合の数の変換コードを利用できる。
【0164】
更に、他の実施例として、前記固定コードが特定のカード類型の仮想コードに対して新たに付与されたものである場合、スマートカード100は、有効期間の位置に配置される特定の数字の組み合わせを可変コードとして生成し、可変コードとOTPコードを共に変換コード生成関数のシード値(即ち、変数)として利用できる。即ち、前記変換コードは、前記可変コードと前記OTPコードをシード値にして生成される。
【0165】
前記有効期間に配置される数字の組み合わせは、単位カウント毎に変更されて生成されるものであって、実際の有効期間として使用可能であり、現在のカウントから最大期間内に含まれる。決済システム内でエラーが発生しないためには、有効期間が現在時点から有効な期間内の値でなければならない。例えば、実際のカードの有効期間が5年である場合、スマートカード100は、決済が要求された時点から5年以内の年月の組み合わせに該当する数字の組み合わせを特定の規則に従って生成する。
【0166】
これにより、OTPコードと可変コードの組み合わせと変換コード間の場合の数の差が減少する。例えば、有効期間内に5年内の数字の組み合わせが利用され、OTPコードとして3桁、変換コードとして9桁を数字でのみ用いる場合、60個の数字の組み合わせが可変コードとして利用され得るので、可変コードとOTPコードの組み合わせは60*103になって、可変コードなしにOTPコードのみをシード値として用いる時に比べて場合の数の差が減少する。
【0167】
スマートカード100は、仮想コード検証手段(例えば、仮想コード検証サーバ)で実際のカード番号格納位置の探索に用いられる第1コード又は第2コードとして用いられる抽出コードを生成する役割を果たす。仮想コード検証手段がOTPコードに基づいて算出された変換コードを第1コードとして用いる場合、仮想コード検証手段は、抽出コードを第2コードとして用いる。即ち、前記変換コード又は前記抽出コードは、前記仮想コード検証手段で設定された条件によって第1コード又は第2コードとしてそれぞれ用いられる。前記第1コードは、前記仮想コード検証手段で実際のカード番号の格納位置を探索する開始地点を設定し、前記第2コードは、特定の探索方式によって前記開始地点から前記格納位置への探索経路を設定する。具体的に、前記抽出コードは、同一のカウントに生成されたOTPコードから算出された変換コードに対応するので、仮想コード検証手段は、特定カウントの仮想コード内の抽出コードと特定カウントの仮想コード内のOTPコードを基に生成された変換コードを用いて実際のカード番号の格納位置を探索する。
【0168】
また、変換コード及び抽出コードと第1コード及び第2コードのマッチング関係は、スマートカード100及び仮想コード検証手段(例えば、仮想コード検証サーバ)に予め設定できる。変換コード及び抽出コードと第1コード及び第2コードのマッチング関係が反対に適用されると、仮想コード検証サーバで実際のカード番号の格納位置を探索できないので、仮想コード生成装置の発行時又は仮想コード生成関数の格納時に予め設定される。
【0169】
スマートカード100は、一実施例として、OTP関数と相関関係を持つ抽出コード生成関数を含む。即ち、スマートカード100は、特定のカウントに生成されるOTPコードに基づいて変換コードと共に用いられて実際のカード番号の格納位置を探索できるコード値を同一のカウントに生成する関数を抽出コード生成関数として含む。
【0170】
また、他の実施例として、スマートカード100は、OTPコード自体を抽出コード生成関数にシード値として入力して変換コードと共に実際のカード番号の格納位置を探索できる抽出コード(即ち、特定カウントに変換コードと相関関係を持つ抽出コード)を生成できる。また、他の実施例として、スマートカード100が仮想コード検証サーバと同一にOTPコードに基づいて変換コードを算出する変換コード生成関数を含み、スマートカード100で生成されたOTPコードに基づいて変換コードを生成し、変換コードをシード値として抽出コード生成関数に入力して抽出コードを生成できる。
【0171】
前記抽出コードは、前記仮想コードの全体数字の数から前記固定コード及び前記OTPコードを除いた数字の数の全部又は一部で生成される。即ち、スマートカード100は、仮想コード(例えば、カード識別番号が16桁であり、カードセキュリティコードが3桁である場合、計23桁)から有効期間(例えば、4桁)と固定コード(例えば、6桁)を除いた桁数(例えば、カード識別番号内の固定コードを除いた範囲とカードセキュリティコード範囲を含む13桁)の全部又は一部に抽出コードとOTPコードが組み合わせられた数字列を配列する。例えば、カード識別番号の最後の桁をチェックディジット(check digit)として用いる場合、スマートカード100は、チェックディジットの桁を除いた残りの桁(例えば、12桁)に抽出コードとOTPコードが組み合わせられた数字列を配列する。具体的に、前記仮想コード生成部130は、OTPコードと抽出コードを細部コード結合関数によって組み合わせて、前記カード識別番号から固定コードを除いた桁と前記カードセキュリティコードの桁に並べる。
【0172】
また、他の実施例として、スマートカード100は、仮想コード検証手段で第1コード又は第2コードとして用いられる変換コードよりも少ない桁数でOTPコードを生成する。例えば、前記OTPコードは、実際のカード番号内のカードセキュリティコードの数字の数で生成され、前記第2コードは、前記仮想コードの全体数字の数から前記固定コード、前記OTPコード及び有効期間を除いた数字の数の全部又は一部で生成される。即ち、スマートカード100は、カードセキュリティコードが3桁であれば、OTPコードを3桁に生成し、全体カード番号の数字の数23個のうち、固定コード6桁、有効期間4桁、OTPコード3桁及びチェックディジット1桁を除いた9桁で抽出コードを生成する。
【0173】
これにより、仮想コード生成装置は、限られた実際のカード番号の桁で9桁を抽出コードに使用できるので、抽出コードとして使用できるコードの数が増加し、セキュリティが向上できる。特に、従来の決済プロセスを全く修正しないために、仮想コードに数字のみ用いる場合、抽出コードは、0から9までの10個の数字で9桁を生成でき、109個のコードを活用できる。
【0174】
このとき、OTPコードに基づいて生成される変換コードは、抽出コードと同一の桁数の数字列により生成される。これにより、変換コードと抽出コードは、仮想コード検証サーバで第1コード又は第2コードのそれぞれとして利用できる。また、少ない桁数のOTPコードで多くの桁数の変換コードを生成することによって、仮想コード内でOTPコードと抽出コードに活用できる領域(即ち、12桁)で多くの部分を抽出コードに活用できるようにする。
【0175】
従って、数字のみを用いて仮想コードを生成する場合にも、スマートカード100で第1コード又は第2コードとして直ぐに用いられる抽出コードに多くの数字桁を付与し、残りの桁にOTPコードを付与するので、セキュリティを向上させることができる。
【0176】
以下、スマートカード100を登録する過程についての例示を詳細に説明する。
【0177】
一実施例として、ユーザは、仮想コード検証サーバに登録済みのスマートカード100を受領する。例えば、ユーザが仮想コード生成アプリケーションの利用中にスマートカード100の発行を申請するか、金融アプリケーション又はウェブを介してスマートカード100の新規発行を申請すると、該当ユーザに対するスマートカード100を仮想コード検証サーバ内の特定位置(即ち、発行申請された時点に対応する格納位置)にスマートカード100を登録する。ユーザは、スマートカード100を受領した後、登録のための別途の手順を経ることなく、受け取り確認の後に使用できる。
【0178】
また、他の実施例として、ユーザがスマートカード100を受け取ると、ユーザは、スマートカード100の専用アプリケーションを介して登録手順を行う。例えば、ユーザが受け取ったスマートカード100を封筒又はケース(例えば、ユーザの指紋登録のためにスマートカード100のICコネクタ111が接続される小型バッテリを含む封筒又はケース)から分離して指紋登録を行うことによって、スマートカード100に使用開始時点を格納し、専用アプリケーションを介して仮想コード検証サーバに使用開始データを伝送して開始時点を提供する。スマートカード100に入力された使用開始時点と仮想コード検証サーバに格納された使用開始時点に差が存在し得るが、ユーザがスマートカード100を決済に利用する過程でサーバ内の使用時点を補正できる。
【0179】
本発明の一実施例に係るスマートカード100は、特定の実際のカード番号に対する金融取引手順を行える。
【0180】
一実施例として、ユーザは、仮想コード検証サーバにスマートカード100を用いるものと登録された特定の実際のカード番号を利用した金融取引手順を行える。例えば、スマートカード100でオンライン又はオフライン決済を行うと、仮想コード検証サーバは、仮想コードに基づいて登録された実際のカード番号を探索して決済を行う。
【0181】
また、一実施例として、ユーザは、専用アプリケーションを用いてスマートカード100が接続されて金融取引を行うカードを変更できる。即ち、専用アプリケーションで登録されたカードを変更する手順を経ると、仮想コード検証サーバは、スマートカードから提供された仮想コードに基づいて変更されたカードの実際のカード番号を探索して金融取引を行える。即ち、スマートカードは、別途の変更なしに仮想コード生成関数に基づいて金融取引時点に対応する仮想コードを生成して提供するが、専用アプリケーションによりカードが変更されることによって、ユーザは、スマートカードで生成された仮想コードを用いて現時点での使用を希望するカードで金融取引を行える。
【0182】
具体的に、ユーザは、スマートカード100に登録されて金融取引が行われる基本カードの変更を所望する場合、専用アプリケーションなどを介してサーバ300に基本カードの変更を要求する。ここで、ユーザは、ユーザ端末に内蔵又はインストールされたアプリケーションを介して基本カードを選択するが、ユーザは、カードのイメージを選択するか、識別番号を選択することによって基本カードの変更を要求できる。
【0183】
その後、サーバ300は、仮想カード番号に基づいてスマートカード100のUIDを探索してUIDに接続されている実際のカード番号の格納空間を抽出し、実際のカード番号の格納空間内の基本カードを変更する。例えば、基本カードとして既に設定されたカードの識別番号が「1」であり、ユーザにより変更を要求された基本カードの識別番号が「3」であれば、サーバ30は、基本カード設定領域に「3」を格納する。その後、サーバ300は、ユーザ端末から決済を要求されると、基本カード設定領域で基本カードの識別情報、例えば「3」を確認し、カード番号格納領域から識別番号が「3」に該当する実際のカード番号を抽出して金融取引を行う。
【0184】
このために、専用アプリケーションは、カードの変更のためにスマートカード100と同一の仮想コード生成関数を含むことができる。具体的に、該当ユーザの実際のカード番号が格納された実際のカード番号の格納空間が接続されているUIDを探索するために、スマートカード100と同一の規則で生成された仮想コードが必要であるので、専用アプリケーションは、スマートカード100と同一の仮想コード生成関数を含む。
【0185】
本発明の実施例と関連して説明された方法又はアルゴリズムの段階は、ハードウェアで直接実現するか、ハードウェアにより実行されるソフトウェアモジュールで実現するか、又はこれらの結合により実現できる。ソフトウェアモジュールはRAM(Random Access Memory)、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ(Flash Memory)、ハードディスク、脱着型ディスク、CD-ROM、又は本発明が属する技術分野において周知されている任意の形態のコンピュータ読み取り可能な記録媒体に常に存在し得る。
【0186】
以上、添付の図面を参照して本発明の実施例を説明したが、本発明が属する技術分野における通常の技術者は、本発明がその技術的思想や必須な特徴を変更することなく、他の具体的な形態で実施され得るということが理解できるだろう。従って、以上で述べた実施例は全ての面で例示的なものであり、制限的ではないものとして理解すべきである。