(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-08-31
(54)【発明の名称】オンシェルフ取引デバイスのための非接触型支払として受付可能なセキュアなモバイル支払及びバックオフィスアプリケーションソリューション
(51)【国際特許分類】
H04L 9/32 20060101AFI20220824BHJP
H04L 9/14 20060101ALI20220824BHJP
G06F 21/60 20130101ALI20220824BHJP
G06F 21/71 20130101ALI20220824BHJP
G06Q 20/20 20120101ALI20220824BHJP
G06Q 20/32 20120101ALI20220824BHJP
【FI】
H04L9/32 200B
H04L9/14
G06F21/60 320
G06F21/71
G06Q20/20
G06Q20/32
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021546862
(86)(22)【出願日】2020-11-13
(85)【翻訳文提出日】2021-10-08
(86)【国際出願番号】 TR2020051104
(87)【国際公開番号】W WO2021230835
(87)【国際公開日】2021-11-18
(32)【優先日】2020-05-13
(33)【優先権主張国・地域又は機関】TR
(81)【指定国・地域】
(71)【出願人】
【識別番号】322009099
【氏名又は名称】ヤザラ ペイメント ソリューションズ インコーポレイテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】アクグン、アフメト
(72)【発明者】
【氏名】ヤッシバス、ハサン
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055AA42
5L055AA64
(57)【要約】
オンシェルフ取引デバイスのための非接触型支払として受付可能なセキュアなモバイル支払及びバックオフィスアプリケーションソリューション。本発明は、ユーザが所有するスマートフォン、タブレット等のモバイルデバイス上で動作するアプリケーションを用いて、POSデバイスとしての関連モバイルデバイスを使用することを提供するシステム及び方法に特に関する。
【特許請求の範囲】
【請求項1】
モバイルデバイスを通じて物理POSデバイスの機能の遂行を提供する、商用オフザシェルフデバイスのための非接触型支払を受付可能な、セキュアなモバイル支払及びバックオフィスアプリケーションシステムであって、
至近距離通信機能を有する、ユーザのモバイルデバイスを用いた支払の受付を提供するPOSアプリケーションであって、
ユーザインタフェースを提供するUI/UXモジュールと、
ユーザインタフェースとワークフローとを管理するL3 SDK層と、
支払スキームのコアアプリケーションが作動する、L2カーネルと、
前記L2カーネルの管理を提供する、L2管理モジュールと、
セキュリティ、キーの生成、及び暗号アルゴリズムオペレーションを提供する暗号エンジンモジュールと
を有するPOSアプリケーションと、
前記POSアプリケーションを管理するバックエンドモジュールであって、
モバイルデバイス上のEMV端末パラメータの管理を提供するパラメータ管理モジュールと、
モバイルデバイス上のクライアントキーの管理を提供するキー管理モジュールと、
モバイルデバイス上で開始される非接触型支払トランザクションの、セキュアな方法でのアクワイアラへのセキュア伝送を提供するトランザクションネットワークゲートウェイと、
モバイルデバイスを検証し、セキュリティ及び詐欺チェックを行うアテステーション及びモニタリングモジュールと、
アクワイアラ銀行と加盟店との統合を提供するID&Vコンポーネントと、
キー項目を保存するデータベースと、
キー管理と通信セキュリティとを提供するハードウェアセキュリティモジュールと、
を有するバックエンドモジュールと、
前記POSアプリケーションを実行し、近距離通信機能を有するユーザモバイルデバイスと
を備えるシステム。
【請求項2】
前記ユーザモバイルデバイスの近距離通信機能を提供するNFCアンテナを備える請求項1に記載のシステム。
【請求項3】
モバイルデバイスを通じて物理POSデバイスの機能の遂行を提供し、商用オフザシェルフデバイスのための非接触型支払を受付可能な、セキュアなモバイル支払及びバックオフィスアプリケーション方法であって、
支払を行うことを提供するPOSアプリケーションを、近距離通信機能を有するユーザのモバイルデバイスにインストールする段階と、
ユーザのモバイルデバイス上のPOSアプリケーションを起動し、最初のアテステーションデータを検証する段階と、
加盟店を検証する段階と、
加盟店固有の特殊キーを生成する段階と、
コンフィギュレーション及びPOSアプリケーションパラメータをユーザのモバイルデバイスにダウンロードし、インストールを完了させ、POSアプリケーションを準備する段階と、
POSアプリケーションにより販売トランザクションを実行する段階であって、
POSアプリケーション内のUI/UXモジュール、L3 SDK層、及び、L2管理モジュールによって、POSアプリケーションから販売トランザクションをスタートする段階と、
上記L3 SDK層、及び、L2カーネルからデータを受信し、認証に、及び、暗号アルゴリズムの動作を提供する暗号エンジンモジュールによる機密データの暗号化に必要なEMVタグを用意する段階と、
L2管理モジュールを介して、認証リクエストメッセージを、POSアプリケーションを管理するバックエンドモジュールに伝送する段階と、
バックエンドモジュール内の、キー管理と通信セキュリティとを提供するハードウェアセキュリティモジュールにより、データを再暗号化し、バックエンドモジュール内のトランザクションネットワークゲートウェイにより、認証リクエストメッセージを、アクワイアラ銀行に提出する段階と、
POSアプリケーションのアクワイアラ銀行により、認証リクエスト応答を、バックエンドモジュール内のトランザクションネットワークゲートウェイに伝送する段階と、
バックエンドモジュール内のトランザクションネットワークゲートウェイにより、アクワイアラ銀行からの認証リクエスト応答をPOSアプリケーション内のL3 SDK層に伝送する段階と、
POSアプリケーション内のL3 SDK層に伝送された販売トランザクション結果の応答を、UI/UXモジュールにより表示する段階と
を有する段階と、
POSアプリケーションにより取消/払戻オペレーションを実行する段階であって、
POSアプリケーション内のUI/UXモジュール、L3 SDK層、L2管理モジュールによって、POSアプリケーションから取消/払戻トランザクションをスタートする段階と、
前記L3 SDK層及びL2カーネルからデータを受信し、取消/払戻トランザクションに、及び、暗号アルゴリズムの動作を提供する暗号エンジンモジュールによる機密データの暗号化に必要なEMVタグを用意する段階と、
L2管理モジュールを介して、取消/払戻リクエストメッセージを、POSアプリケーションを管理するバックエンドモジュールに伝送する段階と、
ハードウェアセキュリティモジュールにより、データを再暗号化し、バックエンドモジュール内のトランザクションネットワークゲートウェイへの取消/払戻リクエストメッセージを、アクワイアラ銀行に伝送する段階と、
バックエンドモジュール内のトランザクションネットワークゲートウェイにより、取消/払戻リクエスト応答を、アクワイアラ銀行から、POSアプリケーション内のL3 SDK層に伝送する段階と、
POSアプリケーションにより、逆転リクエストを実行する段階であって、
バックエンドモジュール内のトランザクションネットワークゲートウェイによりアクワイアラ銀行からの認証リクエスト応答をPOSアプリケーション内のL3 SDK層に伝送する段階の間のエラーをPOSアプリケーションから受信する段階と、
L2管理モジュールにより、チェックPOSリクエスト及びPOSアプリケーションの逆転リクエストをバックエンドモジュールに伝送する段階と、
oトランザクションネットワークゲートウェイを介して、バックエンドモジュールにより、逆転リクエストをアクワイアラに伝送する段階と、
バックエンドモジュール内のトランザクションネットワークゲートウェイにより、逆転リクエスト応答を、アクワイアラ銀行からPOSアプリケーション内のL3 SDK層に伝送する段階と
を有する段階と、
バックエンドモジュールにより、逆転リクエストを実行する段階であって、
アクワイアラ銀行により認証リクエスト応答をバックエンドモジュール内のトランザクションネットワークゲートウェイに伝送するプロセス段階の間のエラーを受信する段階と、
トランザクションネットワークゲートウェイを介して、バックエンドモジュールにより、逆転リクエストをアクワイアラに伝送する段階と、
バックエンドモジュール内のトランザクションネットワークゲートウェイにより、逆転応答を、アクワイアラ銀行からPOSアプリケーション内のL3 SDK層に伝送する段階と
を有する段階と
を備える方法。
【請求項4】
最初にPOSアプリケーションを開くときの加盟店の検証のプロセスは、
POSアプリケーションのUI/UXモジュールによってアクワイアラ銀行により加盟店企業の登録をするために、加盟店に送信される加盟店IDと、端末IDと、起動コードとを入力する段階と、
POSアプリケーション上で作動するL3 SDK層により、入力された項目をバックエンドモジュールに伝送し、バックエンドモジュールと登録項目の検証との統合を提供するID&Vコンポーネントにより、アクワイアラ銀行検証APIを呼び出す段階と、
バックエンドモジュール内のID&Vコンポーネントを介して、アクワイアラ銀行の検証返答をPOSアプリケーションに伝送し、UI/UXモジュールによって結果を表示する段階と、
検証が成功である場合、フローを進める段階と、
検証が不正確な場合、フローを終了する段階
を有する、請求項3に記載の方法。
【請求項5】
加盟店固有のキーを生成する段階は、
POSアプリケーションにより、L3 SDK層によって、コンフィギュレーション及びキーの生成のためのリクエストを、ACQ.PRODUCT.PUB(C.EXCH.Key)データと共に、バックエンドモジュールに提出する段階と、
バックエンドモジュールにより、C.EXCH.Keyを、ACQ.PRODUCT.PUBキーの名目で、ハードウェアセキュリティモジュールにインポートする段階と、
バックエンドモジュールにより、H.EXCH.Keyを、C.EXCH.PUBに従って、ハードウェアセキュリティモジュール(2.7)内に生成する段階と、
バックエンドモジュールにより、Base Derivation Keyを、アクワイアラのために、ハードウェアセキュリティモジュール内に生成する段階と、
バックエンドモジュールにより、IPEK.TAK、IPEK.TEK、IPEK.TATK、IPEK.TSKキーを、H:EXCH.KEYに従って、ハードウェアセキュリティモジュール内のBDKから生成する段階と、
バックエンドモジュールにより、IPEK.TATK、IPEK.TEK、IPEK.TAK、IPEK.TSKキーを、登録応答内でHost Exchange Keyに従って伝送する段階と、
L3 SDK層により、host exchange keyを、C.EXCH.Keyにより解明する段階と、
L3 SDK層により、各IPEKキーを、H.EXCH.Keyを用いて解明する段階と、
L3 SDK層により、各IPEKキーを、各ホワイト・ボックス形態に変換する段階と、
L3 SDK層により、ホワイト・ボックス形態の各キー(WB_IPEK.TEK、WB_IPEK.TAK、WB_IPEK.TSK及びWB_IPEK.TATK)を、暗号モジュールに保存する段階と、
バックエンドモジュールのパラメータ管理モジュール及びキー管理モジュールによって、キー及びパラメータを、関連するユーザモバイルデバイスと関連付ける段階と、
パラメータ管理モジュールを用いて、バックエンドモジュールによって、ユーザモバイルデバイスに固有のキー及びコンフィギュレーションパラメータを、ユーザモバイルデバイスに伝送する段階と、
暗号エンジンモジュールとL3 SDK層とによって、ユーザモバイルデバイスに固有のキー及びコンフィギュレーションパラメータを、ユーザモバイルデバイスにダウンロードする段階と
を有する、請求項3または4に記載の方法。
【請求項6】
販売オペレーションをPOSアプリケーションから開始する段階は、
支払われるべき金額を、POSアプリケーションのUI/UXモジュールから入力する段階と、
POSアプリケーションのUI/UXモジュールとL3 SDK層とによって、支払が行われる支払機器がユーザモバイルデバイスに読み取られることを表明するプロンプトを表示する段階と、
消費者により、ユーザモバイルデバイスに支払機器を読み取る段階と
を有する、請求項3から5のいずれか一項に記載の方法。
【請求項7】
最初のアテステーションデータを検証する段階は、
POSアプリケーションの暗号エンジンモジュールとL3 SDK層とによって、WB.C.IATTEST.Keyを用いて、最初のアテステーションデータを暗号化する段階と、
POSアプリケーションにより、C.IATTEST.Keyを、最初のアテステーションリクエストと共に、バックエンドモジュールに、ACQ.PRODUCT.PUBキーに従って伝送する段階と、
バックエンドモジュールにより、アテステーション及びモニタリングモジュールとハードウェアセキュリティモジュールとによって、C.IATTEST.Keyを、インポートし、最初のアテステーションデータを解読する段階と
を有する、請求項3から6のいずれか一項に記載の方法。
【請求項8】
POSアプリケーションにより、L3 SDK層と暗号エンジンモジュールとによって、一般的アテステーションデータを、WB.IPEK.TATK Keyを用いて暗号化する段階と、
暗号化されたアテステーションデータを、KSN値と共に、バックエンドモジュールに伝送する段階と、
バックエンドモジュールにより、アテステーション及びモニタリングモジュールとハードウェアセキュリティモジュールとによって、アテステーションデータを、BDK.TATKTを用いて解読し、KSNをチェックする段階と
を有する請求項3から7のいずれか一項に記載の方法。
【請求項9】
アテステーションデータは
アクワイアラid、
アプリケーション:アプリのバージョン、
アプリケーション:パッケージ名、
アプリケーション:パーミッション、
アプリケーション:SDKのバージョン、
アプリケーション:署名、
デバイス:利用可能な内部ストレージ、
デバイス:指紋、
デバイス:IMEI、
デバイス:製造者、
デバイス:モデル、
デバイス:OS名、
デバイス:OSのバージョン、
デバイス:バッテリー残存率、
デバイス:メモリ使用率、
デバイス:UniqueId、
セキュリティ:アプリの改ざん、
セキュリティ:デバッガ、
セキュリティ:エミュレータ、
セキュリティ:フッキング、
セキュリティ:root、及び、
セキュリティ:タイムスタンプ、
のフィールド及び段階を有する、請求項3から8のいずれか一項に記載のモバイルPOS方法。
【請求項10】
ユーザモバイルデバイスと支払機器との通信が、NFCアンテナにより提供される、請求項3又は6に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
発明は、モバイルデバイスを用いた物理POSデバイスの機能及び要件を満たすシステム及び方法に関する。
【0002】
発明は、ユーザが所有するスマートフォン、タブレット等のモバイルデバイス上で動作するアプリケーションを用いて、POSデバイスとしての関連モバイルデバイスを使用することを提供するシステム及び方法に特に関する。
【背景技術】
【0003】
当技術分野において用いられるPOSデバイスは、完全な閉回路のネットワーク上で動作するハードウェアデバイスである。したがって、必要とされる暗号キーは、加盟店に送信される前に、アクワイアラにより特定の場所においてロードされる。ソフトウェアデフォルトの場合にはPOSデバイスのインストール及びソフトウェアのアップデートが、機能不全の場合にはリモートでの試みが不可能であるため、フィールドオペレーションチームが必要である。これは、オペレーションコストを生じさせる。
【0004】
結論として、関連技術を考慮して解決されなかった上記問題に対し、当技術分野における新規性を創出することが、必要とされてきた。
【発明の概要】
【0005】
上記欠点を排除し、新たな利点を関連技術分野にもたらすために、本発明は、COTS(商用オフザシェルフ)デバイスのための非接触型支払を受付可能なセキュアなモバイル支払及びバックオフィスアプリケーションソリューションに関する。
【0006】
発明の主要な目的は、従来の物理POSデバイスにより提供される機能の遂行を、スマートフォン、タブレット等のモバイルデバイスによりユーザに提供することと、データのセキュリティを提供することとによって、ハッカーにより引き起こされ得るリスクを低減するためのシステム及び方法を発展させることである。
【0007】
発明の別の目的は、RASPメカニズム、ホワイト・ボックス暗号法、通信保護、バックエンドシステム保護メカニズム、乱数生成、セッション管理により、セキュリティの脅威に対するセキュリティ対策アプリケーションを提供するシステム及び方法を提供することである。
【0008】
発明の別の目的は、マルチテナントロジック(同じシステムを通じて1以上のアクワイアラをサポートすること)で発展されるシステム及び方法を開示することである。
【0009】
発明の別の目的は、オペレーションセンタは単一のアクワイアラ銀行に対してしか動くことができない一方で、あるオペレーションセンタに1以上のアクワイアラ銀行を設置することで、1以上のアクワイアラ銀行にサービスを提供することが可能なシステム及び方法を提供することである。
【0010】
上述のすべての目的を実現するために、また、下に与える項目と共により良く理解されるために、本発明は、モバイルデバイスを通じて物理POSデバイスの機能の遂行を提供する、すべての商用オフザシェルフデバイスのための非接触型支払を受付可能なセキュアなモバイル支払及びバックオフィスアプリケーションシステムである。それゆえ、システムは、以下を備える。
・ユーザが、NFC(近距離通信)対応のモバイルデバイス(M)を用いた支払を、受付を可能にするPOSアプリケーションであって、
oユーザインタフェースを提供するUI/UXモジュールと、 oユーザインタフェースとワークフローとを管理するL3 SDK層と、
o支払スキームのコアアプリケーションが作動する、L2カーネルと、
o上記L2カーネルの管理を提供するL2管理モジュールと、
oセキュリティ、キーの生成、及び暗号アルゴリズムオペレーションを提供する暗号エンジン(crypto engine)モジュールと
を備えるPOSアプリケーション
・上記POSアプリケーションを管理するバックエンドモジュールであって、
oモバイルデバイス(M)上のEMV端末パラメータの管理を提供するパラメータ管理モジュールと、
oモバイルデバイス(M)上のクライアントキーの管理を提供するキー管理モジュールと、
oモバイルデバイス上で開始される非接触型支払トランザクションの、セキュアな方法でのアクワイアラ銀行へのセキュア伝送を提供するトランザクションネットワークゲートウェイと、
oモバイルデバイス(M)を検証し、詐欺チェックを行うアテステーション及びモニタリングモジュールと、
oアクワイアラ銀行と加盟店との統合を提供するID&Vコンポーネントと、
oキー項目を保存するデータベースと、
oキー管理と通信セキュリティとを提供するハードウェアセキュリティモジュールと
を備えるバックエンドモジュール
・上記POSアプリケーションを実行し、近距離通信機能を有するユーザモバイルデバイス
【0011】
発明はまた、モバイルデバイスを通じて物理POSデバイスの機能の遂行を提供し、商用オフザシェルフデバイスのための非接触型支払を受付可能な、セキュアなモバイル支払及びバックオフィスアプリケーション方法を含む。それゆえに、方法は以下のプロセス段階を備える。
・支払を行うことを提供するPOSアプリケーションを、近距離通信機能を有するユーザのモバイルデバイスにインストール
・ユーザのモバイルデバイス上のPOSアプリケーションを起動、及び、最初のアテステーションデータを検証
・加盟店を検証
・加盟店固有のキーを生成
・コンフィギュレーション及びPOSアプリケーションパラメータをユーザのモバイルデバイスにダウンロード、インストールが完了、POSアプリケーションを準備
・以下のようにPOSアプリケーションにより販売トランザクションを実行
oPOSアプリケーション内のUI/UXモジュール、L3 SDK層、及び、L2管理モジュールによって、POSアプリケーションから販売トランザクションをスタート
o上記L3 SDK層、及び、L2層のからデータを受信、認証に、及び、暗号アルゴリズムの動作を提供する暗号エンジンモジュールによる機密データの暗号化に必要なEMVタグを用意
oL2管理モジュールを介して、認証リクエストメッセージを、POSアプリケーションを管理するバックエンドモジュールに提出
oバックエンドモジュール内の、キー管理と通信セキュリティとを提供するハードウェアセキュリティモジュールにより、データを再暗号化、及び、バックエンドモジュール内のトランザクションネットワークゲートウェイにより、認証リクエストメッセージを、アクワイアラ銀行に提出
oアクワイアラ銀行による認証リクエスト返答を、バックエンドモジュール内のトランザクションネットワークゲートウェイに供給
oバックエンドモジュール内のトランザクションネットワークゲートウェイにより、アクワイアラ銀行からの認証リクエスト応答をPOSアプリケーション内のL3 SDK層に伝送
oPOSアプリケーション内のL3 SDK層に伝送された販売トランザクション結果の応答をUI/UXモジュールにより表示
・以下のようにPOSアプリケーションにより取消(キャンセル)/払戻トランザクションを実行;
oPOSアプリケーション内のUI/UXモジュール、L3 SDK層、L2管理モジュールによって、POSアプリケーションから取消/払戻トランザクションをスタート
o上記L3 SDK層、L2層からデータを受信、並びに、取消/払戻(void/refund)トランザクションに、及び、暗号アルゴリズムの動作を提供する暗号エンジンモジュールによる機密データの暗号化に必要なEMVタグを用意
oL2管理モジュールを介して、取消/払戻リクエストメッセージを、POSアプリケーションを管理するバックエンドモジュールに提出
oハードウェアセキュリティモジュールにより、データを再暗号化、及び、バックエンドモジュール内のトランザクションネットワークゲートウェイへの取消/払戻リクエストメッセージを、アクワイアラ銀行に伝送
oバックエンドモジュール内のトランザクションネットワークゲートウェイにより、取消/払戻リクエスト応答を、アクワイアラ銀行から、POSアプリケーション内のL3 SDK層に伝送
・以下のようにPOSアプリケーションにより、逆転トランザクションを実行
oバックエンドモジュール内のトランザクションネットワークゲートウェイによりアクワイアラ銀行からの認証リクエスト応答をPOSアプリケーション内のL3 SDK層に伝送する段階の間に、エラーを、POSアプリケーションから受信
oL2管理モジュールにより、チェックPOSリクエスト及びPOSアプリケーションの逆転リクエストをバックエンドモジュールに伝送
oトランザクションネットワークゲートウェイを介して、バックエンドモジュールにより、逆転リクエストをアクワイアラに伝送
oバックエンドモジュール内のトランザクションネットワークゲートウェイにより、アクワイアラ銀行からの逆転リクエスト応答をPOSアプリケーション内のL3 SDK層に伝送
・以下のようにバックエンドモジュールにより、逆転トランザクションを実行
oアクワイアラ銀行により、認証リクエスト応答をバックエンドモジュール内のトランザクションネットワークゲートウェイに供給する段階の間のエラーを受信
oトランザクションネットワークゲートウェイを介して、バックエンドモジュールにより、逆転リクエストをアクワイアラに伝送
oバックエンドモジュール内のトランザクションネットワークゲートウェイを介して、逆転リクエスト応答を、アクワイアラ銀行からPOSアプリケーション内のL3 SDK層に伝送
【0012】
さらなる理解のために、利点と共に実施形態及び本発明の対象となる追加の部材をより明確にするために、以下に説明される図面を参照して評価されたい。
【図面の簡単な説明】
【0013】
【
図1】発明のもとで開示されるシステムの略図である。
【0014】
【
図2】発明のもとで開示される方法のフローチャート図である。
【0015】
【
図3】キーインジェクション方法のフローを示す。参照番号 1.POSアプリケーション 1.1.UI/UXモジュール 1.2.L3 SDK層 1.3.L2管理モジュール 1.4.L2カーネル 1.5.暗号エンジンモジュール 1.6.NFCアンテナ2.バックエンドモジュール 2.1.パラメータ管理モジュール 2.2.キー管理モジュール 2.3.トランザクションネットワークゲートウェイ 2.4.アテステーション及びモニタリングモジュール 2.5.ID&Vコンポーネント 2.6.データベース 2.7.ハードウェアセキュリティモジュール 3.アクワイアラ 4.イシュア銀行 M:ユーザモバイルデバイス 1001.支払を行うことを提供するPOSアプリケーションを、近距離通信機能を有するユーザのモバイルデバイスにインストール
1002.ユーザのモバイルデバイス上のPOSアプリケーションを起動、及び、最初のアテステーションデータを検証 1003.加盟店を検証 1004.加盟店固有の特殊キーを生成 1005.コンフィギュレーション及びPOSアプリケーションパラメータをユーザのモバイルデバイスにダウンロード、インストールが完了、POSアプリケーションを準備 1006.POSアプリケーション内のUI/UXモジュールと、L3 SDK層と、L2管理モジュールとによって、POSアプリケーションから販売トランザクションをスタート
1007.上記L3 SDK層、及び、L2層からデータを受信、認証に、及び、暗号アルゴリズムの動作を提供する暗号エンジンモジュールによる機密データの暗号化に必要なEMVタグを用意 1008.L2管理モジュールを介して、認証リクエストメッセージを、POSアプリケーションを管理するバックエンドモジュールに提出 1009.バックエンドモジュール内の、キー管理と通信セキュリティとを提供するハードウェアセキュリティモジュールにより、データを再暗号化、及び、バックエンドモジュール内のトランザクションネットワークゲートウェイにより、認証リクエストメッセージを、アクワイアラに提出
1010.アクワイアラによる認証リクエスト応答をバックエンドモジュール内のトランザクションネットワークゲートウェイに供給 1011.バックエンドモジュール内のトランザクションネットワークゲートウェイにより、アクワイアラ銀行からの認証リクエスト応答をPOSアプリケーション内のL3 SDK層に伝送 1012.POSアプリケーション内のL3 SDK層に伝送された販売トランザクション結果の応答をUI/UXモジュールにより表示 1013.POSアプリケーション内のUI/UXモジュール、L3 SDK層、L2管理モジュールによって、POSアプリケーションから取消/払戻トランザクションをスタート 1014.上記L3 SDK層、L2層からデータを受信、並びに、取消/払戻トランザクションに、及び、暗号アルゴリズムの動作を提供する暗号エンジンモジュールによる機密データの暗号化に必要なEMVタグを用意 1015.L2管理モジュールを介して、取消/払戻リクエストメッセージを、POSアプリケーションを管理するバックエンドモジュールに提出 1016.ハードウェアセキュリティモジュールにより、データを再暗号化、及び、バックエンドモジュール内のトランザクションネットワークゲートウェイへの取消/払戻リクエストメッセージを、アクワイアラ銀行に伝送 1017.バックエンドモジュール内のトランザクションネットワークゲートウェイにより、取消/払戻リクエスト応答を、アクワイアラ銀行から、POSアプリケーション内のL3 SDK層に伝送 1018.バックエンドモジュール内のトランザクションネットワークゲートウェイによりアクワイアラ銀行からの認証リクエスト応答をPOSアプリケーション内のL3 SDK層に伝送する段階の間のエラーを、POSアプリケーションから受信 1019.L2管理モジュールにより、チェックPOSリクエスト及びPOSアプリケーションの逆転リクエストをバックエンドモジュールに伝送 1020.バックエンドモジュールにより、トランザクションネットワークゲートウェイを介して、逆転リクエストをPOSアプリケーションアクワイアラに伝送 1021.バックエンドモジュール内のトランザクションネットワークゲートウェイにより、アクワイアラ銀行からの逆転リクエスト応答をPOSアプリケーション内のL3 SDK層に伝送 1022.アクワイアラ銀行により認証リクエスト応答をバックエンドモジュール内のトランザクションネットワークゲートウェイに供給する段階の間のエラーを受信 1023.トランザクションネットワークゲートウェイを介して、バックエンドモジュールにより、逆転リクエストをアクワイアラに伝送 1024.バックエンドモジュール内のトランザクションネットワークゲートウェイを介して、逆転リクエスト応答を、アクワイアラ銀行からPOSアプリケーション内のL3 SDK層に伝送 A1.ハードウェアセキュリティモジュール(2.7)内にACQ.PRODUCTキーペアを生成 A2.データベース(2.6)内にACQ.PRODUCTキーを保存 A3.L3 SDK層(1.2)内にACQ.PRODUCT.PUBキーをホワイト・ボックス形態で配置 A4.C.L3 SDK層(1.2)により、EXCH.Keyをランダム生成、及び、キーをホワイト・ボックス形態に変換 A5.アクワイアラ(3)公開鍵により、C.EXCH.Keyを暗号化 A6.L3 SDK層(1.2)によってアクワイアラ(3)公開鍵により暗号化されたC.EXCH.Keyを、ユーザのモバイルデバイス(M)のPOSアプリケーションへの登録の間に、登録リクエストと共に伝送 A7.バックエンドモジュール(2)により、アクワイアラ公開鍵により暗号化されたClient Exchange Keyを、ハードウェアセキュリティモジュール(2.7)にインポート A8.バックエンドモジュール(2)により、Host Exchange Keyを、ハードウェアセキュリティモジュール(2.7)に、Client Exchange Keyに従って生成 A9.バックエンドモジュール(2)により、Base Derivation Key(BDK)をハードウェアセキュリティモジュール(2.7)に生成 A10.各BDKをデータベース(2.6)に保存 A11.バックエンドモジュール(2)により、IPEK.TATK(MAC)、IPEK.TEK(暗号化)、IPEK.TAK(アテステーション)、IPEK.TSK(セッション)キーを、Host Exchange Keyに従って生成 A12.バックエンドモジュール(2)により、IPEK.TATK、IPEK.TEK、IPEK.TAK、IPEK.TSKキーを、登録応答内で、Host Exchange Keyに従って伝送 A13.C.EXCH.Key(H.EXCH.Key)、H.EXCH.Key(IPEK.TATK)、H.EXCH.Key(IPEK.TEK)、H.EXCH.Key(IPEK.TAK、及び、H,EXCH.Key(IPEK.TSK)をPOSアプリケーション(1)にて受信 A14.L3 SDK層(1.2)により、Host exchange Keyを、C.EXCH.Keyを用いて解読 A15.L3 SDK層(1.2)により、IPEKキーを、H EXCH Keyを用いて解読 A16.L3 SDK層(1.2)により、各IPEKキーをホワイト・ボックス形態に変換 A17.L3 SDK層(1.2)により、各キーを、暗号エンジンモジュール(1.5)内に、ホワイト・ボックス形態で保存
【発明を実施するための形態】
【0016】
詳細な説明では、本発明の対象となる新規性が、対象のさらなる理解を単独の目的として、及び、制限的な影響を全く引き起こさない方法で説明されるサンプルと共に、開示されてきた。発明は、モバイルデバイスを通じて物理POSデバイスの機能の遂行を提供し、商用オフザシェルフデバイスのための非接触型支払を受付可能な、セキュアなモバイル支払及びバックオフィスアプリケーション方法である。
図1では、発明のもとで開示されるシステムの略図が与えられる。これによると、システムは、近距離通信機能を有するユーザのモバイルデバイス(M)から支払の受付を提供し、ユーザインタフェースを提供するUI/UXモジュール(1.1)と、ユーザインタフェースとワークフローとを管理するL3 SDK層(1.2)と、支払スキームのコアアプリケーションが動作する、L2カーネル(1.4)と、上記L2カーネル(1.4)の管理を提供する、L2管理モジュール(1.3)と、セキュリティ、キーの生成及び暗号アルゴリズムの動作を提供する暗号エンジン(1.5)を備えるPOSアプリケーション(1)と、上記POSアプリケーション(1)を管理し、モバイルデバイス(M)上のEMV端末パラメータの管理を提供するパラメータ管理モジュール(2.1)と、モバイルデバイス(M)上のクライアントキーの管理を提供するキー管理モジュール(2.2)と、モバイルデバイス(M)上で開始される非接触型支払トランザクションの、セキュアな方法でのアクワイアラ(3)への伝送を提供するトランザクションネットワークゲートウェイ(2.3)と、モバイルデバイス(M)の真正性をチェックし、詐欺及びセキュリティチェックを実行するアテステーション及びモニタリングモジュール(2.4)と、アクワイアラ(3)と加盟店との統合を提供するID&Vコンポーネント(2.5)と、キー情報を保持するデータベース(2.6)と、キー管理と通信セキュリティとを提供するハードウェアセキュリティモジュール(2.7)とを備える。
【0017】
本発明の好ましい実施形態では、上記ユーザモバイルデバイス(M)が、近距離通信機能を提供するNFCアンテナ(1.6)を好ましくは備える。
【0018】
発明に係るシステムの主な目的は、物理POSデバイスに取って代わることである。この理由により、発明を使用のための最初の段階は、加盟店とアクワイアラ(3)との関係性を確立することである。加盟店は、POSアプリケーション(1)の使用を、アクワイアラ(3)に申し込む。申し込みが肯定的な結果に終われば、アクワイアラ(3)は、POSアプリケーション(1)のインストールのために、加盟店IDと、端末IDと、起動コードとを、加盟店に提供する。このような項目は、加盟店にeメール又はSMSで送信され得る。好ましくは、Google Play Storeが、商用POSアプリケーション(1)を、ユーザモバイルデバイス(M)にダウンロードする。POSアプリケーション(1)が加盟店により開かれるとき、加盟店IDと、端末IDと、起動コードとが登録に必要になる。POSアプリケーション(1)が開かれるとき、最初のアテステーションデータの検証も同時に行われる。アテステーション検証は、バックエンドモジュール(2)内のアテステーション及びモニタリングモジュール(2.4)により実行される。
【0019】
加盟店が必要な情報を入れると、登録リクエストが、POSアプリケーション(1)によりバックエンドモジュール(2)に送信される。バックエンドモジュール(2)は、POSアプリケーション(1)銀行アクワイアラ(3)の検証APIを要求し、登録リクエストの検証のためにこれらの項目を送信する。アクワイアラ(3)は、受け取った情報に従って検証リクエストに応答する。入ってくる返答は、バックエンドモジュール(2)により、POSアプリケーション(1)に伝送される。検証が、入ってくる返答において成功であれば、フローは継続し、そうでなければ、フローは終了する。
【0020】
検証の成功の後、POSアプリケーション(1)は、コンフィギュレーション及びキーを生成するためのリクエストを、バックエンドモジュール(2)に送信する。このリクエストは、ACQ.PRODUCT.PUB(C.EXCH.Key)と共に、L3 SDK層(1.2)により送信される。入ってくるリクエストに対して遂行されるすべてのフローは、POSアプリケーション(1)の固有のキーパターンに準拠して実行される。C.EXCH.Keyは、L3 SDK層(1.2)によりランダムに生成され、ホワイト・ボックス形態に変換される。C.EXCH.Keyは、ACQ.PRODUCT.PUBキーを用いて符号化される。バックエンドモジュール(2)は、C.EXCH.Keyを、ACQ.PRODUCT.PUBキーの名目で、ハードウェアセキュリティモジュール(2.7)にインポートする。バックエンドモジュール(2)は、H.EXCH.Keyを、C.EXCH.PUBに従って、ハードウェアセキュリティモジュール(2.7)内に生成する。バックエンドモジュール(2)は、Base Derivation Keyを、アクワイアラ(3)のために、ハードウェアセキュリティモジュール(2.7)内に生成する(BDK.TEK、BDK.TAK、BDK.TSK、BDK.TATK)。バックエンドモジュール(2)は、IPEK.TAK、IPEK.TEK、IPEK.TATK、IPEK.TSKキーを、H:EXCH.KEYに従って、ハードウェアセキュリティモジュール(2.7)内のBDKから生成する。バックエンドモジュール(2)は、IPEK.TATK, IPEK.TEK, IPEK.TAK, IPEK.TSKキーを登録応答内でHost Exchange Keyに従って送信する。L3 SDK層(1.2)は、host exchange keyを、C.EXCH.Keyにより解く。L3 SDK層(1.2)は、各IPEKキーを、H.EXCH.Keyを用いて解読する。L3 SDK層(1.2)は、各IPEKキーを、各ホワイト・ボックス形態に変換する。L3 SDK層(1.2)は、ホワイト・ボックス形態の各キー(WB_IPEK.TEK、WB_IPEK.TAK、WB_IPEK.TSK及びWB_IPEK.TATK)を、暗号モジュール(1.5)に保存する。
【0021】
バックエンドモジュール(2)はまた、キー及びパラメータを、ユーザモバイルデバイス(M)と関連付ける。キーは、各ユーザモバイルデバイス(M)専用に生成される。ユーザモバイルデバイス(M)に固有のキー及びコンフィギュレーションパラメータは、バックエンドモジュール(2)により、ユーザモバイルデバイス(M)に送信される。キー及びパラメータの管理は、バックエンドモジュール(2)内のキー管理モジュール(2.2)及びパラメータ管理モジュール(2.1)により行われる。加盟店登録プロセスは、キー及びパラメータがユーザモバイルデバイス(M)に伝送されることで、完了し、加盟店のユーザモバイルデバイス(M)は、支払を受け取る準備ができた状態となる。
【0022】
販売トランザクションは、ユーザモバイルデバイス(M)が支払の準備ができたとき、実行可能である。支払金額は、POSアプリケーション(1)から入力される。金額が入力されると、ユーザモバイルデバイス(M)により、支払うための支払機器(カード)がPOSアプリケーション(1)内で読み取られることを表明するプロンプトが表示される。消費者のカードは、ユーザモバイルデバイス(M)により読み取られる。カードが読み取られた後、EMV非接触型トランザクションは、POSアプリケーション(1)内で行われ、認証に必要なEMVタグが準備される。トランザクションアテステーションリクエストは、JSONフォーマットで用意され、バックエンドモジュール(2)に送信される。バックエンドモジュール(2)は、認証リクエストメッセージを、アクワイアラ(3)に属するキーを用いて符号化し、ISOメッセージフォーマットでアクワイアラ(3)に送信する。アクワイアラ(3)により受け取られた認証リクエストメッセージは、イシュア銀行(4)に伝送される。イシュア銀行(4)は、認証メッセージをチェックする。承認又は拒否応答が、アクワイアラ(3)に伝送される。アクワイアラ(3)により受け取られた応答メッセージは、バックエンドモジュール(2)に送信される。返答は、バックエンドモジュール(2)により、POSアプリケーション(1)に伝送される。トランザクションの結果は、POSアプリケーション(1)のディスプレイに表示される。消費者は、請求書のために、eメール又は電話番号を入力することをリクエストされる。請求書データがeメール又はSMSにより送信されるかについての情報は、請求書データと共にバックエンドモジュール(2)に送信される。この情報は、バックエンドモジュール(2)により、アクワイアラ(3)に伝送される。
【0023】
販売トランザクションを取り消す(キャンセル)又は払い戻すことが望まれている場合、取消/払戻メニュがPOSアプリケーション(1)内で選択される。RRN又はARC情報が入力される。キャンセル/リターンオペレーションに必要なEMVタグは、POSアプリケーション(1)により用意される。取消/払戻リクエストは、JSONフォーマットで用意され、バックエンドモジュール(2)に送信される。このリクエストは、バックエンドモジュール(2)により、アクワイアラ(3)に伝送される。バックエンドモジュール(2)は、アクワイアラ(3)取消/払戻メッセージフォーマットに従ってリクエストを用意し、送信する。バックエンドモジュール(2)により受け取られるアクワイアラ(3)からの応答メッセージは、POSアプリケーション(1)に、JSONフォーマットで送信される。
【0024】
システム内で遂行されたトランザクションが良好に完了されない場合、つまり、トランザクションの結果がPOSアプリケーション(1)に良好に伝送されない場合、逆転プロセスが開始され得る。
【0025】
逆転メカニズムは2通りに作動する。1つ目では、POSアプリケーション(1)が逆転プロセスをスタートして、2つ目では、バックエンドモジュール(2)がプロセスをスタートする。1つ目では、POSアプリケーション(1)からプロセスがスタートされ、EMVタグが用意され、認証リクエストメッセージがバックエンドモジュール(2)に伝送される。認証リクエストは、バックエンドモジュール(2)により、アクワイアラ(3)に伝送される。アクワイアラ(3)により受け取られた、リクエストメッセージについての応答メッセージは、バックエンドモジュール(2)に送信される。タイムアウト又はPOSアプリケーション(1)内のシステムエラーの場合、応答をバックエンドモジュール(2)によりPOSアプリケーション(1)に伝送すると同時に、どうにかして逆転リクエストが、POSアプリケーション(1)により、チェックPOSリクエストにより送信される。入ってくるリクエストは、バックエンドモジュール(2)により、アクワイアラ(3)に伝送され、アクワイアラ(3)からの逆転応答は、バックエンドモジュール(2)により、POSアプリケーション(1)に再度伝送される。逆転リクエストに対する応答が、POSアプリケーション(1)により受け取られない限り、新たな販売オペレーションは、スタートされない。
【0026】
逆転リクエストがバックエンドモジュール(2)によりスタートされる場合、バックエンドモジュールは、アクワイアラ(3)から想定された認証応答を受け取らず、POSアプリケーション(1)にリターンすることなく逆転プロセスをスタートする。
【0027】
本発明で用いられるキーリストは以下である。
・ACQ.PRODUCT.PRI:Acquirer Product RSA Key→Key Block LMKに従ってデータベース(2.6)に保存される。
・ACQ.PRODUCT.PUB:Whitebox Acquirer Product RSA Public Key→POSアプリケーション(1)内で保存される。
・C.EXCH.Key:Client Exchange Key→ランダムに生成され、ACQ_PRODUCT_PUBキーに従って、バックエンドモジュール(2)に送信される。ハードウェアセキュリティモジュール(2.7)にインポートされ、H.EXCH.Keyの暗号化に用いられる。
・H.EXCH.Key:Host Exchange Key→バックエンドモジュール(2)により生成されるAESキーである。C.EXCH.Keyにより暗号化され、SDKに基づくIKEY暗号化に用いられる。
・WB.C.REG.Key:Client Registration Key→最初の登録リクエストデータを暗号化するために用いられる、ランダムに生成されるキーである。
・WB.C.IATTEST.Key:Client Initial Attestation Key→最初のアテステーションデータを暗号化するために用いられる、ランダムに生成されるキーである。
・BDK.TEK:TEKのためのBase Derivation Key→IPEK.TEKキーを生成するために用いられる。
BDK.TAK:TAKのためのBase Derivation Key→IPEK.TAKキーを生成するために用いられる。
・BDK.TSK:TSKのためのBase Derivation Key→IPEK.TSKキーを生成するために用いられる。
・BDK:TATK:TATKのためのBase Derivation Key→IPEK.TATKキーを生成するために用いられる。
・IPEK.TEK:Initial Terminal Encryption Key→L3 SDK層(1.2)により、バックエンドモジュール(2)により生成される機密のカードホルダのデータを暗号化するために用いられるキーである。
・IPEK.TAK:Initial Terminal Authentication Key→L3 SDK層(1.2)により、バックエンドモジュール(2)により生成されるMAC値を算出するために用いられるキーである。
・IPEK.TSK:Initial Terminal Session Key→L3 SDK層(1.2)により、バックエンドモジュール(2)により生成されるセッションキーを生成するために用いられるキーである。
・IPEK.TATK:Initial Terminal Attestation Key→L3 SDK層(1.2)により、バックエンドモジュール(2)により生成されるアテステーションデータを暗号化するために用いられるキーである。
・WB.IPEK.TEK:ホワイト・ボックス形態でのInitial Terminal Encryption Key
・WB.IPEK.TAK:ホワイト・ボックス形態でのInitial Terminal Authentication Key
・WB.IPEK.TSK:ホワイト・ボックス形態でのInitial Terminal Session Key
・WB.IPEK.TATK:ホワイト・ボックス形態でのInitial Terminal Attestation Key
・WB.KEK.LOCAL:ホワイト・ボックス形態でのLocal Key Encryption Key →WB IPEK keyを内部に保存する場合の暗号化及び解読オペレーションに用いられる。
・WB.MSession.Key:ホワイト・ボックス形態での、セッションに基づくキー→セッションデータに基づいて生成されるキー
【0028】
図3は、本発明で用いられるKeyインジェクションフローの略図を示す。これにより実行されるプロセスを以下に与える。
【0029】
A1.ハードウェアセキュリティモジュール(2.7)内にACQ.PRODUCTキーペアが生成される。
A2.データベース(2.6)内にACQ.PRODUCTキーが保存される。
A3.L3 SDK層(1.2)内にACQ.PRODUCT.PUBキーがホワイト・ボックス形態で配置される。
A4.C.L3 SDK層(1.2)により、EXCH.Keyがランダムに生成され、キーがホワイト・ボックス形態に変換される。
A5.アクワイアラ(3)公開鍵により、C.EXCH.Keyが暗号化される。
A6.L3 SDK層(1.2)によってアクワイアラ(3)公開鍵により暗号化されたC.EXCH.Keyが、ユーザのモバイルデバイス(M)のPOSアプリケーション(1)への登録の間に、登録リクエストと共に送信される。
A7.バックエンドモジュール(2)により、アクワイアラ公開鍵により暗号化されたClient Exchange Keyが、ハードウェアセキュリティモジュール(2.7)にインポートされる。
A8.バックエンドモジュール(2)が、host Exchange Keyを、ハードウェアセキュリティモジュール(2.7)に、Client Exchange Keyに従って生成する。
A9.バックエンドモジュール(2)が、Base Derivation Key(BDK)を、ハードウェアセキュリティモジュール(2.7)に生成する。キーは、BDK.TATK、BDK.TEK、BDK.TAK、BDK.TSKである。
A10.各BDKが、データベース(2.6)に保存される。
A11.バックエンドモジュール(2)が、IPEK.TATK(MAC)、IPEK.TEK(暗号化)、IPEK.TAK(アテステーション)、IPEK.TSK(セッション)キーを、Host Exchange Keyに従って生成する。
A12.バックエンドモジュール(2)が、IPEK.TATK、IPEK.TEK、IPEK.TAK、IPEK.TSKキーを、登録応答内で、Host Exchange Keyに従って伝送する。
A13.C.EXCH.Key(H.EXCH.Key)、H.EXCH.Key(IPEK.TATK)、H.EXCH.Key(IPEK.TEK)、H.EXCH.Key(IPEK.TAK、及び、H,EXCH.Key(IPEK.TSK)が、POSアプリケーションにおいて、受け取られる。
A14.L3 SDK層(1.2)が、Host exchange keyを、C.EXCH.Keyを用いて解読する。
A15.L3 SDK層(1.2)が、IPEKキーを、H EXCH Keyを用いて解読する。
A16.L3 SDK層(1.2)が、各IPEKキーをホワイト・ボックス形態に変換する。
A17.L3 SDK層(1.2)が、各キーを、暗号エンジンモジュール(1.5)内に、ホワイト・ボックス形態で保存する。(WB_IPEK.TATK、WB_IPEK.TEK、WB_IPEK.TAK、及び、WB_IPEK.TSK)
【0030】
以下のようにアテステーションポリシーは、本発明に適用される。
POSアプリケーション(1)は、2つのデータセットを生成し、主に最初のアテステーション及び一般的アテステーションデータである。最初のアテステーションは、POSアプリケーション(1)が最初にスタートされたときで、キーインジェクションの実行前に送信される。一般的アテステーションは、POSアプリケーション(1)が開かれるときに送信され、キー及びインジェクションが完了する。加えて、一般的アテステーションは、1から5分間隔でランダムにバックエンドモジュール(2)に伝送される。
【0031】
最初のアテステーションデータは、WB.C.IATTEST.Keyを用いて暗号化される。POSアプリケーション(1)は、C.IATTEST.Keyを、最初のアテステーションリクエストと共に、バックエンドモジュール(2)に、ACQ.PRODUCT.PUBキーに従って伝送し、バックエンドモジュール(2)は、C.IATTEST.Keyをインポートし、最初のアテステーションデータを解読するために用いる。
【0032】
一般的アテステーションデータは、WB.IPEK.TATKキーを用いて暗号化される。暗号化されたアテステーションデータは、KSN値と共にバックエンドモジュール(2)に送信される。バックエンドモジュール(2)は、アテステーションを、BDK TATKを用いて解読し、KSNをチェックする。
【0033】
アテステーションデータは以下のフィールドを備える。
・アクワイアラid]
・アプリケーション:アプリのバージョン
・アプリケーション:パッケージ名
・アプリケーション:パーミッション
・アプリケーション:SDKのバージョン
・アプリケーション:署名
・デバイス:利用可能な内部ストレージ
・デバイス:指紋
・デバイス:IMEI
・デバイス:製造者
・デバイス:モデル
・デバイス:OS名
・デバイス:OSのバージョン
・デバイス:バッテリー残存率
・デバイス:メモリ使用率
・デバイス:UniqueId
・セキュリティ:アプリの改ざん
・セキュリティ:デバッガ
・セキュリティ:エミュレータ
・セキュリティ:フッキング
・セキュリティ:root
・セキュリティ:タイムスタンプバックエンドモジュール(2)は、来たるべきフィールドに関連するチェックを行い、いかなる否定的なことを検出した場合、エラーメッセージを与え、一時的なユーザモバイルデバイス(M)のブロック、APIコールへのエラーリターン、POSアプリケーション(1)のクラッシュなど、様々なアクションを取る。
【国際調査報告】