説明

受動的セキュリティ強化

コンピューティングシステムにおいてセキュリティンの受動的強化を可能にするテクノロジが説明されている。コンピューティングシステムのコンポーネントは、コンピューティングシステムとのユーザのやりとりの観察に基づいてユーザを受動的に認証または許可することができる。本テクノロジは、その観察に基づいて認証または許可レベルを増減することもある。レベルは、ユーザにどのようなアクセスレベルを許可すべきかを示すことができる。ユーザまたはコンピューティングデバイスのコンポーネントがリクエストを開始するとき、アプリケーションまたはサービスは、そのレベルがリクエストを満足するのに十分であるかどうかを判断することができる。そのレベルが不十分である場合は、アプリケーションまたはサービスはプロンプトでユーザに資格証明書を要求してユーザが能動的に認証されるのを可能にする。本テクノロジは、コンピューティングシステムが認証を「信用」するのを可能にして、2つの近接デバイスが認証レベルを共用できるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本願は、ユーザを受動的に認証する方法およびシステムに関する。
【背景技術】
【0002】
多くのコンピューティングシステムはセキュリティを強化するために様々な特徴を提供している。セキュリティの強化には、認証(authentication)と許可(authorization)を評価し、強化することが含まれている。コンピューティングデバイスは、ユーザをセキュアに特定するために認証を使用している。コンピューティングデバイスは、ユーザが誰であるか、そのユーザが本当にユーザであることを主張している人であるかを判断するために認証を使用しているのが一般的である。認証に関係する概念が許可である。コンピューティングシステムは、認証したユーザのアクセスレベルを判断するために許可を使用している。例えば、コンピューティングシステムは、認証したユーザにどの特徴またはリソースへのアクセス(例えば、アクセス、追加、作成、削除、変更などのために)を与えるかを判断するために許可ルール(authorization rule)を評価することもあり得る。コンピューティングシステムがユーザを認証したあと、コンピューティングシステムはユーザの許可に基づいて様々な特徴をユーザに与えることもある。コンピューティングシステムは、例えば、許可ルールを強化することによって適切な許可レベルを判断するために許可コンポーネントを使用することができる。
【0003】
従来、コンピューティングシステムはセキュリティを能動的に強化している。能動的認証には、認証しようとするユーザから直接に認証情報を受信することが含まれている。例として、ユーザはログイン資格証明書(login credential)(例:ユーザIDおよび/またはパスワード)を提供し、カードキーまたは他のデバイスをユーザに近接して置き、または自身を特定および/または認証するために他のなんらかの能動的ステップをとることがある。従って、能動的認証では、ユーザとコンピューティングシステムの間で共有される「秘密(secret)」を検証したり、チャレンジに対するユーザのレスポンスを有効性検査したりするのが一般的である。能動的許可には、認証に基づいてルールを強化することが含まれている。
【0004】
しかし、コンピューティングシステムによって提供されるある種の特徴またはトランザクションが他の特徴とは異なる「レベル」の認証を必要とするときは、時には、認証が許可の邪魔になることがある。1つの例として、コンピューティングシステムがモバイル電話であるとき、ユーザはローカル電話コールを出すために第1のレベルの認証を必要とすることもあれば、長距離電話コールを出したり、エレクトロニックコマーストランザクションを行なったりするために第2の異なるレベルの認証を必要とすることもある。別の例として、ユーザは公共インターネットのWebサイトをブラウズするために第3のレベルの認証を必要とすることがあるが、電子メールを送受信するために第4の異なるレベルの認証を必要とすることもある。
【0005】
コンピューティングシステムによって提供される特徴は異なるカテゴリに分割することができるが、このような分割は、例えば、ユーザがまだ認証されていないときやユーザを能動的に認証することが不要であるとき、または認証されたユーザに提供できるレベルとは異なるレベルの許可をある特徴が要求するときは非効率である。
【発明の概要】
【0006】
コンピューティングシステムにおいて受動的セキュリティ強化(passive security enforcement)を可能にするテクノロジが説明されている(本テクノロジ)。コンピューティングシステムのコンポーネントは、コンピューティングシステムとのユーザのやりとりの観察に基づいてユーザを受動的に認証または許可することができる。これらの観察は、例えば、ユーザのやりとりの物理的観察、ユーザによるコンピューティングシステムの使用状況の行動観察などを含むことができる。本テクノロジは、これらの観察に基づいて認証レベルまたは許可レベルを増減することがある。このレベルは、ユーザにどのレベルのアクセスが許与されるかを示すことができる。ユーザまたはコンピューティングデバイスのコンポーネントがリクエストを開始するとき、アプリケーションまたはサービスは、レベルがそのリクエストを満足するのに十分であるかどうかを判断することができる。レベルが不十分である場合は、アプリケーションまたはサービスはプロンプトでユーザに資格証明書を要求して、ユーザが能動的に認証されるようにするこができる。レベルは、例えば、観察されたユーザのアクションに基づいて時間と共に変化することがある。
【0007】
本テクノロジによると、コンピューティングシステムは、2つの近接デバイスが認証レベルを共有できるように認証を「信用」することが可能になる。コンピューティングデバイスがそのユーザも認証していた別のコンピューティングデバイスの近くに置かれているときは、一方または両方のデバイスにいるユーザの認証レベルが増加することもある。
【0008】
種々の実施形態において、物理的観察は他のデバイスの近接を含むことが可能であるので、例えば、モバイルコンピューティングシステムは、組み込みエレクトロニクスと共に組み込まれたユーザがカーイグニッションキー(キーポケット(key fob)とも呼ばれる)のような、別のデバイスを携帯している場合より高い認証レベルを提供することがある。以前に認識されたキーポケットが最早コンピューティングシステムに近接していないときは、コンピューティングシステムは受動的に提供した認証レベルを減少することもある。
【0009】
この簡単な説明は、以下に「詳細な説明」の中で詳しく記載されている概念(コンセプト)を選んで簡略に紹介するためのものである。この簡単な説明は請求項に記載の主題のキーとなる特徴または基本的な特徴を特定するものでも、請求項に記載の主題の範囲を判断する際の援助として使用されるものでもない。
【図面の簡単な説明】
【0010】
【図1】種々の実施形態において本テクノロジによって使用されるコンポーネントを示すブロック図である。
【図2】トランザクションを完了するためにクライアントからリクエストを受信したときサービスによって実行されるルーチンを示すフロー図である。
【図3】信頼性係数を観察するためにコンピューティングシステムによって実行されるルーチンを示すフロー図である。
【図4】信頼性レベルを計算するためにコンピューティングシステムによって実行されるルーチンを示すフロー図である。
【図5】信頼性レベルを提供するためにコンピューティングシステムによって実行されるルーチンを示すフロー図である。
【図6】信頼性係数を提供するためにコンピューティングシステムによって実行されるルーチンを示すフロー図である。
【図7A】選択された信頼性係数をチェックするためにコンピューティングシステムによって実行されるルーチンを示すブロック図である。
【図7B】選択された信頼性係数をチェックするためにコンピューティングシステムによって実行されるルーチンを示すブロック図である。
【図8】種々の実施形態において本テクノロジよって使用されるコンポーネントを示すブロック図である。
【発明を実施するための形態】
【0011】
コンピューティングシステム、例えば、モバイルコンピューティングデバイスにおいて受動的セキュリティ強化を可能にするテクノロジが記載されている(本テクノロジ)。コンピューティングシステムのコンポーネントは、コンピューティングシステムとのユーザのやりとりの観察に基づいてユーザを受動的に認証または許可することができる。これらの観察は、例えば、ユーザのやりとりの物理的観察、ユーザによるコンピューティングシステムの使用状況の行動観察などを含むことができる。例として、物理的観察は、例えば、熱または温度センサ、圧力/タッチセンサ、動きセンサ/加速度計、他のデバイスの近接などを含むことができる。行動観察は、例えば、ユーザが以前にストアされた連絡先リスト内の人に電話しているかどうか、ユーザが以前に所在していると観察されたエリアにユーザが所在しているかどうか、などの観察を含むことができる。ユーザの物理的観察および/または行動観察が以前のパターンと一致している場合は、ユーザは観察された認証「レベル」で受動的に認証されることがある。いくつかの観察が以前のパターンと一致している場合は、そのレベルが増加することがある。他方、少数の観察だけが以前のパターンと一致している場合またはいくつかの観察が以前のパターンと一致していない場合は、そのレベルが減少することがある。本テクノロジによれば、種々のハードウェアおよびソフトウェアコンポーネントを使用して、コンピューティングシステムに行なわれる種々の入力に対する変更を検出することによって観察が行なわれる。
【0012】
ユーザがある特徴にアクセスしたり、あるトランザクションを要求したりするとき、関連のアプリケーションまたはサービスは、どのレベルの認証を本テクノロジが受動的に観察したかを、(例えば、コンピューティングシステム上で実行されているオペレーティングシステムによって提供されるアプリケーションプログラムインタフェース(API)にアクセスすることによって)コンピューティングシステムから判断することがある。認証レベルが十分に高ければ(例えば、指定したしきい値レベルを超えている)、アプリケーションまたはサービスはそのリクエストを完了することがある。1つの例として、連絡先リストにない電話番号にユーザがローカル電話コールを行なうときは、コンピューティングシステムはそのコールを開始することがある。別の例として、ユーザが公共Webサイトをブラウズするときは、コンピューティングシステムは、WebブラウザにそのリクエストをWebサーバに対して出させることがある。
【0013】
これらの許可は、これらの特徴/トランザクションが現在の認証レベルで実行される可能性あるとユーザ、システムアドミニストレータ、アプリケーション、または他のエンティティが判断したために行なわれることがある。1つの例として、ローカル電話コールは「フリー」であることがあるが、長距離電話コールはユーザに料金を負担させることがある。別の例として、公共Webサイトをブラウズすることが「フリー」で、許容し得るリスクであることがあるが、銀行残高をチェックしたり、あるアイテムをオンラインで購入したりすることは、現在の認証レベルでは許容し得ないリスクが伴うことがある。
【0014】
認証が要求した特徴またはトランザクションには十分に高くない場合は、アプリケーションまたはサービスは、エラーを戻してくるか、あるいは能動的認証を要求することがある。ユーザを能動的に認証するために、オペレーティングシステムは、ユーザの認証資格証明書を提供することをユーザに要求することがある。1つの例として、ユーザが長距離電話コールを行なうとき、コンピューティングシステムは電話コールを行なわないことがあり、その代わりに、プロンプトでユーザにユーザのログイン資格証明書を求めることがある。このログイン資格証明書を能動的に検証したあと、コンピューティングシステムはそのコールを行なうことがある。別の例として、ユーザがブラウザを使用してあるサービスに対して財務トランザクションを要求したときは、そのサービスは高い認証レベルを要求することがある。現在の認証レベルがサービスが指定したしきい値より低いと判断すると、コンピューティングシステムは、プロンプトでユーザにユーザのログイン資格証明書を求めることがある。ユーザが提供したログイン資格証明書を検証したあと、コンピューティングシステムは、ユーザの認証レベルがトランザクションを完了するのに十分に高いことをサービスに通知することがある。あるいは、サービスは、要求したトランザクションが完了できることを、ユーザが提供した資格証明書に基づいて判断することがある。種々の実施形態において、APIは照会するサービスに対して認証レベルを示すこともあれば、ユーザの認証レベルが指定したしきい値を超えているか否かをサービスに通知するだけのこともあれば、サービスに資格証明書を伝えることさえもある。1つの例として、トランザクションを完了するリクエストを受信すると、サービスは最初にリクエストをユーザのコンピューティングシステムに送信して、そのサービスが指定した認証レベルを要求していることを知らせることがある。ユーザの現在の認証レベルが低すぎるとユーザのコンピューティングシステムが判断した場合は、プロンプトでユーザに1つまたは2つ以上の資格証明書を求めることもあれば、認証レベルが低すぎることをサービスに通知することもある。後者のケースでは、サービスは、サービスがユーザを許可できるようにプロンプトでユーザに資格証明書の提供を求めることがある。
【0015】
コンピューティングシステムは、例えば、受動的認証に関して上述したものと類似の手法を使用することによってユーザを受動的に許可することもある。1つの例として、ユーザが受動的に認証されたあと、ユーザはより強いレベルの認証を必要とするトランザクションを要求することがある。許可コンポーネントは、ユーザがトランザクションを要求することを許可されているか否かを受動的に判断している可能性がある。ユーザがトランザクションを要求することを許可されていなければ、トランザクションは完了されない。種々の実施形態において、コンピューティングシステムはそのリクエストをキャンセルすることもあれば、そのリスクエストを満足するサービスまたはアプリケーションがそのトランザクションを完了させるか否かを判断できるように関連情報を提供することもある。
【0016】
認証と許可は時間期間が異なることがある。1つの例として、コンピューティングシステムは、ある「セッション」期間(例:ある時間期間)にユーザを認証することがあるが、各トランザクションは別々に許可することもある。
【0017】
種々の実施形態において、本テクノロジはコンピューティングシステムが認証を「信用(trust)」することを可能にすることがある。1つの例として、コンピューティングシステムは、認証情報を相互に通信するために近距離無線通信(near-field communication)テクノロジを採用していることがある。どちらかのコンピューティングシステムにいるユーザの認証レベルが高い場合、両方のコンピューティングシステムがその高い認証レベルを認識することがある。1つの例として、モバイル電話のユーザが受動的に認証されているが、「サーフェイス(surface)」コンピューティングシステム上でまだ認証されていないでサーフェイスコンピューティングシステム上にモバイル電話を置いているときは、サーフェイスコンピューティングシステムは、例えば、その電話のユーザの写真がサーフェイスコンピューティングシステムから表示されるようにユーザを自動的に認証することがある。あるいは、ユーザが一方のコンピューティングシステム上ですでに能動的に認証していた場合は、別の近接コンピューティングシステムは、最初にプロンプトでユーザに能動的認証情報を求めることなく、その前に許可しなかったであろうアクティビティをユーザが実行するのを可能にすることがある。
【0018】
認証レベルは時間と共に変化することがある。1つの例として、ユーザがユーザの連絡先リストにないユーザに電話するのを開始する場合には、認証レベルが減少することがある。認証レベルが指定されたしきい値よりの低く減少する場合は、ユーザがプロンプトで認証資格証明書を求められて(能動的に)に認証されるまでそのユーザは電話コールが行なえなくなることがある。
【0019】
種々の実施形態において、物理的観察は他のデバイスの近接を含むことができる。1つの例として、モバイルコンピューティングシステムは、ユーザがキーポケット(key fob)のような別のデバイスを携帯している場合はより高い認証レベルを提供することがある。以前に認証されたキーポケットがコンピューティングシステムに最早近接していない場合は、コンピューティングシステムは受動的に提供した認証レベルを減少することがある。
【0020】
種々の実施形態において、本テクノロジは、地理的位置情報(例えば、無線三角測量、衛星全地球測位システム情報などに基づいた)を使用して、ユーザを能動的に認証または許可するかを判断することを可能にしている。例えば、このことは、ユーザが通常に訪ねるエリアの外にそのユーザがいることを位置情報が示しているとき行なわれることがある。
【0021】
種々の実施形態において、本テクノロジでは、アクションのアトリビュートをまだ観察してストアしていないために受動的認証または許可が初期に与えられないことがある。1つの例として、ユーザがモバイルコンピューティングデバイスを始めて購入するときは、モバイルコンピューティングシステムは能動的認証および許可だけを与えることがある。このようなケースでは、ユーザは、ある特徴にアクセスするか、またはあるトランザクションを要求する前に能動的に認証する必要が起ることがある。時間の経過と共に、本テクノロジが使用状況パターン(usage pattern)を観察し、ストアするとき(例えば、ユーザがそのデバイスを使用する1つまたは2つ以上のインスタンスのあと)、本テクノロジは受動的認証および/または受動的許可を可能にすることがある。
【0022】
種々の実施形態において、本テクノロジはデフォルト値をストアし、そのあと観察に基づいてそのデフォルト値を更新することがある。これらの実施形態において、限定セットの特徴またはトランザクションがユーザに即時に使用可能になることもあれば、例えば、アクションのアトリビュートを検出し、ストアすることによって本テクノロジがユーザを受動的に認証することを「学習」するのに伴って、より多くの特徴またはトランザクションが使用可能になることもある(例えば、「ロックが解除される」)。
【0023】
種々の実施形態において、本テクノロジによれは、ユーザは受動的および/または能動的認証/許可を可能にするかどうか/いつ可能にするかを構成できることができる。1つの例として、ユーザは、受動的認証と共にどのトランザクションまたは特徴を使用可能にするかを指定できることもある。
【0024】
前記に示したように、本テクノロジによれば、コンピューティングシステムに行なわれる種々の入力に変更を種々のハードウェアおよびソフトウェアコンポーネントを使用して検出することによって観察が行なわれることがある。従って、検出と観察は同義語であるものと意図している。
【0025】
以下では、図面を参照して機能のいくつかの実施形態が詳しく説明されている。本明細書に記載した本テクノロジが実現されることのあるコンピューティングシステムは、1または2以上の中央処理ユニット、メモリ、入力デバイス(例:キーボードおよびポインティングデバイス)、出力デバイス(例:ディスプレイデバイス)、ストレージデバイス(例:ディスクデバイス)、およびネットワークデバイス(例:ネットワークインタフェース)を含むことが可能である。メモリとストレージデバイスは本テクノロジを実現する命令をストアすることが可能なコンピュータ可読媒体である。さらに、データ構造およびメッセージ構造は、通信リンク上の信号のようなデータ伝送媒体を介してストアまたは伝送されることがある。インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、またはポイントツーポイントダイヤルアップコネクションのように、種々の通信リンクが使用されることもある。
【0026】
図1は、種々の実施形態における本テクノロジによって使用されるコンポーネントを示すブロック図である。本テクノロジが動作する環境100は、1または2以上のサーバ102a−102n、ネットワーク104(例:イントラネットまたはインターネット)、およびモバイルコンピューティングデバイス106a−106mのような1または2以上のコンピューティングデバイスを含むことができる。その他の種々のコンピューティングデバイスが使用されることも可能である。モバイルコンピューティングデバイスは、モバイル電話のようなハンドヘルドデバイスであることがある。モバイルコンピューティングデバイスは、例えば、アンテナ108を通して音声、ビデオ、または他の情報を通信するように、他のデバイスとワイヤレスで通信することもある。アンテナ108は、モバイルコンピューティングデバイスに関連の対応するアンテナ(図示せず)と無線周波数または他の信号をやりとりすることができる。
【0027】
図2は、あるトランザクションを完了するためにクライアントからリクエストを受信したときサービスによって実行されるルーチンを示すフロー図である。ルーチン200はブロック202から開始する。ブロック204において、ルーチンは、モバイルコンピューティングデバイスからのようにトランザクションリクエストを受信する。このトランザクションリクエストは、ユーザまたはなんらかの他のエンティティがトランザクションを開始するときモバイルコンピューティングデバイスによって生成されることがある。種々の実施形態において、トランザクションはモバイルコンピューティングデバイスで完全に実行されることもあれば、サービスとの情報のやりとりを要求することもある。1つの例として、ルーチンは、モバイルコンピューティングデバイスがあるアプリケーションを実行するリクエストを受信したときモバイルコンピューティングデバイスによって起動されることがある。別の例として、ルーチンは、あるサービスが財務トランザクションを完了するリクエストを受信したときそのサービスによって起動されることがある。ブロック206において、ルーチンは、トランザクションを完了するために要求される信頼性レベル(confidence level)を判断する。ブロック208において、ルーチンは特定した信頼性レベルを求めるリクエストを、そのトランザクションリクエストを送信したコンポーネントに送信する。信頼性レベルは、ユーザが能動的に認証されることなくトランザクションが自動的に許可されるために要求される信頼性レベルのしきい値であることがある。あるいは、ルーチンはトランザクションリクエストを送信したコンポーネントに1または2以上の信頼性係数(confidence factor)の指示を送信することがある。信頼性係数は、指紋(fingerprint)、虹彩スキャン(iris scan)、シグネーチャ(署名)などのように、許容し得る特定の係数であることがある。ブロック209において、ルーチンは、検証された信頼性レベルまたは信頼性係数の指示を提供するレスポンスを、トランザクションリクエストを送信したコンポーネントから受信する。判定ブロック210において、ルーチンは受信した信頼性レベルまたは信頼性係数が許容し得るかどうか(例えば、指定したしきい値を超えているかどうか)を判断する。信頼性レベルまたは信頼性係数が許容し得るものであれば、ルーチンはブロック212から継続する。そうでなければ、ルーチンはブロック214から継続する。ブロック212において、ルーチンはトランザクションを完了する。そのあと、ルーチンはブロック216からリターンする。ブロック214において、ルーチンはトランザクションを拒否し、トランザクションリクエストを送信したコンポーネントにエラーを返すことがある。そのあと、ルーチンはブロック216からリターンする。
【0028】
当業者ならば理解されるように、図2に示し、上述したロジックは、以下に説明するフロー図の各々において、種々の方法で変更されることもあり得る。例えば、ロジックの順序は並べ替えられることも、サブステップが並行に実行されることも、図示のロジックが省かれることも、他のロジックが含まれることもある。さらに、ロジックまたはサブステップの一部または全部は、指定したデバイス以外の1または2以上のデバイスによって実行されることも1つの例えば、サブステップはモバイルコンピューティングデバイス上でも、クライアントコンピューティングデバイス上でも、サーバコンピューティングデバイス上などでも実行されることがある。
【0029】
図3は、信頼性係数を観察するためにコンピューティングデバイスによって実行されるルーチンを示すフロー図である。ルーチン300はブロック302から開始する。ブロック304において、ルーチンは信頼性係数に関するイベントを受信する。例として、ルーチンは、ユーザがモバイル電話をピックアップし、ユーザがモバイル電話を回転したことを示すイベント、モバイル電話の種々の個所における現在の温度、コンピューティングデバイス上のユーザの使用状況パターンなどを受信することがある。ブロック306において、ルーチンは信頼性係数を観察する。1つの例として、ルーチンは各種のセンサ、加速度計、キーボード、スタイラスまたはその他の入力デバイスにおける値を観察することがある。ブロック308において、ルーチンは探索信頼性係数を、例えば、メモリにストアされたデータ構造内にストアする。ブロック310において、ルーチンはリターンする。
【0030】
図4は、信頼性レベルを計算するためにコンピューティングシステムによって実行されるルーチンを示すフロー図である。ルーチン400は、サービスまたはアプリケーションによってプロンプトが出されたときのように、信頼性レベルを計算するために起動されることが可能である。ルーチンはブロック402から開始する。ブロック404において、ルーチンは、信頼性レベルをデフォルトレベルのような初期レベルに設定する。ブロック406−412のループにおいて、ルーチンは各信頼性係数に基づいて信頼性レベルを変更する。ブロック406において、ルーチンは、観察した信頼性係数のリストからのように信頼性係数を選択する。ブロック408において、ルーチンは、例えば、サブルーチンを起動し、選択した信頼性係数をサブルーチンに提供することによって、選択した信頼性係数をチェックする。選択した信頼性係数をチェックするサブルーチンは図7を参照して以下に詳しく説明されている。ブロック410において、ルーチンは、選択した信頼性係数をチェックするためにサブルーチンによって戻された値に基づいて信頼性レベルを変更する。1つの例として、ルーチンは、コンピューティングデバイスが接続されているネットワークの地理的ロケーションまたは名前であると係数が示されている場合には、信頼性レベルを増加することがある。ルーチンはブロック412において別の信頼性係数を選択する。ブロック414において、ルーチンはリターンする。
【0031】
図5は、信頼性レベルを提供するためにコンピューティングシステムによって実行されるルーチンを示すフロー図である。ルーチン500は信頼性レベルを提供するために起動されることがある。ルーチンはブロック502から開始する。ブロック504において、ルーチンは信頼性レベルを求めるリクエストを受信する。ブロック506において、ルーチンは、例えば、サブルーチンを起動することによって信頼性レベルを計算またはリトリーブする。1つの例として、ルーチンは図4を参照して上述したルーチンを起動することもあれば、図6を参照して以下に説明するルーチンを起動することもある。ブロック508において、ルーチンは計算またはリトリーブした信頼性レベルを返す。
【0032】
図6は、信頼性係数を提供するためにコンピューティングシステムによって実行されるルーチンを示すフロー図である。ルーチン600は信頼性係数と関連観察のリストを提供するために起動されることがある。ルーチンはブロック602から開始する。ブロック604において、ルーチンは信頼性係数を求めるリクエストを受信する。ブロック606において、ルーチンは信頼性係数をリトリーブする。種々の実施形態において、ルーチンは、ルーチンがリトリーブして提供しようとする信頼性係数のリストを受信することがある。種々の実施形態において、ルーチンは信頼性係数の完全リストを提供することがある。ブロック608において、ルーチンは信頼性係数を提供する。ブロック610において、ルーチンはリターンする。
【0033】
図7Aおよび図7Bは、選択した信頼性係数をチャックするためにコンピューティングシステムによって実行されるルーチンを示すフロー図である。ルーチンは現在観察したアクションのアトリビュートを以前にストアした類似のアクションのアトリビュートと比較することがある。アトリビュートには、例えば、加速度計の入力、タッチ/圧力センサの入力、温度の入力、全地球測位システム(GPS)の入力などの入力をコンピューティングシステムに提供するコンポーネントから観察した入力を含むことが可能である。現在観察したアトリビュートは、その差異が無視できるときは以前にストアしたアトリビュートとほぼ等しいとすることができる。1つの例として、指と指の間に温度差があるとしても、指全体は以前に測定された温度に類似する温度を示している。これらの入力はグループとして考慮されることも(例:すべての指の温度)、個別的に(例えば、各々の指の温度)考慮されることもある。
【0034】
ルーチン700はブロック702から開始する。図7AはコネクタAとBを示している。これらのコネクタは、ルーチンのフローをそれぞれが図7Bに図示されたコネクタAとBに接続している。ブロック704において、ルーチンは信頼性係数の指示を受信する。
【0035】
判定ブロック706において、ルーチンは、指示された信頼性係数が電話番号であって、その電話番号が、以前に定期的にまたは数回入力された連絡先または電話番号のリスト内のように、電話番号のリスト内にあるかどうかを判断する。そうであれば、ルーチンはブロック722から継続する。そうでなければ、ルーチンは判定ブロック708から継続する。
【0036】
判定ブロック708において、ルーチンは、指示された信頼性係数が熱(または温度)であって、ユーザによって現在加えられているその観察熱がユーザによって加えられたヒストリカルに観察された熱に相当しているかどうかを判断する。この熱はコンピューティングシステムに接続されることが可能である熱センサをチェックすることにより観察されることがある。1つの例として、モバイル電話は、各々がユーザの手によって加えられた熱を測定する1または2以上の熱センサを備えていることがある。観察した熱がヒストリカルに観察された熱に相当していれば、ルーチンはブロック722から継続する。そうでなければ、ルーチンは判定ブロック710から継続する。
【0037】
判定ブロック710において、ルーチンは、指示された信頼性係数が物理的使用であって、コンピューティングシステムに関連する1または2以上の加速度計がその速度計によって指示されたヒストリカルな物理的使用に相当する入力を提供しているかどうかを判断する。加速度計は、コンピューティングデバイスをピックアップしたり、それを置いたりするときのように、ユーザがコンピューティングデバイスとどのようにやりとりするかを測定することもある。観察された使用がヒストリカルに観察された使用と一致していれば、ルーチンはブロック722から継続する。そうでなければ、ルーチンは判定ブロック712から継続する。
【0038】
判定ブロック712において、ルーチンは、指示された信頼性係数がタッチであって、タッチ入力がそのタッチ入力からのヒストリカルに観察された情報に相当する情報を現在提供しているかどうかを判断する。タッチ入力はコンピューティングデバイスに関連するタッチ感知センサから受信されることがある。観察されたテキスト入力がヒストリカルに観察されたタッチ入力に一致していれば、ルーチンはブロック722から継続する。そうでなければ、ルーチンは判定ブロック714(図7Bに図示)から継続する。
【0039】
次に図7Bを参照して説明すると、判定ブロック714において、ルーチンは、指示された信頼性係数がロケーションであって、ユーザが以前にコンピューティングシステムを操作していたエリアにそのコンピューティングシステムが現在位置していることをGPS信号が示しているかどうかを判断する。1つの例として、ユーザが以前にコンピューティングシステムを使用したことのないエリアにコンピューティングシステムがあるときは、以前に知られたユーザが現在コンピューティングシステムを使用しているとの信頼性レベルが低いことがある。ユーザが以前にコンピューティングシステムを使用していたエリアにそのロケーションがあれば、ルーチンはブロック722から継続する。そうでなければ、ルーチンは判定ブロック716から継続する。例えば、使用可能なワイヤレスローカルエリアネットワークまたはそこに接続されたデバイスを特定し、カメラを使用して周囲を認識するなどよって、他のロケーションに関係の入力が(またはその代わりに)適用されることもある。
【0040】
判定ブロック716において、ルーチンは、指示された信頼性係数が共存であって、別のデバイスがコンピューティングシステムに近接しているかどうかを判断する。1つの例として、ユーザがあるポケットにモバイルデバイスを持ち、別のポケットにカーキー(以前にモバイルデバイスと共に登録されている)を持っているとき、そのユーザはモバイルデバイスの既知の所有者である可能性がある。このカーキーは、無線周波数識別チップのように、モバイルデバイスがカーキー(または登録されたいずれかの他の共存デバイス)を特定するのを可能にする埋め込みコンポーネントを備えていることがある。登録された共存デバイスが近接していれば、ルーチンはブロック722から継続する。そうでなければ、ルーチンは判定ブロック718から継続する。
【0041】
判定ブロック718において、ルーチンは、特定された信頼性係数がビジョン(vision)であって、そのイメージ比較が許容し得るかどうかを判断する。1つの例として、ルーチンはユーザの顔が認識可能であるかどうか、周囲が認識可能であるかどうか、などを判断することがある。コンピューティングシステムは、接続されたカメラを使用してこのビジュアル観察を行うための接続カメラを使用していることがある。イメージ比較が許容し得るものであれば、ルーチンはブロック722から継続する。そうでなければ、ルーチンはブロック720から継続する。
【0042】
ブロック720において、ルーチンは、指示された信頼性係数のどれもが許容し得なかったために信頼性レベルを減少する。そのあと、ルーチンはブロック726において信頼性レベルを返す。
【0043】
ブロック722において、ルーチンは許容し得える係数に基づいてウェイトを設定する。ブロック724において、ルーチンは信頼性レベルを増加する。一部の実施形態において、ルーチンは信頼性係数の各々(および1つだけでない信頼性係数)についてウェイトを使用し、ウェイトをかけた信頼性係数全体を計算する。そのあと、ルーチンはブロック726においてコンピュータの信頼性レベルを返す。
【0044】
ルーチンによって使用されるヒストリカル情報はコンピューティングデバイスまたは他の場所にストアされていることがある。他の場所にストアされる場合は、コンピューティングデバイスはネットワークコネクションを通してヒストリカル情報にアクセスすることがある。
【0045】
図8は、種々の実施形態において本テクノロジによって使用されるコンポーネントを示すブロック図である。モバイルコンピューティングデバイスのようなコンピューティングシステム802はプロセッサ804、メモリ806、オペレーティングシステム808、および1または2以上のアプリケーションを含むこともあり得る。アプリケーションはユーザの認証を要求することもあれば、ユーザの認証を要求するサービスにリクエストをネットワークコネクション(図示せず)経由で送信することもある。
【0046】
コンピューティングシステムは、タッチ/圧力センサ812、熱センサ814、加速度計816、カメラ818、指紋リーダ820、および書き込みアナライザ822を含んでいることもある。タッチ/圧力センサは、コンピューティングシステムの本体の周囲のタッチまたは圧力個所を判断することがある。熱センサは、コンピューティングシステムの本体の周囲の1または2以上の個所の熱を送信することがある。加速度計は、コンピューティングシステムがユーザによってどのようにピックアップされ、移動などされたかを判断することがある。加速度計は加速度の力、例えば、静的な力または動的な力を測定する電気機械的デバイスにすることができる。カメラはユーザの顔、周囲などを観察することがある。指紋リーダはユーザの指紋を読み取ることがある。書き込みアナライザは、例えば、スタイラスの使用によってユーザがどのように書いたかを分析することがある。コンピューティングシステムはコンパレータ824を含んでいることもある。コンパレータは現在観察可能なアトリビュート(例:熱、圧力、動きなど)を以前にストアされたアトリビュートと比較するように構成されていることがある。これらのコンポーネントは複数で記載されているが、コンピューティングシステムは、各タイプのコンポーネントの1つを使用することもあれば、これらのコンポーネントのいくつかだけを使用することもある。
【0047】
以下では、本テクノロジの種々の実施形態について説明する。これらの実施形態は独立に操作されることも、組み合わされることもある。
【0048】
本テクノロジは、ユーザを受動的に認証するためにコンピューティングシステムによって実行される方法、すなわち、あるアクションのアトリビュートを観察するステップと、そのアクションの観察したアトリビュートを類似アクションの以前にストアされたアトリビュートと比較するステップと、観察したアトリビュートが類似アクションの以前にストアされたアトリビュートとほぼ同じであるかどうかを判断するステップと、ユーザが能動的に認証することなくユーザを受動的に認証するステップと、を含む方法を含むことができる。アクションは、コンピューティングシステムによって特定可能であるロケーションにコンピューティングシステムを移動することにできる。観察はカメラを使用して周囲のイメージをキャプチャすることを含むことができる。観察はGPSロケーション情報を受信することを含むことができる。観察はワイヤレスローカルネットワークコネクションを特定することを含むことができる。アクションは電話コールを行なうことできる。電話コールを行なうときのアトリビュートは、電話コールが行なわれる先の電話番号にすることができ、以前にストアされたアトリビュートは連絡先リストにストアされた電話番号にすることができる。アクションは温度の検出にすることにできる。アクションは動きの検出にすることができる。アクションは圧力の検出にすることができる。アクションは別のデバイスの共存の検出にすることができる。アクションは顔の認識にすることができる。本方法は、アクションのアトリビュートの1または2以上の比較に基づいて信頼性レベルを設定し、信頼性レベルが指定した信頼性レベルのしきい値を超えたときユーザを受動的に認証することを含むことができる。
【0049】
本テクノロジは、その実行時に、ユーザを受動的に認証する方法を実行するコンピュータ可読媒体を含むことができる。本方法は、信頼性レベルをデフォルト値に設定するステップと、信頼性係数のセットを特定するステップと、各特定した信頼性係数について、信頼性を計算するステップと、計算した信頼性に基づいて信頼性レベルを変更するステップとを含み、さらに、変更した信頼性レベルが指定したしきい値を超えている場合は、ユーザに能動的認証を要求することなくユーザを受動的に認証するステップを含むことができる。本方法は、各特定した信頼性係数についてウェイトを設定するステップを含むことができる。この変更はウェイトに基づくことができる。本方法はそのユーザも認証していた近接コンピューティングデバイスから信号を受信したとき信頼性レベルを増加するステップを含むことができる。
【0050】
本テクノロジは、ユーザを受動的に認証するシステムであって、リクエストを開始するアプリケーションと、プロンプトでユーザに観察した入力を与えることを求めることなく、観察した入力を以前にストアされた入力と比較し、その比較がほぼ同等である場合、開始したリクエストが満足されるようにユーザを受動的に認証するように構成されたコンポーネントと、を備えたシステムを含むことができる。本システムは、リクエストを満足するサーバコンポーネントを含むことができる。アプリケーションは、ユーザが受動的に認証されていればリクエストを満足することがあり、ユーザが受動的に認証できなければ、ユーザが能動的に認証されるようにプロンプトでユーザに認証資格証明書を求めることができる。
【0051】
多くの認証方式が「活動的」であるのは、パスワードのように、コンピューティングシステムと共有される秘密をユーザが提供することを要求しているからである。しかし、活動的認証は、企業のセキュリティポリシに従うようにロックされた「スマート」フォンを使用してローカルコールを行なうといった単純なタスクをモバイルコンピューティングシステムで完了する妨げとなっている。本テクノロジによると、ユーザの観察した行動に基づいてユーザを認証するために受動的認証を使用することができる。ユーザの認証レベルは、ユーザの観察した行動に基づいて時間の経過と共に増減すること可動であり、アプリケーション/サービスは、リクエストを満足するかどうか、あるいは現在の認証レベルに基づいてトランザクションを完了するかどうかを判断することができる。
【0052】
信頼性レベルと認証レベルは種々の実施形態において同義にすることができる。受動的認証に関係する実施形態が説明されているが、これらの実施形態は受動的許可にも等しく適用することが可能である。
【0053】
以上、構造上の特徴および/または方法上のアクトに特有の表現で主題を説明してきたが、当然に理解されるように、請求項に定義されている主題は、上述した特定の特徴またはアクトに必ずしも限定されない。むしろ、上述した特定の特徴およびアクトは、請求項を実現する形態例として開示されたものである。従って、本発明は請求項による以外は制限されない。

