(57)【特許請求の範囲】
【請求項１】
実行時に
エスクロー証明書発行者から第１のデータを受信するステップ（５１０）であって、前記第１のデータは、前記第１のデータにアクセスするエンティティによってテレメトリ・データがテレメトリ受信器に送信されたことを検証するために使用可能であり、前記第１のデータが、前記テレメトリ受信器に関して前記エンティティに匿名性を提供するものであり、当該テレメトリデータが、攻撃検出データを含むものと、
テレメトリ・データをテレメトリソースから前記テレメトリ受信器に送信するステップに関連して、前記第１のデータを使用して、前記第１のデータにアクセスする前記エンティティによって前記テレメトリ・データが送信されたことを示すステップ（５２０、５２５）と、
前記第１のデータが、低品質テレメトリデータに関連するか、又は、既知の品質が疑わしいテレメトリデータであるか、を判断し、前記第１のデータが、低品質テレメトリデータに関連するか、又は、既知の品質が疑わしいテレメトリデータであるときに、
前記テレメトリ受信機に送られた前記テレメトリデータが、破棄又は拒絶されるべきことを指示するステップと、
を含む動作を実施するコンピュータ実行可能命令を有することを特徴とするコンピュータ記憶媒体。
【請求項２】
前記テレメトリ受信器に関して前記エンティティに匿名性を提供する前記第１のデータは、前記第１のデータに含まれない追加のデータなしに前記エンティティの正体を決定するために使用可能な情報を含まない前記第１のデータを含むことを特徴とする請求項１に記載のコンピュータ記憶媒体。
【請求項３】
前記第１のデータは、前記エスクロー証明書発行者が証明書において他の任意のエンティティに提供する他の任意の識別子とは異なる識別子を含む証明書を含むことを特徴とする請求項１に記載のコンピュータ記憶媒体。
【請求項４】
前記識別子が、ビットのシーケンスを含むことを特徴とする請求項３に記載のコンピュータ記憶媒体。
【請求項５】
前記第１のデータは、認証コードを含むことを特徴とする請求項１に記載のコンピュータ記憶媒体。
【請求項６】
前記第１のデータに含まれる公開鍵に対応する秘密鍵を用いて、前記テレメトリ・データを署名するステップをさらに含むことを特徴とする請求項１に記載のコンピュータ記憶媒体。
【請求項７】
コンピューティング環境における装置であって、
証明書と共にテレメトリソースからのテレメトリ・データを受信するように動作可能なテレメトリ受信器（３１５）であって、前記証明書は、前記証明書がエスクロー証明書発行者によって発行されたことを検証するために使用可能であるが、前記証明書に含まれない追加のデータなしに前記テレメトリ・データを送信したエンティティの正体を決定するために使用可能でない情報を含む、テレメトリ受信器（３１５）であって、当該テレメトリデータが、攻撃検出データを含むものと、
前記証明書が前記エスクロー証明書発行者によって発行されたことを検証するように動作可能な証明書検証器（３２０）と、
前記テレメトリソースの信頼性ランクを生成するために動作可能なランク付けユニットと、
前記テレメトリソースの信頼性ランクを、テレメトリ収集器に送信するように構成された送信機と、
を備え、
前記信頼性ランクが、前記テレメトリソースが、低品質のテレメトリデータに関連し、前記テレメトリデータが、前記テレメトリ収集器によって破棄されるべきことを示すことを特徴とする装置。
【請求項８】
前記証明書を特定する情報を記憶するように動作可能な証明書識別子追跡器をさらに備え、前記情報は、前記証明書と関連して受信したテレメトリ・データの信頼性を追跡するために使用可能であることを特徴とする請求項７に記載の装置。
【請求項９】
前記エスクロー証明書発行者が信頼できるかを判断するように動作可能な信頼性コンポーネントをさらに備え、信頼できるという判断が為されると、当該信頼性コンポーネントが、証明書が前記エスクロー証明書発行者によって発行されたか否かを判定するために使用可能な情報を提供することを特徴とする請求項７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、匿名で追跡可能なテレメトリの収集に関する。
【背景技術】
【０００２】
テレメトリにより、遠隔情報源にあるデータを取得し、そのデータをテレメトリ収集器に送信することが可能となる。テレメトリ収集器は、次いでそのデータを集約し、および／またはレポートするためにそのデータに対して他の計算を行って、意思決定、ソフトウェアの改良、等を行うことができる。テレメトリ・データを使用するシステムの幾つかの例には、ソフトウェア・クラッシュ・ダンプの収集、ソフトウェア品質メトリックの収集、ウィルスおよび攻撃の検出統計、攻撃者に関連付けられたＵＲＬおよびＩＰアドレスを含む属性テレメトリ（ｒｅｐｕｔａｔｉｏｎ  ｔｅｌｅｍｅｔｒｙ）がある。
【０００３】
テレメトリ・データは、低品質の情報源によって提供されることがあり、意図的に誤ったデータを送信する情報源によっても提供されることがある。低品質のデータや誤ったデータを回避するための１つのアプローチは、データの情報源を特定または認証する情報を要求することである。そうすると、低品質であるかまたは品質が疑わしいことが分かった情報源から来たデータを破棄することができる。
【０００４】
しかし、企業や個人は、慎重に扱うべきプライベート情報を開示することに懸念を示すため、テレメトリを送信するときに自己を特定することを好まない。結果として、かかる企業や個人は、テレメトリ・データの送信をオプトアウトするかまたはオプトインしないことがある。
【０００５】
本明細書でクレームした主題は、任意の不都合を解決しまたは上述のような環境においてのみ動作する実施形態には限定されない。そうではなく、ここで述べた背景技術は、本明細書に記載の幾つかの実施形態を実施できる１つの例示的な技術領域を示すために提供したにすぎない。
【発明の概要】
【０００６】
簡潔に述べると、本明細書に記載の主題の態様は、匿名で追跡可能なテレメトリを収集することに関する。諸態様においては、テレメトリ情報源を開示しないがそのテレメトリ情報源を他の情報源から区別する証明書または他のデータを発行するエスクロー機構を開示する。テレメトリ情報源は証明書または他のデータをエスクロー証明書発行者から取得することができる。テレメトリ収集器は、証明書が正当であること、またはテレメトリ・データが認証済みテレメトリ情報源から送信されたことを検証できるが、その証明書または他のデータに含まれない追加の情報なしにはそのテレメトリ情報源の正体を発見することができない。この構成により、エンティティは、テレメトリ・データを使用してエンティティ自身が特定されることを心配することなく、安心してテレメトリ・データを提供することができる。同時に、テレメトリ収集器はテレメトリ・データを使用して、信頼できるテレメトリ・データの取得を支援することができる。
【０００７】
本要約は主題のいくつかの態様を簡潔に特定するために与えたものである。かかる主題は以下の「発明を実施するための形態」でさらに詳細に説明する。本要約は、クレームした主題の主要な特徴または本質的な特徴を特定するものではなく、クレームした主題の範囲を限定するために使用するものでもない。
【０００８】
「本明細書に記載の主題」というフレーズは、文脈で明確に断らない限り、「発明を実施するための形態」に記載の主題を指す。「諸態様」という用語は「少なくとも１つの態様」と読まれたい。「発明を実施するための形態」に記載の主題の諸態様を特定することは、クレームした主題の主要な特徴または本質的な特徴を特定することを意図したものではない。
【０００９】
上述の諸態様および本明細書に記載の主題の他の諸態様は例として示したものであり、添付の図において限定されるものではない。添付の図においては、同様の参照番号は同様の要素を示す。
【図面の簡単な説明】
【００１０】
【図１】本明細書に記載の主題の諸態様を取り込むことができる例示的な汎用目的のコンピューティング環境を表すブロック図である。
【図２】本明細書に記載の主題の諸態様を実装できる例示的な環境を表すブロック図である。
【図３】本明細書に記載の主題の諸態様に従って構成した例示的なシステムの構成要素を表すブロック図である。
【図４】本明細書に記載の主題の諸態様に従って行うことができる動作を一般的に表す流れ図である。
【図５】本明細書に記載の主題の諸態様に従って行うことができる動作を一般的に表す流れ図である。
【発明を実施するための形態】
【００１１】
（定義）
本明細書で使用する際、「含む」という用語およびその変形は、「〜を含むがこれらに限られない」を意味する無制限型の用語として読まれたい。「または」は、文脈で特に断らない限り、「および／または」と読まれたい。他の定義については、明示的および暗黙的に、以下に含まれている。
【００１２】
（例示的な動作環境）
図１は、本明細書に記載の主題の諸態様を実装できる適切なコンピューティング・システム環境１００の例を示す。コンピューティング・システム環境１００は適切なコンピューティング環境の一例にすぎず、本明細書に記載の主題の諸態様の使用範囲または機能範囲に関するいかなる限定を示唆するものではない。また、コンピューティング環境１００が、例示的な動作環境１００で示した構成要素の任意の１つまたは組合せに関していかなる依存性または要件も有さないと解釈すべきである。
【００１３】
本明細書に記載の主題の諸態様は、多数の他の汎用目的または特殊目的のコンピューティング・システム環境または構成で動作する。本明細書に記載の主題の諸態様と共に使用するのに適しうる公知のコンピューティング・システム、環境、または構成の例には、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド・デバイスまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロコントローラベースのシステム、セット・トップ・ボックス、プログラム可能家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、ゲーム機、プリンタ、セット・トップを含む機器、メディア・センタ、または他の機器、自動車に組み込んだコンピューティング装置または自動車に取り付けられたコンピューティング装置、他のモバイル装置、上述のシステム・または装置のいずれかを含む分散コンピューティング環境、等がある。
【００１４】
本明細書に記載の主題の諸態様を、コンピュータによって実行されている、プログラム・モジュールのようなコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールには、特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等が含まれる。本明細書に記載の主題の諸態様を、通信ネットワークを介して接続しているリモート処理装置によってタスクが実施される分散コンピューティング環境で実施してもよい。分散コンピューティング環境では、プログラム・モジュールを、メモリ記憶装置を含むローカル・コンピュータ記憶媒体およびリモート・コンピュータ記憶媒体の両方に配置してもよい。
【００１５】
図１を参照すると、本明細書に記載の主題の諸態様を実装するための例示的なシステムが、汎用目的のコンピューティング装置をコンピュータ１１０の形で含む。コンピュータは命令を実行可能な任意の電子装置を含むことができる。コンピュータ１１０のコンポーネントは、演算処理装置１２０、システム・メモリ１３０、およびシステム・メモリを含む様々なシステム・コンポーネントを演算処理装置１２０に結合するシステム・バス１２１を含むことができる。システム・バス１２１は、メモリ・バスまたはメモリ・コントローラ、周辺バス、および様々なバス・アーキテクチャの何れかを用いたローカル・バスを含む、任意の数種のバス構造の何れかであってもよい。限定ではなく例として、係るアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス，ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカル・バス、メザニン・バスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、ＰＣＩ−Ｘ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｔｅｎｄｅｄ）バス、ＡＧＰ（Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、およびＰＣＩｅ（ＰＣＩ  ｅｘｐｒｅｓｓ）を備えることができる。
【００１６】
コンピュータ１１０は、一般に、様々なコンピュータ読取可能媒体を含む。コンピュータ読取可能媒体は、コンピュータ１１０がアクセスできる任意の利用可能な媒体であることができ、揮発性および不揮発性の媒体と、取り外し可能および取り外し不可能な媒体のいずれをも含む。限定ではなく例として、コンピュータ読取可能媒体はコンピュータ記憶媒体と通信媒体を含むことができる。
【００１７】
コンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラム・モジュール、または他のデータのような情報を記憶するための任意の方法または技術で実装した揮発性および不揮発性の媒体、取り外し可能および取り外し不可能な媒体を含むことができる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋｓ）もしくは他の光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶もしくは他の磁気記憶装置、または所望の情報を格納するために使用でき、コンピュータ１１０がアクセスできる他の任意の媒体が含まれる。
【００１８】
通信媒体は、一般に、コンピュータ読取可能命令、データ構造、プログラム・モジュール、または他のデータを、搬送波または他の伝送機構のような変調データ信号で具現化し、任意の情報伝達媒体を含む。「変調データ信号」という用語は、１つまたは複数のその特性集合を有するかまたは信号内の情報をエンコードするように変化した信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークまたは直接配線接続のような有線媒体、ならびに音響、ＲＦ、赤外線および他の無線媒体のような無線媒体が含まれる。上記の任意の組合せも、コンピュータ読取可能媒体の範囲に含まれるべきである。
【００１９】
システム・メモリ１３０は、コンピュータ記憶媒体をＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）１３１およびＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１３２のような揮発性および／または不揮発性メモリの形で含む。ＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）１３３は、起動時などにコンピュータ１１０内部の要素間で情報を転送することを支援する基本的なルーチンを含み、一般にはＲＯＭ１３
１に格納される。ＲＡＭ１３２は、一般に、演算処理装置１２０が即座にアクセスできるおよび／または現在実行されている、データおよび／またはプログラム・モジュールを含む。限定ではなく例として、図１はオペレーティング・システム１３４、アプリケーション・プログラム１３５、他のプログラム・モジュール１３６、およびプログラム・データ１３７を示す。
【００２０】
コンピュータ１１０はまた、他の取り外し可能／取り外し不可能、揮発性／不揮発性のコンピュータ記憶媒体を含む。一例としてのみ、図１は、取り外し不可能な不揮発性の磁気媒体を読み書きするハードディスク・ドライブ１４１、取り外し可能な不揮発性の磁気ディスク１５２を読み書きする磁気ディスク・ドライブ１５１、ＣＤ  ＲＯＭまたは他の光媒体のような取り外し可能な不揮発性の光ディスク１５６を読み書きする光ディスク・ドライブ１５５を示す。例示的な動作環境で用いられる、他の取り外し可能／取り外し不能な、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープ・カセット、フラッシュ・メモリカード、デジタル多用途ディスク、他の光ディスク、デジタル・ビデオ・テープ、固体ＲＡＭ、固体ＲＯＭ、等が含まれる。ハードディスク・ドライブ１４１は、一般に、インタフェース１４０のような取り外し不可能なメモリ・インタフェースを通してシステム・バス１２１に接続され、磁気ディスク・ドライブ１５１と光ディスク・ドライブ１５５は、一般に、インタフェース１５０のような取り外し可能なメモリ・インタフェースによってシステム・バス１２１に接続される。
【００２１】
上述し、図１に示したドライブとその関連するコンピュータ記憶媒体は、コンピュータ１１０に対して、コンピュータ読取可能命令、データ構造、プログラム・モジュール、および他のデータの記憶域を提供する。図１では、例えば、ハードディスク・ドライブ１４１が、オペレーティング・システム１４４、アプリケーション・プログラム１４５、他のプログラム・モジュール１４６、およびプログラム・データ１４７を記憶するとして示す。これらのコンポーネントは、オペレーティング・システム１３４、アプリケーション・プログラム１３５、他のプログラム・モジュール１３６、およびプログラム・データ１３７と同一であるか、あるいは異なることがありうることに留意されたい。オペレーティング・システム１４４、アプリケーション・プログラム１４５、他のプログラム・モジュール１４６、およびプログラム・データ１４７には異なる数字が割り当てられ、少なくともそれらが異なる複製であることを示す。
【００２２】
ユーザはキーボード１６２、一般にマウス、トラックボール、またはタッチ・パッドと呼ばれるポインティング・デバイス１６１のような入力装置を通して命令と情報をコンピュータに入力する。他の入力装置（図示せず）はマイクロホン、ジョイスティック、ゲーム・パッド、パラボラ・アンテナ、スキャナ、タッチ・スクリーン、ライティング・タブレット、等を含むことができる。これらおよび他の入力装置は、システム・バスと結合したユーザ入力インタフェース１６０を通して演算処理装置１２０に接続されることが多いが、パラレルポート、ゲームポートまたはＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）のような、他のインタフェースおよびバス構造によって接続してもよい。
【００２３】
また、モニタ１９１または他種のディスプレイ装置もまた、ビデオ・インタフェース１９０のようなインタフェースを介してシステム・バス１２１と接続される。モニタに加えて、コンピュータはスピーカ１９７やプリンタ１９６などの他の周囲の出力装置を含んでもよく、これらを出力インタフェース１９０を介して接続してもよい。
【００２４】
コンピュータ１１０は、リモート・コンピュータ１８０のような１つまたは複数のリモート・コンピュータへの論理接続を用いてネットワーク環境で動作することができる。リモート・コンピュータ１８０は、パーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置または他の一般的なネットワーク・ノードであって良く、一般に、上でコンピュータ１１０に関して説明した要素の多くまたは全てを含むが、図１ではメモリ記憶装置１８１のみを示してある。図１に示した論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）１７１と広域ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含んでもよい。係るネットワーク環境は職場、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
【００２５】
ＬＡＮネットワーク環境で使用される場合、コンピュータ１１０はネットワーク・インタフェースまたはアダプタ１７０を通してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境で使用される場合、コンピュータ１１０は、インターネットのようなＷＡＮ１７３上で通信を確立するためのモデム１７２または他の手段を含むことができる。モデム１７２は、内蔵型または外付け型であってもよく、ユーザ入力インタフェース１６０または他の適切な機構を介してシステム・バス１２１に接続できる。ネットワーク環境では、コンピュータ１１０、またはその一部分に関して図示したプログラム・モジュールを、リモートのメモリ記憶装置に格納してもよい。限定ではなく例として、図１はリモートアプリケーション・プログラム１８５がメモリ装置１８１上に存在するとして示す。示したネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の手段を用いてもよい。
【００２６】
（テレメトリの収集）
前述したように、テレメトリ・データを、レポート、意思決定、ソフトウェアの改良、等のために使用することができる。しかし、品質テレメトリ・データを取得することは部分的には困難である。なぜならば、テレメトリ・データを提供しうる多くのエンティティは、そのテレメトリ・データの送信をオプトインしない。すなわち、そのテレメトリ・データを提供するエンティティに対してテレメトリ・データを追跡するために使用できる情報を提供せず、むしろそのテレメトリ・データをオプトアウトするからである。
【００２７】
テレメトリ・データを自動的に（例えば、ユーザとの対話なしに）、手動で（例えば、ユーザ入力により）、または自動および手動の何らかの組合せ（例えば、一部のテレメトリ・データを自動で取得し、他のテレメトリ・データはユーザ入力を介して取得することができる）で、取得することができる。「テレメトリ・データ」という用語は、コンピュータによって収集でき送信媒体を介して送信できる任意のデータを含むように広く読まれたい。テレメトリ・データの幾つかの例を前述したが、これは、テレメトリ・データのこれらの例が網羅的または包括的であることを意図したものではない。実際、本明細書の教示に基づいて、本明細書に記載の主題の態様の趣旨または範囲から逸脱せずに、本明細書の教示から得うるテレメトリ・データの他の多数の例は当業者に認識されよう。
【００２８】
図２は、本明細書に記載の主題の態様を実装しうる例示的な環境を表すブロック図である。この環境は、エスクロー証明書発行者２０５、１つまたは複数のテレメトリ情報源２１０〜２１４、テレメトリ収集器２１５、ネットワーク２２０を含むことができ、他のエンティティ（図示せず）を含んでもよい。様々なエンティティを互いと相対的に隣接して配置してもよく、または世界中に分散させてもよい。これらの様々なエンティティは、企業内ネットワークおよび企業間ネットワークおよびネットワーク２２０を含む様々なネットワークを介して互いと通信することができる。
【００２９】
エスクロー証明書発行者２０５、テレメトリ情報源２１０〜２１４、およびテレメトリ収集器２１５を１つまたは複数のコンピュータ（例えば、図１に関連して説明したコンピュータ１１０）上のコンポーネントとして実装することができる。本明細書で使用する際、コンポーネントという用語は、装置の全部または一部、１つまたは複数の装置上で実行されている１つまたは複数のソフトウェア・コンポーネント、１つまたは複数のソフトウェア・コンポーネントおよび１つまたは複数の装置の何らかの組合せ、等を含むように読まれたい。
【００３０】
幾つかの実施形態では、上述のエンティティの１つまたは複数を同一サイトまたは単一のコンピュータに配置することができる。例えば、エスクロー証明書発行者２０５およびテレメトリ収集器２１５を特定のサイトに一緒に配置することができる。
【００３１】
エスクロー証明書発行者２０５は、テレメトリ・データの送受信と関連して使用できる証明書または他のデータを生成するエンティティである。他の実施形態では、エスクロー証明書発行者２０５は、証明書を発行し、その証明書を求めているテレメトリ情報源にその証明書を提供することができる。上記の証明書または他のデータは、エスクロー証明書発行者２０５がその証明書を発行したことを検証するために使用できる情報を含む。これを、例えば、証明書を、テレメトリ収集器が知っている証明書発行者鍵で識別子を署名することによって行うことができる。上記の証明書または他のデータは、送信エンティティの正体は含まない。そのかわり、証明書は数字、文字列、等のような識別子を含む。その識別子は、テレメトリ・データを受信するエンティティに対する送信エンティティを識別しない。
【００３２】
エスクロー証明書発行者２０５は、テレメトリ情報を送信するエンティティを識別する情報を含むことができる。例えば、エスクロー証明書発行者２０５は、エンティティの名前と連絡先の情報を含むことができる。さらに、エスクロー証明書発行者２０５は、証明書に基づいて特定のエンティティを識別することができる。
【００３３】
しかし、テレメトリ・データを送信するエンティティを特定するために、エスクロー証明書発行者２０５上の情報を使用することを回避するため、エスクロー証明書発行者２０５を、テレメトリ収集器２１５を運用する企業と独立した企業によって、運用することができる。代替または追加として、エスクロー証明書発行者２０５上の情報が、テレメトリ・データを送信するエンティティに関する識別情報を取得するために用いられないことを確実にする法的な保証をすることができる。
【００３４】
一実施形態では、エスクロー証明書発行者２０５およびテレメトリ収集器２１５を、エスクロー証明書発行者２０５上に含まれる情報がテレメトリ・データを送信するエンティティを特定するために使用されないという法的な保証を有する同じ企業によって制御することができる。
【００３５】
一実施形態では、エスクロー証明書発行者２０５は、証明書を要求するエンティティに秘密鍵を提供することができる。エンティティがテレメトリ・データを送信すると、そのエンティティは、秘密鍵を用いてそのテレメトリ・データを署名することができる。
【００３６】
証明書は、テレメトリ送信者を他のテレメトリ送信者から区別するためにテレメトリ収集器によって使用できるが、テレメトリ送信者、証明書のバージョン、有効期間、送信者エンティティによってテレメトリ・データを署名するために使用される秘密鍵に対応する公開鍵、エスクロー証明書発行者に関する情報、他のデータ、等を特定するためには使用できない、証明書を要求するエンティティに関連付けられた識別子を含む他の情報も含むことができる。
【００３７】
テレメトリ収集器２１５がテレメトリ・データを受け取ると、テレメトリ収集器２１５は、エスクロー証明書発行者２０５によって発行された正当な証明書を有するエンティティによってそのテレメトリ・データが署名されたことを検証する。この検証は、信頼の連鎖を検証すること、証明書が破棄されておらずまたは有効期限切れとなっていないことを判定すること、等を含む共通公開鍵基盤（ＰＫＩ）規則に従ってもよい。証明書にはテレメトリ収集器２１５に対する送信エンティティを特定する情報は含まれないので、テレメトリ・データを送信するエンティティはテレメトリ収集器２１５に対して匿名である。
【００３８】
別の実施形態では、証明書をエスクロー証明書発行者２０５から求めるエンティティは、前述の公開鍵／秘密鍵の機構の代わりに認証コードを提供され得る。認証コードは、テレメトリ情報源が、エスクロー証明書発行者２０５と通信し、認証コードをエスクロー証明書発行者２０５から受け取ったという証拠を提供するためにテレメトリ情報源が使用できるデータである。一実施形態では、認証コードは、数値、文字列、ビットまたはバイトの列、上述したものの組合せ、等を含むことができる。一実施形態では、認証コードを対称鍵として使用することができ、および認証コードを使用して、テレメトリ・データが正当なテレメトリ情報源によって送信されたことを証明するために使用できるハッシュ値を生成することができる。認証コードを使用して、匿名的に認証することができ、および／または、テレメトリ情報源とテレメトリ収集器の間の安全なチャネル（例えば、暗号化されたチャネル）を生成することができる。
【００３９】
テレメトリ情報源がテレメトリ・データを送信すると、テレメトリ情報源は認証コードをテレメトリ収集器２１５に（例えば、安全なチャネルを介して）送信し、その認証コードを用いてテレメトリ・データのハッシュを生成し、そのハッシュをテレメトリ収集器２１５に送信し、あるいは、認証コードを使用して、テレメトリ・データがその認証コードを有する情報源によるものであることを示すことができる。テレメトリ・データが認証されたテレメトリ情報源によるものであることを検証するために、テレメトリ収集器２１５は、正当な認証コードのリストをエスクロー証明書発行者２０５から取得することができるが、認証コードを特定のエンティティに関連付ける情報は有さない。テレメトリ・データをテレメトリ情報源から受信したことに関連して、テレメトリ収集器２１５は認証コード（または、テレメトリ情報源が認証コードを有するという証拠）を受け取ることができ、その認証コードをその正当な認証コードのリストで検証することができる。認証コードが正当で、テレメトリ情報源が（以下のように）信頼できると考えられる場合、テレメトリ収集器２１５はテレメトリ・データも受信することができる（拒否または廃棄しなくともよい）。
【００４０】
前述の機構によって提供される匿名性により、テレメトリ・データを送信するエンティティは、自身の機密情報が安全なままであると確信することができ、したがってそのエンティティがテレメトリ・データの送信をオプトインし、またはそのテレメトリ・データをオプトアウトしないように促すことができる。
【００４１】
テレメトリ・データの情報源が信頼できないかまたは誤ったテレメトリ・データを提供しているとテレメトリ収集器２１５が判定する場合には、テレメトリ収集器２１５は、この特定の識別子を有する証明書で署名された他の全てのテレメトリ・データを無視すると決めることができる。一実施形態では、テレメトリ収集器２１５は、証明書に含まれる識別子のリストを、各識別子と関連付けられたデータの品質の指示と共に記憶することができる。別の実施形態では、テレメトリ収集器２１５は、信頼できないテレメトリ・データまたは誤ったテレメトリ・データを送信すると考えられる、証明書の識別子のリストを記憶することができ、このリストを使用して、エンティティが送信するテレメトリ・データをその証明書を用いて無視することができる。複数のテレメトリ収集器がテレメトリ・データの収集に関与する場合、テレメトリ収集器は、証明書または他の識別子に関連付けられたエンティティによって提供されたデータの信頼性の順位を共有することができる。
【００４２】
高度な攻撃者は、悪徳な情報を送信するために複数の異なる証明書を取得しようと試みることがある。この攻撃に対抗するため、エスクロー証明書発行者２０５から新たな証明書を取得することに関するコストを導入することができる。このコストは、例えば、金銭的なものであってもよく、または、１組の手動による動作を含むものであってもよい。このコストを、潜在的なテレメトリ情報源をオプトインさせる必要性のバランスを取るのに十分な程度に低めに計算することができるが、大量の証明書が自動的に取得されることを防ぐための障壁を表現するのに十分な程度に高めに計算することもできる。
【００４３】
複数の証明書を取得するための別の障壁として、エスクロー証明書発行者２０５は、証明書を求めるエンティティの身元を確認するための措置を取ることができる。かかる措置には、例えば、政府の部局を利用すること、支払いのインフラを利用すること、人手による検証、アドレスの検証を利用すること、サードパーティのデータベースおよびサービスを利用すること、ヒューリスティクスを利用すること、等を含めることができる。
【００４４】
テレメトリ・データを送信するエンティティは、秘密鍵を用いてデータを署名し、証明書をそのテレメトリ・データとともに送信することができる。テレメトリ・データを受信するテレメトリ収集器２１５は、証明書内のデータを用いることでそのテレメトリ・データが正当に署名されたことを検証することができる。例えば、テレメトリ収集器２１５は、その証明書が、エスクロー証明書発行者２０５の公開鍵を用いてエスクロー証明書発行者２０５によって署名されたことを検証することができる。さらに、テレメトリ収集器２１５は、証明書に含まれる公開鍵を用いることによってテレメトリ・データに関連付けられたテレメトリ情報源の署名を検証することができる。署名の検証には、当業者に公知なハッシュを用いてもよい。
【００４５】
上述の環境はエスクロー証明書発行者２０５、５つのテレメトリ情報源２１０〜２１４、およびテレメトリ収集器２１５を含むが、本明細書に記載の主題の態様の趣旨または範囲から逸脱せずに、より多くのこれらのエンティティ、より少ないこれらのエンティティ、またはこれらのエンティティの別の組合せおよび他のものを使用してもよいことは理解されよう。さらに、その環境に含まれるエンティティおよび通信ネットワークを、本明細書に記載の主題の趣旨または範囲から逸脱せずに、当業者によって理解される様々な方法で構成してもよい。
【００４６】
図３は、本明細書に記載の主題の態様に従って構成した例示的なシステムのコンポーネントを表すブロック図である。図３に示すコンポーネントは例示的なものであり、必要なまたは含まれうるコンポーネントを全て包含することを意味するものではない。他の実施形態では、本明細書に記載の主題の態様の趣旨または範囲から逸脱せずに、図３に関連して説明するコンポーネントおよび／または機能を他のコンポーネント（図示または図示せず）に含めるか、またはサブコンポーネント内に配置してもよい。幾つかの実施形態では、図３に関連して説明するコンポーネントおよび／または機能を複数の装置（例えば、図２に示す複数のエンティティ）に分散させてもよい。
【００４７】
図３を参照すると、装置３０５はテレメトリ収集器３１０、記憶装置３４０、および通信機構３４５を含むことができる。テレメトリ収集器３１０は、テレメトリ受信器３１５、証明書検証器３２０、信頼性コンポーネント３２５、証明書ＩＤ追跡器３３０を備えることができる。テレメトリ収集器３１０は、図２のテレメトリ収集器２１５と対応しうる。
【００４８】
通信機構３４５によって、装置３０５は図２に示す他のエンティティと通信することができる。通信機構３４５は、ネットワーク・インタフェースもしくはアダプタ１７０、モデム１７２、または図１に関連して説明した通信を確立するための他の任意の機構であってもよい。
【００４９】
記憶装置３４０はデータを記憶できる任意の記憶媒体である。データという用語は、情報、プログラム・コード、プログラム状態、プログラム・データ、テレメトリ・データおよびテレメトリ関連データ、他のデータ、等を含むように読まれたい。記憶装置３４０は、ファイル・システム、データベース、ＲＡＭのような揮発性メモリ、他の記憶装置、それらの何らかの組合せ、等を備えることができ、記憶装置３４０を複数の装置に分散させてもよい。記憶装置３４０は外部または内部にあってもよく、装置３０５に対して内部および外部の両方にあるコンポーネントを含んでもよい。
【００５０】
テレメトリ受信器３１５は、証明書と関連してテレメトリ・データを受信するように動作可能である。上述のように、証明書は、その証明書がエスクロー証明書発行者によって発行されたことを検証するためには使用できるが、その証明書に含まれない追加のデータなしにはテレメトリ・データを送信したエンティティの身元を決定するためには使用できない情報を含む。かかる情報の例には、証明書を他の証明書から区別するが、追加の情報なしにはその証明書に関連付けられたエンティティを特定しない、数字または他のバイト列がある。
【００５１】
証明書検証器３２０は、証明書がエスクロー証明書発行者によって発行されたことを検証するように動作可能である。これは、例えば、証明書に含まれる署名がエスクロー証明書発行者によるものであることを検証するものであり、この検証には、エスクロー証明書発行者に関連付けられた公開鍵を用いることを含めてもよい。
【００５２】
信頼性コンポーネント３２５は、エスクロー証明書発行者との信頼関係を確立するように動作可能である。この文脈では、「信頼関係」は、証明書がエスクロー証明書発行者によって発行されたか否かを判定するために使用しうる公開鍵または他の情報を取得することを含むことができる。一例では、信頼関係の確立は、テレメトリ・データが正当なテレメトリ情報源によって送信されたことを検証するために使用しうる対称鍵を交換するものであってもよい。別の例では、信頼関係の確立は、正当な認証コードのリストを取得するものであってもよい。「信頼関係」は、当業者によって理解される他のＰＫＩ機構を含んでもよい。
【００５３】
証明書ＩＤ追跡器３３０は、様々な証明書と関連して受信したテレメトリ・データの信頼性を追跡するように動作可能とすることができる。各証明書は当該証明書を他の証明書から区別する識別子を含み、信頼できない情報源からのテレメトリ・データを拒否または廃棄するときに、この識別子を使用することができる。追跡データを記憶装置３４０に格納してもよい。
【００５４】
図４〜５は、本明細書に記載の主題の態様に従って起こりうる動作を一般的に表す流れ図である。説明の簡潔さのため、図４〜５と関連して説明する方法を、一連の動作として図示し説明する。本明細書に記載の主題の態様が、図示した動作によって限定されず、および／または動作順序によって限定されないことは理解されよう。一実施形態では、動作は以下で説明する順序で起こる。しかし、他の実施形態では、動作を並列的に、別の順序で、および／または本明細書で提示し説明する他の動作とともに、起こってもよい。さらに、本明細書に記載の主題の態様に従う方法を実装するために、図示した全ての動作が要求されるわけではない。さらに、この方法を、状態図を介した一連の相互に関連する状態として、またはイベントとして表現してもよいことは当業者には理解されよう。
【００５５】
図４を参照すると、ブロック４０５で動作が開始する。ブロック４１０で、エスクロー証明書発行者との信頼関係が確立される。例えば、図２を参照すると、テレメトリ収集器２１５が、エスクロー証明書発行者２０５との信頼関係を確立する。前述のように、エスクロー証明書発行者２０５は、テレメトリ・データの提供意思を示しているエンティティに証明書を発行する。一実施形態では、エスクロー証明書発行者２０５との信頼関係を確立することには、エスクロー証明書発行者２０５が証明書を署名する秘密鍵に対応する公開鍵を取得することを含めてもよい。別の実施形態では、エスクロー証明書発行者２０５との信頼関係を確立することには、正当な認証コードをエスクロー証明書発行者２０５から取得することを含めてもよい。
【００５６】
ブロック４１５で、テレメトリ・データに関連付けられた証明書をテレメトリ情報源から受け取る。例えば、図２を参照すると、テレメトリ収集器２１５は、証明書をテレメトリ情報源２１０から受け取ることができる。テレメトリ情報源２１０は、この証明書を前もってエスクロー証明書発行者２０５から取得していてもよい。前述のように、証明書は、その証明書が正当であることを検証するために使用できるが、証明書に含まれない追加のデータなしに、テレメトリ情報源を制御するエンティティを決定するためには使用できない情報を含む。
【００５７】
ブロック４２０で、証明書が正当であるか否かに関する判定を行う。証明書が正当である場合、動作はブロック４３０に進み、そうでなければ動作はブロック４２５に進む。例えば、図３を参照すると、証明書検証器３２０が、受け取った証明書を検証する。正当であるとは、ここで使用する場合は、信頼されるエスクロー証明書発行者から証明書が発行されたこと、証明書が有効期限切れでないこと、および証明書が破棄されていないこと、を示す。
【００５８】
ブロック４２５で、証明書に関連付けられたテレメトリ・データが必要に応じて拒否され、または破棄される。例えば、図３を参照すると、証明書が正当でないと証明書検証器３２０が判定される場合、テレメトリ受信器３１５は、その証明書に関連付けられた任意の入力テレメトリ・データを拒否または廃棄することができる。
【００５９】
ブロック４３０で、証明書に関連付けられた情報源が低品質データまたは誤ったデータを与えることが分かっているか否かについて判定する。かかる情報源がかかるデータを与えることが分かっている場合には、動作はブロック４２５に進む。そうでなければ、動作はブロック４３５に進む。例えば、図３を参照すると、証明書ＩＤ追跡器３３０は、証明書が低品質の情報源または既知の誤った品質の情報源に関連付けられているか否かを判定する。
【００６０】
ブロック４３５で、何かあれば他の動作を行う。他の動作には、例えば、テレメトリ・データを受信して格納すること、テレメトリ情報源の信頼性を判定すること、フィードバックをテレメトリ・データに提供すること、等を含めることができる。
【００６１】
図５を参照すると、ブロック５０５で動作が開始する。ブロック５１０で、証明書をエスクロー証明書発行者から受け取る。例えば、図２を参照すると、テレメトリ情報源（例えば、テレメトリ情報源２１０〜２１４のうち１つ）が、証明書をエスクロー証明書発行者２０５から取得することができる。この証明書を第１のデータにおいて具体化することができる。この第１のデータは、テレメトリ受信器に送信されたテレメトリ・データが、その証明書にアクセスしうるエンティティによって送信されたことを検証するために使用できるものである。テレメトリ情報源を特定しない識別子をテレメトリ収集器に提供することにより、証明書はテレメトリ受信器に関してエンティティに匿名性を提供する。
【００６２】
ブロック５１５で、テレメトリ・データを取得して、テレメトリ収集器に送信する。例えば、図２を参照すると、テレメトリ情報源がテレメトリ・データを取得して、テレメトリ収集器２１５に送信する。
【００６３】
ブロック５２０で、テレメトリ・データを任意で署名する。テレメトリ収集器に対するテレメトリ・データに署名を添える実施形態では、テレメトリ情報源は、証明書に含まれる公開鍵に対応する秘密鍵を用いて、テレメトリ・データを署名することができる。テレメトリ情報源が認証コードを使用してテレメトリ・データをテレメトリ収集器に提供する実施形態では、テレメトリ情報源は、その認証コードを安全なチャネルを介してテレメトリ収集器に送信し、テレメトリ・データのハッシュをそのテレメトリ・データと共に送信し、または、その認証コードを別の方法で使用して、テレメトリ情報源がその認証コードを所有していることを示すことができる。
【００６４】
ブロック５２５で、テレメトリ・データ送付に関連する証明書をテレメトリ収集器に送信する。例えば、図２を参照すると、テレメトリ情報源がテレメトリ・データ送付に関連する証明書をテレメトリ収集器２１５に送信する。
【００６５】
ブロック５３０で、もし起こりうるなら、他の動作が起こりうる。例えば、テレメトリ情報源は、テレメトリ・データの受信の確認応答、テレメトリ情報源がテレメトリ・データに関連付けられた誤りを補正することを支援する情報、他のデータ、等を受信することができる。
【００６６】
前述の詳細な説明から分かるように、匿名かつ追跡可能なテレメトリを収集することに関する態様を説明した。本明細書に記載の主題の態様は様々な修正および代替的な構成を許容することができ、そのうち特定の実施形態を図面で示し、上で詳述した。しかし、クレームした主題の態様を開示した特定の形態に限定する意図はなく、むしろ、本明細書に記載の主題の様々な態様の趣旨および範囲内にある全ての修正、代替的な構成、および均等物を包含することが本意である。
【図１】
0005485994.tif 000002
【図２】
0005485994.tif 000003
【図３】
0005485994.tif 000004
【図４】
0005485994.tif 000005
【図５】
0005485994.tif 000006