(57)【要約】電子的支払処理を実装する通信装置は、受信部と記憶部と制御部とユーザインタフェースと送信部を含む。
2019527950.tif 000002
【特許請求の範囲】
【請求項１】
電子的支払処理を実装する通信装置であって、前記通信装置は、
金融機関から安全使用制限鍵（SLUK）を受信するよう動作する受信部であって、前記SLUKは金融機関によって、
（１）前記金融機関に関連付けられた第１の鍵と、前記通信装置のユーザを識別する識別子と、可変コードとを用いて生成された第１の使用制限鍵（LUK）と、
（２）前記通信装置の前記ユーザに関連付けられたパスコード文字のサブセットであって、前記サブセット内の各文字は、前記パスコード内の文字位置によって識別され、前記サブセット内の各文字のパスコード内文字位置は、前記通信装置の前記ユーザに関連付けられた第２の鍵と、前記通信装置の前記ユーザを識別する前記識別子と、前記可変コードとに基づいて所定のアルゴリズムによって判定され、前記第２の鍵は秘密鍵であり、前記SLUKは前記サブセット内の各文字を用いて前記第１のLUKをラッピングすることによって生成される、サブセットと、を用いて生成され、
前記可変コードを前記金融機関から受信するよう更に動作する、受信部と、
前記受信されたSLUKと可変コードとを格納するよう動作し、前記通信装置の前記ユーザに関連付けられた前記第２の鍵と前記通信装置の前記ユーザを識別する前記識別子とを格納するよう動作する記憶部と、
支払時点（POS）装置での電子的支払を開始するユーザ操作に応答して、前記サブセット内の各文字のパスコード内文字位置を生成するよう動作する制御部であって、前記サブセット内の各文字の前記パスコード内文字位置は、前記記憶部に格納された前記第２の鍵と前記通信装置の前記ユーザの前記識別子と前記可変コードとに基づいて前記所定のアルゴリズムによって判定される、制御部と、
前記制御部によって生成された、前記サブセット内の各文字の前記パスコード内文字位置を前記通信装置の前記ユーザへ示すように動作し、前記サブセット内の各文字を示す入力を前記ユーザから受信するよう動作するユーザインタフェースと、
を含み、
前記制御部は、前記ユーザからの前記入力によって示された各文字を用いて、前記記憶部に格納された前記SLUKについてラッピング解除処理を実行するよう動作し、前記ラッピング解除処理は第２のLUKを生成し、
前記通信装置は、
前記電子的支払の認証のために、前記生成された第２のLUKを前記金融機関へ送信するよう動作する送信部を含む、通信装置。
【請求項２】
請求項１に記載の通信装置において、前記送信部は、前記金融機関に送信された前記第２のLUKが前記金融機関によって生成された前記第１のLUKと一致する場合、電子的支払が成功したことを示すメッセージを受信するよう動作し、前記金融機関に送信された前記第２のLUKが前記金融機関によって生成された前記第１のLUKと一致しない場合、電子的支払が失敗したことを示すメッセージを受信するよう動作する、通信装置。
【請求項３】
先行する請求項のいずれか１項に記載の通信装置において、前記サブセット内の各文字の前記パスコード内文字位置を生成する前記所定のアルゴリズムは、
（１）前記第２の鍵と前記通信装置の前記ユーザの識別子と前記可変コードとを、フォーマット保持暗号化（FPE）関数への入力として提供することによって、暗号的乱数番号（CRN）を生成するステップと、
（２）前記生成されたCRNが前記通信装置の前記ユーザに関連付けられた前記パスコードの文字数以上の文字数を有しているか否かを判定し、前記生成されたCRNが前記パスコードの文字数以上の文字数を有していれば前記アルゴリズムは（３）のステップに進み、前記生成されたCRNが前記パスコードの文字数以上の文字数を有していなければ前記アルゴリズムは（２）のステップを繰り返すステップと、
（３）前記生成されたCRNが少なくとも所定数の一意の文字を有するか否かを判定し、前記所定数の一意の文字の各々は前記パスコードの前記文字数以下であるステップであって、前記所定数は前記パスコードの文字の前記サブセットに含まれる文字数であり、一意の文字の数であってその各々が前記パスコードの文字数以下である前記数が、前記所定数以上であるとき、前記アルゴリズムは（４）のステップに進み、一意の文字の数であってその各々が前記パスコードの文字数以下である数が前記所定数以下であるとき、前記アルゴリズムは（２）のステップを繰り返すステップと、
（４）前記識別された一意の文字のセットであってその各々が前記パスコードの文字数以下であるセットを判定するステップであって、前記セットは前記所定数と等しい数の前記識別された一意の文字を含む、ステップとを含み、
前記セット内の前記識別された一意の文字は、前記パスコードの文字の前記サブセットに含まれる前記パスコードの各文字のパスコード内文字位置を示す、通信装置。
【請求項４】
先行する請求項のいずれか１項に記載の通信装置において、前記SLUKは、前記パスコードの文字の前記サブセット内の各文字を用いて、また、パスワードを基礎とした鍵導出関数２（PBKDF2）アルゴリズムを用いて、前記第１のLUKをラッピングすることによって生成され、前記第２のLUKは前記通信装置のユーザからの前記入力によって示される各文字を用いて、また、対応するPBKDF2アルゴリズムを用いて生成される、通信装置。
【請求項５】
先行する請求項のいずれか１項に記載の通信装置において、前記金融機関に関連付けられた前記第１の鍵は発行者マスター鍵（IMK）である、通信装置。
【請求項６】
先行する請求項のいずれか１項に記載の通信装置において、前記通信装置の前記ユーザに関連付けられた前記第２の鍵は、発展標準暗号（AES：Advanced  Standards  Encryption）１２８ビットの秘密鍵である、通信装置。
【請求項７】
先行する請求項のいずれか１項に記載の通信装置において、前記可変コードはDDDNN形式を有し、DDDは年の所定の最初の日からの日数を示し、NNは００から９９までの範囲の鍵シーケンス番号である、通信装置。
【請求項８】
先行する請求項のいずれか１項に記載の通信装置において、前記通信装置の前記ユーザを識別する前記識別子は、前記通信装置の前記ユーザに関連付けられた主要アカウント番号（PAN）である、通信装置。
【請求項９】
請求項３に記載の通信装置において、
前記通信装置の前記ユーザに関連付けられた前記第２の鍵は発展標準暗号（AES：Advanced  Standards  Encryption）１２８ビットの秘密鍵であり、
前記通信装置の前記ユーザを識別する前記識別子は、前記通信装置の前記ユーザに関連付けられた１６文字の主要アカウント番号（PAN）であり、
前記可変コードはDDDNN形式を有し、DDDは年の所定の最初の日からの日数を示し、NNは００から９９までの範囲の鍵シーケンス番号であり、CRNを生成するFPE関数への入力は前記第２の鍵であり、
前記FPE関数への前記入力はAES１２８ビットの秘密の第２の鍵と、前記１６文字のPAN及び可変コードDDDNNの合計値とである、通信装置。
【請求項１０】
先行する請求項のいずれか１項に記載の通信装置において、前記第２の鍵は暗号として前記金融機関に送信される、通信装置。
【請求項１１】
請求項１０に記載の通信装置であって、前記制御部は前記第２のLUKを用いて鍵チェック値（KCV）を生成するよう動作し、前記送信部は前記第２のLUKと共に、前記金融機関へ前記生成されたKCVを送信するよう動作する、通信装置。
【請求項１２】
請求項１１に記載の通信装置において、前記KCVは、
（１）前記第２のLUKと８つのゼロバイトとを暗号関数への入力として提供することと、（２）前記暗号関数への出力の最初の３バイトを取得することと、
を含むアルゴリズムによって生成され、前記取得された最初の３バイトは前記KCVを形成する、通信装置。
【請求項１３】
先行する請求項のいずれか１項に記載の通信装置において、前記通信装置の前記ユーザによる、前記POS装置での電子的支払を開始する操作に続いて、前記受信部は前記支払値を示すメッセージを前記POS装置から受信するよう動作し、前記制御部は前記支払値が所定の閾値を超えるか否かを判定するよう動作し、前記制御部は前記サブセット内の各文字の前記パスコード内文字位置を生成し、前記ユーザインタフェースは前記通信装置の前記ユーザへ前記サブセット内の各文字のパスコード内文字位置を示し、前記ユーザインタフェースは前記サブセット内の各文字を示す入力を前記ユーザから受信するよう動作し、前記制御部は前記ユーザからの前記入力によって示された各文字を用いて前記SLUKに対しラッピング解除処理を実行して前記第２のLUKを生成し、前記送信部は、前記支払値が前記所定の閾値を超えるときのみ、前記生成された第２のLUKを前記金融機関へ送信する、通信装置。
【請求項１４】
先行する請求項のいずれか１項に記載の通信装置において、前記受信部と送信部とは近距離無線通信（NFC）インタフェースを用いて前記POS装置と信号を交換するよう動作し、遠距離の無線アクセスネットワーク（WAN）インタフェースを用いて前記金融機関と信号を交換するよう動作する、通信装置。
【請求項１５】
先行する請求項のいずれか１項に記載の通信装置において、前記送信部は前記第２のLUKを前記POS装置を介して前記金融機関へ送信するよう動作する、通信装置。
【請求項１６】
金融機関にて電子的支払処理を実装する支払装置であって、前記支払装置は、
通信装置に送信される安全使用制限鍵（SLUK）を生成するよう動作する制御部であって、前記SLUKは前記制御部によって、
（１）前記金融機関に関連付けられた第１の鍵と、前記通信装置のユーザを識別する識別子と、可変コードとを用いて生成された第１の使用制限鍵（LUK）と、
（２）前記通信装置の前記ユーザに関連付けられたパスコード文字のサブセットであって、前記サブセット内の各文字は、前記パスコード内の文字位置によって識別され、前記サブセット内の各文字のパスコード内文字位置は、前記通信装置の前記ユーザに関連付けられた第２の鍵と、前記通信装置の前記ユーザを識別する前記識別子と、前記可変コードとに基づいて所定のアルゴリズムによって判定され、前記第２の鍵は秘密鍵であり、前記SLUKは前記サブセット内の各文字を用いて前記第１のLUKをラッピングすることによって生成される、制御部と、
前記生成されたSLUKを前記通信装置へ送信するよう動作する送信部と、
前記通信装置によって生成された第２のLUKを受信するよう動作する受信部であって、前記第２のLUKは、前記通信装置の前記ユーザによる、販売時点（POS）端末での電子的支払を開始する操作に応答して前記通信装置によって生成され、前記第２のLUKの前記生成は、
前記サブセット内の各文字の前記パスコード内文字位置を判定するステップであって、前記サブセット内の各文字の前記パスコード内文字位置は、前記所定のアルゴリズムによって、前記第２の鍵と前記通信装置の前記ユーザの前記識別子と前記可変コードとに基づいて判定され、それらの各々は前記通信装置に知られているステップと、
前記判定された、前記サブセット内の各文字の前記パスコード内文字位置を、前記通信装置の前記ユーザに示して、前記サブセット内の各文字を示す入力を前記ユーザから受信するステップと、
前記送信部によって送信された前記SLUKに対してラッピング解除処理を実行するステップであって、前記ラッピング解除処理は前記第２のLUKを生成するステップと、
を含む、受信部とを含み、
前記制御部は前記第２のLUKと前記第１のLUKとを比較するよう動作し、前記第２のLUKが前記第１のLUKと一致するときにのみ前記電子的支払を認証する、支払装置。
【請求項１７】
請求項１６に記載の支払装置において、前記送信部は、前記受信された第２のLUKが前記第１のLUKと一致する場合に電子的支払が成功したことを示すメッセージを送信し、前記受信された第２のLUK前記第１のLUK場合に電子的支払が失敗したことを示すメッセージを送信する、支払装置。
【請求項１８】
請求項１６又は１７に記載の支払装置において、前記第２のLUKを受信したことに応答して、前記制御部は前記金融機関に関連付けられた前記第１の鍵と前記通信装置の前記ユーザを識別する前記識別子と前記可変コードとを用いて前記第１のLUKを再生成するよう動作する、支払装置。
【請求項１９】
請求項１６乃至１８のいずれか１項に記載の支払装置において、前記サブセット内の各文字の前記パスコード内文字位置を生成する前記所定のアルゴリズムは、
（１）前記第２の鍵と前記通信装置の前記ユーザの識別子と可変コードとを、フォーマット保持暗号化（FPE）関数への入力として提供することによって、暗号的乱数番号（CRN）を生成するステップと、
（２）前記生成されたCRNが前記通信装置の前記ユーザに関連付けられた前記パスコードの文字数以上の文字数を有しているか否かを判定し、前記生成されたCRNが前記パスコードの文字数以上の文字数を有していれば前記アルゴリズムは（３）のステップに進み、前記生成されたCRNが前記パスコードの文字数以上の文字数を有していなければ前記アルゴリズムは（２）のステップを繰り返すステップと、
（３）前記生成されたCRNが少なくとも所定数の一意の文字を有するか否かを判定し、前記所定数の一意の文字の各々は前記パスコードの前記文字数以下であるステップであって、前記所定数は前記パスコードの文字の前記サブセットに含まれる文字の数であり、一意の文字の数であってその各々が前記パスコードの文字数以下である数が、前記所定数以上であるとき、前記アルゴリズムは（４）のステップに進み、一意の文字の数であってその各々が前記パスコードの文字数以下である数が前記所定数以下であるとき、前記アルゴリズムは（２）のステップを繰り返す、ステップと、
（４）前記識別された一意の文字のセットであってその各々が前記パスコードの文字数以下であるセットを判定するステップであって、前記セットは前記所定数と等しい数の前記識別された一意の文字を含む、ステップとを含み、
前記セット内の前記識別された一意の文字は、前記パスコードの文字の前記サブセットに含まれる前記パスコードの各文字のパスコード内文字位置を示す、支払装置。
【請求項２０】
請求項１６乃至１９のいずれか１項に記載の支払装置において、前記SLUKは、前記パスコードの文字の前記サブセット内の各文字を用いて、また、パスワードを基礎とした鍵導出関数２（PBKDF2）アルゴリズムを用いて、前記第１のLUKをラッピングすることによって生成され、前記第２のLUKは前記通信装置のユーザからの前記入力によって示される各文字を用いて、また、対応するPBKDF2アルゴリズムを用いて生成される、支払装置。
【請求項２１】
請求項１６乃至２０のいずれか１項に記載の支払装置において、前記金融機関に関連付けられた前記第１の鍵は発行者マスター鍵（IMK）である、支払装置。
【請求項２２】
請求項１６乃至２１のいずれか１項に記載の支払装置において、前記通信装置の前記ユーザに関連付けられた前記第２の鍵は、発展標準暗号（AES：Advanced  Standards  Encryption）１２８ビットの秘密鍵である、支払装置。
【請求項２３】
請求項１６乃至２２のいずれか１項に記載の支払装置において、前記可変コードはDDDNN形式を有し、DDDは年の所定の最初の日からの日数を示し、NNは００から９９までの範囲の鍵シーケンス番号である、支払装置。
【請求項２４】
請求項１６乃至２３のいずれか１項に記載の支払装置において、前記通信装置の前記ユーザを識別する前記識別子は、前記通信装置の前記ユーザに関連付けられた主要アカウント番号（PAN）である、支払装置。
【請求項２５】
請求項１９に記載の支払装置において、
前記通信装置の前記ユーザに関連付けられた前記第２の鍵は発展標準暗号（AES：Advanced  Standards  Encryption）１２８ビットの秘密鍵であり、
前記通信装置の前記ユーザを識別する前記識別子は、前記通信装置の前記ユーザに関連付けられた１６文字の主要アカウント番号（PAN）であり、
前記可変コードはDDDNN形式を有し、DDDは年の所定の最初の日からの日数を示し、NNは００から９９までの範囲の鍵シーケンス番号であり、CRNを生成するFPE関数への入力は前記第２の鍵であり、
前記FPE関数への前記入力はAES１２８ビットの秘密の第２の鍵と、前記１６文字のPAN及び可変コードDDDNNの合計値とである、支払装置。
【請求項２６】
請求項１６乃至２５のいずれか１項に記載の支払装置であって、前記第２のLUKは暗号として前記通信装置から受信され、前記制御部は前記第１のLUKから対応する暗号を生成するよう動作し、前記複数の暗号を比較するよう動作し、
前記複数の暗号が一致する場合、前記制御部は前記第１のLUKが前記第２のLUKと一致すると判定し、
前記複数の暗号が一致しない場合、前記制御部は前記第１のLUKが前記第２のLUKと一致しないと判定する、支払装置。
【請求項２７】
請求項２６に記載の支払装置において、前記暗号は前記第２のLUKを用いて前記通信装置によって生成された鍵チェック値（KCV）と共に受信され、前記第２のLUKが前記第１のLUKと一致しない場合、前記制御部は前記第１のLUKを用いて更なるKCVを生成するよう動作し、前記受信されたKCVを前記更に生成されたKCVと比較するよう動作し、
前記受信されたKCVが前記更に生成されたKCVと一致する場合、前記制御部はパスコード文字の前記サブセットの文字が前記通信装置の前記ユーザによって正しく入力されたと判定し、
前記受信されたKCVが前記更に生成されたKCVと一致しない場合、前記制御部はパスコード文字の前記サブセットの文字が前記通信装置の前記ユーザによって正しく入力されなかったと判定する、支払装置。
【請求項２８】
請求項２７に記載の支払装置において、前記更に生成されたKCVは、
（１）前記第１のLUKと８つのゼロバイトとを暗号関数への入力として提供することと、
（２）前記暗号関数への出力の最初の３バイトを取得することと、
を含むアルゴリズムによって生成され、前記取得された最初の３バイトは前記更に生成されたKCVを形成する、支払装置。
【請求項２９】
請求項１６乃至２８のいずれか１項に記載の支払装置であって、前記受信部は前記第２のLUKを前記POS装置を介して前記通信装置から受信するよう動作する、支払装置。
【請求項３０】
電子的支払処理を実装する販売時点（POS）装置であって、前記POS装置は、
通信装置のユーザによってなされた支払の支払値を判定するよう動作する制御部と、
前記通信装置から、使用制限鍵（LUK）を受信するよう動作する受信部であって、前記LUKは前記通信装置によって生成され、前記LUKの生成は、
前記通信装置の前記ユーザに関連付けられたパスコード内の文字位置であってパスコード文字のサブセット内の各文字のパスコード内文字位置を判定するステップであって、前記サブセット内の各文字の前記パスコード内文字位置は、所定のアルゴリズムによって、前記通信装置に関連付けられた秘密鍵と前記通信装置の前記ユーザの識別子と可変コードとに基づいて判定され、それらの各々は前記通信装置に知られている、ステップと、
前記判定された、前記サブセット内の各文字の前記パスコード内文字位置を、前記通信装置の前記ユーザに示して、前記サブセット内の各文字を示す入力を前記ユーザから受信するステップと、
前記送信部によって送信された前記SLUKに対してラッピング解除処理を実行するステップであって、前記ラッピング解除処理は前記LUKを生成する、ステップと、
を含む、受信部と、
前記判定された支払値と前記通信装置から受信された前記LUKとを金融機関に送信するよう動作する送信部と、
を含むPOS装置。
【請求項３１】
請求項３０に記載のPOS装置において、前記通信装置から前記LUKを受信するより前に、前記受信部は電子的支払の開始を示す信号を前記通信装置から受信するよう動作し、それに応答して、前記制御部は前記通信装置へ前記支払値を示す信号を送信するよう前記送信部を制御する、POS装置。
【請求項３２】
電子的支払処理を実装する通信装置を動作させる方法であって、前記方法は、
前記通信装置の受信部を制御して、金融機関から安全使用制限鍵（SLUK）を受信するステップであって、前記SLUKは前記金融機関によって、
（１）前記金融機関に関連付けられた第１の鍵と、前記通信装置のユーザを識別する識別子と、可変コードとを用いて生成された第１の使用制限鍵（LUK）と、
（２）前記通信装置の前記ユーザに関連付けられたパスコード文字のサブセットであって、前記サブセット内の各文字は、前記パスコード内の文字位置によって識別され、前記サブセット内の各文字のパスコード内文字位置は、前記通信装置の前記ユーザに関連付けられた第２の鍵と、前記通信装置の前記ユーザを識別する前記識別子と、前記可変コードとに基づいて所定のアルゴリズムによって判定され、前記第２の鍵は秘密鍵であり、前記SLUKは前記サブセット内の各文字を用いて前記第１のLUKをラッピングすることによって生成される、サブセットと、
を用いて生成される、ステップと、
前記受信部を制御して前記金融機関から前記可変コードを受信するステップと、
前記通信装置の記憶部を制御して、前記受信されたSLUKと可変コードとを格納し、前記通信装置の前記ユーザに関連付けられた前記第２の鍵と前記通信装置の前記ユーザを識別する前記識別子とを格納するステップと、
支払時点（POS）装置での電子的支払を開始するユーザ操作に応答して、前記サブセット内の各文字のパスコード内文字位置を生成するステップであって、前記サブセット内の各文字の前記パスコード内文字位置は、前記記憶部に格納された前記第２の鍵と前記通信装置の前記ユーザの前記識別子と前記可変コードとに基づいて前記所定のアルゴリズムによって判定される、ステップと、
前記通信装置のユーザインタフェースを制御して、前記制御部によって生成された前記サブセット内の各文字の前記パスコード内文字位置を前記通信装置の前記ユーザへ示し、前記サブセット内の各文字を示す入力を前記ユーザから受信するステップと、
を含み、
ラッピング解除処理が、前記ユーザからの前記入力によって示された各文字を用いて、前記記憶部に格納された前記SLUKについて実行され、前記ラッピング解除処理は第２のLUKを生成し、
前記方法は更に、
前記通信装置の送信部を制御して、前記電子的支払の認証のために、前記生成された第２のLUKを前記金融機関へ送信するステップを含む、方法。
【請求項３３】
コンピュータを制御して請求項３２に記載の方法を実行させるコンピュータプログラムを格納する記録媒体。
【請求項３４】
金融機関にて電子的支払処理を実装する支払装置を動作させる方法であって、前記方法は、
通信装置に送信される安全使用制限鍵（SLUK）を生成するステップであって、前記SLUKは前記制御部によって、
（１）前記金融機関に関連付けられた第１の鍵と、前記通信装置のユーザを識別する識別子と、可変コードとを用いて生成された第１の使用制限鍵（LUK）と、
（２）前記通信装置の前記ユーザに関連付けられたパスコード文字のサブセットであって、前記サブセット内の各文字は、前記パスコード内の文字位置によって識別され、前記サブセット内の各文字のパスコード内文字位置は、前記通信装置の前記ユーザに関連付けられた第２の鍵と、前記通信装置の前記ユーザを識別する前記識別子と、前記可変コードとに基づいて所定のアルゴリズムによって判定され、前記第２の鍵は秘密鍵であり、前記SLUKは前記サブセット内の各文字を用いて前記第１のLUKをラッピングすることによって生成される、サブセットと、
を用いて生成される、ステップと、
前記支払装置の送信部を制御して、前記生成されたSLUKを前記通信装置へ送信するステップと、
前記支払装置の受信部を制御して、前記通信装置によって生成された第２のLUKを受信するステップであって、前記第２のLUKは、前記通信装置の前記ユーザによる、販売時点（POS）端末での電子的支払を開始する操作に応答して生成され、前記第２のLUKの前記生成は、
前記サブセット内の各文字の前記パスコード内文字位置を判定することであって、前記サブセット内の各文字の前記パスコード内文字位置は、前記所定のアルゴリズムによって、前記第２の鍵と前記通信装置の前記ユーザの前記識別子と前記可変コードとに基づいて判定され、それらの各々は前記通信装置に知られている、ことと、
前記判定された、前記サブセット内の各文字の前記パスコード内文字位置を、前記通信装置の前記ユーザに示して、前記サブセット内の各文字を示す入力を前記ユーザから受信することと、
前記送信部によって送信された前記SLUKに対してラッピング解除処理を実行することであって、前記ラッピング解除処理は前記第２のLUKを生成することと、
を含む、ステップを含み、
前記受信された第２のLUKは前記第１のLUKと比較され、前記電子的支払は、前記第２のLUKが前記第１のLUKと一致するときにのみ認証される、方法。
【請求項３５】
コンピュータを制御して請求項３４に記載の方法を実行させるコンピュータプログラムを格納する記録媒体。
【請求項３５】
電子的支払処理を実装する販売時点（POS）装置を動作させる方法であって、前記方法は、
通信装置のユーザによってなされた支払の支払値を判定するステップと、
前記POS装置の受信部を制御して、前記通信装置から、使用制限鍵（LUK）を受信するステップであって、前記LUKは前記通信装置によって生成され、前記LUKの生成は、
前記通信装置の前記ユーザに関連付けられたパスコード内の文字位置であってパスコード文字のサブセット内の各文字のパスコード内文字位置を判定することであって、前記サブセット内の各文字の前記パスコード内文字位置は、所定のアルゴリズムによって、前記通信装置に関連付けられた秘密鍵と前記通信装置の前記ユーザの識別子と可変コードとに基づいて判定され、それらの各々は前記通信装置に知られている、ことと、
前記判定された、前記サブセット内の各文字の前記パスコード内文字位置を、前記通信装置の前記ユーザに示して、前記サブセット内の各文字を示す入力を前記ユーザから受信することと、
前記送信部によって送信された前記SLUKに対してラッピング解除処理を実行することであって、前記ラッピング解除処理は前記LUKを生成する、ことと、
を含む、ステップと、
前記POS装置の送信部を制御して、前記判定された支払値と前記通信装置から受信された前記LUKとを金融機関に送信するステップと、
を含む方法。
【請求項３７】
コンピュータを制御して請求項３６に記載の方法を実行させるコンピュータプログラムを格納する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は通信装置、販売時点端末、支払装置、及び方法に関する。
【背景技術】
【０００２】
本開示での「背景技術」の記載は、本開示の文脈を一般的に提示する目的のものである。背景技術の欄に記載される範囲で、本願発明の発明者による作業と本開示の態様とは出願時の従来技術として適格ではなく、本願発明に対する従来技術として明示的にも黙示的にも認められない。
【０００３】
モバイル装置（例えば携帯電話、タブレットコンピュータ等であり、そのような装置はまた通信装置として周知である）を用いる支払は、巨大な潜在能力を有し、支払業界に革命をもたらす。しかし、それはまた安全性についての課題をもたらす。特に、そのような支払手段を用いた詐欺又は盗難のリスクを低減するための手段が講じられる必要がある。これは全ての支払に適用され、特に、高価な支払（すなわち、所定の通貨での所定の閾値を超える価値の支払）に適用される。
【０００４】
モバイル支払の安全性を向上することを支援する方法の１つは、モバイル装置（これを介して支払がなされる）のユーザに、パスコード（例えば個人識別番号（PIN）又はパスワード）を入力させることであり、これにより支払を認証することである。すなわち、支払を完了するために、ユーザは事前にパスコードを割り当てられ又は選択しなければならない。このパスコードは次いで、モバイル装置が支払を開始するときに、モバイル装置上でユーザによって入力される必要がある。パスコードが正しく入力されたときにのみ、支払は完了する。これにより、例えばユーザのモバイル装置が盗難されたときに、詐欺的な支払が防がれる。
【０００５】
安全性を更に向上させるために、ユーザに、任意の所定のトランザクションについてのの自身のパスコードの文字セットのみを入力させることが周知である。したがって例えば、もしユーザが６文字のパスコードを有していれば、ユーザは所定のトランザクションにつきその６文字から４文字のみを入力するよう求められてよい。所定のトランザクションにつきユーザによって入力されるべき文字は、パスコード内の位置により識別される。入力されるべき異なる文字が、各トランザクションにつき選択されてよい。したがって例えば、ユーザが６文字のパスコード831649を有しているとき、第１のトランザクションではユーザはパスコードが左から右に読み取られるときの１、２、４及び６番目の文字を入力するよう（したがってパスコードの１、２、４及び６番目のそれぞれである、８、３、６及び９という数値を入力するよう）求められてよい。後の第２のトランザクションでは、ユーザはパスコードが左から右に読み取られるときの２、３、５及び６番目の文字を入力するよう（したがってパスコードの２、３、５及び６番目のそれぞれである３、１、４及び９という数値を入力するよう）求められてよい。トランザクションを完了するためにユーザによって入力される必要のある、文字のサブセット内の位置は、例えばランダム（又は少なくとも擬似ランダム）に判定されてよい。
【０００６】
トランザクションを完了するためにパスコード文字のサブセット（全ての文字ではない）を入力することのみにより、安全性が向上する。その理由は、もし誰か他の人が、ユーザがモバイル装置上でパスコードを入力するのを視認するとき、その人はパスコード全体を視認しないからである。これにより、誰かがユーザのモバイル装置を用いて詐欺的支払を開始することは一層困難である。というのも、次回トランザクションが試行されるとき、パスコード文字の異なるサブセットが入力される可能性が高く、パスコード全体を視認したことのない誰かは新たなサブセットの全ての文字がどうなるかわからないからである。例えば上記の第１及び第２のトランザクションの例を用いれば、もし誰かがユーザがパスコードの１、２、４及び６番目の文字（それぞれ８、３、６及び９）を入力するのを視認するとき、その誰かユーザのモバイル装置を用いて支払を詐欺的に開始しようとすると、その詐欺的支払は２、３、５及び６番目のパスコード文字（３、１、４及び９）を入力するよう要求する。仮にこの人が第１のトランザクションにおいてユーザが文字の以前のサブセットを入力するのを視認しても、パスコードの１、２、４及び６番目を知っているだけであり、パスコードの３及び５番目の文字を依然知らない。したがって詐欺的トランザクションは完了し得ない。トランザクションを承認するためにユーザによって入力される必要があるパスコード文字のサブセットは、部分的パスコードとして示されてよい。
【０００７】
しかし、そのような技術は、多くの問題を抱える。特に、所定のトランザクションにつき部分的パスコードを生成するために、ユーザのパスコードのどの文字が使用されるべきかをどのように判定するかという問題がある。またパスコード自体をどのように安全に維持するかという問題もある。理想的にはパスコードはユーザに関連付けられた金融機関のみによって格納されるべきであり、第三者（例えばユーザへ商品又は役務を提供する提供者）によって、又はユーザのモバイル装置上に、格納されるべきでない。これらの安全性について検討が必要であり、一方、同時に、システムが頑健且つ効率的であることを確保するべきである。
【発明の概要】
【０００８】
第１の態様では本願発明は、
電子的支払処理を実装する通信装置であって、前記通信装置は、
金融機関から安全使用制限鍵（SLUK）を受信するよう動作する受信部であって、前記SLUKは金融機関によって、
（１）前記金融機関に関連付けられた第１の鍵と、前記通信装置のユーザを識別する識別子と、可変コードとを用いて生成された第１の使用制限鍵（LUK）と、
（２）前記通信装置の前記ユーザに関連付けられたパスコード文字のサブセットであって、前記サブセット内の各文字は、前記パスコード内の文字位置によって識別され、前記サブセット内の各文字のパスコード内文字位置は、前記通信装置の前記ユーザに関連付けられた第２の鍵と、前記通信装置の前記ユーザを識別する前記識別子と、前記可変コードとに基づいて所定のアルゴリズムによって判定され、前記第２の鍵は秘密鍵であり、前記SLUKは前記サブセット内の各文字を用いて前記第１のLUKをラッピングすることによって生成される、サブセットと、を用いて生成され、
前記可変コードを前記金融機関から受信するよう更に動作する、受信部と、
前記受信されたSLUKと可変コードとを格納するよう動作し、前記通信装置の前記ユーザに関連付けられた前記第２の鍵と前記通信装置の前記ユーザを識別する前記識別子とを格納するよう動作する記憶部と、
支払時点（POS）装置での電子的支払を開始するユーザ操作に応答して、前記サブセット内の各文字のパスコード内文字位置を生成するよう動作する制御部であって、前記サブセット内の各文字の前記パスコード内文字位置は、前記記憶部に格納された前記第２の鍵と前記通信装置の前記ユーザの前記識別子と前記可変コードとに基づいて前記所定のアルゴリズムによって判定される、制御部と、
前記制御部によって生成された、前記サブセット内の各文字の前記パスコード内文字位置を前記通信装置の前記ユーザへ示すように動作し、前記サブセット内の各文字を示す入力を前記ユーザから受信するよう動作するユーザインタフェースと、
を含み、
前記制御部は、前記ユーザからの前記入力によって示された各文字を用いて、前記記憶部に格納された前記SLUKについてラッピング解除処理を実行するよう動作し、前記ラッピング解除処理は第２のLUKを生成し、
前記通信装置は、
前記電子的支払の認証のために、前記生成された第２のLUKを前記金融機関へ送信するよう動作する送信部を含む、通信装置を提供する。
【０００９】
一実施形態では、前記送信部は、前記金融機関に送信された前記第２のLUKが前記金融機関によって生成された前記第１のLUKと一致する場合、電子的支払が成功したことを示すメッセージを受信するよう動作し、前記金融機関に送信された前記第２のLUKが前記金融機関によって生成された前記第１のLUKと一致しない場合、電子的支払が失敗したことを示すメッセージを受信するよう動作する。
【００１０】
一実施形態では、前記サブセット内の各文字の前記パスコード内文字位置を生成する前記所定のアルゴリズムは、
（１）前記第２の鍵と前記通信装置の前記ユーザの識別子と前記可変コードとを、フォーマット保持暗号化（FPE）関数への入力として提供することによって、暗号的乱数番号（CRN）を生成するステップと、
（２）前記生成されたCRNが前記通信装置の前記ユーザに関連付けられた前記パスコードの文字数以上の文字数を有しているか否かを判定し、前記生成されたCRNが前記パスコードの文字数以上の文字数を有していれば前記アルゴリズムは（３）のステップに進み、前記生成されたCRNが前記パスコードの文字数以上の文字数を有していなければ前記アルゴリズムは（２）のステップを繰り返すステップと、
（３）前記生成されたCRNが少なくとも所定数の一意の文字を有するか否かを判定し、前記所定数の一意の文字の各々は前記パスコードの前記文字数以下であるステップであって、前記所定数は前記パスコードの文字の前記サブセットに含まれる文字数であり、一意の文字の数であってその各々が前記パスコードの文字数以下である前記数が、前記所定数以上であるとき、前記アルゴリズムは（４）のステップに進み、一意の文字の数であってその各々が前記パスコードの文字数以下である数が前記所定数以下であるとき、前記アルゴリズムは（２）のステップを繰り返すステップと、
（４）前記識別された一意の文字のセットであってその各々が前記パスコードの文字数以下であるセットを判定するステップであって、前記セットは前記所定数と等しい数の前記識別された一意の文字を含む、ステップとを含み、
前記セット内の前記識別された一意の文字は、前記パスコードの文字の前記サブセットに含まれる前記パスコードの各文字のパスコード内文字位置を示す。
【００１１】
一実施形態では、前記SLUKは、前記パスコードの文字の前記サブセット内の各文字を用いて、また、パスワードを基礎とした鍵導出関数２（PBKDF2）アルゴリズムを用いて、前記第１のLUKをラッピングすることによって生成され、前記第２のLUKは前記通信装置のユーザからの前記入力によって示される各文字を用いて、また、対応するPBKDF2アルゴリズムを用いて生成される。
【００１２】
一実施形態では、前記金融機関に関連付けられた前記第１の鍵は発行者マスター鍵（IMK）である。
【００１３】
一実施形態では、前記通信装置の前記ユーザに関連付けられた前記第２の鍵は、発展標準暗号（AES：Advanced  Standards  Encryption）１２８ビットの秘密鍵である。
【００１４】
一実施形態では、前記可変コードはDDDNN形式を有し、DDDは年の所定の最初の日からの日数を示し、NNは００から９９までの範囲の鍵シーケンス番号である。
【００１５】
一実施形態では、前記通信装置の前記ユーザを識別する前記識別子は、前記通信装置の前記ユーザに関連付けられた主要アカウント番号（PAN）である。
【００１６】
一実施形態では、前記通信装置の前記ユーザに関連付けられた前記第２の鍵は発展標準暗号（AES：Advanced  Standards  Encryption）１２８ビットの秘密鍵であり、
前記通信装置の前記ユーザを識別する前記識別子は、前記通信装置の前記ユーザに関連付けられた１６文字の主要アカウント番号（PAN）であり、
前記可変コードはDDDNN形式を有し、DDDは年の所定の最初の日からの日数を示し、NNは００から９９までの範囲の鍵シーケンス番号であり、CRNを生成するFPE関数への入力は前記第２の鍵であり、
前記FPE関数への前記入力はAES１２８ビットの秘密の第２の鍵と、前記１６文字のPAN及び可変コードDDDNNの合計値とである。
【００１７】
一実施形態では、前記第２の鍵は暗号として前記金融機関に送信される。
【００１８】
一実施形態では、前記制御部は前記第２のLUKを用いて鍵チェック値（KCV）を生成するよう動作し、前記送信部は前記第２のLUKと共に、前記金融機関へ前記生成されたKCVを送信するよう動作する。
【００１９】
一実施形態では、前記KCVは、
（１）前記第２のLUKと８つのゼロバイトとを暗号関数への入力として提供することと、（２）前記暗号関数への出力の最初の３バイトを取得することと、
を含むアルゴリズムによって生成され、前記取得された最初の３バイトは前記KCVを形成する。
【００２０】
一実施形態では、前記通信装置の前記ユーザによる、前記POS装置での電子的支払を開始する操作に続いて、前記受信部は前記支払値を示すメッセージを前記POS装置から受信するよう動作し、前記制御部は前記支払値が所定の閾値を超えるか否かを判定するよう動作し、前記制御部は前記サブセット内の各文字の前記パスコード内文字位置を生成し、前記ユーザインタフェースは前記通信装置の前記ユーザへ前記サブセット内の各文字のパスコード内文字位置を示し、前記ユーザインタフェースは前記サブセット内の各文字を示す入力を前記ユーザから受信するよう動作し、前記制御部は前記ユーザからの前記入力によって示された各文字を用いて前記SLUKに対しラッピング解除処理を実行して前記第２のLUKを生成し、前記送信部は、前記支払値が前記所定の閾値を超えるときのみ、前記生成された第２のLUKを前記金融機関へ送信する。
【００２１】
一実施形態では、前記受信部と送信部とは近距離無線通信（NFC）インタフェースを用いて前記POS装置と信号を交換するよう動作し、遠距離の無線アクセスネットワーク（WAN）インタフェースを用いて前記金融機関と信号を交換するよう動作する。
【００２２】
一実施形態では、前記送信部は前記第２のLUKを前記POS装置を介して前記金融機関へ送信するよう動作する。
【００２３】
第２の態様では本願発明は、金融機関にて電子的支払処理を実装する支払装置であって、前記支払装置は、
通信装置に送信される安全使用制限鍵（SLUK）を生成するよう動作する制御部であって、前記SLUKは前記制御部によって、
（１）前記金融機関に関連付けられた第１の鍵と、前記通信装置のユーザを識別する識別子と、可変コードとを用いて生成された第１の使用制限鍵（LUK）と、
（２）前記通信装置の前記ユーザに関連付けられたパスコード文字のサブセットであって、前記サブセット内の各文字は、前記パスコード内の文字位置によって識別され、前記サブセット内の各文字のパスコード内文字位置は、前記通信装置の前記ユーザに関連付けられた第２の鍵と、前記通信装置の前記ユーザを識別する前記識別子と、前記可変コードとに基づいて所定のアルゴリズムによって判定され、前記第２の鍵は秘密鍵であり、前記SLUKは前記サブセット内の各文字を用いて前記第１のLUKをラッピングすることによって生成される、制御部と、
前記生成されたSLUKを前記通信装置へ送信するよう動作する送信部と、
前記通信装置によって生成された第２のLUKを受信するよう動作する受信部であって、前記第２のLUKは、前記通信装置の前記ユーザによる、販売時点（POS）端末での電子的支払を開始する操作に応答して前記通信装置によって生成され、前記第２のLUKの前記生成は、
前記サブセット内の各文字の前記パスコード内文字位置を判定するステップであって、前記サブセット内の各文字の前記パスコード内文字位置は、前記所定のアルゴリズムによって、前記第２の鍵と前記通信装置の前記ユーザの前記識別子と前記可変コードとに基づいて判定され、それらの各々は前記通信装置に知られているステップと、
前記判定された、前記サブセット内の各文字の前記パスコード内文字位置を、前記通信装置の前記ユーザに示して、前記サブセット内の各文字を示す入力を前記ユーザから受信するステップと、
前記送信部によって送信された前記SLUKに対してラッピング解除処理を実行するステップであって、前記ラッピング解除処理は前記第２のLUKを生成するステップと、
を含む、受信部とを含み、
前記制御部は前記第２のLUKと前記第１のLUKとを比較するよう動作し、前記第２のLUKが前記第１のLUKと一致するときにのみ前記電子的支払を認証する、支払装置を提供する。
【００２４】
一実施形態では、前記送信部は、前記受信された第２のLUKが前記第１のLUKと一致する場合に電子的支払が成功したことを示すメッセージを送信し、前記受信された第２のLUK前記第１のLUK場合に電子的支払が失敗したことを示すメッセージを送信する。
【００２５】
一実施形態では、前記第２のLUKを受信したことに応答して、前記制御部は前記金融機関に関連付けられた前記第１の鍵と前記通信装置の前記ユーザを識別する前記識別子と前記可変コードとを用いて前記第１のLUKを再生成するよう動作する。
【００２６】
一実施形態では、前記サブセット内の各文字の前記パスコード内文字位置を生成する前記所定のアルゴリズムは、
（１）前記第２の鍵と前記通信装置の前記ユーザの識別子と可変コードとを、フォーマット保持暗号化（FPE）関数への入力として提供することによって、暗号的乱数番号（CRN）を生成するステップと、
（２）前記生成されたCRNが前記通信装置の前記ユーザに関連付けられた前記パスコードの文字数以上の文字数を有しているか否かを判定し、前記生成されたCRNが前記パスコードの文字数以上の文字数を有していれば前記アルゴリズムは（３）のステップに進み、前記生成されたCRNが前記パスコードの文字数以上の文字数を有していなければ前記アルゴリズムは（２）のステップを繰り返すステップと、
（３）前記生成されたCRNが少なくとも所定数の一意の文字を有するか否かを判定し、前記所定数の一意の文字の各々は前記パスコードの前記文字数以下であるステップであって、前記所定数は前記パスコードの文字の前記サブセットに含まれる文字の数であり、一意の文字の数であってその各々が前記パスコードの文字数以下である数が、前記所定数以上であるとき、前記アルゴリズムは（４）のステップに進み、一意の文字の数であってその各々が前記パスコードの文字数以下である数が前記所定数以下であるとき、前記アルゴリズムは（２）のステップを繰り返す、ステップと、
（４）前記識別された一意の文字のセットであってその各々が前記パスコードの文字数以下であるセットを判定するステップであって、前記セットは前記所定数と等しい数の前記識別された一意の文字を含む、ステップとを含み、
前記セット内の前記識別された一意の文字は、前記パスコードの文字の前記サブセットに含まれる前記パスコードの各文字のパスコード内文字位置を示す。
【００２７】
一実施形態では、前記SLUKは、前記パスコードの文字の前記サブセット内の各文字を用いて、また、パスワードを基礎とした鍵導出関数２（PBKDF2）アルゴリズムを用いて、前記第１のLUKをラッピングすることによって生成され、前記第２のLUKは前記通信装置のユーザからの前記入力によって示される各文字を用いて、また、対応するPBKDF2アルゴリズムを用いて生成される。
【００２８】
一実施形態では、前記金融機関に関連付けられた前記第１の鍵は発行者マスター鍵（IMK）である。
【００２９】
一実施形態では、前記通信装置の前記ユーザに関連付けられた前記第２の鍵は、発展標準暗号（AES：Advanced  Standards  Encryption）１２８ビットの秘密鍵である。
【００３０】
一実施形態では、前記可変コードはDDDNN形式を有し、DDDは年の所定の最初の日からの日数を示し、NNは００から９９までの範囲の鍵シーケンス番号である。
【００３１】
一実施形態では、前記通信装置の前記ユーザを識別する前記識別子は、前記通信装置の前記ユーザに関連付けられた主要アカウント番号（PAN）である。
【００３２】
一実施形態では、
前記通信装置の前記ユーザに関連付けられた前記第２の鍵は発展標準暗号（AES：Advanced  Standards  Encryption）１２８ビットの秘密鍵であり、
前記通信装置の前記ユーザを識別する前記識別子は、前記通信装置の前記ユーザに関連付けられた１６文字の主要アカウント番号（PAN）であり、
前記可変コードはDDDNN形式を有し、DDDは年の所定の最初の日からの日数を示し、NNは００から９９までの範囲の鍵シーケンス番号であり、CRNを生成するFPE関数への入力は前記第２の鍵であり、
前記FPE関数への前記入力はAES１２８ビットの秘密の第２の鍵と、前記１６文字のPAN及び可変コードDDDNNの合計値とである。
【００３３】
一実施形態では、前記第２のLUKは暗号として前記通信装置から受信され、前記制御部は前記第１のLUKから対応する暗号を生成するよう動作し、前記複数の暗号を比較するよう動作し、
前記複数の暗号が一致する場合、前記制御部は前記第１のLUKが前記第２のLUKと一致すると判定し、
前記複数の暗号が一致しない場合、前記制御部は前記第１のLUKが前記第２のLUKと一致しないと判定する。
【００３４】
一実施形態では、前記暗号は前記第２のLUKを用いて前記通信装置によって生成された鍵チェック値（KCV）と共に受信され、前記第２のLUKが前記第１のLUKと一致しない場合、前記制御部は前記第１のLUKを用いて更なるKCVを生成するよう動作し、前記受信されたKCVを前記更に生成されたKCVと比較するよう動作し、
前記受信されたKCVが前記更に生成されたKCVと一致する場合、前記制御部はパスコード文字の前記サブセットの文字が前記通信装置の前記ユーザによって正しく入力されたと判定し、
前記受信されたKCVが前記更に生成されたKCVと一致しない場合、前記制御部はパスコード文字の前記サブセットの文字が前記通信装置の前記ユーザによって正しく入力されなかったと判定する。
【００３５】
一実施形態では、前記更に生成されたKCVは、
（１）前記第１のLUKと８つのゼロバイトとを暗号関数への入力として提供することと、
（２）前記暗号関数への出力の最初の３バイトを取得することと、
を含むアルゴリズムによって生成され、前記取得された最初の３バイトは前記更に生成されたKCVを形成する。
【００３６】
一実施形態では、前記受信部は前記第２のLUKを前記POS装置を介して前記通信装置から受信するよう動作する。
【００３７】
第３の態様では本願発明は、
電子的支払処理を実装する販売時点（POS）装置であって、前記POS装置は、
通信装置のユーザによってなされた支払の支払値を判定するよう動作する制御部と、
前記通信装置から、使用制限鍵（LUK）を受信するよう動作する受信部であって、前記LUKは前記通信装置によって生成され、前記LUKの生成は、
前記通信装置の前記ユーザに関連付けられたパスコード内の文字位置であってパスコード文字のサブセット内の各文字のパスコード内文字位置を判定するステップであって、前記サブセット内の各文字の前記パスコード内文字位置は、所定のアルゴリズムによって、前記通信装置に関連付けられた秘密鍵と前記通信装置の前記ユーザの識別子と可変コードとに基づいて判定され、それらの各々は前記通信装置に知られている、ステップと、
前記判定された、前記サブセット内の各文字の前記パスコード内文字位置を、前記通信装置の前記ユーザに示して、前記サブセット内の各文字を示す入力を前記ユーザから受信するステップと、
前記送信部によって送信された前記SLUKに対してラッピング解除処理を実行するステップであって、前記ラッピング解除処理は前記LUKを生成する、ステップと、
を含む、受信部と、
前記判定された支払値と前記通信装置から受信された前記LUKとを金融機関に送信するよう動作する送信部と、
を含むPOS装置を提供する。
【００３８】
一実施形態では、前記通信装置から前記LUKを受信するより前に、前記受信部は電子的支払の開始を示す信号を前記通信装置から受信するよう動作し、それに応答して、前記制御部は前記通信装置へ前記支払値を示す信号を送信するよう前記送信部を制御する。
【００３９】
第４の態様では本願発明は、
電子的支払処理を実装する通信装置を動作させる方法であって、前記方法は、
前記通信装置の受信部を制御して、金融機関から安全使用制限鍵（SLUK）を受信するステップであって、前記SLUKは前記金融機関によって、
（１）前記金融機関に関連付けられた第１の鍵と、前記通信装置のユーザを識別する識別子と、可変コードとを用いて生成された第１の使用制限鍵（LUK）と、
（２）前記通信装置の前記ユーザに関連付けられたパスコード文字のサブセットであって、前記サブセット内の各文字は、前記パスコード内の文字位置によって識別され、前記サブセット内の各文字のパスコード内文字位置は、前記通信装置の前記ユーザに関連付けられた第２の鍵と、前記通信装置の前記ユーザを識別する前記識別子と、前記可変コードとに基づいて所定のアルゴリズムによって判定され、前記第２の鍵は秘密鍵であり、前記SLUKは前記サブセット内の各文字を用いて前記第１のLUKをラッピングすることによって生成される、サブセットと、
を用いて生成される、ステップと、
前記受信部を制御して前記金融機関から前記可変コードを受信するステップと、
前記通信装置の記憶部を制御して、前記受信されたSLUKと可変コードとを格納し、前記通信装置の前記ユーザに関連付けられた前記第２の鍵と前記通信装置の前記ユーザを識別する前記識別子とを格納するステップと、
支払時点（POS）装置での電子的支払を開始するユーザ操作に応答して、前記サブセット内の各文字のパスコード内文字位置を生成するステップであって、前記サブセット内の各文字の前記パスコード内文字位置は、前記記憶部に格納された前記第２の鍵と前記通信装置の前記ユーザの前記識別子と前記可変コードとに基づいて前記所定のアルゴリズムによって判定される、ステップと、
前記通信装置のユーザインタフェースを制御して、前記制御部によって生成された前記サブセット内の各文字の前記パスコード内文字位置を前記通信装置の前記ユーザへ示し、前記サブセット内の各文字を示す入力を前記ユーザから受信するステップと、
を含み、
ラッピング解除処理が、前記ユーザからの前記入力によって示された各文字を用いて、前記記憶部に格納された前記SLUKについて実行され、前記ラッピング解除処理は第２のLUKを生成し、
前記方法は更に、
前記通信装置の送信部を制御して、前記電子的支払の認証のために、前記生成された第２のLUKを前記金融機関へ送信するステップを含む、方法を提供する。
【００４０】
第５の態様では本願発明は、
コンピュータを制御して第４の態様の方法を実行させるコンピュータプログラムを格納する記録媒体を提供する。
【００４１】
第６の態様では本願発明は、
金融機関にて電子的支払処理を実装する支払装置を動作させる方法であって、前記方法は、
通信装置に送信される安全使用制限鍵（SLUK）を生成するステップであって、前記SLUKは前記制御部によって、
（１）前記金融機関に関連付けられた第１の鍵と、前記通信装置のユーザを識別する識別子と、可変コードとを用いて生成された第１の使用制限鍵（LUK）と、
（２）前記通信装置の前記ユーザに関連付けられたパスコード文字のサブセットであって、前記サブセット内の各文字は、前記パスコード内の文字位置によって識別され、前記サブセット内の各文字のパスコード内文字位置は、前記通信装置の前記ユーザに関連付けられた第２の鍵と、前記通信装置の前記ユーザを識別する前記識別子と、前記可変コードとに基づいて所定のアルゴリズムによって判定され、前記第２の鍵は秘密鍵であり、前記SLUKは前記サブセット内の各文字を用いて前記第１のLUKをラッピングすることによって生成される、サブセットと、
を用いて生成される、ステップと、
前記支払装置の送信部を制御して、前記生成されたSLUKを前記通信装置へ送信するステップと、
前記支払装置の受信部を制御して、前記通信装置によって生成された第２のLUKを受信するステップであって、前記第２のLUKは、前記通信装置の前記ユーザによる、販売時点（POS）端末での電子的支払を開始する操作に応答して生成され、前記第２のLUKの前記生成は、
前記サブセット内の各文字の前記パスコード内文字位置を判定することであって、前記サブセット内の各文字の前記パスコード内文字位置は、前記所定のアルゴリズムによって、前記第２の鍵と前記通信装置の前記ユーザの前記識別子と前記可変コードとに基づいて判定され、それらの各々は前記通信装置に知られている、ことと、
前記判定された、前記サブセット内の各文字の前記パスコード内文字位置を、前記通信装置の前記ユーザに示して、前記サブセット内の各文字を示す入力を前記ユーザから受信することと、
前記送信部によって送信された前記SLUKに対してラッピング解除処理を実行することであって、前記ラッピング解除処理は前記第２のLUKを生成することと、
を含む、ステップを含み、
前記受信された第２のLUKは前記第１のLUKと比較され、前記電子的支払は、前記第２のLUKが前記第１のLUKと一致するときにのみ認証される、方法を提供する。
【００４２】
第７の態様では本願発明は、
コンピュータを制御して第６の態様の方法を実行させるコンピュータプログラムを格納する記録媒体を提供する。
【００４３】
第８の態様では本願発明は、
電子的支払処理を実装する販売時点（POS）装置を動作させる方法であって、前記方法は、
通信装置のユーザによってなされた支払の支払値を判定するステップと、
前記POS装置の受信部を制御して、前記通信装置から、使用制限鍵（LUK）を受信するステップであって、前記LUKは前記通信装置によって生成され、前記LUKの生成は、
前記通信装置の前記ユーザに関連付けられたパスコード内の文字位置であってパスコード文字のサブセット内の各文字のパスコード内文字位置を判定することであって、前記サブセット内の各文字の前記パスコード内文字位置は、所定のアルゴリズムによって、前記通信装置に関連付けられた秘密鍵と前記通信装置の前記ユーザの識別子と可変コードとに基づいて判定され、それらの各々は前記通信装置に知られている、ことと、
前記判定された、前記サブセット内の各文字の前記パスコード内文字位置を、前記通信装置の前記ユーザに示して、前記サブセット内の各文字を示す入力を前記ユーザから受信することと、
前記送信部によって送信された前記SLUKに対してラッピング解除処理を実行することであって、前記ラッピング解除処理は前記LUKを生成する、ことと、
を含む、ステップと、
前記POS装置の送信部を制御して、前記判定された支払値と前記通信装置から受信された前記LUKとを金融機関に送信するステップと、
を含む方法を提供する。
【００４４】
第９の態様では本願発明は、
コンピュータを制御して第８の態様の方法を実行させるコンピュータプログラムを格納する記録媒体を提供する。
【００４５】
上記の段落は一般的な導入として提供されるが、特許請求の範囲を限定することを意図しない。本開示の実施形態は、更なる有利性を有し、添付の図面と関連して下記の詳細な説明を参照することによって最良に理解される。
【図面の簡単な説明】
【００４６】
本開示の一層完全な理解と多くのそれに付随する有利性とが容易に得られる。というのもそれらは、添付の図面に関連して考慮されるとき、下記の詳細な説明を参照することによって一層良く理解されるからである。
【００４７】
【図１】本実施形態による、ユーザが店舗から商品を購入するときに実装されるモバイル装置の支払構成を概念的に示す。
【図２】図２Ａは、本実施形態の通信装置、販売時点端末（POS）、支払装置を概念的に示す。図２Ｂは、本実施形態の通信装置、販売時点端末（POS）、支払装置を概念的に示す。図２Ｃは、本実施形態の通信装置、販売時点端末（POS）、支払装置を概念的に示す。
【図３】図３は本実施形態のユーザに提示される部分的パスコード入力スクリーンを概念的に示す。
【図４】図４は本実施形態の登録処理を概念的に示す。
【図５】図５は本実施形態の安全使用制限鍵（SLUK）が生成され通信装置に送信される処理を概念的に示す。
【図６Ａ】本実施形態の、部分的パスコードの文字を識別するために使用される処理を概念的に示す。
【図６Ｂ】本実施形態の、部分的パスコードの文字を識別するために使用される処理を概念的に示す。
【図７】図７は本実施形態の電子的支払処理を概念的に示す。
【図８】図８は本実施形態の鍵チェック値（KCV）の生成処理を概念的に示す。
【発明を実施するための形態】
【００４８】
図面が参照される。類似の参照符号は、複数の図面に亘って、同一の又は対応する部分を示す。
【００４９】
図１はユーザ１００が店舗から商品を購入したいときに実装されるモバイル装置の支払構成を概念的に示す。商品を購入したいとき、店舗の職員１０２は通常の方法で、商品を店舗の決済又は支払システムを通す。この場合、職員１０２はバーコード等及び適切な電子的決済システム（従来周知）を用いて商品をスキャンする。店舗はモバイル装置支払を許可する状態である（モバイル支払として周知）。特に店舗は販売時点（POS）装置１０６を有し、これはユーザのモバイル装置１０４（通信装置としても周知）と信号を交換可能であり、モバイル支払を起動する。この例では信号は通信装置１０４とPOS装置１０６との間で近距離無線通信（NFC）技術を用いて交換される。もっとも、他の任意の適切な信号技術（例えばBluetooth、Wi-Fi、セルラ信号）が利用されてよいことを理解されたい。NFCが使用されるとき、ユーザ１００は単に通信装置１０４をPOS装置に近接させればよく（周知の通り、近傍とは１以上の関連NFC基準により判定される）、電子的支払処理の実装を開始する。
【００５０】
電子的支払処理は通信装置１０４、POS装置１０６及び支払装置２００を用いて実行される。それらは図２Ａ、２Ｂ及び２Ｃのそれぞれに示される。この例では、通信装置１０４はユーザ１００に属する。POS装置１０６は店舗に配置される。支払装置２００はユーザに関連付けられた金融機関に配置される。ユーザに関連付けられた金融機関は、ユーザが資金を移転して第三者（例えばユーザが商品を購入する店舗）への支払を発行するときに通る金融機関である。例えば金融機関はユーザが銀行アカウント（口座）を有する銀行であってよい。
【００５１】
図２Ａに示すように通信装置１０４はNFC部２０２、受信部２０４、送信部２０６、制御部２０７、記憶部２０８及びユーザインタフェース２１０を有する。通信装置は例えば、モバイル装置、タブレットコンピュータ、又は、図２Ａに例示されるような構成要素を含む任意の他の適切な装置であってよい。NFC部２０２はNFC受信部とNFC送信部とを含み、通信装置がNFC信号を他のNFC対応装置（例えばPOS装置１０６）と送受信することを可能にする。受信部２０４及び送信部２０６は通信装置１０４が適切なインタフェース（例えばワイドエリアネットワーク（WAN）インタフェース（例えばセルラインタフェース（例えばロング・ターム・エヴォリューション（LTE）、ユニバーサル移動体通信システム（UMTS）、又はWi-Fiインタフェース）））を用いて外部装置から信号を送受信することを可能にする。記憶部２０８はデータが通信装置１０４によって格納されることを可能にする。ユーザインタフェース２１０はユーザが、通信装置によって出力された情報を視認することと通信装置に情報を入力することとによって通信装置１０４と相互作用することを可能にする。例えばユーザインタフェースはタッチスクリーンであってよいし、スクリーン又は１以上の物理ボタン若しくはスイッチ等を含んでよい。制御部２０７は通信装置の他の構成要素の各々の動作を制御する。
【００５２】
図２Ｂに示すようにPOS装置１０６はNFC部２１２、受信部２１４、送信部２１６、制御部２１８を有する。NFC部２１２はNFC受信部とNFC送信部とを含み、POS装置がNFC信号を他のNFC対応装置（例えば通信装置１０４）と送受信することを可能にする。受信部２０４及び送信部２０６はPOS装置が適切なインタフェース（例えばWANインタフェース（例えばセルラインタフェース（例えばロング・ターム・エヴォリューション（LTE）、ユニバーサル移動体通信システム（UMTS）、又はWi-Fiインタフェース）））を用いて外部装置から信号を送受信することを可能にする。制御部２１８はPOS装置の他の構成要素の各々の動作を制御する。
【００５３】
図２Ｃに示すように、通信装置１０４のユーザ１００に関連付けられた金融機関に配置された支払装置２００は、受信部２２０、送信部２２２、制御部２２４及び記憶部２２６を含む。受信部２２０及び送信部２２２は支払装置２００が適切なインタフェース（例えばWANインタフェース（例えばセルラインタフェース（例えばロング・ターム・エヴォリューション（LTE）、ユニバーサル移動体通信システム（UMTS）、又はWi-Fiインタフェース）））を用いて外部装置から信号を送受信することを可能にする。記憶部２２６はデータが支払装置２００によって格納されることを可能にする。制御部２２４は通信装置２００の他の構成要素の各々の動作を制御する。
【００５４】
通信装置１０４、POS装置１０６及び支払装置２００の各々の動作及び相互作用（インタラクション）は下記で詳述する。上記の通り、本実施形態では、図１に例示される状況において支払を認証するために、ユーザは通信装置１０４を用いて部分的パスコードの入力を求められる。部分的パスコードはユーザに事前に関連付けられたパスコード文字のサブセットにより定義される。部分的パスコードを定義する文字のサブセットは実行される各個別のトランザクションにつき判定される。より具体的には、各トランザクションにつき（例えばユーザ１００が店舗にて商品につき支払をしたい度に）、サブセット内の各文字のパスコード内位置が判定される。ユーザは次いでこれらの判定された位置のパスコード文字を入力するよう求められる。トランザクション（例えば店舗への支払）は、部分的パスコードの文字が正しく入力されたときのみ完了する。
【００５５】
一実施形態では、ユーザは通信装置１０４上で部分的パスコード入力画面３００を提示される。部分的パスコード入力画面３００は通信装置１０４とPOS装置１０６との間のNFC信号交換が成功したことに続いて、通信装置の画面上に表示される。それは、ユーザが通信装置１０４を用いて商品又は役務に支払おうとするときに生じる。したがって例えば、店舗の職員１０２がユーザ１００によって購入される１以上の商品又は役務を確認する。要求される支払値の合計値が算出されると、ユーザ１００は通信装置１０４とPOS装置１０６とを用いたモバイル支払を開始する選択肢を与えられる。この場合、ユーザは通信装置１０４をPOS装置１０６に十分近接させて、通信装置とPOS装置との間のNFC信号の交換を可能にし、したがってモバイル支払処理を開始する。
【００５６】
図３の例では、部分的パスコードが生成され、ユーザは６文字のパスコードのうち１、２、５及び６番目の文字を入力しなければならない。１、２、５及び６番目の文字はパスコード文字のサブセットを形成する。サブセット内の文字が部分的パスコードを示す。これらの文字はアクセス可能なパスコード文字入力フィールド３０２Ａ−Ｄに入力されなければならない。したがって以前のパスコード例「831649」を再び取り上げれば、ユーザ１００は「８」（１番目の文字）をフィールド３０２Ａに入力しなければならず、「３」（２番目の文字）をフィールド３０２Ｂに入力しなければならず、「４」（５番目の文字）をフィールド３０２Ｃに入力しなければならず、「９」（６番目の文字）をフィールド３０２Ｄに入力しなければならない。残りのパスコード文字入力フィールド３０４Ａ及び３０４Ｂ（パスコード「831649」の３番目の「１」と４番目の「６」に関する）は、影をつけられ、ユーザによってアクセス不可能である。したがってユーザはパスコードの３及び４番目の文字を入力しなくてよい。
【００５７】
したがってユーザは、アクセス可能及びアクセス不可能なフィールドに基づいて、パスコードのどの文字が要求されるかと、左から右へ考慮されたときのフィールドの各々が、左から右に読まれたときのパスコードのそれぞれの文字の位置に対応することを、認識することができる。すなわち、１、２、５及び６番目のフィールドはアクセス可能なので、ユーザはこれらのフィールドに入力されるべきはパスコードの１、２、５及び６番目の文字と知ることができる。ユーザはまた、３及び４番目のフィールドがアクセス不可能なので、パスコードの３及び４番目の文字は、この特定のトランザクションのために要求されないことを知る。異なるトランザクションにつき、部分的パスコードに含まれる文字のパスコード内位置は異なってよい。
【００５８】
要求されたパスコード文字が部分的パスコード入力画面で正しくユーザ１００によって入力されたときのみ、トランザクションは完了する。この例では、通信装置１０４のユーザインタフェース２１０はタッチスクリーンである。ユーザは仮想テンキー３０６を用いて、各アクセス可能フィールド３０２Ａ−Ｄに関連付けられたパスコード文字を入力することができる。
【００５９】
部分的パスコード入力画面３００は例示にすぎないことに留意されたい。パスコード画面は他の任意の適切な形式であってよい。例えば部分的パスコード入力画面は代わりに、連続して表示される複数のサブ画面を含んでよい。ここではユーザは各サブ画面上で部分的パスコードの文字の１つを入力するよう促される。したがって例えばパスコードの１、２、５及び６番目の文字が入力必須のとき、それぞれの１つのサブ画面が表示され、それらの文字の各々の入力が可能である。各サブ画面は同一の外観であってよく、図３に示す部分的パスコード入力画面３００と同一の機能を有してよい。相違点は、単一のフィールド（例えば複数のフィールド３０２Ａ−Ｄではなく）が表示され、さのサブ画面と関連付けられた文字の１つが仮想テンキー３０６を介して入力可能である。パスコードの文字が入力される順番は必ずしも、パスコード内で文字が位置する順番と相関しなくてよい。例えば１、２、５及び６番目の文字のそれぞれが、連続で表示された第１、２、３及び４番目のサブ画面を介して入力される（このため、１番目の文字が入力され、次に２番目、５番目、６番目の順番で入力される）。しかし、これは必須ではない。例えば第１に表示されたサブ画面が２番目の文字に関連付けられ、第２に表示されたサブ画面が５番目の文字に関連付けられ、第３に表示されたサブ画面が１番目の文字に関連付けられ、第４に表示された画面が６番目の文字に関連付けられてよい（このため、２番目、５番目、１番目、６番目の順番で文字が入力される）。したがって部分的パスコードの文字が入力される順番が、部分的パスコード自体の文字と同様に変更されてよい。
【００６０】
部分的パスコードを定義する文字が判定される方法と、部分的パスコードを用いて支払が認証される方法とが下記で詳述される。
【００６１】
本実施形態によるモバイル支払構成を使用するために、ユーザはまず自身の通信装置１０４を登録しなければならない。この登録処理は図４に概念的に示される。
【００６２】
まずステップ４００にて、通信装置１０４の送信部２０６は登録要求を、通信装置のユーザに関連付けられた金融機関の支払装置２００に送信する。登録要求は支払装置２００の受信部２２０によって受信される。ステップ４０２にて支払装置の制御部２２４は、次いでユーザを、モバイル支払サービスでの使用のために登録し、ステップ４０４にて、ユーザに関連付けられたトークン主要アカウント番号（PAN）を生成する。生成されたトークンPANはユーザの識別子として動作する数値であり、これは後に説明される暗号鍵の生成にて使用される。ユーザに関連付けられたトークンPANは次いでステップ４０６にて支払装置の記憶部２２６に格納される。ステップ４０８にてユーザに関連付けられた秘密鍵が生成される。秘密鍵は例えば発展標準暗号（Advanced  Standards  Encryption）(AES)の１２８ビット鍵であってよい。秘密鍵はまた、記憶部２２６に格納される（更に例えば暗号ハードウェア安全モジュールを用いて保護される）。ステップ４１０にて送信部２２２は生成されたトークンPANと秘密鍵とを通信装置１０４の受信部２０４に返信する。トークンPANと秘密鍵は次いで、通信装置１０４の記憶部２０８に格納される（秘密鍵は例えばホワイトボックス暗号技術を用いて保護される）。これにより通信装置の登録処理が完了し、ユーザは通信装置を用いてモバイル支払を開始可能である。
【００６３】
登録後且つPOS装置１０６での支払の開始前に、通信装置１０４はまず支払処理中の使用のために安全使用制限鍵（SLUK）の提供を受けなければならない。SLUKは暗号鍵である。SLUKの生成と支払装置２００から通信装置へのその送信とは、図５に概念的に示される。
【００６４】
まずステップ５００にて、通信装置１０４の送信部２０６はSLUK要求を、支払装置２００に送信する。SLUK要求は支払装置の受信部２２０によって受信される。SLUK要求は支払装置へ、通信装置がSLUKを要求することを示す。
【００６５】
ステップ５０２にて支払装置２００の制御部２２４はまず使用制限鍵（LUK）を生成する。これは暗号鍵であり、任意の適切な導出関数を介して、通信装置のユーザに関連付けられたトークンPANを用いて生成される。更なる鍵と可変コードが、支払装置２００が関連する金融機関に関連付けられる。鍵生成関数は例えば適切な対称の鍵導出関数（例えばAdvanced  Encryption  Standard(AES)又はデータ暗号標準（DES）技術に基づく関数）であってよい。可変コードが下記で詳述される。金融機関（これに支払装置２００が関連する）に関連付けられた鍵は、支払装置２００の記憶部２２６に格納され、例えば発行者マスター鍵（Issue  Master  Key）（IMK）であってよい。
【００６６】
ステップ５０４にて制御部２２４はパスコード文字（これが部分的パスコードを定義する文字のサブセットを形成する）の各々のパスコード内位置を生成する。判定された文字は次いで、パスコード（これは以前のユーザへのパスコード割り当てに続いて支払装置２００の記憶部２２６に格納される）から取得される。ステップ５０６にて、ステップ５０２にて生成されたLUKは、部分的パスコードの文字を用いてラッピングされ、SLUKを生成する。このラッピングは例えば、パスワードを基礎とした鍵導出関数２（Password-Based  Key  Derivation  Function  2）(PBKDF2)アルゴリズムを用いて実行されてよい。ステップ５０８にて、支払装置２００の送信部２２２は次いでSLUKを、通信装置１０４の受信部２０４に送信する。SLUKはついでステップ５１０にて通信装置１０４の記憶部２０８に格納される。この処理は下記で詳述される。
【００６７】
パスコード文字（これは部分的パスコードを定義する文字のサブセットを構成する）の各々のパスコード内位置を判定する処理は、図６Ａ及び６Ｂにて概念的に示される。
【００６８】
処理はステップ６００で開始する。ステップ６０２にて暗号的乱数番号（cryptographic  random  number：CRN）はユーザに関連付けられた秘密鍵に基づいて生成される。トークンPANはユーザと更なるコードとに関連付けられる。更なるコードは１以上の所定の規則により変化し、可変コードとして示されてよい。本実施形態では可変コードはDDDNN形式を有する。DDDNNは本年の１月１日以降の日付の番号を示す（したがって１月１日はDDD=000であり、１月２日はDDD=001等である）。NNは00から99までの範囲の鍵シーケンス番号である。鍵シーケンス番号NNは例えば疑似乱数生成器を用いて生成されてよい。あるいは制御部２２４は鍵シーケンス番号NNの値を、SLUKが通信装置１０４によって要求されるたびに増加させてよい（この場合もし１００より大きいSLUKがある所定の日に要求されたとき、鍵シーケンス番号NNは再び循環し、１０１番目のSLUKの生成に使用される可変コードは再びNN=00をとる）。可変コードは他の任意の適切な形式を用いて、又は、任意の他の所定の規則を用いて、（結果として生じる可変コードがCRNの生成において使用するのに適切な限り）生成されてよいことを理解されたい。ステップ５０２で生成されたLUKの生成において使用されたものと同一の可変コードが使用されてよいことを理解されたい。CRNは秘密鍵とトークンPANと可変コードとを基礎に、フォーマット保持暗号化（Format  Preserving  Encryption）（FPE）を用いて例えば生成されてよい。
【００６９】
CRNの生成例は図６Ｂに例示される。ユーザのトークンPANは行４に示される。可変コード（DDDBNN形式）は行５に示される。行６に示す通り、CRNは、ユーザの秘密鍵とトークンPANと可変コードとを入力値としてFPE暗号関数に適用することによって生成される。特にトークンPANと可変コードとは共に追加される。結果として生じる合計値は、ユーザの秘密鍵と共にFPE暗号関数へ入力される。結果は行６に示される。
【００７０】
ステップ６０４にて、生成されたCRNが６より大きい長さを有するか否かが判定される。もし生成されたCRNが６より大きい長さを有さなければ、処理はステップ６０２に戻り、CRNが再生成される。この再生成は、上記のと同一の方法でFPEを用いる。他方もし生成されたCRNが６より大きい長さを有すれば、処理はステップ６０６に進む。図６Ｂの行６において、CRNが６文字より大きい長さを有することが見られる。よってCRNを再生成する必要はない。したがって処理はステップ６０６に進む。生成されたCRNがパスコード長より大きい（本実施形態では６文字より長い）長さを有するか否かを判定するステップ６０４での確認により、処理のステップ６０６に渡されるCRNが一意のビット（この各々は下記の通りパスコード長より短い又はパスコード長と同一の値を有する）の十分な長さを有する蓋然性を向上させる。
【００７１】
ステップ６０６にてCRNが一意の少なくとも４文字（この各々は６以下の数値を有する）を有するか否かについて判定される。もしこの条件が満たされなければ、処理はステップ６０２に戻り、CRNが再生成される。他方もしこの条件が満たされれば、処理はステップ６０８に進む。生成されたCRNが一意の５文字（この各々は６以下の数値を有する）を有することが図６Ｂの行６で見られる。これらの数値は６、５、１、２及び４である。
【００７２】
ステップ６０８にて、一意の少なくとも４文字（この各々は６以下の数値を有する）の最初の４文字（これはステップ６０６で識別される）が識別される。これらは次いで、パスコード文字（これが、部分的パスコードを定義する文字のサブセットを形成する）の各々のパスコード内位置を識別する。したがって、ステップ６０６にて生成された数値65124を見ると、これらの数値の最初の４文字は6512である。したがって部分的パスコードを定義するパスコード文字は６、５、１及び２番目である。図６Ｂの行３に示されるように、ユーザのパスコードの831649である。したがって部分的パスコードを定義する数値は９（６番目）、４（５番目）、８（１番目）、及び３（２番目）である。必要なときはこれらの数値はユーザによって、例えば部分的パスコード入力画面（図３）を用いて入力されてよいことを理解されたい（というのもアクセス可能なフィールド３０２Ａ−Ｄはパスコードの６、５、１及び２番目に関するので）。
【００７３】
部分的パスコードを定義する文字位置が識別されると、処理はステップ６１０にて終了する。
【００７４】
ユーザのパスコードは支払装置２００の記憶部２２６に格納される。したがって部分的パスコードの文字位置を判定することに続いて、制御部２２４は記憶部からパスコードの適切な文字を検索する（したがって上記の例では制御部２２４は文字９、４、８及び３を検索する）。部分的パスコードの文字位置の判定（これは図６Ａ及び６Ｂを参照して例示される方法を用いる）とこれらの文字の検索とは、ステップ５０４にて生じる。部分的パスコードの文字は次いでステップ５０６にてLUKをラッピングするために使用される。このとき例えば上記のようにPBKDF2暗号アルゴリズムが使用される。結果として生じるSLUKは次いで通信装置１０４に、可変コードと共にステップ５０８で送信される。SLUKと可変コードとはステップ５１０にて通信装置の記憶部２０８に格納される。
【００７５】
通信装置１０４の記憶部２０８内にSLUKを格納することに続いて、ユーザは今、店舗で商品又は役務を購入するときに支払処理を開始してよい。この支払処理は図７に概念的に示される。この図はユーザ１００、通信装置１０４、POS装置１０６、支払ゲートウェイ７００及び支払装置２００の間の様々な相互作用を示す。支払ゲートウェイ７００は情報ゲートウェイであり、POS装置１０６（これは商品又は役務が購入される店舗に配置される）と支払装置２００（金融機関に配置される）とをリンクさせ、POS装置１０６と支払装置２００との間で送信される電子メッセージを管理する。そのような情報ゲートウェイはは従来周知であり、したがってここで詳述しない。
【００７６】
ステップ７０２及び７０４にてユーザ１００は通信装置１０４を取り、通信装置をPOS装置１０６に提示する。上記の通り、実施形態において、ユーザはPOS装置１０６の十分近傍で通信装置１０４を保持し、NFC信号が通信装置とPOS装置との間で交換されるようにする。ユーザは、店舗で使用される決済システムで商品又は役務が確認されると、通信装置を取り提示する。したがってユーザによって支払われるべき合計金額（すなわち、支払値）が算出される。この支払金額はPOS端末によって判定される（例えばPOS端末は店舗によって使用される専用の決済システムから、支払金額を示す情報を受信してよい）。通信装置がPOS装置に提示されるとき、通信装置のNFC部２０２は信号（これは、通信装置が支払を開始したいことを示す）をPOS装置のNFC部２１２に送信する。これに応答して、POS装置のNFC部２１２は、支払われるべき金額を示すデータグラムを返す。これはステップ７０６で生じる。
【００７７】
ステップ７０８にて制御部２０７は支払が高価な支払か否かを判定する。高価な支払は、所定の通貨での所定の閾値を超える支払である。この閾値を超える支払い金額は高価な支払であるとみなされる。例えば高価な支払は、例えば３０英ポンド（£）又は３０米ドル（$）を超える支払であってよい（この場合、３０英ポンド又は３０米ドルは所定の閾値を示す）。支払が高価な支払か否かの判定は、部分的パスコードがユーザによって入力される必要があるか否かを判定するのに使用される。すなわち、支払処理は次のようなものである。低価の支払（すなわち、所定の閾値を下回る支払）につきユーザの利便性を向上させるために、部分的パスコードは高価な支払のトランザクションを開始するためにのみ入力されるべきである。低価の支払については、部分的パスコードはトランザクションが開始されるためには要求されない。高価な支払にのみ部分的パスコードを使用することは、図７の例で生じる。したがって提案される支払値（ステップ７０６でPOS装置から受信されるデータグラムに示される）が高価な支払か否かの判定の判定は、高価な支払である（すなわち、提案された支払値が所定の高価な支払の閾値を超える）。図７では提案された支払値は高価な支払であると判定されるので、処理が継続する。しかし、他の実施形態では、部分的パスコード全ての支払値につき入力されなくてはならない。この場合、提案された支払値が高価な支払であるか否かを判定する必要がないので、ステップ７０８は支払処理から省略されてよい。
【００７８】
ステップ７１０にて、通信装置の制御部２０７は部分的パスコードの各文字のパスコード内位置を判定する。図６Ａ及び６Ｂを参照して上記した通り、これは、部分的パスコードの各文字のパスコード内位置を判定するときに支払装置２００によって使用されるものと同一の方法を用いて実行される。これは、トークンPANと通信装置に関連付けられた秘密鍵と可変コードとが通信装置の記憶部２０８に以前に格納されているとの理由で可能である（図４のステップ４１０と図５のステップ５１０とを参照）。制御部２０７はしたがって同一のFPE関数を、支払装置２００によって適用されたトークンPANと秘密鍵と可変コードとに適用可能であり、したがって、支払装置によって以前に判定されたものと同一の文字位置の値を取得可能である（したがって以前に開示された例では制御部２０７は文字位置の値６、５、１及び２を判定する）。部分的パスコードの文字は、実際にはここでは判定されないことに留意されたい（というのも部分的パスコードは通信装置上に格納されないからである）。部分的パスコード内の各文字位置だけが判定される。
【００７９】
ステップ７１１にて、ユーザは通信装置１０４によって、部分的パスコードを入力するよう要求される。すなわち、ユーザはパスコードの文字のサブセット（このパスコード内文字位置はステップ７１０で判定される）を入力するよう要求される。これは、ユーザインタフェース２１０を介して実行される。ユーザインタフェース２１０はユーザへ、図３に示す部分的パスコード入力画面３００等を画面提示する。ステップ７１３にて、ユーザは次いで部分的パスコードを入力して（例えば仮想テンキー３０６を用いる）、部分的パスコードを通信装置の制御部２０７に提供する。本実施形態ではユーザは部分的パスコードの文字９、４、８及び３を入力する。というのも、それらがそれぞれ６、５、１及び２番目のパスコード文字に関するからである。ステップ７１２にて制御部２０７はSLUKを検索する。これは支払装置２００から以前に受信され、記憶部２０８に格納されたものである（図９のステップ５１０参照）。SLUKはユーザによって入力された部分的パスコードの文字を用いてSLUKをラッピング解除（unwrap）する。SLUKは例えば、SLUKを生成するのに以前使用されたPBKDF2アルゴリズムに対応するアルゴリズムを用いて、ラッピング解除される。SLUKをラッピング解除することにより、更なるLUK（これは第２のLUKと示される）が生成される。これは、ユーザが部分的パスコードの正しい文字を入力した場合、支払装置２００によって元々生成されたLUK（これは第１のLUKと示される。図６のステップ５０２参照）と一致する。
【００８０】
ステップ７１４にて制御部２０７は第２のLUKを用いて暗号を生成する。暗号は、任意の適切な暗号生成アルゴリズムを用いて生成されてよい。例えば暗号生成アルゴリズムは、資金を通信装置１０４のユーザから店舗（ここでは商品又は役務は部分的パスコードが正しく入力されることに続いて購入される）へ移転するのに実際使用される支払スキームによって定義されてよい。特定の実施形態では暗号生成アルゴリズムは、使用された支払スキームに関連付けられたカード保有者検証手法（Cardholder  Verification  Method(CVM)）と関連付けられる。そのようなアルゴリズムは例えばCVM10、CVM14、CVM17又はCVM15を含んでよい。更にステップ７１６では、暗号的鍵チェック値（KCV）が生成される。KCVの使用によって、支払装置２００は第１のLUKと第２のLUKとの間の不一致が、ユーザが部分的パスコードを誤って入力したことによるのか、他の理由（例えばデータ損失、又は、改ざん）なのかを判定することができる。KCVは下記で説明される。ステップ７１８にて、KCVとトークンPANとは電子メッセージ（電子メッセージは電子的支払認証要求メッセージである）として、通信装置１０４からPOS装置１０６へNFC部２０２及び２１２を介して送信される。次いでステップ７２０にて、POS装置１０６の制御部２１８は支払値（すなわち、購入される商品又は役務につきユーザによって支払われる金額）を示すデータグラムを電子メッセージへ付加し、送信部２１６を制御して、電子メッセージ（これにはデータグラムが付加される）をゲートウェイ７００へ送信する。ステップ７２２にてゲートウェイ７００は電子メッセージを金融機関の支払装置２００へ転送する。電子メッセージは支払装置２００の受信部２２０によって受信される。
【００８１】
電子メッセージが受信されると、ステップ７２４にて支払装置の制御部２２４はトークンPANを電子メッセージから検索し、トークンPANを金融機関に関連付けられた鍵と可変コードと共に用いて第１のLUKを再生成する。通信装置１０４のユーザに関連付けられたトークンPANと、金融機関に関連付けられた鍵（例えばIMK）と、可変コードとは、第１のLUKが（SLUKを生成するために）ラッピングされ通信装置１０４に送信される前（図５のステップ５０２参照）の、第１のLUKを生成するときに使用されたものと完全同一のパラメータである。ステップ７２６にて制御部２２４は次いで、ステップ７１４にて通信装置１０４によって使用されたものと同一の技術を用いて、要求された第１のLUKから暗号を生成する。
【００８２】
ステップ７２８にて結果として生じる暗号は次いで、通信装置１０４から受信された電子メッセージに含まれる暗号と比較される。特に、新たに生成された暗号が通信装置から受信された暗号と一致するか否かが判定される。もし一致すれば、ユーザが部分的パスコードを正しく入力し電子メッセージに改ざんがないと判定される。したがって支払は認証される。次いで支払装置２００はユーザにより金融機関に保有されるアカウントから受領者（例えばPOS装置１０６が関連付けられた商品又は役務の提供者）へ、支払値と同一の支払を開始する。支払を受領するのに必要な受領者詳細は、例えば、通信装置１０４から受信された電子メッセージのデータグラムに含まれる。これらの詳細は、使用される支払スキームによるが、例えば、銀行アカウント（口座）番号と受領者種別コードとを含んでよい。支払は支払装置２００によって、適切な所定の支払スキーム（例えばVisa（登録商標）、Discover（登録商標）又はFasterPayments（登録商標））を用いて開始される。トークンPANは通信装置１０４のユーザに関連付けられてよく、使用される支払スキームを示してよいことに留意されたい。例えばトークンPANは金融機関に保有されるユーザアカウントに関連付けられたデビットカード又はクレジットカード番号と同一又はその番号に基づいてよい。メッセージは次いでPOS装置１０６及び／又は通信装置１０４に送信され、支払が成功裏に処理されたことを示す。
【００８３】
他方もし一致がなければ、ユーザが部分的パスコードを誤って入力したか、通信装置から受信された電子メッセージが損なわれ若しくは改ざんされたことが理由であってよい。これらのいずれが正しいかを知ることは重要である。もしユーザが部分的パスコードを誤って入力したら、ユーザは、例えば部分的パスコードを入力する１以上の追加の機会を与えられてよい。他方もし損失又は改ざんのリスクがあれば、それは調査される必要がある。したがって一致が有る場合、処理はステップ７３０に進み、そこでは通信装置から受信されたメッセージのKCVが分析される。
【００８４】
図８は、SLUKをラッピング解除することによって生成された第２のLUKにつき、KCVが通信装置１０４の制御部２０７によって生成される処理を概念的に示す。処理はステップ８００で開始する。ステップ８０２ではSLUKがラッピング解除され、第２のLUKを生成する。ステップ８０４では第２のLUKを用いて暗号が生成される。したがってステップ８０２及び８０４は、それぞれ、上記のステップ７０２及び７０４と同一である。ステップ８０６にて暗号関数DDが、入力値として第２のLUK（これはラッピング解除されたSLUKとして周知である）と８つのゼロバイトとを用いて実行される。暗号関数は例えば対称鍵暗号関数であってよい。特に一実施形態では、もし第１のLUKが特定の対称鍵暗号関数を用いて生成されれば、対応する対称鍵暗号関数がステップ８０６にて使用される（したがって例えばAES又はDESが第１のLUKを生成するために使用され、それぞれのAES又はDES対称鍵暗号関数がステップ８０６にて使用される）。ステップ８０８にて、この暗号関数の出力のうち最初の３バイトが次いでKCVであると判定される。処理はステップ８１０で終了する。一実施形態では、KCVは通信装置１０４から支払装置２００へIssuer  Application  Data(IAD)のEMV（登録商標）データ要素の一部として渡される。そのようなデータ要素は３２バイトの大きさを有する。したがって３２バイトのうち３バイトはKCVを送信するために使用される。図８に示す類似の処理が支払装置２００の制御部２２４によって適用され、図７のステップ７２４で再生成される第１のLUKにつきKCVを生成する。特に、再生成された第１のLUKは、８つのゼロバイトと共に、ステップ８０６で使用される同一の暗号関数への入力値として取られる。暗号関数の出力のうち最初の３バイトはKCVとして取られる。
【００８５】
ステップ７３０にて、通信装置１０４から受信されたKCVは支払装置２００によって生成されたKCVと比較される。もしKCVが一致すれば、ユーザが部分的パスコードを正しく入力したと判定される。この場合、通信装置から受信された暗号と支払装置によって生成された暗号との間の不一致は、通信装置から受信された電子メッセージの改ざん及び／又は損失によって生じたものと判定される。したがってこれは、更に調査されてよい。他方もしKCVが一致しなければ、ユーザが部分的パスコードを誤って入力したと判定される。この場合、暗号の不一致を生じたのは部分的パスコードの誤入力である。よって例えばユーザは部分的パスコードを再入力する機会を提供されてよいし、通信装置１０４を用いて誤った部分的パスコードが入力されたと（例えば通信装置１０４に関連付けられていない電話番号及び／又はEメールアドレスを用いて）警告されてよい。もちろん、ユーザ及び／又は金融機関、法的要求等の設定に応じて、異なる動作が、これらの状況の各々に応答して実行されてよい。このKCV比較は、制御部２２４の一部を形成する適切なハードウェア安全モジュール（Hardware  Security  Module）(HSM)を用いて実装されてよいし、例えば認証要求暗号（Authorization  Request  Cryptogram）(ARQC)検証手法の一部として実装されてよい。
【００８６】
実施形態にて、支払装置２００は更新されたSLUKを、通信装置１０４に繰り返し経時的に送信する。SLUKは例えば各トランザクションの前に送信されてよい。この場合、ユーザはまず通信装置１０４をPOS装置１０６に十分近接させて、新たな各トランザクションにて支払処理を開始する。このとき通信装置１０４はSLUK要求をまず支払装置２００に送信し、図８に示す処理を開始する。通信装置１０４がSLUKを支払装置２００から受信したときにのみ、通信装置はNFC信号を介して支払処理を開始する。他の実施形態では、新たなSLUKが通信装置１０４に周期的に送信されてよい。例えば通信装置１０４は１日、１時間、１週間等に１回、新たなSLUKを要求して受信してよい。可変コード（これはLUKと部分的パスコードとの両方の生成に使用され、その両方はSLUKを生成するために使用される）が例えばDDDNN形式を有すれば、次いで、最後の２つの数値を変更することによって、最大１００個の異なるコード（これは00から99までの１００個の異なる値のいずれかをとる）が同一日に送信されてよい。これにより１００個の異なるSLUK値が、任意の所定の日に所定の通信装置１０４につき潜在的に生成されることが可能である。
【００８７】
各通信装置とPOS装置１０６との各々のNFC部、受信部、及び送信部は異なる機能部として示されるが、それらは共に単一の受信部（これはNFC及び、LTE、UMTS又はWi-Fi若しくは有線インタフェース等の広い範囲のWANのインタフェース等の異なる複数の技術を用いて信号を受信する）と同一であってよいし、単一の送信部（これはNFC及び、LTE、UMTS又はWi-Fi若しくは有線インタフェース等の広い範囲のWANのインタフェース等の異なる複数の技術を用いて信号を送信する）と同一であってよいことを理解されたい。ここでの「広い範囲」との用語は、NFCで可能な距離よりも長い距離で信号が２つの装置間で交換可能であることを意味する。
【００８８】
したがって本開示は改良された安全性とユーザの利便性とを有するモバイル支払構成を提供する。特に安全性は、部分的パスコードの使用と、部分的パスコードが金融機関の支払装置２００のみに安全に格納されるという事実とにより向上する。パスコードは通信装置１０４上に（完全にも部分的にも）格納されないし、POS装置１０６に（完全にも部分的にも）共有されない。したがってパスコードは安全に維持される。
【００８９】
上記の開示に照らして、本開示に対して多くの修正と変形とが可能である。したがって、本開示で明示されない限り、本開示は特許請求の範囲内で実装されてよいことを理解されたい。
【００９０】
本開示の実施形態が、少なくとも部分的にソフトウェア制御されたデータ処理装置によって実装されるものとして記載される限りにおいて、そのようなソフトウェアを保持する非一時的な機械可読媒体（例えば光ディスク、磁気ディスク、半導体メモリ等）はまた、本開示の実施形態を示すものとして考慮される。
【００９１】
上記の開示は、異なる機能部、回路及び／又はプロセッサを参照して実施形態を記載する。しかし、異なる機能部、回路及び／又はプロセッサ間での任意の適切な機能配置が、本実施形態から逸脱することなく用いられてよい。
【００９２】
本実施形態は、ハードウェア、ソフトウェア又はそれらの組合せを含む任意の適切な形式で実装されてよい。本実施形態は選択的に、１以上のデータプロセッサ及び／又はデジタル信号プロセッサ上で駆動するコンピュータソフトウェアとして少なくとも部分的に実装されてよい。任意の実施形態の要素及び構成要素が、物理的に、機能的に及び論理的に任意の適切な方法で実装されてよい。実際、機能は単一の機能部で、複数の機能部で、又は他機能部の一部として実装されてよい。したがって本実施形態は単一の機能部にて、又は、物理的且つ機能的に異なる機能部、回路及び／又はプロセッサ間で分散されて、実装されてよい。
【００９３】
本開示はいくつかの実施形態と関連して記載されるが、本開示の特定の形式に限定されるわけではない。更に、特徴が特定の実施形態に関連して記載される。しかし当業者は、本開示の様々な特徴が本技術を実装するのに適切な任意の方法で組み合わせされてよいことを認識する。
【図１】
2019527950.tif 000003
【図２】
2019527950.tif 000004
【図３】
2019527950.tif 000005
【図４】
2019527950.tif 000006
【図５】
2019527950.tif 000007
【図６Ａ】
2019527950.tif 000008
【図６Ｂ】
2019527950.tif 000009
【図７】
2019527950.tif 000010
【図８】
2019527950.tif 000011
【国際調査報告】
2019527950.tif 000012
2019527950.tif 000013
2019527950.tif 000014
2019527950.tif 000015