(57)【要約】  本発明はオフラインPIN認証方法及びオフラインPIN認証システムに関する。当該方法は、POS端末にオフラインPIN1を入力し、POS端末が動的チャレンジコードを生成し、動的チャレンジコードとオフラインPIN1をカードアプリケーションに送信することと、カードアプリケーションは第1のオフラインPIN1と第2のオフラインPIN2が一致であるか否かを検証することと、一致した場合、第1のオフラインPIN1と第2のオフラインPIN2に対してデジタル署名を行って署名データと成功状態コードをPOS端末に返すことと、POS端末は成功状態コードを受信した場合、署名データを検証し、署名データの検証が成功する場合に後続の取引処理を開始することとを含む。本発明によれば、ICカードのオフラインPINに対する検証を実現することができるだけでなく、端末のオフラインPINに対する検証を実現することもできる。当該方法は簡単に実現でき、実用性が高く、安全で信頼できる。
2016518661.tif 000002
【特許請求の範囲】
【請求項１】
ICカードのオフラインPINの検証方法であって、
POS端末はカード所有者がPOS端末に入力したパスワードである第1のオフラインPIN1を取得し、動的チャレンジコードを生成し、前記動的チャレンジコードと前記第1のオフラインPIN1に対してXOR演算を行って得られる第1のXOR値と前記動的チャレンジコードとをICカードのカードアプリケーションに送信するステップaと、
カードアプリケーションは前記動的チャレンジコードとICカードに予め記憶された当該ICカードの実際のパスワードである第2のオフラインPIN2に対してXOR演算を行って第2のXOR値を得て、前記第1のXOR値と第2のXOR値が一致であるか否かを検証するステップbと、
ステップbで一致であると判断された場合、カードアプリケーションは前記第2のXOR値を署名し、当該第2のXOR値の署名データ及び成功状態コードをPOS端末に返し、ステップbで一致ではないと判断された場合、POS端末にエラー状態コードを返すステップcと、
POS端末は成功状態コードを受信した場合、当該第2のXOR値の署名データを検証し、当該第2のXOR値の署名データの検証が成功した場合に後続の取引処理を開始し、当該第2のXOR値の署名データの検証が失敗した場合に異常処理を実行し、一方、POS端末はエラー状態コードを受信した場合、異常処理を実行するステップdとを含むことを特徴とするICカードのオフラインPINの検証方法。
【請求項２】
前記ステップaにおいて、POS端末は動的チャレンジコードとして乱数を生成し、且つ第1のXOR値を生成することを特徴とする請求項1に記載のICカードのオフラインPINの検証方法。
【請求項３】
前記ステップcにおいて、秘密鍵によって当該第2のXOR値に対してデータ署名を行い、当該第2のXOR値の署名データを生成し、
前記ステップdにおいて、POS端末は成功状態コードを受信した場合、当該第2のXOR値の署名データに対して、
公開鍵で当該第2のXOR値の署名データに対して署名検証を行い、それに、
第1のXOR値と第2のXOR値が一致であるか否かを比較するという検証を行うことを特徴とする請求項2に記載のICカードのオフラインPINの検証方法。
【請求項４】
ICカードのオフラインPINの検証方法であって、
POS端末はカード所有者がPOS端末に入力したパスワードである第1のオフラインPIN1を取得し、動的チャレンジコードを生成し、前記動的チャレンジコードおよび前記第1のオフラインPIN1をICカードのカードアプリケーションに送信するステップaと、
カードアプリケーションは前記第1のオフラインPIN1とICカードに予め記憶された当該ICカードの実際のパスワードである第2のオフラインPIN2とが一致であるか否かを検証するステップbと、
ステップbで一致であると判断された場合、カードアプリケーションは前記第1のオフラインPIN1と前記第2のオフラインPIN2に対して所定の計算を行って第1の署名データを取得し、且つ当該第1の署名データと成功状態コードをPOS端末に返し、ステップbで一致ではないと判断された場合、POS端末にエラー状態コードを返すステップcと、
POS端末は成功状態コードを受信した場合、第1の署名データを検証し、第1の署名データの検証が成功した場合に後続の取引処理を開始し、第1の署名データの検証が失敗した場合に異常処理を実行し、一方、POS端末はエラー状態コードを受信した場合、異常処理を実行するステップdとを含むことを特徴とするICカードのオフラインPINの検証方法。
【請求項５】
前記ステップaにおいて、POS端末は動的チャレンジコードとして乱数を生成することを特徴とする請求項4に記載のICカードのオフラインPINの検証方法。
【請求項６】
前記ステップaにおいて、POS端末は前記第1のオフラインPIN1と前記動的チャレンジコードを検証指令に組み合わせてともにカードアプリケーションに送信することを特徴とする請求項5に記載のICカードのオフラインPINの検証方法。
【請求項７】
前記ステップaにおいて、POS端末はまず前記動的チャレンジコードをカードアプリケーションに送信し、次に第1のオフラインPIN1をカードアプリケーションに送信することを特徴とする請求項6に記載のICカードのオフラインPINの検証方法。
【請求項８】
前記ステップaにおいて、POS端末は動的チャレンジコードを生成して前記第1のオフラインPIN1とともにPOS端末に記憶することを特徴とする請求項6又は7に記載のICカードのオフラインPINの検証方法。
【請求項９】
前記ステップcにおいて、カードアプリケーションは前記動的チャレンジコードと前記第2のオフラインPINに対して、
動的チャレンジコードと第2のオフラインPIN2との第1のXOR値を計算し、それに、
秘密鍵によって当該第1のXOR値に対してデータ署名を行って、第1の署名データを生成し、
前記ステップdにおいて、POS端末は成功状態コードを受信した場合、第1の署名データに対して、
動的チャレンジコードと第1のオフラインPIN1との第2のXOR値を計算し、それに、
公開鍵によって第1の署名データに対して署名検証を行い、
前記第1のXOR値と前記第2のXOR値が一致であるか否かを比較するという検証を行うことを特徴とする請求項8に記載のICカードのオフラインPINの検証方法。
【請求項１０】
ICカードのオフラインPINの検証システムであって、POS端末（100）とICカードのカードアプリケーションモジュール（200）とを備え、
前記POS端末（100）は、
第1のオフラインPIN1として、カード所有者が入力したパスワードを取得するパスワード取得モジュール（101）と、
動的チャレンジコードをランダムに生成する動的チャレンジコード生成モジュール（102）と、
前記第1のオフラインPIN1と前記動的チャレンジコードを記憶する第1の記憶モジュール（102）と、
POS端末とICカードのカードアプリケーションモジュールとの間のデータ送受信を実行する第1の送受信モジュール（103）と、
第1の送受信モジュールから下記の成功状態コードを受信した場合、第1の署名データを検証し、第1の署名データの検証が成功した場合に後続の取引処理を開始し、第1の署名データの検証が失敗した場合に異常処理を実行する動的チャレンジコード検証モジュール（104）と、
POS端末とICカードのカードアプリケーションモジュールとの間のデータ送受信を実行する第1の送受信モジュール（105）とを備え、
前記ICカードのカードアプリケーションモジュール（200）は、
前記POS端末から受信した前記第1のオフラインPIN1とICカードに予め記憶された当該ICカードの実際のパスワードである第2のオフラインPIN2とが一致であるか否かを検証し、且つ一致ではないと検証した場合にエラー状態コードを出力するパスワード検証モジュール（201）と、
前記パスワード検証モジュールにより前記第1のオフラインPIN1と第2のオフラインPIN2とが一致であると検証された場合、前記第1のオフラインPIN1と前記第2のオフラインPIN2に対して所定の計算を行って第1の署名データを取得するデジタル署名モジュール（202）と、
POS端末とICカードのカードアプリケーションモジュールとの間のデータ送受信を実行し、パスワード検証モジュールによる検証が成功した場合に当該第1の署名データと成功状態コードを前記第1の送受信モジュールに返し、パスワード検証モジュールによる検証が失敗した場合にエラー状態コードを前記第1の送受信モジュールに送信する第2の送受信モジュール（203）とを備えることを特徴とするICカードのオフラインPINの検証システム。
【請求項１１】
前記第1の送受信モジュールは、前記動的チャレンジコード生成モジュールにより生成されて第1の記憶モジュールに記憶された動的チャレンジコード、および前記第1のオフラインPIN1をともに前記第2の送受信モジュールに送信することを特徴とする請求項10に記載のICカードのオフラインPINの検証システム。
【請求項１２】
前記第1の送受信モジュールは前記動的チャレンジコード生成モジュールにより生成されて第1の記憶モジュールに記憶された動的チャレンジコードをまず第2の送受信モジュールに送信し、次に前記第1のオフラインPIN1を前記第2の送受信モジュールに送信することを特徴とする請求項10に記載のICカードのオフラインPINの検証システム。
【請求項１３】
前記デジタル署名モジュールは、動的チャレンジコードと第2のオフラインPIN2との第1のXOR値を計算し、秘密鍵によって当該第1のXOR値に対してデータ署名を行って、第1の署名データを生成し、
前記動的チャレンジコード検証モジュールは、動的チャレンジコードと第1のオフラインPIN1との第2のXOR値を計算し、公開鍵によって第1の署名データを検証し、前記第1のXOR値と前記第2のXOR値が一致であるか否かを比較することを特徴とする請求項11又は12に記載のICカードのオフラインPINの検証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報安全技術に関し、具体的にICカードのオフライン（off line）取引の安全性を向上させる検証方法及び検証システムに関する。
【背景技術】
【０００２】
現在、ICカードのオフラインPINの検証過程において、端末にPINを入力した後、PINが正確であると、端末は成功状態コード「9000」を返し、つまり、端末は、返し状態コードが「9000」であるか否かのみによってICカードがカード所有者のアイデンティティ（identity）の合法性に対する認証を通過するか否かを判断する。認証のすべての過程において、端末は受動的に通知され、主動的に検証することができず、それにより、認証のすべての過程が中間者に攻撃されやすい。
【０００３】
以下、従来技術のICカードのオフラインPINの検証過程を説明する。
【０００４】
図1は従来技術のオフラインPIN認証を示すフローチャートである。図1に示すように、現在のオフラインPIN認証のフローは、
カード所有者がPOS端末にPINを入力するステップ1と、
POS端末機構がPIN指令を認証し且つICカード支払いアプリケーションが検証するようにICカード支払いアプリケーションに送信するステップ2と、
ICカード検証が通過した後、検証状態コードをPOS端末に返し、検証が通過するか否かをそれに通知し、検証状態コードが9000であると、成功を示し、検証状態が9000ではないと、検証エラーを示すステップ3と、
POS端末が、返された検証状態コードが9000であるか否かを判断することによって、カード所有者アイデンティティの合法性を判断し、後続の取引フローを実行するステップ4とを含む。
【０００５】
上記フローから分かるように、POS端末は状態コードが9000であるか否かのみによってカード所有者アイデンティティの合法性を判断し、且つ平文である。エラー返し状態コードが9000に修正された中間者の攻撃を容易に引き起こし、それにより、POS端末は現在のPINを入力するカード所有者が合法的であると認める。
【０００６】
オフラインカード所有者の認証過程を攻撃する典型的なフローは以下のとおりであり、ここで接触型電子現金を例として説明する。図2は従来技術の接触型電子現金の認証を示すフローチャートである。図2に示すように、まず端末は接触型PBOC電子現金に対してカードの認証をはじめ、PINの試み回数を取得し、次に、端末に任意のPINコードを入力し、悪意的攻撃をする中間者によって端末に状態コード「9000」を返し、端末は当該状態コード「9000」に基づいて認証が成功であると判断して後続の取引フローを許可する。
【０００７】
上記図2の説明とPBOCデビット標準の説明から分かるように、端末にどんな値のPINコードを入力したにもかかわらず、悪意的攻撃をする中間者によって検証が成功である「9000」コードを返して後続のオフライン差引の取引を完了し続けることができ、従って、カード所有者に財産的損害をもたらす。
【０００８】
さらに、後続のオンライン操作がスマートカードのオフラインPINの認証を前提とする限り、同様な安全リスクが存在していることが分かり、例えばスマートカードのオフラインPINを要素とするクライアントのログイン操作の場合がある。この場合、違法者は支払い機能を有するクライアント終端を拾った後、中間者攻撃の方式でクライアントの信頼をだまし取ると、クライアント終端における全ての機能が違法者に暴露され、検証コードの方式によってユーザの関連情報を変更し、ひいては支払いパスワードをリセットするかもしれない。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の課題に鑑み、本発明はオフラインPINの認証フローに対する攻撃を効果的に防止することができる安全で信頼性が高いICカードのオフラインPINの検証方法及び検証システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のICカードのオフラインPINの検証方法であって、
POS端末は、カード所有者がPOS端末に入力したパスワードである第1のオフラインPIN1を取得し、動的チャレンジコードを生成し、前記動的チャレンジコード及び前記第1のオフラインPIN1に対してXOR（exclusive OR）演算を行って得られる第1のXOR値と前記動的チャレンジコードとをICカードのカードアプリケーションに送信するステップaと、
カードアプリケーションは前記動的チャレンジコード及びICカードに予め記憶された当該ICカードの実際のパスワードである第2のオフラインPIN2に対してXOR演算を行って第2のXOR値を得て、前記第1のXOR値と第2のXOR値が一致であるか否かを検証するステップbと、
ステップbで一致であると判断された場合、カードアプリケーションは前記第2のXOR値を署名し、当該第2のXOR値の署名データ及び成功状態コードをPOS端末に返し、ステップbで一致ではないと判断された場合、POS端末にエラー状態コードを返すステップcと、
POS端末は成功状態コードを受信した場合、当該第2のXOR値の署名データを検証し、当該第2のXOR値の署名データの検証が成功した場合に後続の取引処理を開始し、当該第2のXOR値の署名データの検証が失敗した場合に異常処理を実行し、一方、POS端末はエラー状態コードを受信した場合、異常処理を実行するステップdとを含むことを特徴とする。
【００１１】
好ましくは、前記ステップaにおいて、POS端末は乱数を動的チャレンジコードとして生成し、且つ第1のXOR値を生成する。
【００１２】
好ましくは、前記ステップcにおいて、秘密鍵で当該第2のXOR値に対してデータ署名を行い、当該第2のXOR値の署名データを生成し、前記ステップdにおいて、POS端末は成功状態コードを受信した場合、当該第2のXOR値の署名データに対して、公開鍵で当該第2のXOR値の署名データに対して署名検証を行い、それに第1のXOR値と第2のXOR値が一致であるか否かを比較するという検証を行う。
【００１３】
本発明のICカードのオフライン認証方法によれば、デジタル署名技術と動的チャレンジコードを利用することによって、ICカードのオフラインPINに対する検証を実現することができるだけでなく、端末がオフラインPINに対する検証を実現することもできる。特に、カードと端末のインタラクティブ過程において平文のオフラインPINが発生せず、従って、安全性をさらに向上させることができる。
【００１４】
本発明の別の態様のICカードのオフラインPINの検証方法であって、
POS端末はカード所有者がPOS端末に入力したパスワードである第1のオフラインPIN1を取得し、動的チャレンジコードを生成し、前記動的チャレンジコード、前記オフラインPIN1をICカードのカードアプリケーションに送信するステップaと、
カードアプリケーションは前記第1のオフラインPIN1とICカードに予め記憶された当該ICカードの実際のパスワードである第2のオフラインPIN2とが一致であるか否かを検証するステップbと、
ステップbで一致であると判断された場合、カードアプリケーションは前記第1のオフラインPIN1と前記第2のオフラインPIN2に対して所定の計算を行って第1の署名データを取得し、且つ当該第1の署名データと成功状態コードをPOS端末に返し、ステップbで一致ではないと判断された場合、POS端末にエラー状態コードを返すステップcと、
POS端末は成功状態コードを受信した場合、第1の署名データを検証し、第1の署名データの検証が成功する場合に後続の取引処理を開始し、第1の署名データの検証が失敗する場合に異常処理を実行し、一方、POS端末はエラー状態コードを受信した場合、異常処理を実行するステップdと、を含むことを特徴とする。
【００１５】
好ましくは、前記ステップaにおいて、POS端末は動的チャレンジコードとして乱数を生成する。
【００１６】
好ましくは、前記ステップaにおいて、POS端末は前記第1のオフラインPIN1と前記動的チャレンジコードを検証指令に組み合わせてともにカードアプリケーションに送信する。
【００１７】
好ましくは、前記ステップaにおいて、POS端末はまず前記動的チャレンジコードをカードアプリケーションに送信し、次に第1のオフラインPIN1をカードアプリケーションに送信する。
【００１８】
好ましくは、前記ステップaにおいて、POS端末は動的チャレンジコードを生成して前記第1のオフラインPIN1とともにPOS端末に記憶する。
【００１９】
好ましくは、前記ステップcにおいてで、カードアプリケーションは前記動的チャレンジコードと前記第2のオフラインPINに対して、動的チャレンジコードと第2のオフラインPIN2との第1のXOR値を計算し、それに秘密鍵で当該第1のXOR値に対してデータ署名を行って、第1の署名データを生成するという計算を行って第1の署名データを取得し、前記ステップdにおいて、POS端末は成功状態コードを受信した場合、第1の署名データに対して、動的チャレンジコードと第1のオフラインPIN1との第2のXOR値を計算し、公開鍵で当該第2のXOR値に対してデータ署名を行って第2の署名データを生成し、及び前記第1の署名データと前記第2の署名データが一致であるか否かを比較するという検証を行う。
【００２０】
本発明のICカードのオフラインPINの検証システムであって、POS端末とICカードのカードアプリケーションモジュールを備え、
前記POS端末は、
カード所有者が入力したパスワードを第1のオフラインPIN1として取得するパスワード取得モジュールと、
動的チャレンジコードをランダムに生成する動的チャレンジコード生成モジュールと、
前記第1のオフラインPIN1と前記動的チャレンジコードを記憶する第1の記憶モジュールと、
POS端末とICカードのカードアプリケーションモジュールとの間のデータ送受信を実行する第1の送受信モジュールと、
第1の送受信モジュールから下記の成功状態コードを受信した場合、第1の署名データを検証し、第1の署名データの検証が成功した場合に後続の取引処理を開始し、第1の署名データの検証が失敗した場合に異常処理を実行する動的チャレンジコード検証モジュールと、
POS端末とICカードのカードアプリケーションモジュールとの間のデータ送受信を実行する第1の送受信モジュールとを備え、
前記ICカードのカードアプリケーションモジュールは、
前記POS端末から受信した前記第1のオフラインPIN1とICカードに予め記憶された当該ICカードの実際のパスワードである第2のオフラインPIN2とが一致であるか否かを検証し、且つ一致ではないと検証した場合にエラー状態コードを出力するパスワード検証モジュールと、
前記パスワード検証モジュールにより前記第1のオフラインPIN1と第2のオフラインPIN2とが一致であると検証された場合、前記第1のオフラインPIN1と前記第2のオフラインPIN2に対して所定の計算を行って第1の署名データを取得するデジタル署名モジュールと、
POS端末とICカードのカードアプリケーションモジュールとの間のデータ送受信を実行し、パスワード検証モジュールの検証が成功した場合に当該第1の署名データと成功状態コードを前記第1の送受信モジュールに返し、パスワード検証モジュールの検証が失敗した場合にエラー状態コードを前記第1の送受信モジュールに送信する第2の送受信モジュールと、を備えることを特徴とする。
【００２１】
好ましくは、前記第1の送受信モジュールは前記動的チャレンジコード生成モジュールにより生成されて第1の記憶モジュールに記憶された動的チャレンジコード、前記第1のオフラインPIN1をともに前記第2の送受信モジュールに送信する。
【００２２】
好ましくは、前記第1の送受信モジュールは前記動的チャレンジコード生成モジュールにより生成されて第1の記憶モジュールに記憶された動的チャレンジコードをまず第2の送受信モジュールに送信し、次に前記第1のオフラインPIN1を前記第2の送受信モジュールに送信する。
【００２３】
好ましくは、前記デジタル署名モジュールは、動的チャレンジコードと第2のオフラインPIN2との第1のXOR値を計算し、秘密鍵で当該第1のXOR値に対してデータ署名を行って、第1の署名データを生成し、前記動的チャレンジコード検証モジュールは、動的チャレンジコードと第1のオフラインPIN1との第2のXOR値を計算し、公開鍵で当該第2のXOR値に対してデータ署名を行い、第2の署名データを生成する。前記第1の署名データと前記第2の署名データが一致であるか否かを比較する。
【発明の効果】
【００２４】
本発明のICカードのオフライン認証方法及び認証システムによれば、デジタル署名技術と動的チャレンジコードを利用することによって、ICカードのオフラインPINに対する検証を実現することができるだけでなく、端末のオフラインPINに対する検証を実現することもできる。当該方法は簡単に実現でき、実用性が高く、安全で信頼でき、オフラインPINの認証フローに対する攻撃を効果的に防止でき、ICカード支払い過程の安全性を確保する。
【図面の簡単な説明】
【００２５】
【図１】従来技術のオフラインPINの認証を示すフローチャートである。
【図２】従来技術の接触型電子現金の認証を示すフローチャートである。
【図３】本発明に係るオフラインPINの認証を示すフローチャートである。
【図４】本発明に係るオフラインPINの認証方法を接触型PBOC電子現金に応用するフローチャートである。
【図５】本発明に係るオフラインPINの認証システムを示す構造ブロック図である。
【発明を実施するための形態】
【００２６】
以下、本発明の複数の実施例のうちのいくつかを説明し、本発明に対する基本的な理解を提供することを目的とする。本発明の重要又は決定的な要素を確定し又は保護しようとする範囲を限定するものではない。
【００２７】
図3は本発明に係るオフラインPIN認証を示すフローチャートである。図3に示すように、本発明に係るオフラインPINの認証方法は、以下のステップを含む。
ステップ1：カード所有者はPOS端末にオフラインPIN1を入力する。
【００２８】
ステップ2：POS端末は、動的チャレンジコードとして乱数Rndを生成し、且つ当該動的チャレンジコードとオフラインPIN1をともにPOSの暗号化チップに記憶する。ここで、POS端末のハードウェアにより乱数Rndを生成し、乱数が任意のビットであってもよく、例えば、8ビットバイトの乱数である。
【００２９】
ステップ3：POS端末は当該動的チャレンジコードRndをオフラインPIN1の後に添付し且つ検証指令を構成してカードアプリケーションに送信する。ここで、「カードアプリケーション」は、具体的にICカードチップに搭載して実行されるアプリケーションプログラムである。
【００３０】
ステップ4：カードアプリケーションは、当該オフラインPIN1とICカード内に予め記憶されたICカードの実際のパスワードPIN2とが一致であるか否かを検証する。一致ではない場合、POS端末にエラー状態コードを直接返し、一致である場合、以下のステップを行う。
（1）乱数RndとオフラインPIN2とのXOR値Tdata1を計算し、即ち、Tdata1＝Rnd XOR PIN2であり、
（2）秘密鍵SkTdata1でデジタル署名を行い、デジタル署名データSig1を得て、
（3）POS端末にSig1＋9000（成功状態コード）を返す。
【００３１】
ステップ5：POS端末は、カードアプリケーションからの応答を受信した後、返した状態コードが成功状態コードであるかそれともエラー状態コードであるかを判断し、エラー状態コードであると、対応する異常処理ロジックを実行し、成功状態コード9000であると、以下の検証動作を実行する。
（1）乱数RndとオフラインPIN1とのXOR値Tdata2を計算し、即ち、Tdata2＝Rnd XOR PIN1であり、
（2）POS端末に記憶された公開鍵Pkでデジタル署名Sig1を検証してTdata2とTdata1が一致であるか否かを比較する。両者が一致であると、カードアプリケーションがPOS端末により送信されたPIN1検証指令を実行したことが分かり、一致ではないと中間者に攻撃されたことが分かる。
【００３２】
また、上記のステップ3において、POS端末は、当該動的チャレンジコードRndをオフラインPIN1の後に添付してともにカードアプリケーションに送信し、もちろん、動的チャレンジコードRndとオフラインPIN1を次々にカードアプリケーションに送信してもよく、この場合、POS端末は、まず動的チャレンジコードをカードアプリケーションに送信し、次にオフラインPIN1をカードアプリケーションに送信する。
【００３３】
上記のステップ4、5において、1対の秘密鍵Skと公開鍵Pkによって検証が行われ、即ち、本発明はこのような非対称鍵体系によってが認証が行われ、例えば、具体的にRSAアルゴリズム等を採用することができる。非対称鍵体系の優勢は、主に安全性と拡張性がより優れていることにある。さらに、本発明の上記ステップ4、5において、対称鍵体系で認証してもよい。
【００３４】
本発明のICカードのオフライン認証方法によれば、デジタル署名技術と動的チャレンジコードを利用することによって、ICカードのオフラインPINに対する検証を実現することができるだけでなく、端末のオフラインPINに対する検証を実現することもできる。当該方法は簡単に実現でき、実用性が高く、安全で信頼でき、オフラインPIN認証フローに対する攻撃を効果的に防止でき、ICカード支払い過程の安全性を確保することができる。
【００３５】
以下、本発明のオフライン認証方法を接触型PBOC電子現金に応用する認証過程を説明する。
【００３６】
図4は本発明に係るオフラインPIN認証方法を接触型PBOC電子現金に応用するフローチャートである。
【００３７】
図4に示すように、当該認証過程は以下のステップを含む。
ステップ1：端末は接触型PBOC電子現金にカード認証を始める（本発明の範囲に属しない）。
【００３８】
ステップ2：端末はPIN試み回数を取得する（本発明の範囲に属しない）。
【００３９】
ステップ3：端末は乱数を発生する。
ステップ4：端末は当該乱数とPINコードを接触型PBOC電子現金に送信する。
【００４０】
ステップ5：接触型PBOC電子現金は当該入力PINコードを認証し、当該PINコードと乱数に対してデータ署名を行う。
【００４１】
ステップ6：接触型PBOC電子現金は端末に状態コード及びデジタル署名を返し、PINコードの認証が成功した場合に成功状態コード及びデジタル署名を返し、PINコードの認証が失敗した場合にエラー状態コードのみを返す。
【００４２】
ステップ7：端末は、検証状態コード及びデジタル署名に対して、成功状態コードを取得する場合にデジタル署名を検証し、エラー状態コードを取得する場合に、異常処理を実行する。
ステップ8：端末が状態コード及びデジタル署名に対する検証がいずれも成功した場合に、後続の取引処理フローを開始する。
【００４３】
上記本発明に係るオフラインPINの認証方法を接触型PBOC電子現金に応用することによって、オフラインPINの認証フローに対する攻撃を効果的に防止することができ、接触型PBOC電子現金の安全性を確保することができる。
【００４４】
続いて、本発明のオフラインPIN認証システムを簡単に説明する。
【００４５】
続いて、本発明の別の実施形態を説明する。当該実施形態と上記実施形態との差別は、POS端末が動的チャレンジコードを生成した後、POS端末が当該動的チャレンジコードと第1のオフラインPIN1に対してXOR演算を行って第1のXOR値を得て、カードアプリケーションが検証する時、動的チャレンジコードと第2のオフラインPIN2に対してXOR演算を行って第2のXOR値を生成し、次に第1のXOR値と第2のXOR値が一致であるか否かを比較することによってカードのPIN検証が通過するか否かを判断し、次に秘密鍵で当該第2のXOR値を署名してPOS端末に返し、POS端末は公開鍵で当該第2のXOR値の署名データを検証し、次に当該第1のXOR値と第2のXOR値が一致であるか否かを比較することによってカード所有者のPIN検証が通過するか否かを判断する。
【００４６】
当該実施形態のICカードのオフラインPINの検証方法は、具体的に以下のステップを含む。
ステップa：POS端末は、カード所有者がPOS端末に入力したパスワードである第1のオフラインPIN1を取得し、動的チャレンジコードを生成し、前記動的チャレンジコード及び前記第1のオフラインPIN1に対してXOR演算を行って得られる第1のXOR値と前記動的チャレンジコードとをICカードのカードアプリケーションに送信し、
ステップb：カードアプリケーションは、前記動的チャレンジコード及びICカードに予め記憶された当該ICカードの実際のパスワードである第2のオフラインPIN2に対してXOR演算を行って第2のXOR値を得て、前記第1のXOR値と第2のXOR値が一致であるか否かを検証し、
ステップc：ステップbで一致であると判断した場合、カードアプリケーションは、前記第2のXOR値を署名し、当該第2のXOR値の署名データ及び成功状態コードをPOS端末に返し、ステップbで一致ではないと判断した場合、POS端末にエラー状態コードを返し、
ステップd：POS端末は、成功状態コードを受信した場合、当該第2のXOR値の署名データを検証し、当該第2のXOR値の署名データの検証が成功した場合に、後続の取引処理を開始し、当該第2のXOR値の署名データの検証が失敗した場合に異常処理を実行し、一方、POS端末は、エラー状態コードを受信した場合、異常処理を実行する。
【００４７】
前記ステップaにおいて、POS端末は、乱数を動的チャレンジコードとして生成し、且つ第1のXOR値を生成する。
【００４８】
前記ステップcにおいて、秘密鍵で当該第2のXOR値に対してデータ署名を行い、当該第2のXOR値の署名データを生成し、前記ステップdにおいて、POS端末は成功状態コードを受信した場合、当該第2のXOR値の署名データに対して、公開鍵で当該第2のXOR値の署名データに対して署名検証を行い、それに第1のXOR値と第2のXOR値が一致であるか否かを比較するという検証を行う。
【００４９】
当該実施形態に係るICカードのオフライン認証方法によれば、デジタル署名技術と動的チャレンジコードを利用することによって、ICカードのオフラインPINに対する検証を実現することができるだけでなく、端末のオフラインPINに対する検証を実現することもできる。特に、カードと端末とのインタラクティブ過程において平文のオフラインPINが生成せず、従って、安全性をさらに向上させることができる。
【００５０】
図5は本発明に係るオフラインPINの認証システムを示す構造ブロック図である。図5に示すように、本発明のICカードのオフラインPINの検証システムは、POS端末100とICカードのカードアプリケーションモジュール200とを備える。
【００５１】
POS端末100は、パスワード取得モジュール101と、動的チャレンジコード生成モジュール102と、第1の記憶モジュール103と、第1の送受信モジュール104と、動的チャレンジコード検証モジュール105とを備える。前記ICカードのカードアプリケーションモジュール200は、パスワード検証モジュール201と、デジタル署名モジュール202と、第2の送受信モジュール203とを備える。
【００５２】
パスワード取得モジュール101は、カード所有者が入力したパスワードを第1のオフラインPIN1として取得する。
【００５３】
動的チャレンジコード生成モジュール102は、動的チャレンジコードをランダムに生成し、ランダムに生成された動的チャレンジコードは任意のバイトのデータであってもよく、例えば、8ビットバイトの乱数である。
【００５４】
第1の記憶モジュール103は、前記第1のオフラインPIN1と前記動的チャレンジコードを記憶する。
【００５５】
第1の送受信モジュール104は、POS端末とICカードのカードアプリケーションモジュールとの間のデータ送受信を実行する。
【００５６】
動的チャレンジコード検証モジュール105は、第1の送受信モジュールから下記の成功状態コードを受信した場合、第1の署名データを検証し、第1の署名データの検証が成功した場合に後続の取引処理を開始し、第1の署名データの検証が失敗した場合に異常処理を実行する。
【００５７】
第1の送受信モジュール104は、POS端末とICカードのカードアプリケーションモジュールとの間のデータ送受信を実行し、即ち、第1の記憶モジュール103に記憶された動的チャレンジコード、第1のオフラインPIN1を下記ICカードのカードアプリケーションモジュール200の第2の送受信モジュール203に送信し、且つ、対応的に下記ICカードのカードアプリケーションモジュール200の第2の送受信モジュール203からデータを受信する。第1の送受信モジュール104は、動的チャレンジコード生成モジュール102により生成されて第1の記憶モジュール103に記憶された動的チャレンジコード、第1のオフラインPIN1をともに第2の送受信モジュール203に送信する。或いは、第1の送受信モジュール104は、動的チャレンジコード生成モジュール102により生成されて第1の記憶モジュール103に記憶された動的チャレンジコードをまず第2の送受信モジュール203に送信し、次に第1のオフラインPIN1を第2の送受信モジュール203に送信する。
【００５８】
また、パスワード検証モジュール201は、POS端末から受信した第1のオフラインPIN1とICカードに予め記憶された第2のオフラインPIN2（第2のオフラインPIN2は当該ICカードの実際のパスワードである）とが一致であるか否かを検証し、且つ一致ではないと検証した場合、エラー状態コードを出力し、検証が成功した場合、成功状態コード9000を出力する。
【００５９】
デジタル署名モジュール202は、パスワード検証モジュール201により第1のオフラインPIN1と第2のオフラインPIN2とが一致であると検証された場合、第1のオフラインPIN1と第2のオフラインPIN2に対して所定の計算を行って第1の署名データを取得する。
【００６０】
第2の送受信モジュール203は、POS端末100とICカードのカードアプリケーションモジュール200との間のデータ送受信を実行し、パスワード検証モジュール201による検証が成功した場合に当該第1の署名データと成功状態コードを第1の送受信モジュール105に返し、パスワード検証モジュール201による検証が失敗した場合にエラー状態コードを第1の送受信モジュール104に送信する。
【００６１】
具体的な実施形態として、デジタル署名モジュール202は、動的チャレンジコードと第2のオフラインPIN2との第1のXOR値を計算し、秘密鍵で当該第1のXOR値に対してデータ署名を行って、第1の署名データを生成する。対応的に、動的チャレンジコード検証モジュール105は、動的チャレンジコードと第1のオフラインPIN1との第2のXOR値を計算し、公開鍵で当該第2のXOR値に対してデータ署名を行い、第2の署名データを生成し、且つ第1の署名データと前記第2の署名データが一致であるか否かを比較し、結果、両者が一致である場合、カードアプリケーションがPOS端末により送信されたPIN1検証指令が実行されたが分かり、両者が一致ではない場合中間者により攻撃されたが分かる。
【００６２】
本発明に係るICカードのオフライン認証システムによれば、デジタル署名技術と動的チャレンジコードを利用することによって、ICカードのオフラインPINに対する検証を実現することができるだけでなく、端末のオフラインPINに対する検証を実現することもできる。当該方法は簡単に実現でき、実用性が高く、安全で信頼でき、オフラインPIN認証フローに対する攻撃を効果的に防止でき、ICカード支払い過程の安全性を確保することができる。
【００６３】
本発明に係るオフラインPINの認証及びオフラインPINの認証システムは、カードのカード所有者に対する認証を実現するだけでなく、端末のカード所有者に対する認証を実現するという特徴を有する。取引の安全性をさらに向上させ、端末は返した状態コードのみによってカード所有者の認証が成功するか否かを知ることではなく、本発明によって上記の内容に基づいてカードがオフラインPINの認証を本当に実行するか否かをさらに検証し、受付環境の安全性をさらに向上させることができる。
【００６４】
以上の例は主に本発明に係るオフラインPIN認証方法及びオフラインPINの認証システムを説明した。本発明のいくつかの具体的な実施形態を説明したが、その趣旨及び範囲を逸脱することなく本発明をその他の様々な形態で実施することができることは当業者にとって明らかである。従って、列挙された例及び実施形態は例示的なものに過ぎず、制限するものではなく、添付の各請求項に定義される本発明の精神及び範囲を逸脱することなく、本発明に様々な変更や取替を加えることができる。
【符号の説明】
【００６５】
100  POS端末
101  パスワード取得モジュール
102  動的チャレンジコード生成モジュール
103  第1の記憶モジュール
104  第1の送受信モジュール
105  動的チャレンジコード検証モジュール
200  ICカードのカードアプリケーションモジュール
201  パスワード検証モジュール
202  デジタル署名モジュール
203  第2の送受信モジュール
【図１】
2016518661.tif 000003
【図２】
2016518661.tif 000004
【図３】
2016518661.tif 000005
【図４】
2016518661.tif 000006
【図５】
2016518661.tif 000007
【国際調査報告】
2016518661.tif 000008
2016518661.tif 000009
2016518661.tif 000010
2016518661.tif 000011