【特許請求の範囲】
【請求項1】
ユーザを受動的に認証するためにコンピューティングシステムによって実行される方法であって、
アクション(706、708、710、712、714、716、718)のアトリビュートを検出するステップと、
アクションの検出したアトリビュートを類似アクション(706、708、710、712、714、716、718)の以前にストアされたアトリビュートと比較するステップと、
検出したアトリビュートが類似アクション(706、708、710、712、714、716、718)の以前にストアされたアトリビュートとほぼ等しいかどうかを判断するステップと、
検出したアトリビュートが類似アクションの以前にストアされたアトリビュートとほぼ等しい場合、ユーザに能動的に認証(210、724)させることなくユーザを受動的に認証するステップと、
を含むことを特徴とする方法。
【請求項2】
アクションは、コンピューティングデバイスによって識別可能であるロケーションにコンピューティングシステムを移動することであることを特徴とする請求項1に記載の方法。
【請求項3】
検出するステップは、カメラを使用して周囲のイメージをキャプチャすること、ロケーション情報を受信すること、データ通信ネットワークの名前を特定すること、およびデータ通信ネットワーク内のデバイスを特定することのうち少なくとも1つを含むことを特徴とする請求項2に記載の方法。
【請求項4】
受動的認証を初期に禁止し、アクションのアトリビュートをストアしたあと受動的認証を可能にすることを、さらに含むことを特徴とする請求項1に記載の方法。
【請求項5】
受動的認証が禁止されている場合、ユーザによって要求されたトランザクションを完了する前にユーザに能動的に認証することを要求することを含むことを特徴とする請求項4に記載の方法。
【請求項6】
アトリビュートは、電話コールが行なわれる先の電話番号であり、以前にストアされたアトリビュートは連絡先リストにストアされた電話番号であることを特徴とする請求項に記載の方法。
【請求項7】
アクションは、温度を検出することであることを特徴とする請求項1に記載の方法。
【請求項8】
アクションは、別のデバイスの共存を検出することであることを特徴とする請求項1に記載の方法。
【請求項9】
アクションは顔を認識することであることを特徴とする請求項1に記載の方法。
【請求項10】
アクションのアトリビュートの2またはそれ以上の比較に基づいて信頼性レベルを設定し、信頼性レベルが指定した信頼性レベルのしきい値を超えているときユーザを能動的に認証することを、さらに含むことを特徴とする請求項1に記載の方法。
【請求項11】
その実行時にユーザを能動的に認証する方法を実行するコンピュータ実行可能命令をストアしているコンピュータ可読記憶媒体であって、前記方法は、
信頼性レベルをデフォルト値(404)に設定するステップと、
信頼性係数のセット(406)を特定するステップと、
信頼性係数のセット(406)内の特定した各信頼性係数について、
信頼性(408)を計算するステップと、
計算した信頼性(410)に基づいて信頼性レベルを変更するステップと、
変更した信頼性レベルが指定したしきい値を超えている場合、ユーザに能動的に認証する(210)ことを要求することなくユーザを受動的に認証するステップと、
を含むことを特徴とするコンピュータ可読記憶媒体。
【請求項12】
特定した各信頼性レベルについてウェイトを設定し、信頼性を計算するとき前記ウェイトを組み入れることを、さらに含むことを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
【請求項13】
ユーザを受動的に認証するシステムであって、
リクエスト(810)を開始するコンポーネントと、
プロンプトでユーザに検出した入力を提供することを求めることなく、検出した入力を以前にストアされた入力と比較するように構成され、前記比較がほぼ等しければ、開始したリクエストが満足されるようにユーザを受動的に認証するコンパレータコンポーネント(824)と、
を備えたことを特徴とするシステム。
【請求項14】
リクエストを満足するコンポーネントをさらに備えたことを特徴とする請求項13項に記載のシステム。
【請求項15】
ユーザが受動的に認証されていれば、アプリケーションがリクエストを満足し、
ユーザが受動的に認証されていなければ、アプリケーションがコンポーネントにプロンプトでユーザに認証資格証明書を要求させてユーザが能動的に認証されるようにすることを特徴とする請求項13に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate


【公表番号】特表2012−515980(P2012−515980A)
【公表日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2011−548011(P2011−548011)
【出願日】平成22年1月12日(2010.1.12)
【国際出願番号】PCT/US2010/020777
【国際公開番号】WO2010/085393
【国際公開日】平成22年7月29日(2010.7.29)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】