(57)【要約】      （修正有）【課題】悪意のある利用者からの不正な証明書と信頼されたエンティティからの正当な証明書との区別をする装置および方法を提供する。【解決手段】コンピューティングデバイスは、様々な異なるサイトから受信したデジタル証明書を分析し、デジタル証明書の記録を保持する。コンピューティングデバイスから遠隔で動作する証明書審査サービスもまた、様々な異なるサイトにアクセスし、かつサービスがこれらのサイトから受信するデジタル証明書の記録を保持する。目的サイトへのアクセス要求に応答して、コンピューティングデバイスは、目的サイトから現在のデジタル証明書を受信する。コンピューティングデバイスは、目的サイトに関する以前に受信したデジタル証明書、証明書審査サービスから受信した確認証明書、ならびにデジタル証明書および／または目的サイトの付加的な特性に基づいて、現在のデジタル証明書が本物であるか不正なものであるかを判定する。【選択図】図５
2019013009.tif 000002
【特許請求の範囲】
【請求項１】
１つ又は複数の目的サイトについての、以前に受信された証明書を、特定の時間の間のみ記憶するように構成されたサイト証明書(certificate)マッピングストア(mapping store)と、
目的(target)サイトから現在の証明書を取得し、
前記現在の証明書を前記サイト証明書マッピングストア内の前記目的サイトに関する証明書と比較し、
前記現在の証明書が前記サイト証明書マッピングストア内の前記証明書に合致することに応答して、前記現在の証明書が本物であると判定し、かつ
前記現在の証明書が前記サイト証明書マッピングストア内の前記証明書に合致しないことに応答して、遠隔の証明書審査(screening)サービスから前記目的サイトに関する１つまたは複数の確認(confirmation)証明書を取得し、かつ前記１つまたは複数の確認証明書が現在の証明書に合致することに応答して、前記現在の証明書が不正(fraudulent)なものであるか否かを判定するために前記現在の証明書の１つまたは複数の特性を分析する、
ように構成された、不正証明書検出(fraudulent certificate detection)モジュールと、
を含み、
前記遠隔の証明書審査サービスからの前記目的サイトに関する前記1つ又は複数の確認証明書が、受信されたか否かに関わらず、前記以前に受信された証明書が、所定の時間の間のみ記憶される、
装置。
【請求項２】
前記サイト証明書マッピングストア内の前記目的サイトに関する前記証明書が、前記目的サイトに関する、直も最近に受信した証明書を含む、請求項１に記載の装置。
【請求項３】
前記目的サイトに関する前記１つまたは複数の確認証明書が、前記目的サイトに関する複数の確認証明書を含み、前記複数の確認証明書のそれぞれが、複数の証明書監視(monitoring)システムの異なる１つから取得されており、複数の証明書監視システムの各々が、互いに、遠隔の、地理的に異なる領域に位置する、請求項１に記載の装置。
【請求項４】
前記複数の確認証明書のそれぞれが前記現在の証明書に合致する場合にのみ、前記現在の証明書が不正なものであるか否かを判定するために前記現在の証明書の１つまたは複数の特性を分析する、請求項３に記載の装置。
【請求項５】
前記現在の証明書の前記１つまたは複数の特性が、現在の証明書のフィールドの不一致、現在の証明書の発行者変更、特定の現在の証明書のフィールドの欠落、ネットワークアドレスの異常、トップレベルドメインの異常、および証明書ライフサイクルの異常を含む、請求項１に記載の装置。
【請求項６】
前記不正証明書検出モジュールがさらに、前記１つまたは複数の特性に基づき、前記目的サイトに関する１つまたは複数の以前に受信した証明書と比較して不正な変更が前記現在の証明書に対してなされているか否かを判定するように構成されている、請求項１に記載の装置。
【請求項７】
証明書審査サービスにおいて複数の証明書監視システムから複数のサイトに対する証明書を受信するステップであって、前記複数の証明書監視システムのそれぞれが地理的に異なる領域に物理的に配置されている、ステップと、
前記複数の証明書監視システムから以前に受信した前記証明書を特定の時間の間のみ格納するステップと、
コンピューティングデバイスから、前記複数のサイトの目的サイトに関する確認証明書(confirmation certificate)の要求を受信するステップと、
前記複数の証明書監視システムから受信した前記目的サイトに関する前記証明書を取得するステップと、
前記コンピューティングデバイスに前記証明書審査サービスから、前記目的サイトに関する１つまたは複数の確認証明書として前記目的サイトに関する証明書の表示を返送するステップと、を含み、
前記遠隔の証明書審査サービスからの前記目的サイトに関する前記1つ又は複数の確認証明書が、受信されたか否かに関わらず、前記以前に受信された証明書が、所定の時間の間のみ記憶される、
方法。
【請求項８】
前記複数のサイトに関する前記証明書を受信する前記ステップが、前記確認証明書に対する前記要求と独立に前記複数の証明書監視システムから前記証明書を受信するステップと、前記証明書審査サービスのサイト証明書マッピングストア内に前記証明書を格納するステップを含む前記証明書を格納する前記ステップと、前記要求に応答して前記証明書を前記証明書審査サービスの前記サイト証明書マッピングストアから前記証明書を取得するステップを含む前記証明書を取得する前記ステップと、を含む、請求項７に記載の方法。
【請求項９】
前記目的サイトに関する前記確認証明書の前記要求に応答して前記目的サイトに関する前記証明書を前記複数の証明書監視システムから要求するステップと、
前記証明書を前記複数の証明書監視システムから要求するステップに応答して前記証明書を受信するステップを含む前記受信ステップと、をさらに含む、請求項７に記載の方法。
【請求項１０】
前記複数のサイトのそれぞれがＷｅｂページを含む、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の一実施例は、例えば、不正デジタル証明書の自動検出に関する。
【背景技術】
【０００２】
[0001]コンピュータ技術の進歩に伴い、コンピュータは、ますます人々の生活の中で一般的なものとなってきた。コンピュータを使用する場合、人々は、秘密の、または個人的な性質の情報を１つまたは複数の他の装置に伝達したくなることがある。しかしながら、このような通信を実行する場合、利用者は、通常、利用者が通信する１つまたは複数の他の装置が、利用者に信頼されているエンティティによって実際に運用されているという証明を望む。例えば、利用者が、製品を購入するために利用者のクレジットカード番号を他の装置に伝達している場合、利用者は、通常、他の装置が実際に、自分が信頼するエンティティ（例えば、製品が購入された会社、クレジットカード発行会社、など）により運用されているという証明を希望する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0002]このような証明が実行され得る１つの方法は、暗号化キーを特定のエンティティと関連付けることができるデジタル証明書の使用である。しかしながら、悪意のある利用者は、利用者が不正な証明書を受け入れさせようとする様々な異なる攻撃を実行して、その結果、悪意のある利用者により運用される装置と利用者が通信し、かつ秘密のあるいは個人的な情報を悪意のある利用者に提供させることができる。問題は、現在のコンピュータにとって、悪意のある利用者からの不正な証明書と信頼されたエンティティからの正当な証明書との区別をすることが利用者には難しいことにある。
【課題を解決するための手段】
【０００４】
[0003]本概要は、簡略化された形態で以下の詳細な説明でさらに説明される選択された概念を紹介するために提供される。本概要は、特許請求の範囲の主題の主要な特徴または本質的な特徴を特定することを意図するものではなく、特許請求された主題の範囲を制限するために使用されることを意図するものでもない。
【０００５】
[0004]１つまたは複数の態様によれば、デバイスは、サイト証明書マッピングストアおよび不正証明書検出モジュールを含む。不正証明書検出モジュールは、目的サイトから現在の証明書を取得し、かつ現在の証明書をサイト証明書マッピングストア内の目的サイトに関する証明書と比較するように構成される。現在の証明書が、サイト証明書マッピングストア内の証明書に合致している場合、現在の証明書は本物であると判定される。現在の証明書がサイト証明書マッピングストア内の証明書に合致していない場合、目的サイトに関する１つまたは複数の確認証明書が遠隔の証明書審査サービスから取得され、１つまたは複数の確認証明書が現在の証明書に合致する場合、現在の証明書の１つまたは複数の特性が、現在の証明書が不正であるか否かを判定するために分析される。
【０００６】
[0005]１つまたは複数の態様によれば、複数のサイトに対する証明書は、証明書審査サービスにおいて、それぞれが地理的に異なる地域に置かれている複数の証明書監視システムから受信される。複数の証明書監視システムから受信された証明書が格納される。複数サイト中の目的サイトに関する確認証明書の要求は、コンピューティングデバイスから受信される。複数の証明書監視システムから受信された目的サイトに関する証明書が取得され、目的サイトに関する証明書の表示が、目的サイトに関する１つまたは複数の確認証明書としてコンピューティングデバイスに返却される。
【０００７】
[0006]同一の番号が、同様の特徴を参照するために図面全体を通して使用される。
【図面の簡単な説明】
【０００８】
【図１】[0007]１つまたは複数の実施形態による、不正デジタル証明書自動検出を実装する例示的システムを示す図である。
【図２】[0008]１つまたは複数の実施形態による、サイト識別子をサイトに対する証明書に対応づける例示的レコードを示す図である。
【図３】[0009]１つまたは複数の実施形態による、証明書審査サービスにより実行される例示的プロセスを示す流れ図である。
【図４】[0010]１つまたは複数の実施形態による、現在の証明書とローカルなサイト証明書マッピングストアからの証明書が合致しない状況を示す例示的システムを示す図である。
【図５】[0011]１つまたは複数の実施形態による、不正な証明書を自動的に検出するための例示的プロセスを示す流れ図である。
【図６】[0012]本明細書に記載の様々な技術を実装することができる１つまたは複数のシステムおよび／またはデバイスを表している例示的システムを示す図である。
【発明を実施するための形態】
【０００９】
[0013]不正デジタル証明書自動検出が本明細書で説明される。コンピューティングデバイスは、自動的に不正なデジタル証明書を検出するために（例えば、インターネットまたは他のネットワークを介してアクセスされる）様々な異なるサイトから受信したデジタル証明書を分析する。コンピューティングデバイスは、これらの様々なサイトから受信するデジタル証明書の記録を保持する。コンピューティングデバイスから遠隔でかつ独立に動作する証明書審査サービスもまた、これらの様々な異なるサイトにアクセスし、かつ当該サービスがこれらのサイトから受信するデジタル証明書の記録を保持する。目的サイトへのアクセス要求に応答して、コンピューティングデバイスは、現在のデジタル証明書を目的サイトから受信する。コンピューティングデバイスは、現在のデジタル証明書を目的サイトから以前に受信した最後のデジタル証明書と比較し、現在のデジタル証明書が最後のデジタル証明書と合致するか否かを判定する。この照合は、様々な情報に基づくことができ、以下に説明するように厳密な照合から緩やかな照合に及ぶ。現在のデジタル証明書と最後のデジタル証明書が合致する場合、現在のデジタル証明書は本物であると判定される。
【００１０】
[0014]しかしながら、現在のデジタル証明書と最後のデジタル証明書が合致しない場合、コンピューティングデバイスは、証明書審査サービスから１つまたは複数の確認用デジタル証明書を取得する。これらの確認用デジタル証明書は、証明書審査サービスが様々な異なるサイトから受信し、かつ証明書審査サービスのデジタル証明書の記録中に保持している証明書である。コンピューティングデバイスは、現在のデジタル証明書を１つまたは複数の確認用デジタル証明書と比較する。現在のデジタル証明書が、１つまたは複数の確認用デジタル証明書に合致しない場合、現在のデジタル証明書は、不正なデジタル証明書であると判定される。一方、現在のデジタル証明書が、１つまたは複数の確認用デジタル署名に合致する場合、デジタル証明書および／またはサイトの付加的な特性が、現在のデジタル証明書が本物であるか不正なものであるかを判定するために分析される。
【００１１】
[0015]図１は、１つまたは複数の実施形態による、不正デジタル証明書自動検出を実装する例示的システム１００を示す。システム１００は、ネットワーク１０８を介して１つまたは複数（ｍ）のサイト１０４および証明書審査サービス１０６と通信することができるコンピューティングデバイス１０２を含む。ネットワーク１０８は、インターネット、ローカルエリアネットワーク（ＬＡＮ）、電話網、イントラネット、他の公衆および私設
ネットワーク、これらの組合せなどを含む、様々な異なるデータネットワークの１つまたは複数であり得る。
【００１２】
[0016]コンピューティングデバイス１０２は、物理的装置または仮想的装置など、様々な異なる種類の装置であり得る。例えば、コンピューティングデバイス１０２は、デスクトップコンピュータ、サーバーコンピュータ、ラップトップまたはネットブックコンピュータ、タブレットまたはノートパッドコンピュータ、移動局、娯楽機器、ディスプレイ装置に通信可能に接続されたセットトップボックス、テレビまたは他の表示装置、携帯電話または他の無線電話機、ゲームコンソール、車載コンピュータ、などのような物理的装置であり得る。コンピューティングデバイス１０２はまた、物理的装置上で走行する仮想マシンなどの仮想的装置でもあり得る。仮想マシンは、様々な異なる種類の物理的装置（例えば、上記の様々な種類のいずれか）上で走行し得る。したがって、コンピューティングデバイス１０２は、実体のあるメモリおよび処理資源を有する完全なリソースを備えた装置（例えば、パーソナルコンピュータ、ゲームコンソール）から限定されたメモリおよび／または処理資源を有する低リソースの装置（例えば、従来のセットトップボックス、携帯ゲームコンソール）に及び得る。
【００１３】
[0017]サイト１０４は、コンピューティングデバイス１０２によりアクセスされ得る様々な異なる装置または他の資源である。サイト１０４は、ユニフォームリソースロケータ（ＵＲＬ）または他のユニフォームリソース識別子（ＵＲＩ）を使用するなどの、様々な態様で識別され得る。１つまたは複数の実施形態では、サイト１０４は、インターネットおよび／または他のデータネットワークを介してアクセスされるＷｅｂページである。他の実施形態では、サイト１０４は、コンピューティングデバイス上で走行する他のプログラム、記憶装置、表示装置などのような、他の資源である。サイト１０４は、様々な異なるコンピューティングデバイスまたは他のハードウェア装置を使用して実装され得る。コンピューティングデバイス１０２の考察と同様に、サイト１０４は、実体のあるメモリおよび処理資源を有する完全なリソースを備えた装置から限定されたメモリおよび／または処理資源を有する低リソースの装置に及ぶ装置を使用して実装され得る。
【００１４】
[0018]本明細書に記載された技術は、デジタル証明書、または単に証明書と呼ばれる、について論じるものである。証明書は、暗号鍵（典型的には公開鍵／秘密鍵の対の公開鍵）および暗号鍵を特定のエンティティに関係付けるまたは結びつける特定のエンティティを識別する。以下により詳細に説明するように、証明書が本物であると判定される場合、コンピューティングデバイス１０２は、証明書内で識別された公開鍵が証明書内で識別された特定のエンティティと関連付けられているものと仮定することができる。証明書はまた、証明機関であり得る、信頼できる機関によりデジタル的に署名されている。コンピューティングデバイス１０２は、一般的には、１つまたは複数の信頼される機関の記録を保持し、かつ、証明書が改ざんされて（例えば、改変されて）いないことを、証明書がこれらの信頼の置ける機関の１つによりデジタル的に署名されていることを検証することにより確認することができる。
【００１５】
[0019]いくつかの状況では、証明書は、証明機関によりデジタル的に署名されたルート証明書までの１つまたは複数の追加的証明書によって連鎖されている。例えば、最後の証明書として参照された証明書は、関連した証明書を有するエンティティＡによりデジタル的に署名され、エンティティＡと関連した証明書は、関連した証明書を有するエンティティＢによりデジタル的に署名され、エンティティＢと関連した証明書は、関連した証明書を有するエンティティＣによりデジタル的に署名され、かつエンティティＣと関連した証明書は、ルート証明書と呼ばれる関連した証明書を有する証明機関によりデジタル的に署名され得る。エンティティＡ、ＢおよびＣと関連した証明書は、中間証明書と呼ばれる。証明書チェーンが、コンピューティングデバイス１０２に信頼された証明機関によりデジ
タル的に署名されたルート証明書を含む場合、コンピューティングデバイス１０２は、証明書が改ざんされていないことを確認する。
【００１６】
[0020]証明書が改ざんされていないと証明され得たとしても、証明書が、依然として不正な証明書であり得ることに留意すべきである。例えば、悪意のある利用者は、コンピューティングデバイス１０２によって改ざんされていないと確認されているが、不正でもある証明書を提供することができる。本明細書で説明する技術は、不正な証明書を自動的に本物の証明書と区別することを可能とする。本物の証明書は、暗号鍵を、公開鍵が発行されていている、またはこの暗号鍵を使用することが認証されている特定のエンティティと関連付けている証明書を指す。不正な証明書は、暗号鍵を、認証されていないまたは不正な方法でエンティティと関連付けている証明書を指す。
【００１７】
[0021]コンピューティングデバイス１０２は、サイトアクセスモジュール１１２、不正証明書検出モジュール１１４、およびサイト証明書マッピングストア１１６を含む。サイトアクセスモジュール１１２は、コンピューティングデバイス１０２の利用者からの要求、コンピューティングデバイス１０２の別のコンポーネントまたはモジュールからの要求などに応答して、特定のサイト１０４にアクセスする。アクセスされたサイトはまた、目的サイトとも呼ばれる。
【００１８】
[0022]本明細書に記載された不正デジタル証明書自動検出技術は、サイト１０４にアクセスし、かつサイト識別子および証明書をサイト１０４から受信することに関連して説明される。証明書が、通常、暗号化された通信またはサイトが特定のエンティティにより運用されているといういくらかの保証が望まれる他の状況に関連して使用されることに留意すべきである。例えば、証明書は、通常、Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ（ＳＳＬ）プロトコルを実装しているサイトなどの、セキュリティで保護された通信をサポートしているサイトに対して使用される。サイトが特定のエンティティによって運用されているという相当の保証が望まれておらず、かつアクセスされた時に証明書を提供していない、コンピューティングデバイスにアクセス可能な多くのサイトが存在し得る。このようなサイトは、不正証明書検出モジュール１１４により無視され、このようなサイトのサイト識別子の記録は、受信も保持もされる必要がない。
【００１９】
[0023]不正証明書検出モジュール１１４は、サイト１０４に関する証明書に対するレコードマッピングサイト識別子である、サイト証明書マッピングストア１１６を維持する。マッピングストア１１６は、フラッシュメモリ、磁気ディスク、データベースなどといった、様々な種類の記憶装置を使用して実装され得る。不正証明書検出モジュール１１４は、サイト１０４から受信した証明書が本物であるか不正なものであるかを判定するためにマッピングストア１１６を使用する。不正証明書検出モジュール１１４はまた、証明書審査サービス１０６から受信した確認証明書および／または（例えば、サイト１０４から受信した証明書の）付加的特性を使用して、以下でより詳細に説明するように、このサイト１０４から受信した証明書が本物であるか不正なものであるかを判定することができる。
【００２０】
[0024]不正証明書検出モジュール１１４は、様々な異なる態様で実装され得る。１つまたは複数の実施形態では、モジュール１１４は、サイトアクセスモジュール１１２の一部として含まれる。例えば、モジュール１１２は、Ｗｅｂブラウザーであり、またモジュール１１４は、Ｗｅｂブラウザーのプラグインまたは拡張モジュールであり得る。あるいは、モジュール１１４は、コンピューティングデバイス１０２の証明書信頼性確認システムの一部である、コンピューティングデバイス１０２のオペレーティングシステムの一部に含まれる、コンピューティングデバイス１０２のＷｅｂクローラーまたはサーチエンジンの一部に含まれる、コンピューティングデバイス１０２上で独立して実行可能な、または解釈可能なプログラムである、などといった他の態様で実装されても良い。
【００２１】
[0025]サイト証明書マッピングストア１１６は、サイト１０４に関する証明書に対するレコードマッピングサイト識別子を保持する。サイト１０４がサイトアクセスモジュール１１２によりアクセスされる都度（例えば、要求がサイト１０４に送信される都度）、サイト識別子および証明書が、サイト１０４によりサイトアクセスモジュール１１２に返送される。マッピングストア１１６は、様々なサイト１０４から受信した証明書に対応づけるレコードを保持する。１つまたは複数の実施形態では、証明書が特定のサイト１０４から受信される都度、この証明書の表示がマッピングストア１１６に記録される。特定のサイト向けに受信した証明書は、証明書が本物であるか不正なものであるかに拘らずマッピングストア１１６に記録され得る、あるいは証明書が本物である場合にのみマッピングストア１１６に記録され得る。
【００２２】
[0026]サイト証明書マッピングストア１１６は、サイト１０４を識別するために様々な異なる識別子を使用することができる。サイト１０４が互いに区別されることを可能とする任意の様々な異なる識別子が、サイト１０４の識別子として使用され得る。１つまたは複数の実施形態では、サイト１０４の識別子は、サイト１０４のドメインネームサービス（ＤＮＳ）名およびサイト１０４に関連付けられた１組の１つまたは複数のネットワークアドレス（例えば、インターネットプロトコル（ＩＰ）アドレス）である。あるいは、サイト１０４は、サイト１０４のＤＮＳ名のみを使用する、サイト１０４に関連付けられた１組のネットワークアドレスのみを使用するなどの、他の態様で識別されても良い。
【００２３】
[0027]各サイト識別子に対して、識別されたサイトに関する以前に受信された任意の数の証明書が、サイト証明書マッピングストア１１６内に保持され得る。マッピングストア１１６は、任意選択として、以前に受信された証明書を特定の時間の間（例えば、数ヶ月間、１年間）のみ格納する、かつ／または特定の数（例えば、５０または１００）の以前に受信された証明書のみを格納するように構成され得る。
【００２４】
[0028]１つまたは複数の実施形態では、それぞれの以前に受信された証明書に対して、最後の証明書ならびに証明書チェーン内の任意の他の証明書（中間およびルート証明書を含む）は、マッピングストア１１６内に格納される。あるいは、他の情報が、以前に受信された証明書に関してマッピングストア１１６内に格納され得る。例えば、最後の証明書のみが格納され得る、最後およびルート証明書のみが格納され得るなど。あるいは、証明書それ自体を格納するのではなく、最後の証明書（および任意選択で他の証明書および証明書チェーン）にハッシュ関数を適用することにより生成されたハッシュ値、最後の証明書（任意選択で他の証明書および証明書チェーンを含む）に含まれる公開鍵、最後の証明書（任意選択で他の証明書および証明書チェーンを含む）内の特定の領域の値、などといった、証明書を識別する情報が格納され得る。
【００２５】
[0029]特定のサイト１０４に関して以前に受信された複数の証明書は、マッピングストア１１６内に保持され得る。特定のサイト１０４に関してごく最近受信された証明書（サイト１０４がごく最近アクセスされた時に特定のサイト１０４から受信された証明書）はまた、この特定のサイト１０４に関する最後の証明書と呼ばれる。特定のサイト１０４に関して以前に受信された証明書の１つまたは複数は、特定のサイト１０４から受信された現在の証明書が、以下に詳細に説明するように、不正なものであるか否か決定するために使用され得る。
【００２６】
[0030]図２は、１つまたは複数の実施形態による、サイト識別子をサイトに関する証明書に対応づける例示的レコード２００を示す。レコード２００は、上述のように、様々な異なる任意の態様でサイトを識別するサイト識別子２０２を含む。レコード２００はまた、以前に受信された複数の証明書２０４および２０６（１）、２０６（ｘ）を含む。証明
書２０４は、サイトに関する最後の証明書であり、他の以前に受信された証明書が、複数（ｘ）の以前に受信された証明書２０６（１）、・・・、２０６（ｘ）である。
【００２７】
[0031]図２には示されていないが、様々な追加の情報が、任意選択でレコード２００中に含まれ得ることに留意すべきである。例えば、各証明書２０４および２０６（１）、２０６（ｘ）に対して、証明書が不正なものである、または本物であると判定されたかの表示が、レコード２００中に含まれ得る。
【００２８】
[0032]図１に戻って、ストア１１６が、コンピューティングデバイス１０２により、目的サイト１０４から受信された証明書が不正なものであるか否かを判定することに使用されることから、サイト証明書マッピングストア１１６は、ローカルストアとも呼ばれることに留意すべきである。マッピングストア１１６は、コンピューティングデバイス１０２の一部として、あるいは外部記憶装置、ネットワーク１０８を介してアクセスされるネットワーク記憶装置などの、コンピューティングデバイス１０２と通信する別個の装置の一部として実装され得る。
【００２９】
[0033]証明書審査サービス１０６は、証明書監視システム１２２およびサイト証明書マッピングストア１２４を含む。証明書監視システム１２２は、証明書収集モジュール１２６および証明書マッピング検索モジュール１２８を含む。証明書収集モジュール１２６は、上述のサイトアクセスモジュール１１２と同様に、サイト１０４にアクセスし、かつサイト１０４からサイト識別子および証明書を受信する。モジュール１２６により受信されたサイト識別子および証明書は、サイト証明書マッピングストア１２４内に記録される。マッピングストア１２４は、マッピングストア１１６に類似しているが、サイトアクセスモジュール１１２ではなく、証明書監視システム１２２により維持されている。マッピングストア１２４は、任意選択で、証明書が最初に参照された日付および／または時刻、証明書が最後に参照された日付および／または時刻、サイトが証明書監視システム１２２または１３０によりアクセスされた回数などといった、各証明書および／またはサイトに関する付加的なフィールドを含む。マッピングストア１２４は、マッピングストア１１６と同様にサイト識別子および以前に受信された証明書を格納し、かつこれらのサイト識別子および以前に受信した証明書は、マッピングストア１１６に関連して上述のように様々な形態を取ることができる。
【００３０】
[0034]証明書収集モジュール１２６は、様々な時間にサイト１０４にアクセスすることができる。１つまたは複数の実施形態では、証明書収集モジュール１２６は、新しいサイト１０４を識別し、かつアクセスするために、ネットワーク１０８を介してアクセス可能なサイト１０４をクロールまたはスキャンする。証明書が以前に受信されている以前にアクセスしたサイトは、規則的にまたは不規則に証明書収集モジュール１２６により再度アクセスされ得る。したがって、サイト１０４は、サイト１０４の１つに関する確認証明書に対する要求とは独立にモジュール１２６によりアクセスされ得る。他の実施形態では、証明書収集モジュール１２６は、別のコンポーネントまたは装置からの要求に応答して特定のサイト１０４にアクセスする。例えば、証明書収集モジュール１２６は、コンピューティングデバイス１０２からの特定のサイト１０４に関する確認証明書の要求に応答して、特定のサイト１０４にアクセスすることができる。
【００３１】
[0035]証明書マッピング検索モジュール１２８は、サイト１０４に関する確認証明書についてのコンピューティングデバイス１０２（例えば、不正証明書検出モジュール１１４）から要求を受信する。特定のサイト１０４に関する確認証明書は、サイト１０４にアクセスする場合に証明書収集モジュール１２６により受信された特定のサイト１０４に関する証明書を指す。この確認証明書は、より詳細に以下に説明するように、コンピューティングデバイス１０２により当該サイト１０４から受信された現在の証明書が不正なもので
あるか否かを判定するために不正証明書検出モジュール１１４により使用され得る。
【００３２】
[0036]１つまたは複数の実施形態では、サイト１０４に関する確認証明書についてのコンピューティングデバイス１０２からの要求に応答して、証明書マッピング検索モジュール１２８は、サイト１０４に関する以前に受信された１つまたは複数の証明書をマッピングストア１２４から取得し、かつ取得した１つまたは複数の証明書をサイト１０４に関する１つまたは複数の確認証明書としてコンピューティングデバイス１０２に返送する。モジュール１２８は、サイト１０４に関するごく最近受信した証明書、あるいは１つまたは複数の他の証明書（例えば、サイト１０４に関する特定の数の証明書、特定の期間に受信したサイト１０４に対する証明書、など）を取得することができる。
【００３３】
[0037]あるいは、証明書収集モジュール１２６は、コンピューティングデバイス１０２からのサイト１０４に関する確認証明書についての要求に応答してサイト１０４にアクセスし（かつ任意選択でサイト１０４に関して新しく取得した証明書をマッピングストア１２４内に格納し）、かつモジュール１２８は、新しく取得した証明書をサイト１０４に関する確認証明書としてコンピューティングデバイス１０２に返却することができる。モジュール１２６が、マッピングストア１２４から１つまたは複数のサイト１０４に関する証明書、および／またはサイト１０４に関する確認証明書についてのコンピューティングデバイス１０２からの要求に応答して新しく取得した証明書は、証明書審査サービス１０６により、あるいはコンピューティングデバイス１０２により判定され得る（例えば、コンピューティングデバイス１０２から受信された要求は、いずれが返送されるべきであるかを表示することができる）。
【００３４】
[0038]証明書審査サービス１０６は、１つまたは複数の装置（例えば、コンピューティングデバイス１０２に関連して上述した任意の様々な異なる種類の装置）により実装される。証明書審査サービス１０６は、コンピューティングデバイス１０２から物理的に遠隔に位置しており、かつネットワーク１０８を介してコンピューティングデバイスにアクセス可能である。１つまたは複数の実施形態では、証明書審査サービス１０６は、ほぼ地理的に同一の領域内（例えば、同一のサーバーファームまたはデータ施設内）の１つまたは複数の装置により実装される。他の実施形態では、証明書審査サービス１０６は、１つまたは複数（ｎ）の証明書監視システム１３０を活用する。このような実施形態では、証明書審査サービス１０６はまた、少なくとも部分的には１つまたは複数の証明書監視システム１３０により実装されると言及され得る。
【００３５】
[0039]監視システム１３０は、異なる都市、異なる州、異なる国、異なる大陸などといった、地理的に異なる領域に物理的に設置され得る。各監視システム１３０は、証明書収集モジュール１２６に類似した証明書収集モジュールを含む。したがって、各監視システム１３０は、様々な時間にサイト１０４にアクセスし、かつ各アクセスに応答してサイト１０４からサイト識別子および証明書を受信することができる。このようなアクセスで受信した証明書は、監視システム１３０により（例えば、サイト証明書マッピングストア１２４に類似した監視システム１３０自身のサイト証明書マッピングストア内に）保持される、あるいはサイト証明書マッピングストア１２４内に格納され得る。このような状況では、どの証明書をどの証明書審査サーバーが受信したかという表示もまた、マッピングストア１２４内に保持され得る。
【００３６】
[0040]複数の監視システム１３０を用いることにより、確認証明書は、異なる地理的場所内の異なるサーバーから受信され得る。これらの確認証明書は、すべて同一であり得る、またはある状況においては異なり得る。したがって、例えば、ある特定の監視システム１３０が、悪意のある利用者による攻撃の対象となっていたならば、この特定の監視システム１３０により提供された確認証明書は、他の監視システム１３０から提供される確認
証明書と異なることになるであろう。この相違は、不正証明書検出モジュール１１４により、以下でより詳細に説明するように、サイト１０４からコンピューティングデバイス１０２により受信した現在の証明書が不正なものであるか否かを判定することに使用され得る。
【００３７】
[0041]１つまたは複数の証明書監視システム１３０が用いられている状況では、確認証明書の要求に応答して、証明書マッピング検索モジュール１２８は、証明書監視システム１２２および監視システム１３０の１つまたは複数により１つまたは複数の証明書（例えば、ごく最近受信した証明書）の表示をコンピューティングデバイス１０２に返送する。この表示は、例えば、返送される確認証明書の数、ならびに確認証明書自体であり得る。あるいは、この表示は、証明書自体を返送するのではなく、以下でより詳細に説明するように証明書の比較においてコンピューティングデバイス１０２により使用された情報が返送され得るというような、他の形態を取ることができる。複数の証明書監視システム１２２が同一の証明書を受信した場合は、これらの証明書の１つのコピーのみが、コンピューティングデバイス１０２に返送されればよい。各証明書監視システム１２２および１３０の識別子（例えば、名称または他の表示）ならびに各証明書監視システムが受信した証明書の表示もまた、コンピューティングデバイス１０２に返送され得る。あるいは、証明書監視システム１２２および１３０の各々によりごく最近受信された証明書の表示は、各証明書監視システムの表示およびこれらの監視システムの各々に対するごく最近受信した証明書などの、他の形態を取ることができる。
【００３８】
[0042]確認証明書の要求は、様々な態様で受信され得る。１つまたは複数の実施形態では、証明書マッピング検索モジュール１２８は、以下のアプリケーション・プログラミング・インターフェイス・メソッドを公開している。
【００３９】
ｇｅｔＣｅｒｔｉｆｉｃａｔｅｆｏｒＳｉｔｅ（ｓｓｌＳｉｔｅ，Ｌｏｃａｔｉｏｎ）
ここで、サイトパラメータ「ｓｓｌＳｉｔｅ」は、確認証明書が要求される目的サイトを特定し、ロケーションパラメータ「Ｌｏｃａｔｉｏｎ」は、１つまたは複数の証明書監視システムを特定する。ロケーションパラメータは、証明書が１つまたは複数の確認証明書に含まれるかについて証明書監視システムをコンピューティングデバイス１０２が特定することを可能とする。証明書マッピング検索モジュール１２８は、１つまたは複数の確認証明書として、識別された証明書監視システムにより受信された証明書のみを返送する。ロケーションパラメータは、アプリケーション・プログラミング・インタフェース・メソッドのデフォルト値であり得る、すべてのロケーション値を持つことができ、証明書監視システムのすべてによって受信された証明書が、１つまたは複数の確認証明書として返送されるべきであることを示す。
【００４０】
[0043]１つまたは複数の実施形態では、コンピューティングデバイス１０２は、複数の証明書監視システム１３０から証明書を順次受信することができる、証明書審査サービス１０６と通信する。したがって、サービス１０６は、すべての証明書監視システム１２２および１３０へのアクセスの中心をコンピューティングデバイス１０２に提供する。あるいは、各証明書監視システム１３０は、証明書審査サービス１０６として実装され得る。このような状況では、コンピューティングデバイス１０２は、複数の異なる証明書審査サービスの各々に個別にアクセスすることができ、かつ複数の異なる証明書審査サービスの各々から別々の確認証明書を取得することができる。
【００４１】
[0044]図３は、１つまたは複数の実施形態に従って、証明書審査サービスにより実行される例示的プロセス３００を示す流れ図である。プロセス３００は、証明書審査サービスの１つまたは複数の装置により実施され、かつソフトウェア、ファームウェア、ハードウェア、またはこれらの組合せの中に実装され得る。プロセス３００は、１組の行為として
示され、かつ様々な行為の動作を実行するために示された順序に限定されない。プロセス３００は、証明書審査サービスにより実行される例示的プロセスであり、証明書審査サービスにより実行されるプロセスについての付加的な考察は、異なる図を参照して本明細書に含まれる。
【００４２】
[0045]プロセス３００において、証明書監視システムは、サイトに関する証明書を取得する（行為３０２）。図１を参照して上記で上述した証明書監視システム１２２および１３０などの、１つまたは複数の異なる証明書監視システムが使用され得る。
【００４３】
[0046]サイトに関する証明書を取得するために、証明書監視システムは、サイトにアクセスし、かつサイトから識別子および証明書を受信する（行為３０４）。証明書は、サイト識別子に対応づけてサイト証明書マッピングストアに追加される（行為３０６）。
【００４４】
[0047]証明書監視システムは、上述のように行為３０２において様々な時点でサイトに関する証明書を取得することができる。証明書を取得すると同時に、証明書審査サービスは、要求者に確認証明書を提供することができる（行為３０８）。これらの要求者は、図１のコンピューティングデバイス１０２などのコンピューティングデバイスである。
【００４５】
[0048]要求者に確認証明書を提供するために、サービスは、目的サイトと呼ばれる特定のサイトに関する証明書の要求を受信する（行為３１０）。証明書審査サービスは、目的サイトに関する確認証明書をサイト証明書マッピングストアから取得する（行為３１２）。審査サービスは、上述のように、各証明書監視システムにより受信された１つまたは複数の証明書の表示を取得することができる。取得された証明書それ自体などの、目的サイトに関する取得された証明書の表示は、１つまたは複数の確認証明書として要求者に返送される（行為３１４）。あるいは、証明書審査サービスは、目的サイトにアクセスし、かつ確認証明書の少なくとも１つとして新規に取得した証明書を返送することができる。
【００４６】
[0049]図１に戻って、サイトアクセスモジュール１１２が、目的サイト１０４にアクセスすると、目的サイト１０４に関するサイト識別子および証明書が、上述のように、サイトアクセスモジュール１１２に返送される。この返送された証明書は、現在の証明書とも呼ばれる。不正証明書検出モジュール１１４は、目的サイトに関する証明書をサイト証明書マッピングストア１１６から取得し、かつ現在の証明書を目的サイトに関して取得した証明書と比較して、現在の証明書と取得した証明書が合致するか否かを判定する。多くの本明細書中の考察において、サイト証明書マッピングストア１１６から取得した証明書は、目的サイトに関する最後の証明書である、あるいは、サイト証明書マッピングストア１１６から取得した証明書は、他の以前に受信した証明書でもあり得る。加えて、１つまたは複数の付加的な証明書もまた、サイト証明書マッピングストア１１６から取得され得て、かつ最後の証明書に類似した１つまたは複数の付加的な証明書の各々に対して、比較がなされることに留意されるべきである。
【００４７】
[0050]不正証明書検出モジュール１１４は、２つの証明書が、様々な異なる態様において合致するか否かを判定することができる。比較は、単に最後の証明書に基づく、単に最後の証明書およびルート証明書に基づく、証明書チェーン全体に基づくなどであり得る。比較される情報（比較基準とも呼ばれる）は、証明書自体、証明書の特徴およびフィールド、証明書から得られた他の情報、証明書外の文脈上の情報、などであり得る。例えば、比較される情報は、１つまたは複数のハッシュ関数を証明書に適用することにより生成されたハッシュ値であり得る、証明書の特徴またはフィールドの値であり得る、証明書の特徴またはフィールドの値に対して１つまたは複数のハッシュ関数を適用することにより生成されたハッシュ値であり得る、などであり得る。さらなる例として、比較される情報は、コンピューティングデバイスにより参照されるＩＰアドレス、証明書が取得された目的
サイトアドレス、サイトおよびコンピューティングデバイスの地理、目的サイトそれ自身の知名度、などであり得る。この情報の任意の組合せが、比較基準として使用され得る。
【００４８】
[0051]２つの証明書が合致するか否かは、厳密な照合から緩やかな照合までの、様々な態様で判定され得る。厳密な照合とは、２つの証明書について比較される情報が同じ（同一）であるか否かという２つの証明書照合を指す。緩やかな照合とは、証明書について比較される情報が同じではない可能性があるかも知れない２つの証明書の照合を指す。例えば、緩やかな照合は、少なくとも比較される情報の閾値（例えば、８０％）が同じ（同一）であるか否かという２つの証明書の照合、または両証明書が、特定の証明書の種類または証明書の集団の一員であるか否かという２つの証明書の照合を指すことができる。証明書の種類または集団の成員であることは、証明書の１つまたは複数の特徴またはフィールドに基づき判定され得る（例えば、証明書の特定の１つまたは複数の特徴またはフィールドが特定の１つまたは複数の値を有する場合に、証明書は特定の証明書の種類または集団の一員である）。
【００４９】
[0052]１つまたは複数の実施形態では、２つの証明書が合致するか否かを判定するために比較される情報は、時間に順応して、様々な事象または状態に応答して変化し得る。例えば、比較により、例え現在の証明書が不正なものではなくても２つの証明書が合致しないことが判定される状況を指す、誤警報の数が、（例えば、（複数のコンピューティングデバイス１０２からの誤警報の表示を受信することができる）コンピューティングデバイス１０２または証明書審査サービス１０６によって）監視され得る。誤警報は、コンピューティングデバイス１０２の利用者または管理者、証明書審査サービス１０６の管理者などによるといった、異なる態様で識別され得る。どの情報が比較され、かつ２つの証明書が合致しないという結果になったという表示が保持され、少なくとも誤警報の閾値の数が、特定の情報が比較された結果である場合、比較される情報は、この特定の情報を除外するために変更することができる。
【００５０】
[0053]現在の証明書と最後の証明書が合致する場合、不正証明書検出モジュール１１４は、現在の証明書が本物であると判定する。モジュール１１４はまた、目的サイトに関するサイト識別子に対応付けられて、現在の証明書をマッピングストア１１６に追加する。したがって、目的サイトがアクセスされる次回には、現在、現在の証明書である証明書が、目的サイトに関する最後の証明書となることになる。
【００５１】
[0054]しかしながら、現在の証明書と最後の証明書が合致しない場合、不正証明書検出モジュール１１４は、目的サイトに関する確認証明書を証明書審査サービス１０６から要求する。目的サイトに関する１つまたは複数の確認証明書が、この要求に応答してサービス１０６から受信され、かつモジュール１１４は、目的サイトに関する現在の証明書を目的サイトに関する１つまたは複数の確認証明書と比較する。目的サイトに関する少なくとも１つの確認証明書が目的サイトに関する現在の証明書に合致しない場合、モジュール１１４は、現在の証明書が不正なものであると判定する。一方、目的サイトに関する１つまたは複数の確認証明書のすべてが、目的サイトに関する現在の証明書に合致する場合、現在のデジタル証明書が確認されるか、または不正なものであるかを判定するために証明書および／または目的サイトの追加の特性が、分析される。
【００５２】
[0055]本明細書中のいくつかの説明は、コンピューティングデバイス１０２上で実行される証明書の比較に言及しているが、代替として、比較が１つまたは複数の他の装置上で実行され得ることに留意されるべきである。例えば、不正証明書検出モジュール１１４は、目的サイトに関する現在の証明書を証明書審査サービス１０６に提供することができ、かつサービス１０６は、目的サイトに関する現在の証明書を目的サイトに関する１つまたは複数の確認証明書と比較することができる。サービス１０６は、比較のために同一の基
準、または代替として異なる基準を使用することができる（例えば、コンピューティングデバイス１０２およびサービス１０６の一方は、厳密な照合を使用し、他方は緩やかな照合を使用することができる）。
【００５３】
[0056]一例として、不正証明書検出モジュール１１４は、目的サイトに関する現在の証明書を証明書審査サービス１０６に提供することができ、かつサービス１０６は、目的サイトに関する現在の証明書を緩やかな照合を使用して目的サイトに関する１つまたは複数の確認証明書と比較することができる。サービス１０６は、サービス１０６により実行された比較の結果の表示（例えば、証明書合致、証明書合致せず、証明書は合致している可能性がある、サービスでは、証明書が合致しているか否か判定することができない、など）、ならびに、任意選択として、１つまたは複数の確認証明書をモジュール１１４に返送することができ、かつ、モジュール１１４は、任意選択で、現在の証明書を厳密な照合を使用して１つまたは複数の確認証明書と比較することができる。モジュール１１４は、現在の証明書を１つまたは複数の確認証明書と比較するか否かをサービス１０６からの結果に基づいて決定することができる。例えば、証明書が合致しないことを、結果が示している場合、モジュール１１４は比較を実行せず、そうでなければ、（例えば、結果が、証明書が合致している、または合致している可能性があることを示している場合）、モジュール１１４は比較を実行することになろう。モジュール１１４が返送された結果に起因して比較を実行しないであろうとサービス１０６が認識する状況においてなど、サービス１０６は、モジュール１１４に結果は返送するが、１つまたは複数の確認証明書は返送しないことに留意すべきである。
【００５４】
[0057]図４は、１つまたは複数の実施形態による、現在の証明書およびローカルなサイト証明書マッピングストアからの証明書が合致しない状況を示す例示的システム４００を示す。システム４００は、コンピューティングデバイス１０２、目的サイト１０４、および証明書審査サービス１０６を含む。示された例示的システム４００では、悪意のある利用者が、コンピューティングデバイス１０２を攻撃し、かつコンピューティングデバイス１０２に目的サイト１０４に関する不正な証明書を提供している。しかしながら、証明書審査サービス１０６は、この攻撃に影響されていない。したがって、サービス１０６からのアクセス要求４０４に応答して、目的サイト１０４は、証明書４０６を返送する。
【００５５】
[0058]しかしながら、コンピューティングデバイス１０２が、アクセス要求４１０を提出することにより目的サイト１０４にアクセスしようと試みる場合、悪意のある利用者による攻撃の結果として、アクセス要求４１０は、悪意のあるサイト４０２の経路付される。悪意のあるサイト４０２は、アクセス要求４１０に応答して現在の証明書４１２を返送する。コンピューティングデバイス１０２は、現在の証明書４１２をコンピューティングデバイス１０２のマッピングストア内の最後の証明書と比較し、最後の証明書と不正な証明書が合致しないと判定する。次いで、コンピューティングデバイス１０２は、証明書審査サービス１０６に確認証明書の要求４１４を送信し、応答の中で１つまたは複数の確認証明書４１６を受信する。コンピューティングデバイス１０２は、現在の証明書４１２と確認証明書４１６を比較し、不正な証明書と確認証明書が合致しないと判定する。したがって、コンピューティングデバイス１０２は、現在の証明書４１２が不正なものであると判定する。
【００５６】
[0059]図５は、１つまたは複数の実施形態に従って不正な証明書を自動的に検出するための例示的プロセス５００を示す流れ図である。プロセス５００は、図１のコンピューティングデバイス１０２の不正証明書検出モジュール１１４などの、コンピューティングデバイスにより実行され、ソフトウェア、ファームウェア、ハードウェア、またはこれらの組合せの中に実装され得る。プロセス５００は、１組の行為として示されるが、様々な行為の動作を実行するために示された順序に制限を加えるものではない。プロセス５００は
、不正な証明書を自動的に検出するための例示的プロセスであり、不正な証明書の自動的に検出についての付加的な考察は、異なる図を参照して本明細書に含まれる。
【００５７】
[0060]プロセス５００では、証明書は、目的サイトから取得される（行為５０２）。
この証明書は、上述のように現在の証明書と呼ばれる。
[0061]ローカルなサイト証明書マッピングストアが目的サイトから受信した以前の証明書を含んでいるかどうかに関して、検査がなされる（５０４）。プロセス５００を実装しているコンピューティングデバイスが以前に目的サイトにアクセスしていない状況では、ローカルのサイト証明書マッピングストアは、目的サイトから受信した以前の証明書をなんら含んでいないことになる。
【００５８】
[0062]プロセス５００は、目的サイトの識別子と合致する証明書が、ローカルなサイト証明書マッピングストア中に発見されるか否かに基づき進行する（行為５０６）。目的サイト識別子に合致する証明書がローカルなサイト証明書マッピングストア内に発見されれば、目的サイトに関する最後の証明書が目的サイトに関する現在の証明書に合致するか否かに関して検査がなされる（行為５０８）。
【００５９】
[0063]目的サイトに関する最後の証明書が、目的サイトに関する現在の証明書に合致する場合、現在の証明書は、本物であると判定される（行為５１０）。現在の証明書は、目的サイト識別子に対応付けられて、ローカルなサイト証明書マッピングストアに格納される（行為５１２）。次いで、目的サイトに関する現在の証明書が本物であると判定されたことから、処理は、正常であるとして（例えば、現在の証明書が確認された場合に目的サイトと通信することを含めて）進行することができる。
【００６０】
[0064]しかしながら、行為５０６において目的サイトの識別子と合致する証明書がローカルなサイト証明書マッピングストア内に発見されない場合、または最後の証明書が行為５０８において現在の証明書と合致しない場合、目的サイトに関する確認証明書が証明書審査サービスに要求される（行為５１４）。プロセス５００は、現在の証明書が証明書審査サービスから受信した確認証明書に合致するか否かに基づき進行する（行為５１６）。
【００６１】
[0065]１つまたは複数の確認証明書が、上述のように、証明書審査サービスから受信され得る。現在の証明書が１つまたは複数の確認証明書のすべてに合致しない場合、現在の証明書は、不正なものであると判定される（行為５１８）。しかしながら、現在の証明書が、１つまたは複数の確認証明書のすべてに合致している場合、現在の証明書は、本物でも、または不正なものでもあり得る。そこで、証明書および／または目的サイトの１つまたは複数の付加的な特性が、現在の証明書が本物であるか否かを判定するために分析される（行為５２０）。
【００６２】
[0066]現在の証明書が目的サイトに関する最後の証明書に合致していないことに基づき、目的サイトが合法的に目的サイトの証明書を変更しているか否か、または現在の証明書が、不正な証明書であるか否かが判定できないことから、証明書および／または目的サイトの付加的な特性が行為５２０において分析される。例えば、目的サイトは、期限切れまたはほぼ期限切れの証明書を更新する場合、目的サイトの暗号鍵を変更する場合、証明書にデジタル的に署名するために使用される証明機関を変更する場合、などといった、様々な理由のために目的サイトの証明書を合法的に変更することができる。これらの合法的変更は、現在の証明書が目的サイトの最後の証明書に合致しないが、確認証明書と合致する（例えば、証明書監視システムが変更された証明書をすべて受信している場合）という結果をもたらし得る。しかしながら、コンピューティングデバイスおよび証明書審査サービス両者を攻撃している悪意のある利用者はまた、現在の証明書が目的サイトに関する最後の証明書と合致しないが確認証明書と合致するという結果をもたらし得る。
【００６３】
[0067]現在の証明書、以前に受信した証明書、目的サイトなどの様々な異なる特性が分析され得る。一般に、不正な証明書を本物の証明書と区別するために使用され得る任意の特性が、分析され得る。これらの特性は、目的サイトに関する１つまたは複数の以前に受信した証明書に関連して、目的サイトに関する現在の証明書に対して不正な変更がなされているか否かを判定するために分析される。１つまたは複数の実施形態では、分析は、証明書のフィールドの不一致、証明書発行者の変更、特定の証明書のフィールドの欠落、ネットワークアドレスの異常、トップレベルのドメインの異常、および／または証明書ライフサイクルの異常を識別することである。分析は、これらの様々な特性の任意の組合せに基づくことができる。例えば、分析は、証明書フィールドの不一致および証明書発行者の変更を識別するが、ネットワークアドレスの異常を識別しないことであり得る。別な例として、分析は、１つまたは複数の証明書フィールドの不一致、１つまたは複数の証明書発行者の変更、１つまたは複数の特定の証明書フィールドの欠落、１つまたは複数のネットワークアドレスの異常、１つまたは複数のトップレベルのドメインの異常、および／または１つまたは複数の証明書ライフサイクルの異常を識別することであり得る。
【００６４】
[0068]証明書フィールドの不一致を識別するための分析は、証明書の１つまたは複数のフィールド内のデータが証明書の１つまたは複数の他のフィールド内のデータと矛盾しているか否かを検査することを指す。証明書が矛盾するデータを持つフィールドを含む場合、分析では、不正な変更が証明書になされていると判定する。例えば、証明書は、項目名フィールドおよびネットワークアドレスフィールドを含むことができる。証明書のネットワークアドレスフィールド内で識別されたネットワークアドレスが、証明書の項目名フィールド内で識別された名称と矛盾がないか（期待されたネットワークアドレスである）否かに関する検査がなされ得る。特定の名称に対する期待されたネットワークアドレスは、インターネットまたは他のネットワークを介して信頼されるサービスにアクセスすることによる、サイト証明書マッピングストア（コンピューティングデバイスのローカルストアまたは証明書審査サービスのストア）内の目的サイトに関する以前に受信した証明書にアクセスすることによる、などといった、様々な態様で判定され得る。証明書のネットワークアドレスフィールド内で識別されたネットワークアドレスが、証明書の項目名フィールド内で識別された名称と一致していない場合、不正な変更が証明書に対してなされていると判定される。
【００６５】
[0069]証明書発行者の変更を識別するための分析は、証明書にデジタル的に署名した（または証明書チェーン内のルート証明書と関連している）証明機関の種別が、変更されているか否かを検査することを指す。証明機関の種別は、証明機関である組織の種別（例えば、政府機関、民間の機関）、証明機関の利用率（例えば、証明機関が評判よく、かつ多数のサイトにより一般的に使用されているか否か、証明機関が、ほとんど使用されないか否か）などを指す。証明機関の種別は、インターネットまたは他のネットワークを介して信頼されるサービスにアクセスすることによる、証明書のフィールドから、などといった、様々な態様で判定され得る。
【００６６】
[0070]証明機関の種別が変更されているか否かは、サイト証明書マッピングストア（コンピューティングデバイスのローカルストアまたは証明書審査サービスのストア）内の目的サイトに関する以前に受信した証明書中の証明機関を検査して、証明機関が変更されているか否かを判定することによるなどの、異なる態様で判定され得る。証明機関が変更されている場合、証明機関の種別が疑わしい態様に変更されているか否かに関して検査がなされる。変更の疑わしい態様は、様々な方法で識別され、例えば、民間の機関から政府機関への変更、大きな政府機関から小さな政府機関への変更、一般的に使用される証明機関からほとんど使用されない証明機関への変更、ある国の政府機関から別の国の政府機関への変更、特定の政府機関への変更、などであり得る。証明機関の種別が疑わしい態様に変
更されている場合、不正な変更が証明書に対してなされていると判定される。
【００６７】
[0071]特定の証明書フィールドの欠落を識別するための分析は、証明書の特定の１つまたは複数のフィールドが有効なデータを設定されているか否かを検査することを指す。有効なデーは、フィールド用に正しく書式設定されているデータ、（例えば、ＵＲＩの場合の）有効な資源または場所にリンクするまたは識別するデータ、などを指す。証明書が、有効なデータが設定されていない特定の１つまたは複数のフィールドを含む場合、分析では、不正な変更が証明書になされていると判定する。例えば、特定のフィールドは、証明書失効リストフィールドおよびオンライン証明書ステータスプロトコルフィールドを含むことができる。証明書が、有効なデータ設定されたこれらのフィールドの両者を含んでいない場合、不正な変更が証明書に対してなされていると判定される。
【００６８】
[0072]ネットワークアドレスの異常を識別するための分析は、ネットワークアドレス（例えば、ＩＰアドレス）が変更されているか否かを検査することを指す。上述のように、サイト識別子は、目的サイトに関する１組のネットワークアドレスを含むことができ、１組のネットワークアドレスは、サイト証明書マッピングストア（コンピューティングデバイスのローカルストアまたは証明書審査サービスのストア）内に保持される。現在の証明書が受信されるネットワークアドレスが、本物であると判定されている目的サイトに関する以前に受信した証明書に対する１組のネットワークアドレスに含まれていない場合、分析は、不正な変更が証明書に対してなされていると判定する。
【００６９】
[0073]トップレベルドメインの異常を識別するための分析は、目的サイトに関するトップレベルドメインが、証明機関に合致するか否かを検査することを指す。特定の証明機関は、特定のトップレベルドメインに対して証明書にデジタル的に署名する（または証明書チェーン内のルート証明書に関連付けられている）ことを期待されている。例えば、特定の国を指定している（例えば、「．ｕｋ」または「．ｃａ」で終わっている）トップレベルドメインを有する目的サイトに対して、証明書にデジタル的に署名した（または証明書チェーン内のルート証明書に関連付けられている）証明機関は、同一の国からであることを期待されている。証明書にデジタル的に署名する（または証明書チェーン内のルート証明書に関連付けられている）ことを期待されている特定の証明機関が、デジタル的に署名した（または証明書チェーン内のルート証明書に関連付けられている）ことを期待されている証明機関ではない場合、分析は、不正な変更が証明書に対してなされていると判定する。
【００７０】
[0074]証明書のライフサイクルの異常を識別する分析は、目的サイトに関する最後の証明書が期限切れとなっている、または期限切れに近づいているか（例えば、日数または週数の閾値内）否かを検査することを指す。最後の証明書は、上述のようにコンピューティングデバイスのローカルなマッピングストアから取得される。最後の証明書の満了日が過ぎておらず、かつ近づいて（例えば、日数または週数の閾値内）もいない場合、分析は、不正な変更が証明書に対してなされていると判定する。
【００７１】
[0075]これらの異なる特性は、現在の証明書が本物であるか不正なものであるかを判定するために様々な異なる態様で使用され得る。１つまたは複数の実施形態では、少なくとも１つの特性が不正な変更を示す場合、現在の証明書は、不正なものであると判定される。他の実施形態では、少なくとも上述の特性の閾値の数（１より大きい）が不正な変更を示している場合、現在の証明書は、不正なものであると判定される。他の実施形態では、異なる特性は、異なる値が割り当てられ、かつこれらの値は、現在の証明書に対する点数を生成するために結合される（例えば、加算され、または平均化される）。このような実施形態では、現在の証明書に対する点数が、閾値の点数を満足する（より大きいかまたは等しい）場合、現在の証明書は、不正なものであると判定される。
【００７２】
[0076]証明書が不正なものであると判定された場合、様々な異なる応答性処置が取られる。１つまたは複数の実施形態では、目的サイトに関する不正な証明書が識別されてたという通知が、プロセス５００を実装しているコンピューティングデバイスの利用者に表示されるか、または提示される。このことは、利用者が、例えば、目的サイトにアクセスしようとする試みを中止させることを可能とする。あるいは、コンピューティングデバイスの管理者に通知する、不正な証明書の通知を別のコンポーネントまたは装置に送信する、目的サイトにアクセスするために使用されるプログラムを終了させるなどといった、他の処置が取られ得る。さらに、現在の証明書が不正なものであると判定される態様に基づき、異なる処置が取られ得る。例えば、現在の証明書のある特定の特性が、現在の証明書が不正なものであることを示している場合、不正な証明書の通知が、利用者に表示され得るが、一方、現在の証明書の別の特定の特性が、現在の証明書が不正であることを示している場合、目的サイトにアクセスするために使用されるプログラムが停止され得る。
【００７３】
[0077]プロセス５００は、コンピューティングデバイス１０２が目的サイトとの秘話通信のための証明書を信用する以前に実装され得ることに留意されるべきである。証明書が、不正なものであると判定された場合、コンピューティングデバイスが通信のために証明書を信頼する以前に、応答性処置が取られる。したがって、コンピューティングデバイス１０２の利用者は、サイト１０４にアクセスしている間、および機密の、そうでなければ私的な情報が不正な証明書を信頼したために暴露される以前に保護される。
【００７４】
[0078]さらに、証明書が本物であると判定された場合、このような判定の通知が、プロセス５００を実装しているコンピューティングデバイスの利用者に対して（例えば、利用者に信用される証明書を表示する他の方法を補足するために）表示されるか、そうでなければ提示され得ることに留意されるべきである。例えば、ポップアップウインドウが表示されて、目的サイトに関する証明書が本物であることを示すことができる、緑のライトが（例えば、Ｗｅｂブラウザーウインドウの一部に）表示されて、目的サイトに関する証明書が本物であると判定されたことを示すことができる、など。
【００７５】
[0079]本明細書で説明した不正デジタル証明書自動検出技術が使用される場合、従来のデジタル証明書および／または証明機関により実行される処理に対して、変更がなされる必要はないことに留意されるべきである。むしろ、本明細書で説明した不正デジタル証明書自動検出技術は、従来のデジタル証明書を活用して自動的に不正な証明書を検出する。デジタル証明書および／または証明機関により実行される処理は本明細書で説明した技術の実装を容易にするために変更され得るが、このような変更は必要ではない。
【００７６】
[0080]本明細書で説明した不正デジタル証明書自動検出技術が使用される場合、証明書が本物であるか否かの判定が、任意のクォーラム持続原則と独立になされ得ることにもまた留意されるべきである。判定は、特定の証明書がどの程度長い時間受信されているかを示す任意の時間間隔、および／または異なる証明書監視システムまたはコンピューティングデバイスが同一の証明書を受信している数と独立になされる。むしろ、証明書が本物であることは、上述のように、特定の証明書がコンピューティングデバイスにより受信されている時間量、または少なくともいくつかの閾値の数（すべてではなく）の証明書監視サービスが同一の証明書を受信しているか、に何ら依存することなく決定される。
【００７７】
[0081]１つまたは複数の実施形態では、不正証明書検出モジュール１１４および証明書審査サービス１０６それぞれは、様々なストア（例えば、図１のマッピングストア１１６および１２４）内にある基準データを確立するためにウォームアップまたは構成モードで動作する。このウォームアップまたは構成モードで動作している間は、不正なデジタル証明書は検出されない。基準データが取得された後、不正なデジタル証明書の検出が、本明
細書で説明したように実行される。このウォームアップまたは構成モードで動作することにより、不正な証明書に関する誤った警告が削減され得る。
【００７８】
[0082]さらに、不正証明書検出モジュール１１４は、任意選択で、様々な異なる態様で承認された証明書リストを保持またはアクセスすることができる。例えば、承認された証明書リストは、コンピューティングデバイス１０２の利用者または管理者により保持され得る、証明書審査サービス１０６から取得され得る、信頼されるサイト１０４または他の信頼されるサービスから取得され得る、などであり得る。承認された証明書リストは、実行される任意の他の照合または特性分析に拘わらず、本物であると看做される証明書を識別する。したがって、不正証明書検出モジュール１１４は、サイト証明書マッピングストア１１６内の証明書または確認証明書との比較を実行する必要がないが、現在の証明書が、承認された証明書リスト内の証明書に合致する場合、現在の証明書が本物であると判定する。
【００７９】
[0083]さらに、本明細書中の考察では、サイトに関する証明書を記録し、かつ証明書審査サービスからコンピューティングデバイスに確認証明書を返送するサイト証明書マッピングストアに対する参照がなされる。あるいは、証明書自身よりも、様々なサイトから受信した証明書の他の表示が、サイト証明書マッピングストア内に記録され、かつ／または証明書審査サービスによりコンピューティングデバイスに返送され得る。この表示は、例えば、証明書の比較において（例えば、現在の証明書とサイト証明書マッピングストア内の目的サイトに関する証明書との比較において、または現在の証明書と確認証明書との比較において）コンピューティングデバイス１０２により使用される情報であり得る。
【００８０】
[0084]さらに、本明細書で説明した不正デジタル証明書自動検出技術は、様々な異なる使用シナリオをサポートする。コンピューティングデバイスが悪意のある利用者による攻撃の主題ではなく、かつ証明書に対する合法的変更がなされていない状況では、目的サイトに関する現在の証明書は、目的サイトに関する最後の証明書に合致し、かつ現在の証明書は、本物であると判定される。コンピューティングデバイスが悪意のある利用者による攻撃を受けているが、証明書審査サービスは攻撃を受けていない状況では、（コンピューティングデバイスにより保持されている）目的サイトに関する最後の証明書にも、目的サイトに関する確認証明書にも合致しない目的サイトに関する現在の証明書は、現在の証明書が不正なものとして検出されるという結果となる。したがって、利用者は、攻撃について、および利用者が目的サイトであると主張しているサイトを信用すべきでないことを警告され得る。
【００８１】
[0085]コンピューティングデバイスおよび証明書審査サービスの両者が悪意のある利用者による攻撃を受けている状況では、付加的な特性の分析が、現在の証明書が不正なものとして検出されるという結果をもたらす。したがって、利用者は、攻撃および利用者が目的サイトであると主張しているサイトを信用すべきでないことを警告され得る。目的サイトに関する証明書が合法的に変更されている状況では、目的サイトに関する現在の証明書が目的サイトに関する最後の証明書に合致しないとしても、付加的な特性の分析は、現在の証明書が本物として検出されているという結果をもたらす。
【００８２】
[0086]特定の機能が、特定のモジュールを参照して本明細書で説明されるが、本明細書で説明される個々のモジュールの機能が複数のモジュールに分割され、かつ／または複数のモジュールの少なくともいくつかの機能が、単一のモジュールに結合され得ることに留意されるべきである。さらに、動作を実行する本明細書で説明される特定のモジュールは、特定のモジュールそれ自体が動作を実行すること、あるいは特定のモジュールが、動作を実行する（またはその特定のモジュールと共同して動作を実行する）別のコンポーネントまたはモジュールを呼び出す、またはアクセスすることを含む。したがって、動作を実
行する特定のモジュールは、動作を実行するこの特定のモジュールそれ自体、および／または動作を実行するこの特定のモジュールにより呼び出される、またはアクセスされる別のモジュールを含む。
【００８３】
[0087]図６は、本明細書に記載した様々な技術を実装することができる１つまたは複数のシステムおよび／または装置を表している例示的コンピューティングデバイス６０２を含む、例示的システムを６００において一般的に示す。コンピューティングデバイス６０２は、例えば、サービスプロバイダーのサーバー、クライアントに関連した装置（例えば、クライアント装置）、オンチップシステム、および／または任意の他の適切なコンピューティングデバイスまたはコンピューティングシステムであり得る。
【００８４】
[0088]図示された例示的コンピューティングデバイス６０２は、処理システム６０４、１つまたは複数のコンピュータ読み取り可能な媒体６０６、相互に、通信可能に結合される１つまたは複数のＩ／Ｏインターフェイス６０８を含む。示されてはいないが、コンピューティングデバイス６０２はさらに、様々なコンポーネントを相互に結合するシステムバス、または他のデータおよびコマンド伝送システムを含む。システムバスは、メモリバスまたはメモリコントローラー、周辺バス、ユニバーサルシリアルバス、および／または任意の様々なバスアーキテクチャを利用するプロセッサーまたはローカルバスなどの、異なるバス構造の任意の１つまたは組合せを含むことができる。制御およびデータ線などの、様々な他の例もまた、考慮される。
【００８５】
[0089]処理システム６０４は、ハードウェアを使用して１つまたは複数の動作を実行するための機能を表している。したがって、処理システム６０４は、処理装置、機能ブロックなどとして構成され得るハードウェア要素６１０含むように示されている。このことは、特定用途向け集積回路、あるいは１つまたは複数の半導体を使用して形成された他の論理デバイスのようなハードウェア内の実装を含む。ハードウェア要素６１０は、ハードウェア要素６１０が形成されている材料、またはハードウェア要素６１０内に用いられている処理機構によって限定されるものではない。例えば、処理装置は、半導体および／またはトランジスタ（例えば、電子的な集積回路（ＩＣ））で構成され得る。このような文脈において、処理装置実行可能な命令は、電子的に実行可能な命令であり得る。
【００８６】
[0090]コンピュータ読み取り可能な媒体６０６は、メモリ／記憶装置６１２を含むように示されている。メモリ／記憶装置６１２は、１つまたは複数のコンピュータ読み取り可能な媒体に関連したメモリ／記憶装置能力を表す。メモリ／記憶装置６１２は、（ランダムアクセスメモリ（ＲＡＭ）などの）揮発性媒体および／または（リードオンリーメモリ（ＲＯＭ）、フラッシュメモリ、光ディスク、磁気ディスクなどの）不揮発性媒体を含むことができる。メモリ／記憶装置６１２は、固定された媒体（例えば、ＲＡＭ、ＲＯＭ、固定ハードドライブなど）、ならびに可換型媒体（例えば、フラッシュメモリ、可換型ハードドライブ、光ディスクなど）を含むことができる。コンピュータ読み取り可能な媒体６０６は、さらに以下に説明されるように様々な他の方法で構成され得る。
【００８７】
[0091]入出力インターフェイス６０８は、利用者がコマンドおよび情報をコンピューティングデバイス６０２に入力することを可能とし、また様々な入出力装置を使用して情報が利用者および／または他のコンポーネントまたは装置に表示されることを可能とする機能を表している。入力装置の例は、キーボード、カーソル制御装置（例えば、マウス）、（例えば、音声入力用の）マイクロフォン、スキャナー、タッチ機能（例えば、物理的な接触を検出するように構成された容量性または他のセンサー）、（例えば、可視または赤外線周波数などの非可視波長を用いて、ジェスチャーのような接触を伴わない動きを検出することができる）カメラ、などを含む。出力装置の例は、ディスプレイ装置（例えば、モニターまたはプロジェクター）、スピーカー、プリンター、ネットワークカード、触覚
応答装置などを含む。したがって、コンピューティングデバイス６０２は、利用者との対話をサポートするために以下でさらに説明される様々な方法で構成され得る。
【００８８】
[0092]コンピューティングデバイス６０２はまた、証明書使用法モジュール６１４を含む。証明書使用法モジュール６１４は、上述のように様々な不正証明書検出機能を提供する。証明書使用法モジュール６１４は、例えば、図１の不正証明書検出モジュール１１４、図１の証明書審査サービス１０６、または図１の証明書監視システム１３０を実装することができる。
【００８９】
[0093]様々な技術が、ソフトウェア、ハードウェア要素、またはプログラムモジュールの一般的な文脈で本明細書に記載され得る。一般的に、このようなモジュールは、特定のタスクを実行する、または特定のデータ形式を実装する、ルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造などを含む。本明細書で使用されるように用語「モジュール」、「機能」、および「コンポーネント」は、一般的にソフトウェア、ファームウェア、ハードウェアまたはこれらの組合せを表す。本明細書に記載された技術の特徴は、プラットフォーム非依存であり、技術が様々な処理装置を有する様々なコンピューティングプラットフォーム上に実装され得ることを意味する。
【００９０】
[0094]記載されたモジュールおよび技術の実装は、いくつかの形態のコンピュータ読み取り可能な媒体上に格納され、または送信され得る。コンピュータ読み取り可能な媒体は、コンピューティングデバイス６０２によりアクセスされ得る様々な媒体を含むことができる。例として、限定するものではなく、コンピュータ読み取り可能な媒体は、「コンピュータ読み取り可能な記録媒体」および「コンピュータ読み取り可能な信号媒体」を含むことができる。
【００９１】
[0095]「コンピュータ読み取り可能な記録媒体」は、単なる信号伝送、搬送波または信号それ自体とは対照的に、情報の永続的格納を可能とする媒体および／または装置、あるいは／または有形の記憶装置を指す。したがって、コンピュータ読み取り可能な記録媒体は、非信号担持媒体を指す。コンピュータ読み取り可能な記録媒体は、揮発性および不揮発性、可換型および非可換型媒体、ならびに／またはコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、論理素子／回路、または他のデータなどの情報を格納するための適切な方法または技術で実装される記憶装置などのハードウェアを含む。コンピュータ読み取り可能な記録媒体の例は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）または他の光記憶装置、ハードディスク、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは所望の情報を格納することに適し、かつコンピュータによりアクセスされ得る記憶装置、有形の媒体、製品を含むが、限定はされない。
【００９２】
[0096]「コンピュータ読み取り可能な信号媒体」は、ネットワークを介してなど、コンピューティングデバイス６０２のハードウェアに命令を送信するように構成されている信号担持媒体を指す。信号媒体は、一般的には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、あるいは搬送波、データ信号、または他の伝送機構などの変調されたデータ信号中の他のデータを収録することができる。信号媒体はまた、任意の情報配送媒体を含む。用語「変調されたデータ信号」は、信号の特性集合の１つまたは複数を有する、または信号中の情報を符号化するというような態様で変更した信号を意味する。例として、限定しないが、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線および他の無線媒体などの無線媒体を含む。
【００９３】
[0097]上述のように、ハードウェア要素６１０およびコンピュータ読み取り可能な媒体６０６は、本明細書に記載された技術の少なくともいくつかの態様を実装するために、い
くつかの実施形態で具現化され得る、命令、モジュール、プログラム可能なデバイスロジックおよび／またはハードウェア形態で実装された固定的デバイスロジックを表す。ハードウェア要素は、集積回路またはオンチップシステムのコンポーネント、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）、およびシリコンまたは他ハードウェアデバイス中の実装を含むことができる。この文脈において、ハードウェア要素は、命令、モジュール、および／またはハードウェア要素により具現化されたロジックにより定義されたプログラムタスクを実行する処理装置、ならびに実行するための命令を格納するために利用されるハードウェア装置、例えば、前述のコンピュータ読み取り可能な記録媒体として動作することができる。
【００９４】
[0098]前述の組合せはまた、本明細書に記載された様々な技術およびモジュールを実装するために用いられ得る。したがって、ソフトウェア、ハードウェアまたはプログラムモジュールおよび他のプログラムモジュールは、いくつかの形態のコンピュータ読み取り可能な記録媒体上に、および／または１つまたは複数のハードウェア要素６１０により具現化された１つまたは複数の命令および／またはロジックとして実装され得る。コンピューティングデバイス６０２は、ソフトウェアおよび／またはハードウェアモジュールに対応した特定の命令および／または関数を実装するように構成され得る。したがって、コンピューティングデバイス６０２によりソフトウェアとして実行可能なモジュールとしてのモジュールの実装は、少なくとも部分的には、ハードウェアで、例えばコンピュータ読み取り可能な記録媒体および／または処理システムのハードウェア要素６１０の使用を通して、達成され得る。命令および／または関数は、本明細書に記載の技術、モジュールおよび例を実装するために、１つまたは複数の製品（例えば、１つまたは複数のコンピューティングデバイス６０２および／または処理システム６０４）により実行可能／動作可能であり得る。
【００９５】
[0099]図６にさらに示されるように、例示的システム６００は、パーソナルコンピュータ（ＰＣ）、テレビ装置、および／または移動体装置上でアプリケーションを走行させるシームレスな利用者体験のための遍在する環境を可能とする。サービスおよびアプリケーションは、アプリケーションを利用する、ビデオゲームで遊ぶ、ビデオを試聴するなどをしながら、ある装置から次の装置に移行する場合、共通した利用者体験のためにすべての３つの環境において実質的に同じように走行する。
【００９６】
[00100]例示的システム６００では、複数の装置が、中央コンピューティングデバイス
を通じて相互接続される。中央コンピューティングデバイスは、複数の装置と同じ場所にあっても、または複数の装置と離れて配置されていてもよい。１つまたは複数の実施形態では、中央コンピューティングデバイスは、ネットワーク、インターネット、または他のデータ通信リンクを介して複数の装置に接続される１つまたは複数のサーバーコンピュータのクラウドであり得る。
【００９７】
[00101]１つまたは複数の実施形態では、この相互接続アーキテクチャは、共通のかつ
シームレスな体験を複数の装置の利用者に提供するために、複数の装置にまたがって配送される機能を可能とする。各複数の装置は、異なる物理的要件および能力を有することができ、かつ中央コンピューティングデバイスは、装置に適合されるのみならず、すべての装置に共通でもある、体験の装置への配送を可能とするためのプラットフォームを使用する。１つまたは複数の実施形態では、対象装置のクラスが生成され、体験は、装置の一般的なクラスに適合される。装置のクラスは、物理的特徴、利用種別、または装置の他の共通の特性により定義され得る。
【００９８】
[00102]様々な実装において、コンピューティングデバイス６０２は、コンピュータ６
１６、移動体６１８、テレビ６２０使用のためなどの、様々な異なる構成を仮定することができる。これらの構成のそれぞれは、一般に異なる構成物および能力を有することができる装置を含み、したがって、コンピューティングデバイス６０２は、異なる装置クラスの１つまたは複数に従って構成され得る。例えば、コンピューティングデバイス６０２は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ネットブックなどを含むコンピュータ６１６クラスの装置として実装され得る。
【００９９】
[00103]コンピューティングデバイス６０２はまた、携帯電話、ポータブル音楽プレー
ヤー、ポータブルゲーム装置、タブレットコンピュータ、マルチスクリーンコンピュータなどの、移動体装置を含む移動体６１８クラスの装置として実装され得る。コンピューティングデバイス６０２はまた、普通の視聴環境で一般的な大型スクリーンを有する、または大型スクリーンに接続された装置を含むテレビ６２０クラスの装置として実装され得る。これらの装置は、テレビ、セットトップボックス、ゲーム装置などを含む。
【０１００】
[00104]本明細書に記載された技術は、これらの様々な構成のコンピューティングデバ
イス６０２によりサポートされ得るが、本明細書に記載された特定の技術例に限定されない。この機能はまた、以下に説明されるようなプラットフォーム６２４を介して「クラウド」６２２を越えてなど、分散システムの使用を通じて、すべてまたは部分的に実装され得る。
【０１０１】
[00105]クラウド６２２は、資源６２６に対するプラットフォーム６２４を含み、かつ
／またはプラットフォーム６２４を表す。プラットフォーム６２４は、ハードウェア（例えば、サーバー）の基礎となる機能およびクラウド６２２のソフトウェア資源を抽象化している。資源６２６は、利用され得るアプリケーションおよび／またはデータを含むとともに、コンピュータ処理は、コンピューティングデバイス６０２から遠隔にあるサーバー上で実行され得る。資源６２６はまた、インターネットを介しておよび／または携帯またはＷｉ−Ｆｉネットワークなどの、加入者ネットワークを通じて提供されるサービスを含む。
【０１０２】
[00106]プラットフォーム６２４は、コンピューティングデバイス６０２を他のコンピ
ューティングデバイスに接続するための資源および機能を抽象化することができる。プラットフォーム６２４はまた、プラットフォーム６２４を介して実装される資源６２６に対して遭遇した要求に対応したレベルのスケールを提供するために資源のスケーリングを抽象化することを助ける。したがって、相互接続された装置の実施形態において、本明細書に記載された機能の実装は、システム６００を通じて配布され得る。例えば、機能は、部分的には、コンピューティングデバイス６０２上に、ならびにクラウド６２２の機能を抽象化するプラットフォーム６２４を介して実装され得る。
【０１０３】
[00107]主題は、構造的特徴および／または方法論的動作に特有の言語で説明されてき
たが、添付の特許請求の範囲で定義される主題が、上記の特定の特徴および動作に限定される必要がないことが理解されるべきである。むしろ、上記の特定の特徴および動作は、特許請求の範囲を実装する例示的形態として開示されている。
【図１】
2019013009.tif 000003
【図２】
2019013009.tif 000004
【図３】
2019013009.tif 000005
【図４】
2019013009.tif 000006
【図５】
2019013009.tif 000007
【図６】
2019013009.tif 000008