(57)【要約】【課題】  本発明は、アプリケーションデータへの音声アクセスのセキュリティを保護するための方法、システムおよびコンピュータプログラム製品に関する。【解決手段】  クライアントは、アプリケーションデータへの音声アクセスのリクエストを送り、サーバがこれを受け取る。サーバは、リクエストに応答して、ユーザ本人証明を求める第一の音声チャレンジを送る。クライアントは、第一の音声チャレンジを受け取り、ユーザ本人証明を送る。サーバは、ユーザ本人証明を受け取り、第二の音声チャレンジを送る。第二の音声チャレンジは、クライアントのユーザには理解可能であるが、自動音声認識技術では認識が困難であるように構成されている。クライアントは、第二の音声チャレンジを受け取り、第二の音声チャレンジに応答する追加データ部分を送る。サーバは追加データ部分を受け取り、受け取ったユーザ本人証明と受け取った追加データ部分に基づいて、クライアント許可証を計算する。【選択図】  図２
2006079595.tif 000002
【特許請求の範囲】
【請求項１】
音声によるコマンドを提示するよう構成された音声ユーザインタフェースを有する機器において、リモートアプリケーションデータへのアクセスの許可を取得するための方法であって、
アプリケーションデータへの音声アクセスのリクエストを送る工程と、
ユーザ本人証明を求める第一の音声チャレンジを受け取る工程と、
前記第一の音声チャレンジに応答して入力されたユーザ本人証明を送る工程と、
追加データ部分を求める第二の音声チャレンジを受け取る工程であって、前記第二の音声チャレンジは、クライアントのユーザにとっては理解可能であるが、自動音声認識技術では認識が困難であるように構成される工程と、
前記第二の音声チャレンジに応答する追加データ部分を送る工程と、
サーバから許可表示を受ける工程であって、前記許可表示は、クライアントが要求されたアプリケーションデータにアクセスできるか否かを示す工程と
を備えたことを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、前記アプリケーションデータへの音声アクセスのリクエストを送る前に、前記サーバとの接続を確立する工程をさらに備えたことを特徴とする方法。
【請求項３】
請求項１に記載の方法であって、前記アプリケーションデータへの音声アクセスのリクエストを送る工程は、前記サーバとの接続を確立する工程を備えたことを特徴とする方法。
【請求項４】
請求項１に記載の方法であって、前記ユーザ本人証明を求める第一の音声チャレンジを受ける工程は、ＰＩＮを要求する会話による命令を受け取る工程を備えたことを特徴とする方法。
【請求項５】
請求項１に記載の方法であって、音声ユーザインタフェースにおいて、１または複数のキーパッド選択を受ける工程であって、前記１または複数のキーパッド選択は、ユーザ本人証明を表す工程をさらに備えたことを特徴とする方法。
【請求項６】
請求項１に記載の方法であって、前記第一の音声チャレンジに応答して入力されたユーザ本人証明を送る工程は、ユーザ本人証明を表す１または複数のＤＴＭＦトーンを送る工程を備えたことを特徴とする方法。
【請求項７】
請求項１に記載の方法であって、追加データ部分を求める第二の音声チャレンジを受けることは、キーパッドで特定の数を入力させるための会話による命令を受け取る工程を備えたことを特徴とする方法。
【請求項８】
請求項１に記載の方法であって、追加データ部分を求める第二の音声チャレンジを受けることは、キーパッドで特定の単語を入力させるための会話による命令を受け取る工程を備えたことを特徴とする方法。
【請求項９】
請求項１に記載の方法であって、音声ユーザインタフェースにおいて１または複数のキーパッド選択を受ける工程であって、前記１または複数のキーパッド選択は、前記第二の音声チャレンジへの回答を表す工程をさらに備えたことを特徴とする方法。
【請求項１０】
請求項１に記載の方法であって、前記第二の音声チャレンジに応答して追加データ部分を送る工程は、前記第二の音声チャレンジへの回答を表す１または複数のＤＴＭＦトーンを送る工程を備えたことを特徴とする方法。
【請求項１１】
請求項１０に記載の方法であって、前記第二の音声チャレンジに対する回答を表す１または複数のＤＴＭＦトーンを送る工程は、数を表す１または複数のＤＴＭＦトーンを送る工程を備えたことを特徴とする方法。
【請求項１２】
請求項１０に記載の方法であって、前記第二の音声チャレンジに対する回答を表す１または複数のＤＴＭＦトーンを送る工程は、単語を表す１または複数のＤＴＭＦトーンを送る工程を備えたことを特徴とする方法。
【請求項１３】
請求項１に記載の方法であって、前記サーバから許可表示を受ける工程は、クライアントが要求されたアプリケーションデータへのアクセスを許可されたことを示す表示を受ける工程を備えたことを特徴とする方法。
【請求項１４】
請求項１に記載の方法であって、前記サーバから許可表示を受ける工程は、クライアントが要求されたアプリケーションデータへのアクセスを許可されなかったことを示す表示を受ける工程を備えたことを特徴とする方法。
【請求項１５】
請求項１に記載の方法であって、前記許可表示を受け取った後に要求されたアプリケーションデータにアクセスする工程をさらに備えたことを特徴とする方法。
【請求項１６】
請求項１に記載の方法であって、クライアントは、有線電話であることを特徴とする方法。
【請求項１７】
請求項１に記載の方法であって、クライアントは、無線電話またはＰＤＡであることを特徴とする方法。
【請求項１８】
音声コマンドを受け取るよう構成されたコンピュータシステムにおいて、アプリケーションデータへのアクセスの許可を与える方法であって、
クライアントからクライアントリクエストを受け取る工程であって、前記クライアントリクエストは、アプリケーションデータへの音声アクセスを要求する工程と、
前記リクエストに応答してユーザ本人証明を求める第一の音声チャレンジを送る工程と、
前記第一の音声チャレンジに応答するユーザ本人証明を受け取る工程と、
追加データ部分を求める第二の音声チャレンジを送る工程であって、前記第二の音声チャレンジは、前記クライアントのユーザにとっては理解可能であるが、自動音声認識技術では認識が困難であるように構成されている工程と、
前記第二の音声チャレンジに応答して追加データ部分を受け取る工程と、
前記受け取ったユーザ本人証明と受け取った追加データ部分に基づいてクライアント許可証を計算する工程であって、前記クライアント許可証は、前記クライアントが前記要求されたアプリケーションデータにアクセスできるか否かを示す工程と、
前記クライアントに許可表示を送る工程であって、前記許可表示は、前記計算されたクライアント許可証を前記クライアントに示す工程と
を備えたことを特徴とする方法。
【請求項１９】
請求項１８に記載の方法であって、前記アプリケーションデータへの音声アクセスのリクエストを受ける前に、前記クライアントとの接続を確立する工程をさらに備えたことを特徴とする方法。
【請求項２０】
請求項１８に記載の方法であって、前記アプリケーションデータへの音声アクセスのリクエストを受ける工程は、前記クライアントとの接続を確立する工程を備えたことを特徴とする方法。
【請求項２１】
請求項１８に記載の方法であって、前記ユーザ本人証明を求める第一の音声信号を送る工程は、ＰＩＮを求めるリクエストを表すアナログ音声データを送る工程を備えたことを特徴とする方法。
【請求項２２】
請求項１８に記載の方法であって、前記第一の音声チャレンジに応答するユーザ本人証明を受け取る工程は、ユーザ本人証明を表す１または複数のＤＴＭＦトーンを受け取る工程を備えたことを特徴とする方法。
【請求項２３】
請求項１８に記載の方法であって、前記追加データ部分を求める第二の音声チャレンジを送る工程は、キーパッドで具体的な数を入力させるための会話による命令を表すアナログ音声データを送ることを備えたことを特徴とする方法。
【請求項２４】
請求項２３に記載の方法であって、前記指定された数を入力させるための会話による命令を表す前記アナログ音声データを送る前に、特定の数をランダムに生成する工程をさらに備えたことを特徴とする方法。
【請求項２５】
請求項１８に記載の方法であって、前記追加データ部分を求める第二の音声チャレンジを送る工程は、キーパッドで特定の単語を入力させるための会話による命令を表すアナログ音声データを送ることを備えたことを特徴とする方法。
【請求項２６】
請求項２５に記載の方法であって、前記特定の単語を入力させるための会話による命令を表す前記アナログ音声データを送る前に、特定の単語を辞書からランダムに選択する工程をさらに備えたことを特徴とする方法。
【請求項２７】
請求項１８に記載の方法であって、前記第二の音声チャレンジに応答して追加データ部分を受け取る工程は、数を表す１または複数のＤＴＭＦトーンを受ける工程を備えたことを特徴とする方法。
【請求項２８】
請求項１８に記載の方法であって、前記第二の音声チャレンジに応答する追加データ部分を受け取る工程は、単語を表す１または複数のＤＴＭＦトーンを受け取る工程を備えたことを特徴とする方法。
【請求項２９】
請求項１８に記載の方法であって、前記受け取ったユーザ本人証明と受け取った追加データ部分に基づいてクライアント許可証を計算する工程は、前記クライアントが前記要求されたアプリケーションデータへのアクセスを許可されることを計算する工程を備えたことを特徴とする方法。
【請求項３０】
請求項１８に記載の方法であって、前記受け取ったユーザ本人証明と受け取った追加データ部分に基づいてクライアント許可証を計算する工程は、前記クライアントが前記要求されたアプリケーションデータへのアクセスを許可されないことを計算する工程を備えたことを特徴とする方法。
【請求項３１】
請求項１８に記載の方法であって、前記クライアントに許可表示を送る工程は、前記クライアントが前記要求されたアプリケーションデータへのアクセスを許可されたことを示すための会話による命令を表すアナログ音声データを送る工程を備えたことを特徴とする方法。
【請求項３２】
請求項１８に記載の方法であって、前記クライアントに許可表示を送る工程は、前記クライアントが前記要求されたアプリケーションデータへのアクセスを許可されないことを示すための会話による命令を表すアナログ音声データを送る工程を備えたことを特徴とする方法。
【請求項３３】
請求項１８に記載の方法であって、前記クライアント許可証を計算した後に、前記クライアントに前記要求されたアプリケーションデータを提供する工程をさらに備えたことを特徴とする方法。
【請求項３４】
音声コマンドを受け取るよう構成されたコンピュータシステムにおいて、アプリケーションデータへのアクセスの許可を与える方法であって、
クライアントからクライアントリクエストを受け取る工程であって、前記クライアントリクエストは、アプリケーションデータへの音声アクセスを要求する工程と、
自動攻撃がアプリケーションデータへの不正な音声アクセスを獲得する可能性を低減させるために、二因子音声認証を実行するステップと、
前記クライアントに許可表示を送る工程であって、前記許可表示は、前記クライアントに計算されたクライアント許可証を示す工程と
を備えたことを特徴とする方法。
【請求項３５】
請求項３４に記載の方法であって、前記二因子音声認証を実行するステップは、
前記リクエストに応答して、ユーザ本人証明を求める第一の音声チャレンジを送るのに相応の工程と、
前記第一の音声チャレンジに応答して、ユーザ本人証明を受け取るのに相応の工程と、
追加データ部分を求める第二の音声チャレンジを送るのに相応の工程であって、前記第二の音声チャレンジは、前記クライアントのユーザにとって理解可能であるが、自動音声認識技術では認識が困難であるよう構成される工程と、
前記第二の音声チャレンジに応答する追加データ部分を受け取るのに相応の工程と、
前記受け取ったユーザ本人証明と受け取った追加データ部分に基づいてクライアント許可証を計算するのに相応の工程であって、前記クライアント許可は、前記クライアントが前記要求されたアプリケーションデータにアクセスできるか否かを示す工程と
を備えたことを特徴とする方法。
【請求項３６】
音声コマンドを供給するよう構成された音声ユーザインタフェースを備えるコンピュータシステムで使用するコンピュータプログラムであって、前記コンピュータプログラムは、リモートアプリケーションデータへのアクセスの許可を取得するための方法を実行し、前記コンピュータプログラムは、プロセッサによって実行されたときにデバイスに、
アプリケーションデータへの音声アクセスのリクエストを送ること、
ユーザ本人証明を求める第一の音声チャレンジを受け取ること、
前記第一の音声チャレンジに応答して入力されたユーザ本人証明を送ること、
追加データ部分を求める第二の音声チャレンジを受け取ることであって、前記第二の音声チャレンジは、前記クライアントのユーザにとっては理解可能であるが、自動音声認識技術では認識が困難であるよう構成されること、
前記第二の音声チャレンジに応答する追加データ部分を送ること、および、
前記サーバから許可表示を受け取ることであって、前記許可表示は、前記クライアントが前記要求されたアプリケーションデータにアクセスできるか否かを示すこと
を実行させることを特徴とするコンピュータプログラム。
【請求項３７】
音声コマンドを受け取るよう構成されたコンピュータシステムにおいて使用するためのコンピュータプログラムであって、前記コンピュータプログラムは、アプリケーションデータへのアクセスの許可を提供するための方法を実行し、前記コンピュータプログラムは、プロセッサによって実行されたときに、コンピュータシステムに、
クライアントからのクライアントリクエストを受け取ることであって、前記クライアントリクエストは、アプリケーションデータへの音声アクセスを要求すること、
前記リクエストに応答してユーザ本人証明を求める第一の音声チャレンジを送ること、
前記第一の音声チャレンジに応答してユーザ本人証明を受け取ること、
追加データ部分を求める第二の音声チャレンジを送ることであって、前記第二の音声チャレンジは、前記クライアントのユーザにとっては理解可能であるが、自動音声認識技術では認識が困難であるよう構成されること、
前記第二の音声チャレンジに応答する追加データ部分を受け取り、前記受け取ったユーザ本人証明と受け取った追加データ部分に基づいてクライアント許可証を計算することであって、前記クライアント許可証は、前記クライアントが前記要求されたアプリケーションデータにアクセスできるか否かを示すこと、および、
前記クライアントに許可表示を送ることであって、前記許可表示は、前記クライアントに対して前記計算されたクライアント許可証を示すこと
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データへのアクセスに関し、より詳細には、アプリケーションデータへの音声によるアクセスのセキュリティ保護に関する。
【背景技術】
【０００２】
コンピュータシステムと関連技術は、社会のさまざまな面に影響を与えている。事実、コンピュータシステムの情報処理能力によって、我々の生活や仕事の仕方は様変わりした。今や、コンピュータシステムは、ごく一般的に、その出現以前は手作業で行われていた仕事（例えば、ワードプロセシング、スケジューリング、データベース管理）のホストとして使用されている。より最近では、コンピュータシステム同士、他の電子機器との連結によって有線および無線両方のコンピュータネットワークが構築され、これを使ってコンピュータシステムと他の電子機器との間で電子的データの伝送が行われるようになった。その結果、ひとつのコンピュータシステムで実行される多くの作業（例えば、音声通信、電子メールへのアクセス、家庭用電子機器の制御、ウェブのブラウジング、文書印刷）において、有線、無線のコンピュータネットワークを通じた多数のコンピュータシステム間またはコンピュータ以外の電子機器との電子メッセージ交換が行われる。
【０００３】
ネットワークは、実際、非常に用途が豊富であり、シンプルなネットワーク互換コンピューティングシステムから、しばしば「インターネット」と呼ばれるネットワークの集合を通じて全世界に広がる何百万ものコンピュータシステムの中のどのシステムとでも通信することができる。このようなコンピューティングシステムとしては、デスクトップ、ラップトップ、タブレット型パーソナルコンピュータ、携帯情報端末（ＰＤＡ）、電話その他、デジタルネットワークを通じた通信が可能なコンピュータやデバイスが挙げられる。
【０００４】
特に、テレフォニアプリケーションにおいては、アプリケーションデータに音声を用いてアクセスでき、コンピュータシステムにアクセスする必要がないことが多い。例えば、標準的な電話があれば、ユーザはテレフォニアプリケーションにダイヤルして、アプリケーションデータ（例えば、銀行口座情報や注文の状況）にアクセスすることができる。アプリケーションデータとのインタフェースは、さまざまな音声コマンドを使って開始される。例えば、ユーザは、マイクロフォンから話し言葉を、キーパッドからＤＴＭＦ（Dual Tone Multi-Frequency）トーンをそれぞれ伝えることができる。
【０００５】
テレフォニアプリケーションは、ＤＴＭＦトーンをコンピュータが使用可能なデジタルデータに復号するデコーダを含むことができる。例えば、テレフォニアプリケーションは、６９７Ｈｚと１４７７Ｈｚの２周波合成正弦波トーンを、キーパッドの番号３を表すデータに復号することができる。また、他の既知の周波数の合成正弦波トーンを、他の対応するキーパッドの番号や記号（１，２，４−０，*，＃）を表すデータに復号することも可能である。テレフォニアプリケーションの設計に応じて、表象的なデータを、実際の数や記号として解釈したり、データに他の意味を持たせたりすることができる。例えば、キーパッドの番号６を表すデータは、文字Ｍ，ＮまたはＯを示すのに使用でき、また具体的なコマンドを示すものとすることが可能である。
【０００６】
テレフォニアプリケーションには、また、話し言葉をコンピュータ使用可能なデジタルデータに変換する音声認識モジュール、コンピュータ使用可能なデジタルデータを話し言葉に変換するテキスト音声化モジュールを含むことができる。電話では、トランスデューサ（例えば、マイクロフォン）が話し言葉を、これに対応するアナログ信号に変換する。アナログ信号は、例えば公衆交換電話網（以下、“ＰＳＴＮ”という）等でテレフォニアプリケーションに伝送される。
【０００７】
音声認識モジュールは、アナログ信号を受信し、これに対応するコンピュータ使用可能なデジタルデータに変換する。次に、音声認識モジュールは、この対応するコンピュータ使用可能なデジタルデータをすでに記憶されているデジタルデータと比較し、当初マイクロフォンに向かって話されたものを特定し、あるいは少なくとも仮定する。テレフォニアプリケーションは、特定された、あるいは仮定された話し言葉をコマンドとして解釈することができる。例えば、“checking”という言葉が特定されると、これを当座預金（checking account）にアクセスするコマンドと解釈できる。
【０００８】
テレフォニアプリケーションは、音声によるコマンド（ＤＴＭＦトーンおよび／または話し言葉）に応答して、アプリケーションデータをユーザに返すことができる。例えば、当座預金残高の問い合わせに応答し、音声認識モジュールは、記憶されたデジタルデータ（口座残高）を、これに対応する、当座預金残高を示すアナログ信号に変換できる。テレフォニアプリケーションは、このアナログ信号を電話に送信することができる。電話は、このアナログ信号を受け取り、スピーカがこのアナログ信号を、例えば、「あなたの口座の残高は、３２４ドル５９セントです」等の話し言葉に変換する。このように、テレフォニアプリケーションによって、一般にアプリケーションデータがよりアクセスしやすいものとなる。
【０００９】
他の種類のアプリケーションデータにアクセスする場合と同様に、テレフォニアプリケーションでは、しばしは、アプリケーションデータへのアクセス前にユーザの認証が必要となる。残念ながら、テレフォニインタフェースのための入力インタフェースは、音声とキーパッドだけであるため、使用できる認証データの種類と長さは非常に限定されている。さらに、テレフォニアプリケーションは、公共の場で使用されることが多い。そのため、認証を音声入力（例えば、パスワードを口で言う方法）に依存させるのは不適当かもしれない。なぜなら、音声入力は他人に聞き取られる可能性があるからである。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従って、多くのテレフォニアプリケーションは、その主要な認証方法として、電話のキーパッドを使って入力される数によるＰＩＮに依存している。しかしながら、入力スペースに入力できるのは０から９に限定されているため、入力スペース内で実現可能なパスワードの複雑さの程度もまた同様に限定される。その上、多くのユーザは覚えやすいＰＩＮを望むことから、限られた入力スペースという制約を、パスワードを長くすることによって補うという方法を好まない。例えば、一般的なユーザＰＩＮは、４桁で構成され、可能な組み合わせはわずか１０，０００（１０4）通りしかない。それゆえ、テレフォニアプリケーションは、しばしばパスワードの総当り攻撃を受ける。例えば、悪意のユーザがテレフォニアプリケーションにダイヤルし、００００から９９９９までの中から可能な組み合わせを（ランダムまたは順番に）入力して認証を試み、アクセスが認められるまでこれを続けるかもしれない。アクセスできなかったら（例えば、何度も間違ったＰＩＮ番号を入力しすぎた場合等）、悪意のユーザは電話を切って再びダイヤルしなおすであろう。
【００１１】
さらに、テレフォニアプリケーションは、電話の使用者がアプリケーションデータにアクセスできるように設計されている一方で、汎用コンピュータシステムを、電話機能を果たすように構成することが可能である。例えば、悪意のユーザは、自動的に繰り返しテレフォニアプリケーションにダイヤルし、特定された入力スペースに考えうるすべての数の組み合わせを入力し、アクセスが認められるまでこれを繰り返すモデムを備えたコンピュータシステムを構成できる。このような自動総当り攻撃によって、０−９の入力スペースで構成されるはるかに長いパスワードであっても脆いものとなってしまう。
【００１２】
例えば、オフィス環境等、物理的アクセスが限られているコンピュータシステムまたは電話からアプリケーションデータにアクセスできる場合、認証試行が特定の回数（例えば３回）だけ失敗したら、アカウントをディスエーブルすることが適切かもしれない。しかしながら、公共のコンピュータシステムまたは電話からアクセスできるアプリケーションデータの場合、アカウントをディスエーブルすることは不適切であろう。例えば、悪意のユーザが、公共的に利用できる電話またはコンピュータシステムを使って、正規のユーザのアカウントがディスエーブルされるようにすることを目的として、わざと繰り返し間違ったＰＩＮを入力するかもしれない（「サービス妨害」型の攻撃）。すると、正規のユーザは、アプリケーションデータにアクセスできなくなり、アクセスするためには新しいＰＩＮを取得しなければならない（これは地上配送システムを使って届けられることが多い）。以上のことから、アプリケーションデータへの音声アクセスのセキュリティ保護を容易にするシステム、方法およびコンピュータプログラム製品が有益であろう。
【課題を解決するための手段】
【００１３】
先行技術に伴う上記の問題は、アプリケーションデータへの音声アクセスのセキュリティを保護するための方法、システムおよびコンピュータプログラム製品に関する本発明の原理によって克服される。例えば、電話等のクライアントは、アプリケーションデータへの音声アクセスのリクエストを送る。例えば、汎用コンピュータシステム等のサーバは、アプリケーションデータへの音声アクセスのリクエストを受ける。サーバは、そのリクエストに応答して、ユーザの本人証明を求める第一の音声によるチャレンジ（誰何）（例えば、個人識別番号（ＰＩＮ）のリクエスト）を送る。
【００１４】
クライアントは、第一の音声によるチャレンジを受け取り、この第一の音声によるチャレンジに応答するユーザ本人証明（例えば、キーパッドで入力されるＰＩＮ）を送る。サーバは、第一の音声チャレンジに応答するユーザ本人証明を受け取る。サーバは、別のデータを求める第二の音声チャレンジ（例えば、数、単語または語句をキーパッドで入力するように求める話し言葉）を送る。第二の音声チャレンジは、クライアントのユーザにとっては理解可能であるが、自動音声認識技術では認識しにくいものになるよう構成される。クライアントは、第二の音声チャレンジを受け取り、第二の音声チャレンジに応答する追加データ（例えば、キーパッドで入力される数、単語、語句）を送る。
【００１５】
サーバは、第二の音声チャレンジに応答する追加データを受け取る。サーバは、受け取ったユーザ本人証明と追加データに基づいて、クライアント許可証を計算する。クライアント許可証は、そのクライアントが要求されたアプリケーションデータにアクセスできるか否かを示す。サーバは、計算されたクライアント許可証を示す許可表示をクライアントに送る。クライアントはその許可表示を受け取る。
【００１６】
本発明の上記およびその他の目的と特徴は、以下の説明と付属の特許請求範囲から明らかとなり、また以下に示す本発明の実践からわかる。
【００１７】
本発明の上記およびそれ以外の利点と特徴をさらに明確にするために、付属の図面に描かれた具体的な実施形態を参照しながら、本発明についてより詳しく説明する。これらの図面は本発明の代表的な実施形態を描いたものにすぎず、従って、その範囲を限定するものとは解釈されない。本発明を、添付の図面を使って、さらに具体的に、詳細に説明する。
【発明を実施するための最良の形態】
【００１８】
本発明の原理により、アプリケーションデータへの音声アクセスのセキュリティ保護が提供される。例えば、電話等のクライアントは、アプリケーションデータへの音声アクセスのリクエストを送る。例えば、汎用コンピュータシステム等のサーバは、アプリケーションデータへの音声アクセスのリクエストを受ける。サーバは、そのリクエストに応答して、ユーザの本人証明を求める第一の音声チャレンジ（例えば、個人識別番号（ＰＩＮ）のリクエスト）を送る。
【００１９】
クライアントは第一の音声チャレンジを受け取り、この第一の音声チャレンジに応答するユーザ本人証明（例えば、キーパッドで入力されるＰＩＮ）を送る。サーバは、第一の音声チャレンジに応答するユーザ本人証明を受け取る。サーバは、追加データを求める第二の音声チャレンジ（例えば、数、単語または語句をキーパッドで入力するよう求める話し言葉）を送る。第二の音声チャレンジは、クライアントのユーザにとっては理解可能であるが、自動音声認識技術では認識しにくいものとなるよう構成される。クライアントは、第二の音声チャレンジを受け取り、第二の音声チャレンジに応答する追加データ（例えば、キーパッドで入力される数、単語、語句）を送る。
【００２０】
サーバは、第二の音声チャレンジに応答する追加データを受け取る。サーバは、受け取ったユーザ本人証明と追加データに基づいて、クライアント許可証を計算する。クライアント許可証は、そのクライアントが要求されたアプリケーションデータにアクセスできるか否かを示す。サーバは、計算されたクライアント許可証を示す許可表示をクライアントに送る。クライアントはその許可表示を受け取る。
【００２１】
本発明の範囲内にある実施形態には、記憶したコンピュータ実行可能な命令またはデータ構造を保持、保有するコンピュータ読み取り可能な媒体が含まれる。このようなコンピュータ読み取り可能な媒体としては、汎用または特定用途コンピュータシステムからアクセスできる、入手可能な媒体なら何でもよい。例えば、これらに限られないが、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＣＤ−ＲＯＭその他の光ディスクメモリ、磁気ディスクメモリその他の磁気記憶装置等の物理的記憶媒体、または、コンピュータ実行可能な命令、コンピュータ読み取り可能な命令またはデータ構造の形態で所望のプログラムコード手段を保持または記憶するのに使用でき、汎用または特定用途コンピュータシステムからアクセス可能なあらゆる媒体がある。
【００２２】
本明細書と添付の特許請求範囲において、「ネットワーク」は、コンピュータシステムおよび／またはモジュール間での電子データの伝送を可能にする１または複数のデータリンクと定義される。情報がネットワークまたはその他の通信接続（有線、無線または有線と無線を組み合わせたもの）上でコンピュータシステムに伝送または供給される際、この接続はコンピュータ読み取り可能な媒体と見ることができる。従って、このような接続はすべて、コンピュータ読み取り可能な媒体と呼ぶことが妥当である。上記を組み合わせたものも、コンピュータ判読可能な媒体の範囲に含められるべきである。コンピュータ実行可能な命令は、例えば、汎用コンピュータシステムまたは特定用途コンピュータシステムに特定の機能または特定のまとまりの機能を実行させる命令やデータで構成される。コンピュータ実行可能な命令とは、例えば、バイナリ、アセンブリ言語等の中間フォーマットの命令、あるいはソースコードでもよい。
【００２３】
本明細書と付属の特許請求範囲において、「コンピュータシステム」は、協働して電子データに関するオペレーションを実行する１または複数のソフトウェアモジュール、１または複数のハードウェアモジュールあるいはその組み合わせと定義される。例えば、コンピュータシステムの定義には、パーソナルコンピュータのハードウェアコンポーネント、およびパーソナルコンピュータのオペティングシステムをはじめとするソフトウェアモジュールも含まれる。モジュールの物理的レイアウトは重要ではない。コンピュータシステムは、ネットワークを介して連結された１台または複数のコンピュータを含むことができる。同様に、コンピュータシステムは、内部モジュール（メモリやプロセッサ）が協働し、電子データに関するオペレーションを実行する単独の物理的デバイス（携帯電話や携帯情報端末“ＰＤＡ”等）を含む場合もある。
【００２４】
当業者は、本発明が各種の構成のコンピュータシステムを用いたネットワークコンピューティング環境において実行できることを容易に察するであろう。例えば、パーソナルコンピュータ、ラップトップコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な民生用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、携帯電話、標準電話、ＰＤＡ、ページャ等である。本発明はまた、ネットワークを介して連結された（有線データリンク、無線データリンクまたは有線データリンクと無線データリンクを組み合わせたもの）ローカルコンピュータシステムとリモートコンピュータシステムの両方がタスクを実行するような、分散型システム環境でも実施できる。分散型システム環境において、プログラムモジュールはローカルおよびリモートメモリ記憶装置のどちらにも配置することができる。
【００２５】
一部の標準電話には、例えば、短縮ダイヤル番号と発信者ＩＤデータを記憶し、これにアクセスするために使用される処理機能が備えられている。このことから、このような標準電話は、コンピュータシステムとみなすことができる。しかしながら、それ以外の標準電話（および、おそらくは他の通信機器も）は、処理機能を備えた構成となっていないか、あるいは極めて限られた処理機能しか持たない。本発明は、処理機能を持たない、あるいは極めて限られた処理機能しかない機器にも実施できる。例えば、本発明はスピーカ、マイクロフォンを有し、ＤＴＭＦトーンを発生するよう構成された標準電話を使って実施することが可能である。
【００２６】
本明細書と添付の特許請求範囲において、「音声によるユーザインタフェース」とは、音声入力装置（例えば、マイクロフォン）、音声出力装置（例えば、スピーカ）およびトーン（例えば、ＤＴＭＦトーン）を生成するための制御装置の総称と定義される。
【００２７】
図１と以下の説明は、本発明が実施される適当なコンピューティング環境を簡単に概説するためのものである。本発明は、全体としてコンピュータシステムによって実行される、プログラムモジュール等、コンピュータ実行可能な命令に関して説明されるが、これは必須ではない。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。コンピュータ実行可能な命令、関連するデータ構造、プログラムモジュールは、本明細書で開示する方法による工程を実行するためのプログラムコード手段の例である。
【００２８】
図１に関して、本発明の原理に適したオペレーティング環境には、電話機１００の形態の汎用コンピュータシステムが備えられている。電話機１００は、ユーザに音声情報（例えば、話し言葉）を提供するスピーカ１０４、ユーザに視覚的情報を提供するディスプレイ１０５、電話機１００に音声情報（例えば、話し言葉）を入力するマイクロフォン１０６、ユーザが情報の入力（例えば、ＤＴＭＦトーンを発生する）に使用する１２個のボタンで示されるダイヤリング制御手段１０７、および、ディスプレイ１０５に表示される各種のエントリとオプションを通じてユーザのナビゲーションを支援するナビゲーション制御ボタン１０８を備える。電話機１００は、アンテナ１０９を備えていてもよいが、必須ではない。音声によるユーザインタフェース１２３は、スピーカ１０４、ダイヤリング制御手段１０７、マイクロフォン１０６の集合を示す。
【００２９】
電話機１００の外観は携帯電話であるが、電話機の中の見えていない機能により、複雑でフレキシブルな多目的処理能力が備えられている。例えば、電話機１００は、プロセッサ１１１、ネットワークインタフェース１８０、メモリ１１２を装備し、これらは相互に、またスピーカ１０４、ディスプレイ１０５、ナビゲーション制御手段１０８、ダイヤリング制御手段１０７、マイクロフォン１０６、そしてこれが適当であればアンテナ１０９にシステムバス１１０を介して接続される。メモリ１１２は、さまざまな揮発性および／または不揮発性メモリ全般を表し、これらには前述の種類のメモリが含まれる。しかしながら、電話機１００に使用されるメモリの具体的な種類は、本発明にとって重要ではない。１または複数のプログラムモジュールからなるプログラムコード手段をメモリ１１２に記憶させてもよい。１または複数のプログラムモジュールには、オペレーティングシステム１１３、１または複数のアプリケーションプログラム１１４、プログラムモジュール１１５、プログラムデータ１１６等がある。
【００３０】
電話機１００は、例えば、オフィス内または社内コンピュータネットワーク、イントラネットおよび／またはインターネット等のネットワークに接続される。電話機１００は、例えば、リモートコンピュータシステムおよび／またはアプリケーションデータベース等の外部ソースと、このようなネットワーク上で無線によりデータ交換することが可能である。電話機１００は、これが適当であれば、アンテナ１０９と協働して外部ソースからのデータを受信し、および／または外部ソースにデータを送信することができるネットワークインタフェースを備えていてもよい。例えば、電話機１００は、ＤＴＭＦトーンを伝送し、他の音声データを外部ソースと交換できる。
【００３１】
図１は、本発明に適したオペレーティング環境を示しているが、本発明の原理は、必要に応じて適当な変更を加えた上で本発明の原理を実行することのできるどのようなシステムにおいても利用可能である。図１に示す環境は一例にすぎず、本発明の原理を実現できる多種多様な環境のわずかな部分さえ代表するものとはいえない。
【００３２】
例えば、前述のように、本発明はまた、処理能力を持たない、あるいは極めて限定された処理能力しかない機器（例えば、標準電話）でも実施することができる。このような機器は、例えば、通常電話サービス（ＰＯＴＳ）を提供する公衆交換電話網（ＰＳＴＮ）等のネットワークに接続することができる。あるいは、これらの機器は、例えば、電話サービスを提供する総合デジタルサービスネットワーク（ＩＳＤＮ）や光ファイバ分散インタフェース（ＦＤＤＩ）ネットワーク等、より高速なデジタル通信ラインに接続することも可能である。
【００３３】
図２は、アプリケーションデータへの音声アクセスのセキュリティ保護を容易にするコンピュータアーキテクチャ２００の例を示す。コンピュータアーキテクチャ２００に描かれているように、コンピュータシステム２１１、携帯電話２０６、電話２０７、およびＰＤＡ２０８がネットワーク２０５に接続されている。ネットワーク２０５は、ＰＳＴＮおよび／またはＩＳＤＮおよび／またはＦＤＤＩネットワーク、および／または、ＤＴＭＦトーンその他の音声データを伝送できる他のネットワークの部分を含むことができる。ある実施形態では、ネットワーク２０５は、例えばローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、あるいはインターネットさえも含む、ＶｏＩＰ（Voice over network Internet Protocol）メカニズムを実現できるデータネットワークの部分を有していてもよい。
【００３４】
携帯電話２０６とＰＤＡ２０８は、電話機１００と同様に構成できる。電話２０７は、処理能力を持たない、または極めて限られた処理能力しかない標準電話でよい。携帯電話２０６、ＰＤＡ２０８、電話２０７は、それぞれ、音声によるユーザインタフェースを備えることができる。従って、携帯電話２０６、ＰＤＡ２０８、電話２０７は、ＤＴＭＦトーンを伝送し、例えば会話等、他の音声データを交換することができる。例えば、携帯電話２０６、ＰＤＡ２０８、電話２０７は、テレフォニアプリケーションへの接続を確立し（例えば、電話番号をダイヤルする）、アプリケーションデータへの音声アクセスをリクエストする（例えば、データリクエスト２５７）ことができる。ある実施形態では、接続の確立は、アプリケーションデータへの音声アクセスをリクエストする前に行われる。例えば、ユーザは、アプリケーションデータへの音声アクセスをリクエストするための適当なコマンドを入力するために、１または複数の音声メニューを通じてナビゲートしなければならないかもしれない。別の実施形態では、接続の確立そのものがアプリケーションへの音声アクセスのリクエストとなる。
【００３５】
一般に、クライアント（例えば、携帯電話２０６、ＰＤＡ２０８）の中には、ＤＴＭＦトーンを生成するために対応するキーパッド上のキーが選択されると、そのＤＴＭＦトーン（またはＤＴＭＦトーンを表すデータ）をバッファに格納するよう構成されているものがある。クライアントにおける他の制御手段が操作されたこと、例えば、送信制御手段が選択されたことに応答して、クライアントは、バッファに格納されたＤＴＭＦトーン（もしくはバッファに格納されたＤＴＭＦトーンを表すデータ）を送る。このように、クライアントから送られるメッセージには、バッファに格納された複数のＤＴＭＦトーンまたはバッファに格納されたＤＴＭＦトーンを表す複数のデータを含めることができる。また、ＤＴＭＦトーンを生成するために対応するキーパッド上のキーが選択されると、そのＤＴＭＦトーンを送るように構成されているクライアントもある。従って、クライアントから送られるメッセージはまた、個々に送られる複数のＤＴＭＦトーンをまとめて表すこともできる。しかしながら、明確さを期すために、生成される個々のＤＴＭＦトーンに対する個々のメッセージは図示しない。
【００３６】
コンピュータシステム２１１（例えば、汎用コンピュータシステム）は、受け取ったアナログ音声データを、コンピュータシステム２１１の中の他のモジュールが使用するためのデジタルデータに変換し、またデジタルデータは、他の機器に伝送するためのアナログ音声データに変換するよう構成される音声インタフェース２１４を備える。音声インタフェース２１４は、クライアントからのデータ、例えば、個々に受け取ったＤＴＭＦトーンをバッファに格納し、バッファに格納されたデータを処理することができ、例えば、受け取って、バッファに格納した個々のＤＴＭＦトーンを入力されたＰＩＮとして処理する。
【００３７】
音声インタフェース２１４は、ＤＴＭＦデコーダ２２４と音声変換機２２６を備える。ＤＴＭＦデコーダ２２４は、受け取ったＤＴＭＦトーンをデジタルデータに復号できる。例えば、ＤＴＭＦデコーダ２２４は、８５２Ｈｚと１３３６Ｈｚの合成正弦波トーンを、キーパッドの番号８を表すデータに復号することができる。音声変換機２２６は、（例えば音声認識モジュールで）受け取った会話を表すアナログ音声データを、コンピュータシステム２１１内の他のモジュールが使用するためのデジタルデータに変換し、デジタルデータは、他の機器に伝送するための会話を表すアナログ音声データに変換（例えば、テキスト−音声モジュール）することができる。
【００３８】
認証モジュール２１２は、入力された本人証明（例えば、アカウント番号とＰＩＮ）を受け取り、入力された本人証明に基づいてユーザを認証するよう構成されている。クライアントによるアプリケーションデータへのアクセスのリクエストに応答して、認証モジュール２１２は、クライアントに対し、本人証明を求める音声リクエスト（例えば、本人証明リクエスト２５１）を送ることができる。認証モジュール２１２が入力された本人証明（例えば、本人証明２５２）を受け取ると、認証モジュール２１２は、受け取ったこの本人証明を、本人証明データベース２２２に保存されている、すでに確認済みの本人証明と比較する。受け取った本人証明が本人証明データベース２２２に含まれていれば、受け取った本人証明に対応するユーザがその本人証明によって示される人物である可能性が高い。これに対し、受け取った本人証明が本人証明データベース２２２に含まれていなければ、受け取った本人証明に対応するユーザがその本人証明によって示される人物である可能性は低くなる。
【００３９】
チャレンジモジュール２１７は、音声チャレンジ（音声チャレンジ２５３）をクライアントに発行するよう構成されている。音声チャレンジは、音声インタフェースのキーパッドで数、単語または語句を入力させるためのリクエストを含むことができる。要求された数、単語、語句は、ランダムに生成されるか、チャレンジデータベース（例えば、チャレンジ２２７）から呼び出される。音声チャレンジは、チャレンジがクライアントのユーザには理解されるが、自動音声認識技術では認識しにくいように構成することができる。チャレンジモジュール２１７は、音声チャレンジに応答する、入力されたデータ部分（例えば、音声レスポンス２５４）を受け取ることができる。チャレンジモジュール２１７は、受け取ったデータ部分をチャレンジへの回答と比較することができる。入力されたデータ部分が所定の限界内でチャレンジへの回答と類似していれば、入力されたデータ部分が総当り攻撃プログラムによって入力されたものである可能性は低い。
【００４０】
許可モジュール２１６は、入力された本人証明と、音声チャレンジに応答する入力されたデータ部分に基づき、クライアント許可証（例えば、クライアント許可証２５６）を計算するよう構成されている。許可モジュール２１６は、認証モジュール２１２から本人証明比較結果を受け取ることができる。同様に、許可モジュール２１６は、チャレンジモジュール２１７から音声チャレンジの結果を受け取ることができる。受け取った結果に基づき、許可モジュール２１６は、それに対応するクライアントが要求されたアプリケーションデータにアクセスすることを許可されているか否かを判断することができる。クライアントが要求されたアプリケーションデータにアクセスすることを許可されている場合、許可モジュール２１６は、クライアントがアプリケーション２１８（例えば、テレフォニアプリケーション）と通信し、アプリケーションデータ２２８にアクセスするのを許可する。
【００４１】
図３は、アプリケーションデータへの音声アクセスのセキュリティを保護するための方法３００のフローチャートの一例を示す。方法３００は、コンピュータアーキテクチャ２００に含まれるモジュールとデータに関して説明する。
【００４２】
方法３００は、アプリケーションデータへの音声アクセスのリクエストを送る工程（工程３０１）を含む。例えば、電話２０７は、コンピュータシステム２１１にデータリクエスト２５６を送ることができる。データリクエスト２５６は、アプリケーションデータ２２８への音声アクセスのリクエストとすることができる。データリクエスト２５７は、１または複数のＤＴＭＦトーンおよび／または会話によるコマンドを含むことができる。
【００４３】
方法３００は、クライアントによるアプリケーションデータへの音声アクセスのリクエストを受ける工程（工程３０２）を含む。例えば、音声インタフェース２１４は、電話２０７からデータリクエスト２５６を受け取ることができる。ＤＴＭＦデコーダ２２４は、データリクエスト２５７に含まれるＤＴＭＦトーンを、対応するデジタルデータに復号することができる。同様に、音声変換機２２６は、データリクエスト２５７に含まれる会話によるコマンドを、対応するデジタルデータに変換できる。すると、対応するデジタルデータは、認証モジュール２１２に転送される。
【００４４】
方法３００は、二因子音声認証を実行する機能的な結果指向のステップ（ステップ３１４）を含む。ステップ３１４には、二因子音声認証を実行するための相応の工程であれば、どのような工程も含めることができる。しかしながら、図３の例では、ステップ３１４は、リクエストに応答してユーザ本人証明を求める第一の音声チャレンジを送るという相応の工程（工程３０３）を含んでいる。例えば、認証モジュール２１２は、データリクエスト２５７に応答してユーザ本人証明を求めるリクエストを表すデジタルデータを構成することができる。音声インタフェース２１４は、デジタルデータを受け取り、音声変換機２２６は、デジタルデータを、会話を表すアナログ音声データ等の本人証明リクエスト２５１に変換することができる。コンピュータシステム２１１は、次に、データリクエスト２５７に応答して本人証明リクエスト２５１を電話２０７に送ることができる。
【００４５】
方法３００は、ユーザ本人証明を求める第一の音声チャレンジを受け取る工程（工程３０４）を含む。例えば、電話２０７は、本人証明リクエスト２５１を受け取ることができる。電話２０７のスピーカは、本人証明リクエスト２５１（会話を表すアナログ音声データ）を会話に変換することができる。例えば、本人証明リクエスト２５１により、電話２０７のスピーカは、「あなたのユーザＩＤを入力してください」または「あなたのＰＩＮを入力してください」という語句を出力することができる。
【００４６】
本人証明リクエスト２５１に応答し、電話２０７のユーザは、ユーザ本人証明を入力することができる。
【００４７】
方法３００は、第一の音声チャレンジに応答してユーザ本人証明を提示する工程（工程３０５）を含む。例えば、電話２０７は、本人証明２５２を送ることができる。本人証明２５２は、ユーザ名、アカウント番号、ＰＩＮ等を表すＤＴＭＦトーン（および／または会話）を含むことができる。
【００４８】
ステップ３１４は、第一の音声チャレンジに応答したユーザ本人証明を受ける工程に相応の工程（工程３０６）を含む。例えば、音声インタフェース２１４は、電話２０７から本人証明２５２を受けることができる。ＤＴＭＦデコーダ２２４は、本人証明２５２に含まれるＤＴＭＦトーンを、対応するデジタルデータに復号することができる。同様に、音声変換機２２６は、データリクエスト２５７に含まれるすべての音声コマンドを、対応するデジタルデータに変換することができる。対応するデジタルデータは、次に、認証モジュール２１２に転送される。
【００４９】
認証モジュール２１２は、本人証明２５２を表すデジタルデータを、本人証明データベース２２２に保存されている、すでに確認済みの本人証明と比較することができる。本人証明をハッシュ変換（例えば、ＳＨＡ１）の後に比較して、本人証明をより安全なフォーマットで記憶できるようにしてもよい。例えば、本人証明データベース２２２は、すでに確認済みの本人証明のハッシュ値を記憶できる。アプリケーションデータへのアクセスの許可を得ようとする試行の中で本人証明を受け取ると（例えば、本人証明２５２）、認証モジュール２１２は、すでに確認済みの本人証明のハッシュ値を生成するのに使用したものと同じハッシングアルゴリズムを使って、受け取った本人証明をハッシュすることができる。受け取った本人証明のハッシュ値は、本人証明データベース２２２に記憶されているハッシュ値と比較される。認証モジュール２１２は、比較結果（例えば、本人証明データ２５２が本人証明データベース２２２に含まれているか否か）を許可モジュール２１６に供給する。ある実施形態では、比較結果は許可モジュール２１６によって保持され、電話２０７には送り返されない。これにより、攻撃者が、送った本人証明が有効であったか否かを示す情報を受け取れないようにすることができる。
【００５０】
ステップ３１４は、追加のデータ部分を求める第二の音声チャレンジを送るのに相応の工程（工程３０７）を含む。第二の音声チャレンジは、クライアントのユーザには理解可能であるが、自動音声認識技術では認識しにくいものとなるよう構成することができる。例えば、チャレンジモジュール２１７は、第二の音声チャレンジを表すデジタルデータを構成できる。第二の音声チャレンジは、キーパッドを使って数、単語または語句を入力させるためのリクエストとすることができる。要求された数、単語、語句は、ランダムに生成されるか、チャレンジデータベース（例えば、チャレンジ２２７）から呼び出すことができる。音声インタフェース２１４は、デジタルデータを受け取ることができ、音声変換機２２６は、デジタルデータを、会話を表すアナログ音声データ等の音声チャレンジ２５３に変換することができる。コンピュータシステム２１１は、次に、音声チャレンジ２５３を電話２０７に送ることができる。
【００５１】
方法３００は、追加データ部分を求める第二の音声チャレンジを受ける工程（工程３０８）を含む。例えば、電話２０７は、コンピュータシステム２１１から音声チャレンジを受け取ることができる。電話２０７のスピーカは、音声チャレンジ２５３（会話を表すアナログ音声データ）を会話に変換できる。例えば、音声チャレンジ２５３は、電話２０７のスピーカに、「キーパッドを使って次の数を入力してください：いち、れい、なな、さん、に、なな」という語句を出力させることができる。
【００５２】
音声チャレンジ２５３に応答して、ユーザは、音声チャレンジ２５３に応答するデータ部分を入力することができる。
【００５３】
方法３００は、第二の音声チャレンジに応答する追加データ部分を送る工程（工程３０９）を含む。例えば、電話２０７は、音声によるレスポンス２５４をコンピュータシステム２１１に送ることができる。音声レスポンス２５４は、音声チャレンジ２５３への回答を表すＤＴＭＦトーン（および／または会話）を含むことができる。
【００５４】
ステップ３１４は、第二の音声チャレンジに応答する追加データ部分を受け取るのに相応の工程（工程３１０）を含む。例えば、音声インタフェース２１４は、電話２０７から音声レスポンス２５４を受け取ることができる。ＤＴＭＦデコーダ２２４は、音声レスポンス２５４に含まれるＤＴＭＦトーンを、対応するデジタルデータに復号することができる。同様に、音声変換機２２６は、音声レスポンス２５４に含まれるすべての会話データを、対応するデジタルデータに変換することができる。対応するデジタルデータは、次に、チャレンジモジュール２１７に送ることができる。
【００５５】
チャレンジモジュール２１７は、音声レスポンス２５４を表すデジタルデータを、音声チャレンジ２１７に対する適切な回答（場合によって、チャレンジ２２７を参照）と比較することができる。チャレンジモジュールは、比較の結果（例えば、音声レスポンス２５４が所定の限界内で音声チャレンジ２５３への回答に類似しているか否か）を許可モジュール２１６に供給する。ある実施形態では、比較の結果は、許可モジュール２１６によって保持され、電話２０７に送り返されない。これにより、攻撃者が、音声レスポンスが正しかったか否かを示す情報を受け取れないようにすることができる。
【００５６】
ステップ３１４は、受け取ったユーザ本人証明と受け取った追加データ部分に基づいて、クライアント許可証を計算するのに相応の工程（工程３１１）を含む。クライアント許可証は、クライアントが要求されたアプリケーションデータにアクセスできるか否かを示す。許可モジュール２１６は、クライアント許可証を表すデジタルデータを構成することができる。クライアント許可証は、クライアントが要求されたアプリケーションデータにアクセスすることを許可されるか否かを示すものとすることができる。適当であれば、クライアント許可証は、例えば、アプリケーションデータを読み、書き、読み書きし、または削除する等の権利を示すこともできる。例えば、許可モジュール２１６は、本人証明２５２と本人証明データベース２２２との比較結果および音声レスポンス２５４と音声チャレンジ２１７に対する適当な回答の比較結果に基づいて、アプリケーションデータ２２８への電話２０７の許可証を計算することができる。
【００５７】
本人証明２５２が、本人証明データベース２２２に記憶されている、すでに確認済みの本人証明と適合し、音声レスポンス２５４が音声チャレンジ２１７に対する適当な回答であるとき、認証モジュール２１６は、電話２０７がアプリケーションデータ２２８にアクセスすることを許可することができる。しかしながら、本人証明２５２が本人証明データベース２２２に記憶されている、すでに確認済みの本人証明と一致せず、または音声レスポンス２５４が音声チャレンジ２１７に対する適当な回答でないとき、許可モジュール２１６は、電話２０７がアプリケーションデータ２２８にアクセスすることを許可しない。
【００５８】
方法３００は、クライアントに許可表示を送る工程（工程３１２）を含む。許可表示は、クライアント許可証の計算結果をクライアントに示すものである。例えば、許可モジュール２１６は、許可表示２５６を表すデジタルデータを構成することができる。音声インタフェース２１４は、許可表示２５６を表すデジタルデータを受け取ることができ、音声変換機２２６は、このデジタルデータを、会話を表すアナログ音声データ等の許可表示２５６に変換することができる。コンピュータシステム２１１は、次に、許可表示２５６を電話２０７に送る。
【００５９】
方法３００は、サーバから許可表示を受け取る工程（工程３１３）を含む。許可表示は、クライアントが要求されたアプリケーションデータにアクセスすることができるか否かを示す。例えば、電話２０７は、コンピュータシステム２１１から許可表示２５６を受け取ることができる。電話２０７のスピーカは、許可表示２５６（会話を表すアナログ音声データ）を会話に変換することができる。例えば、許可表示２５６は、電話２０７のスピーカに、「認証は失敗しました。もう一度やり直してください。」、あるいは「ありがとうございます。あなたは認証されました。」との語句を出力させることができる。認証されると、電話２０７はその後、アプリケーションデータ２２８にアクセスできる。
【００６０】
本人証明と追加データ部分の両方が送信された後に認証が失敗したか、成功したかの表示を行うことにより、攻撃者は、本人証明は正しいが、追加データ部分が正しくない場合、または追加データ部分は正しいが、本人証明が正しくない場合を判断できなくなる。従って、攻撃者は、正しい本人証明が入手できたので、正しい追加データ部分を手に入れることに専念する、あるいはその逆を行えない。そのため、テレフォニアプリケーションへの総当たり攻撃を成功させるのに必要な労力が大幅に増える。
【００６１】
以下に、本発明の原理に従って実現できるクライアントダイアログの第一の例を示す。ダイアログの第一の例は、ユーザに数を入力するよう求める音声チャレンジを含んでいる。  
Key Pad Input: <user manipulates key pad to dial into an application>
Speaker Output: "Please enter your password"
Key Pad Input: <user manipulates key pad enter password>
Speaker Output: "For verification purposes, please re-enter the following number using your keypad: one oh seven three two seven"
Key Pad Input: <user manipulates key pad to enter 107327>
Speaker Output: "Thank you. You are now authorized."
【００６２】
クライアントダイアログの第一の例における音声チャレンジは、音声認識が可能な総当り攻撃プログラムの実行速度を大幅に低下させるために実現できる。要求される数は、アプリケーションデータへのリクエストを受け取るたびにランダムに生成することもできる。
【００６３】
以下に、本発明の原理に従って実現できるクライアントダイアログの第二の例を示す。ダイアログの第二の例もまた、ユーザが数を入力するよう求める音声チャレンジを含んでいる。  
Key Pad Input: <user manipulates key pad to dial into an application>
Speaker Output: "Please enter your password"
Key Pad Input: <user manipulates key pad to enter a valid password>
Speaker Output: "For verification purposes, please re-enter the following number using your keypad: One hundred seven thousands three hundred twenty seven"
Key Pad Input: <user manipulates key pad to enter 107327>
Speaker Output: "Thank you. You are now authorized."
【００６４】
クライアントダイアログの第二の例における音声チャレンジでは、求められた数が長くなっているので、総当り攻撃プログラムにとって、難易度はより高くなる。このため、音声チャレンジに正しく応答するには、総当り攻撃プログラムは大きな単語辞書を認識し、適当な回答を特定するためにその辞書を解析できなければならない。総当り攻撃プログラムは、また、"One hundred seven thousands"が、実際には"One hundred seven thousand"であることも判断できなければならない。一方、これは、正規のユーザにとっては直感的に理解できる。要求される数は、アプリケーションデータを求めるリクエストを受け取るたびにランダムに生成することができる。
【００６５】
次に、本発明の原理に従って実行できるクライアントダイアログの第三の例を示す。ダイアログの第三の例は、ユーザに単語を入力するよう求める音声チャレンジを含んでいる。  
Key Pad Input: <user manipulates key pad to dial into an application>
Speaker Output: "Please enter your password"
Key Pad Input: <user manipulates key pad to enter a valid password>
Speaker Output: "For verification purposes, please enter the following word using your keypad: rabbit."
Key Pad Input: <user manipulates key pad to enter 722248>
Speaker Output: "Thank you. You are now authorized"
【００６６】
クライアントダイアログの第三の例における音声チャレンジによれば、総当り攻撃プログラムにとっての難易度はさらに高くなる。正しい回答を特定するために、総当り攻撃プログラムは、その言語でのすべての有効な単語を含む語彙を持っている必要がある。これに対し、正規のユーザにとって、第三の例のクライアントダイアログにおける音声チャレンジに対する適切な回答を特定するのはごく容易である。要求される単語は、辞書からランダムに選択することができる。
【００６７】
次に、本発明の原理に従って実行できるクライアントダイアログの第四の例を示す。ダイアログの第四の例は、攻撃者が二因子認証において中間段階での成功に関する情報を得ることができないようにする方法を示す。第四の例において、攻撃者のアプリケーションは、ほとんどロジックを持たない総当り攻撃を実行するかもしれない（例えば、攻撃者のアプリケーションは、ａｂｃａ，ａｂｃｂ，ａｂｃｃ等、インクリメントする英数字の連続を提示する）。  
Attacker Application: <dials into an application>
Voice Application Sends: "Please enter your password"
Attacker Application: <enters an invalid password>
Voice Application Sends: "For verification purposes, please re-enter the following number using your keypad: one oh seven three two seven"
Attacker Application: <enters a number other than 107327>
Voice Application Sends: "Authorization Failed.  Please Try Again"
【００６８】
第四の例のクライアントダイアログに示されているように、攻撃者のアプリケーションにはパスワードとチャレンジへのレスポンスの両方が提示され終わるまで、失敗（または成功）を示す指示が提供されない。従って、攻撃者のアプリケーションには、パスワードおよび／またはチャレンジへのレスポンスによって認証が失敗したか否かがまったくわからない。
【００６９】
次に、本発明の原理に従って実行できるクライアントダイアログの第五の例を示す。第五の例のダイアログは、攻撃者（例えば、自動アプリケーション）が二因子認証の中間段階での成功に関する情報を得ることができないようにする方法を示す。第五の例のダイアログでは、正しいパスワードを持っている攻撃者のアプリケーション（例えば、純粋な可能性の排除によって判断した場合）でも認証されず、またそのパスワードが正しいことすらわからない。  
Attacker Application: <dials into an application>
Voice Application Sends: "Please enter your password"
Attacker Application: <enters a valid password>
Voice Application Sends: "For verification purposes, please re-enter the following number using your keypad: one oh seven three two seven"
Attacker Application: <enters a number other than 107327>
Voice Application Sends: "Authorization Failed.  Please Try Again"
【００７０】
第五の例のクライアントダイアログに示されているように、攻撃者のアプリケーションは、入力されたパスワードが有効であったことを知るすべがない。従って、攻撃者のアプリケーションは、有効なパスワードを入手しても、リソースを転用してチャレンジへの正しいレスポンスを特定することができない。
【００７１】
次に、本発明の原理に従って実行できるクライアントダイアログの第六の例を示す。第六の例のダイアログは、攻撃者がチャレンジに対するレスポンスに高い自信を持っている場合（例えば、人間が電話を使う場合）でも認証されないようにする方法を示している。  
Attacker: <dials into an application>
Voice Application Sends: "Please enter your password"
Attacker: <enters an invalid password>
Voice Application Sends: "For verification purposes, please re-enter the following number using your keypad: one oh seven three two seven"
Attacker: <enters the number 107327>
Voice Application Sends: "Authorization Failed. Please Try Again"
【００７２】
第六の例のクライアントダイアログに示されているように、攻撃者は、チャレンジに対するレスポンスが正しく入力されても認証されない。従って、攻撃者のアプリケーションは、正しい数を入手しても、リソースを転用して有効なパスワードを特定することができない。
【００７３】
図４は、コンピュータシステム４００の略図である。コンピュータシステム２１１は、コンピュータシステム４００に含まれる１または複数のコンポーネントを含むことができる。説明として、図のコンピュータシステムは、適当な環境の一例にすぎず、本発明の使用または機能の範囲に関するいかなる限定も示唆しようとするものではない。コンピュータシステムは、図４に示すコンポーネントの１またはいくつかの組み合わせに依存するとも、これを必要とするとも解釈されるべきではない。
【００７４】
基本的な構成において、コンピュータシステム４００は、少なくともひとつの処理ユニット４０２とメモリ４０４を備える。メモリ４０４は、揮発性（ＲＡＭ等）でも、不揮発性（ＲＯＭ、フラッシュメモリ等）でも、これらの組み合わせでもよい。ひとつの基本的な構成が、図４において、破線４０６で示されている。
【００７５】
記憶媒体は、別の特徴や機能を備えていることもある。例えば、ＰＣＭＣＩＡカード、磁気および光ディスク、磁気テープ等の追加の記憶手段（取り外し可能型と固定型）が含まれているかもしれない。このような追加の記憶手段は、図４において、取り外し可能記憶装置４０８と固定型記憶装置４１０として示されている。コンピュータ記憶媒体には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュールその他のデータをはじめとする情報を記憶するためのあらゆる方法や技術を使って実現できる、揮発性、不揮発性、取り外し可能型および固定型の媒体が含まれる。メモリ４０４、取り外し可能型記憶装置４０８、固定型記憶装置４１０はいずれも、コンピュータ記憶媒体の例である。コンピュータ記憶媒体としては、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、その他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク、その他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、その他の磁気記憶装置および、所望の情報を保存するのに使用でき、コンピュータシステムからアクセス可能なその他のあらゆる媒体がある。
【００７６】
コンピュータシステム４００は、また、ホストが他のシステムやデバイスとネットワーク４２０上で通信できるようにする通信チャネル４１２を備えていてもよい。通信チャネル４１２は、通信媒体の例である。通信媒体は、典型的には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュールその他のデータを、搬送波その他の輸送メカニズム等のモジュール式データ信号として具体化するもので、あらゆる情報伝達媒体を含む。例えば、これに限られないが、通信媒体には、有線ネットワークや直接有線接続（ダイレクト・ワイヤード・コネクション: direct-wired connection）等の有線媒体と、音響、ラジオ、赤外線その他の無線媒体がある。本明細書における「コンピュータ読み取り可能な媒体」との用語は、記憶媒体と通信媒体の両方を含む。
【００７７】
コンピュータシステム４００は、また、キーボード、マウス、ペン、音声入力コンポーネント、タッチ入力デバイスその他の入力コンポーネント４１４を備えていてもよい。出力コンポーネント４１６としては、スクリーンディスプレイ、スピーカ、プリンタ等と、これを駆動するためのレンダリングモジュール（しばしば「アダプタ」と呼ばれる）がある。コンピュータシステム４００は、電源４１８を有する。これらのコンポーネントはすべて当業界で周知のものであり、ここで詳しく論じることは不要である。
【００７８】
本発明は、その精神または本質的特徴から逸脱することなく、他の具体的形態においても実施可能である。上記の実施形態は、あらゆる点において例として解釈されるべきであり、限定的なものとして解釈されるべきではない。従って、本発明の範囲は上記の説明ではなく、付属の特許請求範囲によって示される。特許請求範囲の意味とその等価限界内のすべての変更は、その範囲に包含されるものとする。
【図面の簡単な説明】
【００７９】
【図１】本発明の原理に適した運用環境を示す図である。
【図２】アプリケーションデータへの音声アクセスのセキュリティ保護を容易にするコンピュータアーキテクチャの一例を示す図である。
【図３】アプリケーションデータへの音声アクセスのセキュリティを保護するための方法のフローチャートの一例を示す図である。
【図４】本発明の特徴を実現するのに適したコンピュータシステムを示す図である。
【符号の説明】
【００８０】
１００  電話機
１０４  スピーカ
１０５  ディスプレイ
１０６  マイクロフォン
１１０  バス
１１１  プロセッサ
１１２、４０４  メモリ
１１３  オペレーティングシステム
１１４  アプリケーションプログラム
１１５  プログラムモジュール
１１６  プログラムデータ
１８０  ネットワークインタフェース
１２３，２１４  音声インタフェース
２０５，４２０  ネットワーク
２０６  携帯電話
２０７  電話
２０８  ＰＤＡ
２１１，４００  コンピュータシステム
２１２  認証モジュール
２１６  許可モジュール
２１７  チャレンジモジュール
２１８  アプリケーション
２２２  本人証明データベース
２２４  ＤＴＭＦデコーダ
２２６  音声変換機
２２７  チャレンジ
２２８  アプリケーションデータ
２５１  本人証明リクエスト
２５２  本人証明
２５３  音声チャレンジ
２５４  音声レスポンス
２５６  許可証
２５７  データリクエスト
【図１】
2006079595.tif 000003
【図２】
2006079595.tif 000004
【図３】
2006079595.tif 000005
【図４】
2006079595.tif 000006