【手続補正書】
【提出日】令和1年12月27日(2019.12.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
動的認証クレデンシャルを生成する方法であって、
パスコードの値を取得するステップと、
パスコードブラインディングデータ要素の値を取得するステップと、
動的変数の値を取得するステップと、
暗号クレデンシャル生成キーの値を取得するステップと、
前記取得されたパスコードの値及び前記取得されたパスコードブラインディングデータ要素の値からパスコードベリファイアデータ要素の値を算出するステップと、
前記算出されたパスコードベリファイアデータ要素の値、前記取得された動的変数の値、及び前記取得された暗号クレデンシャル生成キーの値から、前記動的認証クレデンシャルを算出するステップと、
を有する、方法。
【請求項２】
前記パスコードの値を取得するステップは、ユーザーから前記パスコードの値を受け取るステップを有する、請求項１に記載の方法。
【請求項３】
前記パスコードブラインディングデータ要素の値を取得するステップは、前記方法を実行する認証トークン又は認証クライアントのメモリから、前記パスコードブラインディングデータ要素の値を読み取るステップを有する、請求項１又は２に記載の方法。
【請求項４】
前記パスコードブラインディングデータ要素を生成するステップと、前記動的認証クレデンシャルを算出する前に、初期化フェーズにおいて、前記生成されたパスコードブラインディングデータ要素を前記メモリ内に保存するステップと、を更に有する、請求項３に記載の方法。
【請求項５】
前記パスコードブラインディングデータ要素を生成するステップは、ランダム又は疑似ランダム数生成器によって生成されたランダム又は疑似ランダム数を使用する、請求項４に記載の方法。
【請求項６】
前記動的変数の値を取得するステップは、データメッセージを受け取るステップと、前記受け取ったデータメッセージに含まれているデータ要素の関数として前記動的変数の値を決定するステップと、を有する、請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
前記動的変数の値を取得するステップは、トランザクションデータの関数として前記動的変数を決定するステップと、前記トランザクションデータを承認のためにユーザーに対して提示するステップと、前記ユーザーの承認を取得するステップと、を有する、請求項１乃至６のいずれか一項に記載の方法。
【請求項８】
前記パスコードベリファイアデータ要素の値を算出するステップは、前記取得されたパスコードの値及び前記取得されたパスコードブラインディングデータ要素の値の第１不可逆関数として前記パスコードベリファイアデータ要素の値を算出するステップを有する、請求項１乃至７のいずれか一項に記載の方法。
【請求項９】
前記算出されたパスコードベリファイアデータ要素の値、前記取得された動的変数の値、及び前記取得された暗号クレデンシャル生成キーの値から前記動的認証クレデンシャルを算出するステップは、前記算出されたパスコードベリファイアデータ要素の値、前記取得された動的変数の値、及び前記取得された暗号クレデンシャル生成キーの値の第２不可逆関数として前記動的認証クレデンシャルを算出するステップを有する、請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記パスコードベリファイアデータ要素の値を算出するステップの後に、前記取得されたパスコードの値を破棄するステップを更に有する、請求項１乃至９のいずれか一項に記載の方法。
【請求項１１】
前記取得されたパスコードの値を破棄するステップは、前記方法を実行する認証トークン又は認証クライアントのメモリから前記取得されたパスコードの値のすべての複写を消去するステップを有する、請求項１０に記載の方法。
【請求項１２】
前記動的認証クレデンシャルを算出するステップの後に、前記算出されたパスコードベリファイアデータ要素の値を破棄するステップを更に有する、請求項１乃至１１のいずれか一項に記載の方法。
【請求項１３】
前記算出されたパスコードベリファイアデータ要素の値を破棄するステップは、前記方法を実行する認証トークン又は認証クライアントのメモリから、前記算出されたパスコードベリファイアデータ要素の値のすべての複写を消去するステップを有する、請求項１２に記載の方法。
【請求項１４】
前記方法を実行する認証トークン又は認証クライアントのメモリ内に状態変数の値を維持及び保存するステップを更に有し、
前記暗号クレデンシャル生成キーの値を取得するステップは、前記方法を実行する前記認証トークン又は前記認証クライアントの前記メモリから前記状態変数の値を読み取るステップと、前記状態変数の値の関数として前記暗号クレデンシャル生成キーの値を決定するステップと、を有する、請求項１乃至１３のいずれか一項に記載の方法。
【請求項１５】
前記状態変数の値の関数として前記暗号クレデンシャル生成キーの値を決定するステップは、前記暗号クレデンシャル生成キーの値を前記状態変数の値に設定するステップを有する、請求項１４に記載の方法。
【請求項１６】
前記状態変数の値の関数として前記暗号クレデンシャル生成キーの値を決定するステップは、第３不可逆関数を前記状態変数の値に適用した結果として前記暗号クレデンシャル生成キーの値を算出するステップを有する、請求項１４に記載の方法。
【請求項１７】
第４不可逆関数を前記状態変数の現在の値に適用した結果として前記状態変数の新しい値を算出するステップと、
前記算出された新しい値によって前記状態変数の値を更新するステップと、
を更に有する、請求項１４乃至１６のいずれか一項に記載の方法。
【請求項１８】
前記算出された新しい値によって前記状態変数の値を更新するステップは、前記方法を実行する前記認証トークン又は前記認証クライアントの前記メモリ内に、前記算出された新しい値によって前記状態変数の前記現在の値を上書きするステップを有する、請求項１７に記載の方法。
【請求項１９】
前記状態変数の前記新しい値を算出するステップの後に、前記状態変数の前記現在の値を破棄するステップを更に有する、請求項１７又は１８に記載の方法。
【請求項２０】
前記状態変数の値の関数として前記暗号クレデンシャル生成キーの値を決定するステップの後に、及び、前記状態変数の前記新しい値を算出するステップの後に、前記状態変数の前記現在の値を破棄するステップを更に有する、請求項１７又は１８に記載の方法。
【請求項２１】
前記状態変数の前記現在の値を破棄するステップは、前記方法を実行する前記認証トークン又は前記認証クライアントの前記メモリから前記状態変数の前記現在の値のすべての複写を消去するステップを有する、請求項１９又は２０に記載の方法。
【請求項２２】
前記動的認証クレデンシャルを算出するステップの後に、前記暗号クレデンシャル生成キーの値を破棄するステップを更に有する、請求項１４乃至２１のいずれか一項に記載の方法。
【請求項２３】
前記暗号クレデンシャル生成キーの値を破棄するステップは、前記方法を実行する前記認証トークン又は認証クライアントの前記メモリから前記暗号クレデンシャル生成キーの値のすべての複写を消去するステップを有する、請求項２２に記載の方法。
【請求項２４】
コンピュータに基づいたアプリケーションとユーザーのやり取りを保護する方法であって、
認証クライアントにより、認証ステージにおいて、
動的変数クライアント値を取得するステップと、
暗号クレデンシャル生成キークライアント値を取得するステップと、
メモリから、パスコードブラインディングデータ要素値を読み出すステップと、
前記ユーザーから、パスコード値を受け取るステップと、
前記読み出したパスコードブラインディングデータ要素値及び前記受け取ったパスコード値の第１クライアント関数としてパスコードベリファイアデータ要素クライアント値を算出するステップと、
前記取得された動的変数クライアント値、前記取得された暗号クレデンシャル生成キークライアント値、及び前記算出されたパスコードベリファイアデータ要素クライアント値の第２クライアント関数として動的認証クレデンシャルを算出するステップと、
を実行するステップと、
認証サーバーにより、前記認証ステージにおいて、
前記動的認証クレデンシャルを受け取るステップと、
動的変数サーバー値を取得するステップと、
暗号クレデンシャル生成キーサーバー値を取得するステップと、
パスコードベリファイアデータ要素サーバー値を取得するステップと、
前記取得された動的変数サーバー値、前記取得された暗号クレデンシャル生成キーサーバー値、及び前記取得されたパスコードベリファイアデータ要素サーバー値の第１サーバー関数としてクレデンシャル基準値を算出するステップと、
前記受け取った動的認証クレデンシャルが前記算出されたクレデンシャル基準値とマッチングしているかどうかを検証するステップと、
を実行するステップと、
を有する、方法。
【請求項２５】
前記第１クライアント関数、前記第２クライアント関数、及び第１サーバー関数は、不可逆関数である、請求項２４に記載の方法。
【請求項２６】
前記認証サーバーにより、前記受け取った動的認証クレデンシャルが前記算出されたクレデンシャル基準値とマッチングしているかどうかを通知する信号を生成するステップを更に有する、請求項２４又は２５に記載の方法。
【請求項２７】
前記コンピュータに基づいたアプリケーションが、前記受け取った動的認証クレデンシャルが前記算出されたクレデンシャル基準値とマッチングしている場合には、第１動作を実行し、前記受け取った動的認証クレデンシャルが前記算出されたクレデンシャル基準値とマッチングしていない場合には、第２動作を実行するステップを更に有する、請求項２４乃至２６のいずれか一項に記載の方法。
【請求項２８】
前記動的変数クライアント値は、前記動的変数サーバー値と同一であり、前記暗号クレデンシャル生成キークライアント値は、前記暗号クレデンシャル生成キーサーバー値と同一であり、前記パスコードベリファイアデータ要素クライアント値は、前記パスコードベリファイアデータ要素サーバー値と同一であり、前記動的認証クレデンシャルを算出するための前記第２クライアント関数は、前記クレデンシャル基準値を算出するための前記第１サーバー関数と実質的に同一である、請求項２４乃至２７のいずれか一項に記載の方法。
【請求項２９】
前記動的変数クライアント値は、前記ユーザーによって認可されるべきトランザクションを表すトランザクションデータに基づき、前記方法は、
前記認証クライアントにより、前記トランザクションデータを前記ユーザーに対して表示するステップと、
前記認証クライアントにより、前記ユーザーから、前記表示されたトランザクションデータの承認を受け取るステップと、
を更に有する、請求項２４乃至２８のいずれか一項に記載の方法。
【請求項３０】
前記動的認証クレデンシャルを算出するステップは、前記ユーザーが前記表示されたトランザクションデータを承認することを条件としている、請求項２９に記載の方法。
【請求項３１】
前記コンピュータに基づいたアプリケーションが、前記受け取った動的認証クレデンシャルが前記算出されたクレデンシャル基準値とマッチングしている場合には、前記トランザクションを受け付け、前記受け取った動的認証クレデンシャルが前記算出されたクレデンシャル基準値とマッチングしていない場合には、前記トランザクションを拒絶するステップを更に有する、請求項２９又は３０に記載の方法。
【請求項３２】
前記認証クライアントにより、前記認証ステージにおいて、
現時点の状態変数クライアント値を保存するステップであって、これにより、前記暗号クレデンシャル生成キークライアント値を取得するステップは、前記認証クライアントにより、前記保存されている現時点の状態変数クライアント値から前記暗号クレデンシャル生成キークライアント値を導出するステップを有する、ステップと、
前記現時点の状態変数クライアント値の第３クライアント関数として新しい状態変数クライアント値を算出するステップと、
破棄された現時点の状態変数クライアント値の代わりに、前記新しい状態変数クライアント値を保存するステップと、
を実行するステップと、
前記認証サーバーにより、前記認証ステージにおいて、
現時点の状態変数サーバー値を保存するステップであって、これにより、前記認証サーバーにより、前記暗号クレデンシャル生成キーサーバー値を取得するステップは、前記認証サーバーにより、前記保存されている現時点の状態変数サーバー値から、前記暗号クレデンシャル生成キーサーバー値を導出するステップを有する、ステップと、
前記現時点の状態変数サーバー値の第２サーバー関数として新しい状態変数サーバー値を算出するステップと、
破棄された現時点の状態変数サーバー値の代わりに、前記新しい状態変数サーバー値を保存するステップと、
を実行するステップと、
を更に有する、請求項２４乃至３１のいずれか一項に記載の方法。
【請求項３３】
前記第３クライアント関数及び前記第２サーバー関数は、不可逆関数である、請求項３２に記載の方法。
【請求項３４】
前記認証クライアントにより、前記認証ステージにおいて、
前記動的認証クレデンシャルの計算の後に、前記暗号クレデンシャル生成キークライアント値を破棄するステップと、
前記新しい状態変数クライアント値の計算及び前記暗号クレデンシャル生成キークライアント値の導出の後に、前記現時点の状態変数クライアント値を破棄するステップと、
を実行するステップと、
前記認証サーバーにより、前記認証ステージにおいて、
前記クレデンシャル基準値の計算の後に、前記暗号クレデンシャル生成キーサーバー値を破棄するステップと、
前記新しい状態変数サーバー値の計算及び前記暗号クレデンシャル生成キーサーバー値の導出の後に、前記現時点の状態変数サーバー値を破棄するステップと、
を実行するステップと、
を更に有する、請求項３２又は３３に記載の方法。
【請求項３５】
前記現時点の状態変数サーバー値は、前記現時点の状態変数クライアント値と同一であり、前記新しい状態変数サーバー値は、前記新しい状態変数クライアント値と同一であり、前記第２サーバー関数は、前記第３クライアント関数と同一である、請求項３２乃至３４のいずれか一項に記載の方法。
【請求項３６】
前記認証クライアントにより、前記認証ステージの前の初期化ステージにおいて、
前記パスコードブラインディングデータ要素値を生成するステップと、
前記認証ステージにおける後続の使用のために、前記生成されたパスコードブラインディングデータ要素値を保存するステップと、
前記ユーザーから初期パスコード値を受け取るステップと、
前記パスコードブラインディングデータ要素値及び前記受け取った初期パスコード値の前記第１クライアント関数として前記パスコードベリファイアデータ要素クライアント値を算出するステップと、
を実行するステップと、
前記認証サーバーにより、前記初期化ステージにおいて、
前記算出されたパスコードベリファイアデータ要素クライアント値を受け取るステップと、
前記認証ステージにおける後続の使用のために、前記パスコードベリファイアデータ要素サーバー値として前記受け取ったパスコードベリファイアデータ要素クライアント値を保存するステップと、
を実行するステップと、
を更に有する、請求項２４乃至３５のいずれか一項に記載の方法。
【請求項３７】
前記初期化ステージにおいて、
前記認証クライアントにおいて、初期状態シードから導出された状態変数クライアント値に対する初期クライアント値を取得するステップと、
前記認証クライアントにおいて、現時点の状態変数クライアント値として前記状態変数クライアント値に対する前記取得された初期値を保存するステップと、
前記認証サーバーにおいて、前記初期状態シードから導出された状態変数サーバー値に対する初期サーバー値を取得するステップと、
前記認証サーバーにおいて、前記現時点の状態変数サーバー値として前記状態変数サーバー値に対する前記取得された初期値を保存するステップと、
を実行するステップを更に有する、請求項３６に記載の方法。
【請求項３８】
前記認証ステージにおいて、状態変数クライアント値と状態変数サーバー値とを同期化させるステップを更に有する、請求項３２乃至３７のいずれか一項に記載の方法。
【請求項３９】
動的認証クレデンシャルを生成する装置であって、
前記装置のユーザーからパスコードを受け取るように適合されたユーザー入力インターフェイスと、
暗号計算を実行するように適合されたデータプロセッサと、
パスコードブラインディングデータ要素値を保存するためのメモリと、
を有し、
これにより、前記装置は、初期化ステージにおいて、
前記パスコードブラインディングデータ要素値を取得し、前記メモリ内に保存するよう適合され、
これにより、前記装置は、認証ステージにおいて、
動的変数値を取得し、前記ユーザー入力インターフェイスを通じて前記ユーザーの前記パスコードを受け取り、メモリから前記パスコードブラインディングデータ要素値を読み取り、前記受け取ったパスコード及び前記パスコードブラインディングデータ要素値の第１不可逆関数としてパスコードベリファイアデータ要素値を算出し、メモリから読み取った現時点の状態変数値から暗号クレデンシャル生成キーを取得し、前記取得された動的変数値、前記算出されたパスコードベリファイアデータ要素値、及び前記取得された暗号クレデンシャル生成キーの第２不可逆関数として動的認証クレデンシャルを算出するよう更に適合される、装置。
【請求項４０】
前記初期化ステージにおいて、状態変数値に対する初期値を取得し、前記現時点の状態変数値として前記初期値を前記メモリ内に保存するよう更に適合され、
前記認証ステージにおいて、
メモリから前記現時点の状態変数値を読み取り、メモリから読み取った前記現時点の状態変数値から前記暗号クレデンシャル生成キーを導出することにより前記暗号クレデンシャル生成キーを取得し、前記動的認証クレデンシャルを算出した後に、前記導出された暗号クレデンシャル生成キーを破棄し、前記現時点の状態変数値の第３不可逆関数として前記状態変数値に対する新しい値を生成し、前記現時点の状態変数値からの前記暗号クレデンシャル生成キーの導出及び前記状態変数値の前記新しい値の生成の後に、前記現時点の状態変数値を破棄し、前記現時点の状態変数値の代わりに前記状態変数値の前記生成された新しい値を保存するよう更に適合される、請求項３９に記載の装置。
【請求項４１】
データを前記ユーザーに対して提示するためのユーザー出力インターフェイスを更に有する、請求項３９又は４０に記載の装置。
【請求項４２】
前記ユーザーによって承認されるべきトランザクションを表すトランザクションデータを受け取り、前記ユーザー出力インターフェイスを通じて前記受け取ったトランザクションデータを前記ユーザーに対して提示し、前記ユーザーから、前記ユーザー入力インターフェイスを通じて前記提示されたトランザクションデータ用の承認を受け取るように更に適合される、請求項４１に記載の装置。
【請求項４３】
前記動的認証クレデンシャルの計算は、前記装置が前記提示されたトランザクションデータの前記ユーザーの前記承認を受け取ることを条件としている、請求項４２に記載の装置。
【請求項４４】
前記生成された動的認証クレデンシャルを認証サーバーによる検証のために利用可能とするよう更に適合される、請求項４１乃至４３のいずれか一項に記載の装置。
【請求項４５】
前記ユーザーが前記認証サーバーに転送するように、前記ユーザー出力インターフェイスを通じて、前記生成された動的認証クレデンシャルを前記ユーザーに提示するよう更に適合される、請求項４４に記載の装置。
【請求項４６】
前記生成された動的認証クレデンシャルを直接的又は間接的に前記認証サーバーに送信するよう更に適合される、請求項４４又は４５に記載の装置。
【請求項４７】
ランダム又は疑似ランダム数生成器を更に有し、前記装置は、前記初期化ステージにおいて、前記ランダム又は疑似ランダム数生成器によって生成されたランダム又は疑似ランダム数を取得し、前記ランダム又は疑似ランダム数の関数として前記パスコードブラインディングデータ要素値を取得するよう更に適合される、請求項３９乃至４６のいずれか一項に記載の装置。
【請求項４８】
コンピュータに基づいたアプリケーションとユーザーのやり取りを保護するシステムであって、
認証クライアントと、
認証サーバーと、
を有し、
これにより、前記認証クライアントは、
前記認証クライアントのユーザーからパスコードを受け取るように適合されたユーザー入力インターフェイスと、
暗号計算を実行するように適合されたクライアントデータプロセッサと、
パスコードブラインディングデータ要素値及び状態変数クライアント値を保存するためのクライアントメモリと、
を有し、
これにより、前記認証クライアントは、初期化ステージにおいて、前記パスコードブラインディングデータ要素値を取得し、前記クライアントメモリ内に保存し、前記状態変数クライアント値に対する初期クライアント値を取得し、現時点の状態変数クライアント値として前記初期クライアント値を前記クライアントメモリ内に保存するように適合され、
これにより、前記認証クライアントは、認証ステージにおいて、動的変数クライアント値を取得し、前記ユーザー入力インターフェイスを通じて前記ユーザーの前記パスコードを受け取り、前記クライアントメモリから前記パスコードブラインディングデータ要素値を読み取り、前記受け取ったパスコード及び前記パスコードブラインディングデータ要素値の第１不可逆クライアント関数としてパスコードベリファイアデータ要素クライアント値を算出し、前記クライアントメモリから前記現時点の状態変数クライアント値を読み取り、前記クライアントメモリから読み取った前記現時点の状態変数クライアント値から暗号クレデンシャル生成キークライアント値を導出し、前記取得された動的変数クライアント値、前記算出されたパスコードベリファイアデータ要素クライアント値、及び前記導出された暗号クレデンシャル生成キークライアント値の第２不可逆クライアント関数として動的認証クレデンシャルを算出し、前記動的認証クレデンシャルを算出した後に前記導出された暗号クレデンシャル生成キークライアント値を破棄し、前記現時点の状態変数クライアント値の第３不可逆クライアント関数として前記状態変数クライアント値に対する新しい値を生成し、前記現時点の状態変数クライアント値からの前記暗号クレデンシャル生成キークライアント値の導出及び前記状態変数クライアント値の前記新しい値の生成の後に、前記現時点の状態変数クライアント値を破棄し、前記現時点の状態変数クライアント値の代わりに、前記状態変数クライアント値の前記生成された新しい値を保存するよう更に適合され、
これにより、前記認証サーバーは、
前記ユーザー又は前記認証クライアントと関連するデータセットを保存するように適合されたサーバーメモリと、
暗号動作を実行するように適合されたサーバーデータ処理コンポーネントと、
を有し、
これにより、前記認証サーバーは、前記初期化ステージにおいて、パスコードベリファイアデータ要素初期化値を受け取り、前記ユーザー又は前記認証クライアントと関連する前記データセットの一部分としてのパスコードベリファイアデータ要素サーバー値として、前記受け取ったパスコードベリファイアデータ要素初期化値を前記サーバーメモリ内に書き込み、初期状態変数サーバー値を取得し、前記ユーザー又は前記認証クライアントと関連する前記データセットの一部分としての現時点の状態変数サーバー値として、前記初期状態変数サーバー値を前記サーバーメモリ内に書き込むよう適合され、
これにより、前記認証サーバーは、前記認証ステージにおいて、前記生成された動的認証クレデンシャルを受け取り、動的変数サーバー値を取得し、前記サーバーメモリから、前記ユーザー又は前記認証クライアントと関連する前記データセットを読み取り、前記読み取ったデータセットから前記現時点の状態変数サーバー値を取得し、前記取得された現時点の状態変数サーバー値の関数として暗号クレデンシャル生成キーサーバー値を導出し、前記読み取ったデータセットから、前記パスコードベリファイアデータ要素サーバー値を取得し、前記取得された動的変数サーバー値、前記取得されたパスコードベリファイアデータ要素サーバー値、及び前記導出された暗号クレデンシャル生成キーサーバー値の第１不可逆サーバー関数としてクレデンシャル基準値を算出し、前記受け取った動的認証クレデンシャルが前記算出されたクレデンシャル基準値とマッチングしているかどうかを検証し、前記クレデンシャル基準値の計算の後に前記暗号クレデンシャル生成キーサーバー値を破棄し、前記取得された現時点の状態変数サーバー値の第２不可逆サーバー関数として新しい状態変数サーバー値を算出し、前記暗号クレデンシャル生成キーサーバー値の導出及び前記新しい状態変数サーバー値の算出の後に、前記現時点の状態変数サーバー値を破棄し、前記ユーザー又は前記認証クライアントと関連する前記データセットの一部分として前記現時点の状態変数サーバー値の代わりに前記新しい状態変数サーバー値を前記サーバーメモリ内に書き込むよう更に適合される、システム。
【請求項４９】
前記コンピュータに基づいたアプリケーションをホスティングするように適合されたアプリケーションサーバーを更に有し、
前記認証サーバーは、前記認証ステージにおいて、前記コンピュータに基づいたアプリケーションに、前記受け取った動的認証クレデンシャルが前記算出されたクレデンシャル基準値とマッチングしているかどうかについて通知するように更に適合され、前記コンピュータに基づいたアプリケーションは、前記受け取った動的認証クレデンシャルが前記算出されたクレデンシャル基準値とマッチングしている場合には、１つの動作を実行し、前記受け取った動的認証クレデンシャルが前記算出されたクレデンシャル基準値とマッチングしていない場合には、別の動作を実行するよう適合される、請求項４８に記載のシステム。