(57)【要約】  危殆化されている秘密鍵を識別するためのコンピュータ実装方法は、（１）署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別するステップと、（２）秘密鍵に関する情報を少なくとも１つの公開ソースから収集するステップと、（３）公開ソースから収集した情報に基づいて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定するステップと、（４）秘密鍵が危殆化されており権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行うステップとを含んでもよい。様々な他の方法、システム、及びコンピュータ読み取り可能な媒体も開示される。
2016528841.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサを備えるコンピュータデバイスによって少なくとも一部分が行われる、危殆化されている秘密鍵を識別するためのコンピュータ実装方法であって、
署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別するステップと、
前記秘密鍵に関する情報を少なくとも１つの公開ソースから収集するステップと、
前記公開ソースから収集した前記情報に基づいて、前記秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定するステップと、
前記秘密鍵が危殆化されており前記権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行うステップと、を含む、方法。
【請求項２】
前記秘密鍵に関する前記情報を収集するステップが、前記秘密鍵を用いてデジタル署名されている少なくとも１つのアプリケーションに関する情報を収集するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記秘密鍵に関する前記情報を収集するステップが、権限がない署名者がアプリケーションにデジタル署名するのに前記秘密鍵が使用されていることを示す情報を収集するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記秘密鍵に関する前記情報を収集するステップが、評判スコアが高い少なくとも１つの信頼性の高いアプリケーション、及び評判スコアが低い少なくとも１つの疑わしいアプリケーションの両方にデジタル署名するのに、前記秘密鍵が使用されていることを示す情報を収集するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記秘密鍵に関する前記情報を収集するステップが、前記秘密鍵が所定数を超えるアプリケーションの署名に使用されていることを示す情報を収集するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記秘密鍵に関する前記情報を収集するステップが、前記秘密鍵の少なくとも１つのインスタンスが公的にアクセス可能なサーバからのダウンロードに利用可能であることを判定するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記秘密鍵が危殆化されていることを判定するステップが、前記秘密鍵を用いてデジタル署名された少なくとも１つのアプリケーションのパッケージ名が、前記秘密鍵を用いてデジタル署名された少なくとも１つの追加のアプリケーションの追加のパッケージ名とは、所定の類似性閾値を超えて異なることを、判定するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記パッケージ名を解析することによって、前記パッケージ名がランダム化されていないことを判定するステップを更に含む、請求項７に記載のコンピュータ実装方法。
【請求項９】
前記秘密鍵が危殆化されていることを判定するステップが、
前記情報を重み付けするステップと、
前記重み付けされた情報に基づいて前記秘密鍵の総合的信頼性スコアを計算するステップと、を含む、請求項１に記載のコンピュータ実装方法。
【請求項１０】
前記セキュリティアクションを行うステップが、
前記秘密鍵が危殆化されていることをユーザに警告するステップと、
前記秘密鍵を用いてデジタル署名されているアプリケーションに割り当てられた評判スコアを下げるステップと、
前記秘密鍵を用いてデジタル署名されているアプリケーションのダウンロードをブロックするステップと、
前記秘密鍵が危殆化されていることを前記署名者に警告するステップと、のうち少なくとも１つを含む、請求項１に記載のコンピュータ実装方法。
【請求項１１】
秘密鍵をホストする公的にアクセス可能なサーバを識別するデータベースを維持するステップを更に含む、請求項１に記載のコンピュータ実装方法。
【請求項１２】
危殆化されている秘密鍵を識別するシステムであって、
署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別する識別モジュールと、
前記秘密鍵に関する情報を少なくとも１つの公開ソースから収集する収集モジュールと、
前記公開ソースから収集した前記情報に基づいて、前記秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定する判定モジュールと、
前記秘密鍵が危殆化されており前記権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行うセキュリティモジュールと、
前記識別モジュール、前記収集モジュール、前記判定モジュール、及び前記セキュリティモジュールを実行するように構成された、少なくとも１つのプロセッサと、を備える、システム。
【請求項１３】
前記収集モジュールが、前記秘密鍵を用いてデジタル署名されている少なくとも１つのアプリケーションに関する情報を収集することによって、前記秘密鍵に関する前記情報を収集する、請求項１２に記載のシステム。
【請求項１４】
前記収集モジュールが、権限がない署名者がアプリケーションにデジタル署名するのに前記秘密鍵が使用されていることを示す情報を収集することによって、前記秘密鍵に関する前記情報を収集する、請求項１２に記載のシステム。
【請求項１５】
前記収集モジュールが、評判スコアが高い少なくとも１つの信頼性の高いアプリケーション、及び評判スコアが低い少なくとも１つの疑わしいアプリケーションの両方にデジタル署名するのに、前記秘密鍵が使用されていることを示す情報を収集することによって、前記秘密鍵に関する前記情報を収集する、請求項１２に記載のシステム。
【請求項１６】
前記収集モジュールが、前記秘密鍵が所定数を超えるアプリケーションの署名に使用されていることを示す情報を収集することによって、前記秘密鍵に関する前記情報を収集する、請求項１２に記載のシステム。
【請求項１７】
前記判定モジュールが、前記秘密鍵を用いてデジタル署名された少なくとも１つのアプリケーションのパッケージ名が、前記秘密鍵を用いてデジタル署名された少なくとも１つの追加のアプリケーションの追加のパッケージ名とは、所定の類似性閾値を超えて異なることを判定することによって、前記秘密鍵が危殆化されていることを判定する、請求項１２に記載のシステム。
【請求項１８】
前記判定モジュールが、前記パッケージ名を解析することによって、前記パッケージ名がランダム化されていないことを判定する、請求項１７に記載のシステム。
【請求項１９】
前記セキュリティモジュールが、
前記秘密鍵が危殆化されていることをユーザに警告するステップと、
前記秘密鍵を用いてデジタル署名されているアプリケーションに割り当てられた評判スコアを下げるステップと、
前記秘密鍵を用いてデジタル署名されているアプリケーションのダウンロードをブロックするステップと、
前記秘密鍵が危殆化されていることを前記署名者に警告するステップと、のうち少なくとも１つを含む、請求項１２に記載のコンピュータ実装方法。
【請求項２０】
コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別することと、
前記秘密鍵に関する情報を少なくとも１つの公開ソースから収集することと、
前記公開ソースから収集した前記情報に基づいて、前記秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定することと、
前記秘密鍵が危殆化されており前記権限がない署名者がアクセス可能であるという判定に応答して、セキュリティアクションを行うことと、を行わせる、１つ以上のコンピュータ読み取り可能な命令を含む非一時的コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピューティングの初期には、新しいアプリケーションは物理的ディスクを介してインストールされる場合が多く、そのため、悪意がある者が合法的な開発者を詐称するのは困難であった。現在、アプリケーションは、ウェブサイト及びアプリケーション配布プラットフォームを含む多種多様なソースから、インターネットを介してダウンロードされる場合が多い。残念ながら、詐欺的ウェブサイト及び悪意がある開発者が合法的な開発者を簡単に真似ることができ、潜在的に、ユーザが悪意のアプリケーションをダウンロードし、ユーザ、システム、及び企業のセキュリティにとって大きなリスクをもたらす。
【０００２】
デジタル署名は、多くの場合、アプリケーションが、潜在的に悪意がある偽者ではなく、合法的な信頼できる開発者によるものであることを担保するのに使用される。残念ながら、デジタル署名の信頼性は、デジタル署名を作成するのに使用される秘密鍵のセキュリティに直接比例する。例えば、秘密鍵が危殆化されている場合、悪意がある者が、危殆化された秘密鍵を使用して悪意のアプリケーションに署名することにより、その鍵の署名者をより一層有効に詐称することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
デジタル署名を検証する従来のシステムは、デジタル署名に使用された秘密鍵が危殆化されているかを判定するメカニズムを有さない場合が多い。したがって、本開示は、危殆化されている秘密鍵を識別しそれを保護するための、追加の改善されたシステム及び方法に対する必要性を特定し、それに対処する。
【課題を解決するための手段】
【０００４】
より詳細に後述するように、本開示は、全体として、公的に利用可能なソースから収集した情報の解析に基づいて、危殆化されており、権限がある署名者以外の者がアクセス可能である、秘密鍵を識別するためのシステム及び方法に関する。一例では、危殆化されている秘密鍵を識別するためのコンピュータ実装方法は、（１）署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別するステップと、（２）秘密鍵に関する情報を少なくとも１つの公開ソースから収集するステップと、（３）公開ソースから収集した情報に基づいて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定するステップと、（４）秘密鍵が危殆化されており権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行うステップとを含んでもよい。
【０００５】
秘密鍵に関する情報は、様々な方法のうち任意の形で収集されてもよい。いくつかの実施形態では、秘密鍵に関する情報を収集するステップは、秘密鍵を用いてデジタル署名されている少なくとも１つのアプリケーションに関する情報を収集するステップを含んでもよい。秘密鍵に関する情報を収集するステップはまた、権限がない署名者がアプリケーションにデジタル署名するのに秘密鍵が使用されていることを示す情報を収集するステップを含んでもよい。
【０００６】
それに加えて、又はその代わりに、秘密鍵に関する情報を収集するステップは、評判スコアが高い少なくとも１つの信頼性の高いアプリケーション、及び評判スコアが低い少なくとも１つの疑わしいアプリケーションの両方にデジタル署名するのに、秘密鍵が使用されていることを示す情報を収集するステップを含んでもよい。秘密鍵に関する情報を収集するステップはまた、秘密鍵が所定数を超えるアプリケーションの署名に使用されていることを示す情報を収集するステップを含んでもよい。
【０００７】
いくつかの例では、秘密鍵に関する情報を収集するステップは、秘密鍵の少なくとも１つのインスタンスが公的にアクセス可能なサーバからのダウンロードに利用可能であることを判定するステップを含んでもよい。それに加えて、コンピュータ実装方法は、秘密鍵をホストする公的にアクセス可能なサーバを識別するデータベースを維持するステップを含んでもよい。
【０００８】
いくつかの実施形態では、セキュリティアクションを行うステップは、（１）秘密鍵が危殆化されていることをユーザに警告するステップ、（２）秘密鍵を用いてデジタル署名されているアプリケーションに割り当てられた評判スコアを下げるステップ、（３）秘密鍵を用いてデジタル署名されているアプリケーションのダウンロードをブロックするステップ、及び／又は（４）秘密鍵が危殆化されていることを署名者に警告するステップのうち、少なくとも１つを含んでもよい。
【０００９】
いくつかの例では、秘密鍵が危殆化されていることを判定するステップは、秘密鍵を用いてデジタル署名された少なくとも１つのアプリケーションのパッケージ名が、秘密鍵を用いてデジタル署名された少なくとも１つの追加のアプリケーションの追加のパッケージ名とは、所定の類似性閾値を超えて異なることを、判定するステップを含んでもよい。これらの例では、コンピュータ実装方法は、パッケージ名を解析することによって、パッケージ名がランダム化されていないことを判定するステップを更に含んでもよい。
【００１０】
いくつかの例では、秘密鍵が危殆化されていることを判定するステップは、収集された情報を重み付けするステップと、重み付けされた情報に基づいて秘密鍵の総合的信頼性スコアを計算するステップとを含んでもよい。
【００１１】
一実施形態では、上述の方法を実装するシステムは、（１）署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別する識別モジュールと、（２）秘密鍵に関する情報を少なくとも１つの公開ソースから収集する収集モジュールと、（３）公開ソースから収集した情報に基づいて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定する判定モジュールと、（４）秘密鍵が危殆化されており権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行うセキュリティモジュールと、（５）識別モジュール、収集モジュール、判定モジュール、及びセキュリティモジュールを実行するように構成された、少なくとも１つのプロセッサと、を含んでもよい。
【００１２】
いくつかの例では、上述の方法は、コンピュータ読み取り可能な記憶媒体上のコンピュータ読み取り可能な命令としてコード化されてもよい。例えば、コンピュータ読み取り可能な記憶媒体は、１つ以上のコンピュータ実行可能命令を含んでもよく、それらの命令は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるとき、コンピューティングデバイスに、（１）署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別することと、（２）秘密鍵に関する情報を少なくとも１つの公開ソースから収集することと、（３）公開ソースから収集した情報に基づいて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定することと、（４）秘密鍵が危殆化されており権限がない署名者がアクセス可能であるという判定に応答して、セキュリティアクションを行うことと、を行わせてもよい。
【００１３】
上記の実施形態のいずれかによる特徴は、本明細書に記載される一般原理に従って、互いに組み合わせて使用されてもよい。これらの及び他の実施形態、特徴、並びに利点は、添付の図面及び特許請求の範囲と併せて以下の詳細な説明を読むことによって更に十分に理解されるであろう。
【図面の簡単な説明】
【００１４】
添付の図面は、多数の例示的な実施形態を例証すると共に、本明細書の一部である。以下の説明と併せて、これらの図面は本開示の様々な原理を実証及び説明する。
【図１】危殆化されている秘密鍵を識別する例示的なシステムを示すブロック図である。
【図２】危殆化されている秘密鍵を識別する例示的なシステムを示すブロック図である。
【図３】危殆化されている秘密鍵を識別する例示的な方法を示すフローチャートである。
【図４】危殆化されている秘密鍵を識別する例示的なシステムを示すブロック図である。
【図５】危殆化されている秘密鍵を識別する例示的なシステムを示すブロック図である。
【図６】本明細書に記載及び／又は図示される実施形態の１つ以上を実装することができる、例示的なコンピューティングシステムを示すブロック図である。
【図７】本明細書に記載及び／又は図示される実施形態の１つ以上を実装することができる、例示的なコンピューティングネットワークを示すブロック図である。
【００１５】
図面全体を通して、同一の参照文字及び説明は、類似しているが必ずしも同一ではない要素を示す。本明細書に記載される例示的な実施形態は、様々な修正及び代替的な形態が可能であるが、特定の実施形態が例として図面に示されており、本明細書において詳細に記載される。しかしながら、本明細書に記載される例示的な実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の特許請求の範囲内にある全ての修正、等価物、及び代替物を網羅する。
【発明を実施するための形態】
【００１６】
本開示は、概して、実行時のアプリケーションメソッドを置き換えるためのシステム及び方法を対象とする。より詳細に後述するように、公的に利用可能なソースから収集した情報の解析に基づいて、秘密鍵が危殆化されていると判定することによって、本明細書に記載されるシステムは、（１）アプリケーションが危殆化された秘密鍵によって署名されていることを警告することによって、ユーザのセキュリティを改善し、（２）署名者の秘密鍵が危殆化されていることを警告することによって、署名者のセキュリティを改善し、並びに／或いは（３）危殆化された秘密鍵で署名されているアプリケーションの評判スコアを下げること、及び／又はアプリケーションをブロックすることによって、アプリケーション配布プラットフォームのセキュリティを改善してもよい。
【００１７】
以下、図１〜図２、図４、及び図５を参照して、危殆化されている秘密鍵を識別するための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法の詳細な説明も、図３に関連して提供される。それに加えて、本明細書に記載される実施形態のうちの１つ以上を実装することができる、例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明が、図６及び図７に関連してそれぞれ提供される。
【００１８】
図１は、危殆化されている秘密鍵を識別するための例示的なシステム１００のブロック図である。この図に示されるように、例示的なシステム１００は、１つ以上のタスクを行うための１つ以上のモジュール１０２を含んでもよい。例えば、より詳細に後述するように、例示的なシステム１００は、署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別してもよい、識別モジュール１０４を含んでもよい。例示的なシステム１００は、それに加えて、秘密鍵に関する情報を少なくとも１つの公開ソースから収集してもよい、収集モジュール１０６を含んでもよい。
【００１９】
例示的なシステム１００はまた、公開ソースから収集した情報に基づいて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定してもよい、判定モジュール１０８を含んでもよい。例示的なシステム１００は、それに加えて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であるという判定に応答してセキュリティアクションを行ってもよい、セキュリティモジュール１１０を含んでもよい。別個の要素として図示されているが、図１のモジュール１０２の１つ以上は単一のモジュール又はアプリケーションの一部を表してもよい。
【００２０】
特定の実施形態では、図１のモジュール１０２の１つ以上は、コンピューティングデバイスによって実行されたとき、コンピューティングデバイスに１つ以上のタスクを行わせてもよい、１つ以上のソフトウェアアプリケーション又はプログラムを表してもよい。例えば、またより詳細に後述されるように、モジュール１０２の１つ以上は、図２に示されるデバイス（例えば、コンピューティングデバイス２０２及び／又はサーバ２０６）、図６のコンピューティングシステム６１０、並びに／或いは図７の例示的なネットワークアーキテクチャ７００の部分など、１つ以上のコンピューティングデバイス上に記憶され、かつその上で動くように構成される、ソフトウェアモジュールを表してもよい。図１のモジュール１０２のうちの１つ以上はまた、１つ以上のタスクを行うように構成された１つ以上の専用コンピュータの全体又は部分を表してもよい。
【００２１】
図１に示されるように、例示的なシステム１００はまた、データベース１２０など、１つ以上のデータベースも含んでもよい。一実施例では、データベース１２０は、既知の鍵配布ウェブサイトの記録を格納するように構成されてもよい。
【００２２】
データベース１２０は、単一のデータベース若しくはコンピューティングデバイス、又は複数のデータベース若しくはコンピューティングデバイスの部分を表してもよい。例えば、データベース１２０は、図２のサーバ２０６の一部分、図６のコンピューティングシステム６１０、及び／又は図７の例示的なネットワークアーキテクチャ７００の部分を表してもよい。代わりに、図１のデータベース１２０は、図２のサーバ２０６、図６のコンピューティングシステム６１０、及び／又は図７の例示的なネットワークアーキテクチャ７００の部分など、コンピューティングデバイスによってアクセスすることができる、１つ以上の物理的に別個のデバイスを表してもよい。
【００２３】
図１の例示的なシステム１００は、多様な方法で実装されてもよい。例えば、例示的なシステム１００の全て又は部分は、図２の例示的なシステム２００の部分を表し得る。図２に示されるように、システム２００は、ネットワーク２０４を介してサーバ２０６と通信するコンピューティングデバイス２０２を含んでもよい。コンピューティングデバイス２０２は、モジュール１０２の１つ以上を用いてプログラムされてもよく、かつ／又はデータベース１２０のデータの全て又は一部分を格納してもよい。それに加えて、又は別の方法として、サーバ２０６は、モジュール１０２の１つ以上を用いてプログラムされてもよく、かつ／又はデータベース１２０のデータの全て又は一部分を格納してもよい。
【００２４】
一実施形態では、図１によるモジュール１０２の１つ以上は、コンピューティングデバイス２０２及び／又はサーバ２０６の少なくとも１つのプロセッサによって実行されるとき、コンピューティングデバイス２０２及び／又はサーバ２０６が危殆化されている秘密鍵を識別するのを容易にしてもよい。例えば、またより詳細に後述するように、識別モジュール１０４は、署名者がアプリケーション２１０にデジタル署名するのを可能にする秘密鍵２０８を識別するようにプログラムされてもよい。それに加えて、収集モジュール１０６は、秘密鍵２０８に関する情報２１４を少なくとも１つの公開ソースから収集するようにプログラムされてもよい。判定モジュール１０８は、公開ソースから収集した情報２１４に基づいて、秘密鍵２０８が危殆化されており署名者２１６がアクセス可能であることを判定するようにプログラムされてもよい。それに加えて、セキュリティモジュール１１０は、秘密鍵２０８が危殆化されており署名者２１６がアクセス可能であることの判定に応答して、セキュリティアクション２１８を行うようにプログラムされてもよい。
【００２５】
コンピューティングデバイス２０２は、一般に、コンピュータ実行可能命令を読み取ることができる任意のタイプ又は形態のコンピューティングデバイスを表す。コンピューティングデバイス２０２の例としては、非限定的に、ラップトップ、タブレット、デスクトップ、サーバ、携帯電話、携帯情報端末（ＰＤＡ）、マルチメディアプレーヤー、埋込みシステム、それらの１つ以上の組み合わせ、図６の例示的なコンピューティングシステム６１０、又は他の任意の好適なコンピューティングデバイスが挙げられる。いくつかの例では、コンピューティングデバイス２０２は、クライアントデバイスなど、エンドポイントデバイスを表してもよい。しかしながら、他の例では、コンピューティングデバイス２０２は、（単独で若しくは他のコンピューティングデバイスと組み合わせて）アプリケーション配布プラットフォームを提供するコンピューティングデバイスなど、サーバ又は他の形態のバックエンドデバイスを表してもよい。
【００２６】
サーバ２０６は、一般に、アプリケーションをホストすることができる、任意のタイプ若しくは形態のコンピューティングデバイス（又はコンピューティングデバイス群）を表す。サーバ２０６の例としては、非限定的に、コンピュータソフトウェアをデジタル的に配布するのに使用される、アプリケーション配布プラットフォームが挙げられる。
【００２７】
ネットワーク２０４は、一般に、通信若しくはデータ転送を容易にすることができる、任意の媒体又はアーキテクチャを表す。ネットワーク２０４の例としては、非限定的に、イントラネット、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、インターネット、電力線通信（ＰＬＣ）、セルラーネットワーク（例えば、グローバルシステムフォーモバイルコミュニケーションズ（ＧＳＭ（登録商標））ネットワーク）、図７の例示的なネットワークアーキテクチャ７００などが挙げられる。ネットワーク２０４は、無線若しくは有線接続を使用して、通信又はデータ転送を容易にしてもよい。一実施形態では、ネットワーク２０４はコンピューティングデバイス２０２とサーバ２０６との間の通信を容易にしてもよい。
【００２８】
図３は、危殆化されている秘密鍵を識別するための、例示的なコンピュータ実装方法３００のフローチャートである。図３に示される工程は、任意の好適なコンピュータで実行可能なコード及び／又はコンピューティングシステムによって実施されてもよい。いくつかの実施形態では、図３に示されるステップは、図１のシステム１００、図２のシステム２００、図６のコンピューティングシステム６１０、及び／又は図７の例示的なネットワークアーキテクチャの部分の１つ以上によって行われてもよい。
【００２９】
図３に示されるように、ステップ３０２で、本明細書に記載されるシステムの１つ以上は、署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別してもよい。例えば、ステップ３０２で、識別モジュール１０４は、図２のコンピューティングデバイス２０２の一部として、署名者がアプリケーション２１０にデジタル署名することを可能にする秘密鍵２０８を識別してもよい。
【００３０】
「秘密鍵」という用語は、本明細書で使用するとき、一般に、ファイル及び／又はアプリケーションにデジタル署名するのに使用されてもよい、非対称鍵ペアのうち非公開の半分を指す。いくつかの例では、秘密鍵はファイルにデジタル署名するのに使用されてもよく、そのデジタル署名は、秘密鍵に対応する公開鍵を使用して後で認証されてもよい。これらの例では、デジタル署名の認証により、ファイルが秘密鍵によって署名されたこと、及びファイルが改ざんされていなかったことの両方を検証してもよい。例えば、開発者は秘密鍵を用いてアプリケーションに署名してもよく、ユーザは、アプリケーションが（偽者ではなく）開発者によって署名されたこと、及び改ざんされていなかったことの両方を検証するために、アプリケーションのデジタル署名を認証してもよい。より詳細に後述するように、悪意がある行為者が合法的な開発者によって使用された秘密鍵へのアクセスを得た場合、悪意がある行為者は、秘密鍵を使用して、合法的な開発者によるものであるようにユーザには見えることがある、有害アプリケーションにデジタル署名することがある。
【００３１】
本明細書に記載されるシステムは、様々な方法で秘密鍵を識別してもよい。例えば、識別モジュール１０４は、（例えば、アプリケーション配布プラットフォーム若しくはウェブサイトからの）ダウンロードの際に、又は別の方法で、秘密鍵２０８によって署名されているアプリケーションに遭遇したときに、秘密鍵２０８を識別してもよい。
【００３２】
ステップ３０４で、本明細書に記載されるシステムの１つ以上は、少なくとも１つの公開ソースから秘密鍵に関する情報を収集してもよい。例えば、ステップ３０４で、収集モジュール１０６は、図２のコンピューティングデバイス２０２の一部として、少なくとも１つの公開ソースから秘密鍵２０８に関する情報２１４を収集してもよい。
【００３３】
本明細書に記載されるシステムは、様々な方法及び／又は文脈のいずれか若しくは全てにおいて、公開鍵に関する情報を収集してもよい。一実施例では、収集モジュール１０６は、ウェブサイト、ウェブ検索サービス、アプリケーション配布プラットフォーム、サーバ、及び／又はデータベースなどの公開ソースから、秘密鍵２０８に関する情報を収集してもよい。例えば、収集モジュール１０６は、秘密鍵で署名された少なくとも１つのモバイルアプリケーションへのアクセスを提供するアプリケーション配布プラットフォーム（サーバ２０６など）から、秘密鍵２０８に関する情報を収集してもよい。かかるアプリケーション配布プラットフォームの例としては、例えば、モバイルアプリケーションストア（ＧＯＯＧＬＥ  ＰＬＡＹ、ＡＰＰＬＥ  ＡＰＰ  ＳＴＯＲＥ、ＷＩＮＤＯＷＳ  ＰＨＯＮＥ  ＳＴＯＲＥ（「ＷＩＮＤＯＷＳ」は登録商標、以下同じ）、及び／又はＡＭＡＺＯＮ  ＡＰＰＳＴＯＲＥなど）、非モバイルアプリケーションストア（ＷＩＮＤＯＷＳ  ＳＴＯＲＥなど）、並びにコンピュータソフトウェアをデジタル的に配布することができる、他の任意のサービス又はプラットフォームが挙げられる。
【００３４】
本明細書に記載されるシステムは、これらの公開ソースから様々な情報を収集してもよい。例えば、収集モジュール１０６は、秘密鍵２０８でデジタル署名されている少なくとも１つのアプリケーションに関する情報を収集してもよい。収集モジュール１０６が収集してもよい情報のタイプの例としては、非限定的に、秘密鍵によって署名されたアプリケーションの名称、アプリケーションの署名及び／若しくは発行を行った開発者の名称、場所、及び／又はウェブサイト、アプリケーションの元のソース、アプリケーションの評判データ、アプリケーションに対するユーザレイティング、アプリケーションの公開日、アプリケーションに関する普及率情報（例えば、世界的に、及び／若しくは特定のアプリケーション配布プラットフォームに関して、アプリケーションがダウンロードされた回数）、並びに／或いはアプリケーション及び／又はアプリケーションに署名するのに使用された秘密鍵に関連してもよい、他の任意の情報が挙げられる。
【００３５】
いくつかの実施形態では、本明細書に記載されるシステムは、秘密鍵を用いてデジタル署名されている複数のアプリケーションに関する情報を収集してもよい。例えば、収集モジュール１０６は、アプリケーション配布プラットフォーム４０６を介してダウンロードするように利用可能であるモバイルアプリケーションを表してもよい、図４のアプリケーション４１０及びアプリケーション４２０に関する情報を収集してもよい。この例では、収集モジュール１０６は、アプリケーション４１０及びアプリケーション４２０の両方が同じ秘密鍵（例えば、秘密鍵４０８）によって署名されたが、別の開発者（即ち、開発者４１２及び開発者４２２）によって発行されたことを示す情報を、（例えば、アプリケーション配布プラットフォーム４０６及び／若しくは外部ソースから）収集してもよい。より詳細に後述するように、この情報は、複数の署名者が秘密鍵４０８にアクセスしていることから、秘密鍵４０８が危殆化されていることを示してもよい。
【００３６】
いくつかの例では、本明細書に記載されるシステムはまた、権限がない署名者（例えば、秘密鍵を所有する署名者以外の開発者）がアプリケーションにデジタル署名するのに、秘密鍵が使用されていることを示す情報を収集してもよい。例えば、収集モジュール１０６は、秘密鍵４０８が、秘密鍵４０８を所有する署名者に接続されていないアカウントによって発行されたアプリケーション（例えば、アプリケーション４２０）に署名するのに使用されていることを示す情報を、図４のアプリケーション配布プラットフォーム４０６から収集してもよい。より詳細に後述するように、この情報は、複数の署名者が秘密鍵４０８にアクセスしていることから、秘密鍵４０８が危殆化されていることを示してもよい。
【００３７】
いくつかの実施形態では、本明細書に記載されるシステムはまた、評判スコアが高い少なくとも１つの信頼性の高いアプリケーション、及び評判スコアが低い少なくとも１つの疑わしいアプリケーションの両方にデジタル署名するのに、秘密鍵が使用されていることを示す情報を収集してもよい。例えば、収集モジュール１０６は、評判スコアが高い信頼性の高いアプリケーション（例えば、アプリケーション４１０）、及び評判スコアが低い疑わしいアプリケーション（例えば、アプリケーション４２０）の両方にデジタル署名するのに、秘密鍵４０８が使用されたことを示す情報を収集してもよく、そのことは秘密鍵４０８が危殆化されていることを示すことがある。
【００３８】
評判スコアは、ユーザレイティング、ダウンロード回数、抗ウィルス署名、アプリケーションコードの静的解析、及び／又はアプリケーションプロセスの動的解析を含むがそれらに限定されない、多数の因子に基づいてもよい。例えば、「Ｅｎｒａｇｅｄ  Ａｖｉａｎｓ」と名付けられた信頼性の高いモバイルアプリケーションは、数百万回に達するダウンロード回数を有することができ、ユーザレイティングが非常に高く、いくつかの抗ウィルスソフトウェアによって悪意がないものとして保証されていることがある。「Ｉｎｃｅｎｓｅｄ  Ａｖｉａｎｓ」という別のモバイルアプリケーションは、「Ｅｎｒａｇｅｄ  Ａｖｉａｎｓ」と同じ秘密鍵によって署名されていることがあるが、別の開発者によって発行されていることがあり、ダウンロード回数が少ないこと及びアプリケーション内にマルウェアが存在することにより、評判スコアが低いことがある。この例では、このことは、アプリケーション「Ｉｎｃｅｎｓｅｄ  Ａｖｉａｎｓ」が偽のアプリケーションを表すことを示してもよく、それが、この偽のアプリケーションに署名するのに使用された秘密鍵が危殆化されていることを示してもよい。
【００３９】
いくつかの例では、本明細書に記載されるシステムはまた、所定数を超えるアプリケーションに署名するのに秘密鍵が使用されていることを示す情報を収集してもよい。例えば、収集モジュール１０６は、図２の秘密鍵２０８が１，０００を超えるアプリケーションに署名するのに使用されていることを示す情報を収集してもよく、それが（いくつかの例では）秘密鍵２０８が危殆化されていることを示すことがある。いくつかの実施形態では、この所定数は予測される鍵の使用法に基づいていてもよい。例えば、署名者が秘密鍵で１つのアプリケーションに署名することのみを意図した場合、所定数は２であってもよい。しかしながら、署名者が秘密鍵で数百のアプリケーションに署名することを予測した場合、所定数は６００であってもよい。いくつかの例では、収集モジュール１０６は、複数の異なるアプリケーション配布プラットフォームから、秘密鍵で署名されているアプリケーションに関する情報を収集してもよい。
【００４０】
いくつかの実施形態では、本明細書に記載されるシステムはまた、秘密鍵の少なくとも１つのインスタンスが公的にアクセス可能なサーバからのダウンロードに利用可能であることを示す情報を収集してもよい。例えば、収集モジュール１０６は、図２の秘密鍵２０８が、危殆化されている秘密鍵へのアクセスを提供する公的にアクセス可能なサーバからダウンロードするのに利用可能であることを、（例えば、インターネットを巡回すること、及び／又は既知のサーバのデータベースをチェックすることによって）判定してもよい。かかる公的にアクセス可能なサーバの例としては、非限定的に、鍵配布ウェブサイト、修正ＲＯＭ発行ウェブサイト、及び危殆化された鍵へのアクセスを提供することができる他の任意のソースが挙げられる。秘密鍵は、例えば、漏れているか、盗まれたか、かつ／又はオープンソースソフトウェアに署名するのに使用されていることにより、公的にアクセス可能なサーバからのダウンロードに利用可能なことがある。以下に詳述するように、秘密鍵が公的にアクセス可能なサーバからのダウンロードに利用可能であるという事実は、秘密鍵が危殆化されていることを示すことがある。
【００４１】
いくつかの実施形態では、本明細書に記載されるシステムは、秘密鍵をホストする公的にアクセス可能なサーバを識別するデータベースを維持してもよい。例えば、収集モジュール１０６は、ダウンロードのための秘密鍵をホストする既知の公的にアクセス可能なサーバそれぞれの記録を含んでもよい、データベース１２０を維持してもよい。収集モジュール１０６は、例えば、手動入力を介して作成すること、及び／又はインターネットの巡回による情報を使用して自動で取り込むことを含む、様々な方法でデータベース１２０を維持してもよい。いくつかの例では、収集モジュール１０６はまた、秘密鍵２０８に関する情報を収集すると、データベース１２０を更新してもよい。
【００４２】
図３に戻ると、ステップ３０６で、本明細書に記載されるシステムの１つ以上は、公開ソースから収集した情報に基づいて、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定してもよい。例えば、ステップ３０６で、判定モジュール１０８は、図２のコンピューティングデバイス２０２の一部として、様々な公開ソースから収集した情報２１４に基づいて、秘密鍵２０８が危殆化されており複数の署名者２１６がアクセス可能であると判定してもよい。
【００４３】
本明細書に記載されるシステムは、秘密鍵が危殆化されていることを様々な方法で判定してもよい。例えば、判定モジュール１０８は、ステップ３０６で収集した情報に基づいて、秘密鍵２０８が、秘密鍵２０８を所有する署名者以外の少なくとも１つの開発者によって使用されていること、及び／又はその開発者が秘密鍵２０８にアクセス可能であることを判定してもよい。具体的には、判定モジュール１０８は、（１）秘密鍵２０８が、権限がない署名者（例えば、秘密鍵２０８を所有する署名者以外の開発者）がアプリケーションにデジタル署名するのに使用されていること、（２）秘密鍵２０８が、評判スコアが高い少なくとも１つの信頼性が高いアプリケーション、及び評判スコアが低い少なくとも１つの疑わしいアプリケーションの両方にデジタル署名するのに使用されていること、（３）秘密鍵２０８が所定数を超えるアプリケーションにデジタル署名するのに使用されていること、並びに／或いは（４）秘密鍵２０８の少なくとも１つのインスタンスが公的にアクセス可能なサーバからのダウンロードに利用可能であることを判定してもよい。
【００４４】
それに加えて、又はその代わりに、本明細書に記載されるシステムは、秘密鍵を用いてデジタル署名された少なくとも１つのアプリケーションのパッケージ名が、秘密鍵を用いてデジタル署名された少なくとも１つの追加のアプリケーションの追加のパッケージ名とは、所定の類似性閾値を超えて異なることを判定することによって、秘密鍵が危殆化されていることを判定してもよい。いくつかの例では、この所定の類似性閾値は、類似の名称及び名称の間違った綴りは含むが、全く異なる名称は除外するように計算されてもよい。この所定の類似性閾値の例としては、非限定的に、「３文字以下の違い」又は「合計文字数の１５％以下の違い」が挙げられる。例えば、「ｃｏｍ．ｓｙｍａｎｔｅｃ．ａｂｃ」というパッケージ名は、「ｃｏｍ．ｓｙｍａｎｔｅｃ．ｘｙｚ」に対して、このパッケージ名の違いが３文字未満であることにより、「３文字以下の違い」を要件とする所定の類似性閾値内にあってもよい。対照的に、「ｆｏｏ．ｘｙｍａｔｅｋｋ．ａｂｃ」というパッケージ名は、このパッケージ名の違いが３文字超であることにより、この所定の類似性閾値内にはない。判定モジュール１０８はまた、企業及びパッケージ名のデータベースを使用することによって、所定の類似性閾値を計算してもよい。例えば、判定モジュール１０８は、パッケージ名「ｃｏｍ．ｓｙｍｓｅｃｕｒｉｔｙ．ｘｙｚ」が「ｃｏｍ．ｓｙｍａｎｔｅｃ．ｘｙｚ」と同じ企業に属するものとしてデータベースに列挙されていることにより、「ｃｏｍ．ｓｙｍｓｅｃｕｒｉｔｙ．ｘｙｚ」が「ｃｏｍ．ｓｙｍａｎｔｅｃ．ｘｙｚ」に対する所定の類似性閾値内にあると判定してもよい。
【００４５】
いくつかのプログラミング言語では、パッケージ名が、パッケージに関与する企業の名称を含むことが慣例であってもよい。そのため、秘密鍵で署名されているアプリケーションが、秘密鍵の署名者である企業とは異なる企業名が付けられたパッケージを含むと、判定モジュール１０８が判定した場合、判定モジュール１０８は、この秘密鍵が危殆化されていると判定してもよい。
【００４６】
いくつかの実施形態では、本明細書に記載されるシステムは、アプリケーションのパッケージ名を解析することによって、パッケージ名がランダム化されていないことを判定することにより、偽陽性を回避しようとしてもよい。合法的企業は、自身のアプリケーションパッケージの名称をランダム化する場合が多いので、ランダム化されることによって所定の類似性閾値内にあるアプリケーションのパッケージ名は、危殆化された秘密鍵を示さないことがある。例えば、パッケージ名「ｃｏｍ．ｚｘｃｅｚｆｚｄｗｅｄ．ｆｓｉ」が、「ｃｏｍ．ｓｙｍａｎｔｅｃ．ｘｙｚ」に対する所定の類似性閾値を満足できない場合であっても、パッケージ名がランダム化されており、開発者の名称のなりすましに対する未遂を表さないので、このパッケージはやはり同じ開発者によって作成されていてもよい。
【００４７】
いくつかの例では、本明細書に記載されるシステムは、ステップ３０４で収集された情報を重み付けし、この重み付けされた情報に基づいて秘密鍵の総合的信頼性スコアを計算することによって、秘密鍵が危殆化されていることを判定してもよい。図５は、秘密鍵に関する情報を重み付けし組み合わせることによって、危殆化されているこれらの秘密鍵を識別するための、例示的なコンピューティングシステム５００のブロック図である。図５に示されるように、識別モジュール１０４は、秘密鍵、及び／又は秘密鍵で署名された少なくとも１つのアプリケーションを識別してもよい。収集モジュール１０６は次に、非限定的に、秘密鍵によって署名されたアプリケーションの評判（例えば、評判の違い５０２）、秘密鍵によって署名されたパッケージの名称（例えば、パッケージ名５０４）、複数の開発者が秘密鍵を使用してアプリケーションに署名しているか否か（例えば、複数の開発者５０６）、及び／又は公的にアクセス可能なサーバからのダウンロードに秘密鍵が利用可能であるか否か（例えば、鍵ダウンロードサイトにおいて利用可能５０８）を含む、秘密鍵、及び／又は秘密鍵で署名されたアプリケーションに関する様々な情報を収集してもよい。これらの情報が意味し得ることのより詳細な理解は、上述のステップ３０４及び３０６に関連して提供される。
【００４８】
収集モジュール１０６がこの情報を収集すると、判定モジュール１０８は、評判の違い５０２、パッケージ名５０４、複数の開発者５０６、及び／又は鍵ダウンロードサイトにおいて利用可能５０８をそれぞれ、重み５１２、５１４、５１６、及び／又は５１８で重み付けしてもよく、重み付けした情報が信頼性スコア５２０に到達するように組み合わせてもよい。判定モジュール１０８は次に、信頼性スコア５２０を使用して、秘密鍵が危殆化されているか否かを判定してもよい。
【００４９】
例えば、収集モジュール１０６は、秘密鍵が、（１）評判が非常に高いアプリケーション並びに評判が非常に低いアプリケーションの両方に署名するのに使用されていること、（２）異なるパッケージ名を有する任意のアプリケーションに署名するのに使用されていないこと、（３）３つの異なる開発者によって発行されたアプリケーションに署名するのに使用されていること、並びに（４）少なくとも１つの鍵ダウンロードサイトにおいて利用可能であることを示す情報を収集してもよい。この例では、判定モジュール１０８は、これらの評判の違いに５を、異なるパッケージ名に２を、第１のもの以外の追加の開発者それぞれに７を、並びに／或いは鍵ダウンロードサイトにおける利用可能性に１０を重み付けしてもよい。判定モジュール１０８は、次に、１、０、２、及び１の初期値をそれぞれ有する各情報に、５、２、７、及び１０の重みをそれぞれ乗算し、重み付けされた数字を２９の信頼性スコアに到達するように加算してもよい。この例では、判定モジュールは、次に、秘密鍵に対する信頼性スコアが所定の閾値１０を上回ることを計算してもよく、したがって、秘密鍵は危殆化されていることがある。
【００５０】
図３に戻ると、ステップ３０８で、本明細書に記載するシステムの１つ以上は、秘密鍵が危殆化されており権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行ってもよい。例えば、ステップ３０８で、セキュリティモジュール１１０は、図２のコンピューティングデバイス２０２の一部として、秘密鍵２０８が危殆化されており署名者２１６がアクセス可能であることの判定に応答して、セキュリティアクション２１８を行ってもよい。
【００５１】
本明細書に記載されるシステムは、様々なセキュリティアクションのいずれかを、単独で又は組み合わせて行ってもよい。例えば、秘密鍵が危殆化されていることの判定に応答して、セキュリティモジュール１１０は、秘密鍵、秘密鍵によって署名されたアプリケーション、秘密鍵の署名者、及び／又は秘密鍵によって署名されたアプリケーションのユーザに当てはまる、セキュリティアクションを行ってもよい。
【００５２】
例えば、セキュリティモジュール１１０は、（１）秘密鍵が危殆化されていることをユーザに警告すること（例えば、危殆化された鍵によって署名されたアプリケーションのダウンロードページ上にあるアプリケーション配布プラットフォーム内に警告を配置することによる）、（２）秘密鍵を用いてデジタル署名されているアプリケーションに割り当てられた評判スコアを下げること（例えば、危殆化された秘密鍵で署名されたアプリケーションに対するアプリケーション配布プラットフォームによって表示される評判スコアを下げることによる）、（３）秘密鍵を用いてデジタル署名されているアプリケーションのダウンロードをブロックすること（例えば、アプリケーションをアプリケーション配布プラットフォームから除去することによる）、並びに／或いは（４）秘密鍵が危殆化されていることを署名者に警告すること（例えば、アプリケーション配布プラットフォームにある署名者の開発者アカウントに対してメッセージを送ることによる）によって、サーバ側のセキュリティアクションを行ってもよい。
【００５３】
それに加えて、又は別の方法として、セキュリティモジュール１１０は、（１）秘密鍵が危殆化されていることをユーザに警告すること（例えば、危殆化された鍵によって署名されているモバイルアプリケーションをダウンロードしようとしているモバイルデバイスのユーザにアラートすることによる）、（２）秘密鍵を用いてデジタル署名されているアプリケーションに割り当てられた評判スコアを下げること（例えば、危殆化された鍵によって署名されたモバイルアプリケーションに対するモバイルデバイス上の評判スコアを計算し、評判スコアをモバイルデバイスのユーザに対して表示することによる）、並びに／或いは（３）秘密鍵を用いてデジタル署名されているアプリケーションのダウンロードをブロックすること（例えば、ユーザがアプリケーションを自身のモバイルデバイスにダウンロードできないようにすることによる）によって、クライアント側のセキュリティアクションを行ってもよい。
【００５４】
要約すると、また図３の方法３００と関連して上述したように、本明細書に記載されるシステムは、署名者、多くの場合はアプリケーション開発者によって、アプリケーションにデジタル署名するのに使用されてもよい秘密鍵を識別してもよい。いくつかの例では、これらのアプリケーションは、モバイルアプリケーションストアなどのアプリケーション配布プラットフォームから利用可能である、モバイルアプリケーションであってもよい。本明細書に記載されるシステムは、次に、多くの場合は秘密鍵で署名されているアプリケーションに関する情報を収集することによって、秘密鍵に関する情報を収集してもよい。
【００５５】
様々なタイプの情報が収集されてもよい。例えば、本明細書に記載されるシステムは、複数の開発者がアプリケーションに署名するのに秘密鍵が使用されていること、秘密鍵によって署名されたアプリケーションが評判スコアの疑わしい分散を有すること、秘密鍵によって署名されたアプリケーションが異なる名称のパッケージを含むこと、及び／又は公的にアクセス可能な鍵ダウンロードウェブサイトからのダウンロードに秘密鍵を利用可能であること、を示す情報を収集してもよい。本明細書に記載されるシステムは、次に、この情報のいずれか又は全てを重み付けし、重み付けられた情報を組み合わせて、総合的信頼性レイティングを生成してもよい。
【００５６】
この信頼性レイティングに基づいて、本明細書に記載されるシステムは、次に、署名者以外の開発者に秘密鍵が利用可能であり、したがって危殆化されていることを判定してもよい。本明細書に記載されるシステムは、次に、開発者の鍵が漏れていることを開発者に警告すること、アプリケーションをダウンロードしようとしているユーザに、そのアプリケーションが危殆化された鍵によって署名されており、したがって偽のアプリケーション又は別の悪意のアプリケーションを表し得ることをユーザに警告すること、並びに／或いは潜在的に悪意のアプリケーションをアプリケーション配布プラットフォームから除去することを含む、多数のセキュリティアクションのいずれかを講じてもよい。
【００５７】
上述したように、公的にアクセス可能なソースから収集した情報の解析に基づいて、秘密鍵が危殆化されていると判定することによって、本明細書に記載されるシステムは、（１）アプリケーションが危殆化された秘密鍵によって署名されていることを警告することによってユーザのセキュリティを改善し、（２）署名者の秘密鍵が危殆化されていることを警告することによって署名者のセキュリティを改善し、並びに／或いは（３）危殆化された秘密鍵で署名されているアプリケーションに評判スコアを下げること、及び／又はそのアプリケーションをブロックすることによって、アプリケーション配布プラットフォームのセキュリティを改善してもよい。
【００５８】
図６は、本明細書に記載及び／又は図示される実施形態の１つ以上を実装することができる、例示的なコンピューティングシステム６１０のブロック図である。例えば、コンピューティングシステム６１０の全て又は一部分は、単独で又は他の要素と組み合わせて、本明細書に記載されるステップの１つ以上（図３に示されるステップの１つ以上など）を行ってもよく、並びに／或いはそれを行うための手段であってもよい。コンピューティングシステム６１０の全て又は一部分はまた、本明細書に記載及び／若しくは図示される他の任意のステップ、方法、又はプロセスを行ってもよく、並びに／或いはそれを行うための手段であってもよい。
【００５９】
コンピューティングシステム６１０は、コンピュータ読み取り可能な命令を実行することが可能な、任意のシングル若しくはマルチプロセッサのコンピューティングデバイス又はシステムを広く表す。コンピューティングシステム６１０の例としては、非限定的に、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成では、コンピューティングシステム６１０は、少なくとも１つのプロセッサ６１４及びシステムメモリ６１６を含んでもよい。
【００６０】
プロセッサ６１４は、一般に、データを処理するか又は命令を解釈し実行することができる、任意のタイプ又は形態の処理ユニットを表す。特定の実施形態では、プロセッサ６１４は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令によって、プロセッサ６１４が、本明細書に記載及び／又は図示される例示的な実施形態の１つ以上の機能を行ってもよい。
【００６１】
システムメモリ６１６は、一般に、データ及び／又は他のコンピュータ読み取り可能な命令を記憶することができる、任意のタイプ若しくは形態の揮発性又は不揮発性記憶デバイス若しくは媒体を表す。システムメモリ６１６の例としては、非限定的に、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、又は他の任意の好適なメモリデバイスが挙げられる。必須ではないが、特定の実施形態では、コンピューティングシステム６１０は、揮発性メモリユニット（例えば、システムメモリ６１６など）及び不揮発性記憶デバイス（例えば、詳細に後述するような主要記憶デバイス６３２など）の両方を含んでもよい。一実施例では、図１によるモジュール１０２の１つ以上はシステムメモリ６１６にロードされてもよい。
【００６２】
特定の実施形態では、例示的なコンピューティングシステム６１０はまた、プロセッサ６１４及びシステムメモリ６１６に加えて、１つ以上の構成要素又は要素を含んでもよい。例えば、図６に示されるように、コンピューティングシステム６１０は、メモリコントローラ６１８、入力／出力（Ｉ／Ｏ）コントローラ６２０、及び通信インターフェース６２２を含んでもよく、それらはそれぞれ通信基盤６１２を介して相互接続されてもよい。通信基盤６１２は、一般に、コンピューティングデバイスの１つ以上の構成要素間の通信を容易にすることができる、任意のタイプ又は形態の基盤を表す。通信基盤６１２の例としては、非限定的に、通信バス（産業標準アーキテクチャ（ＩＳＡ）、周辺装置相互接続（ＰＣＩ）、ＰＣＩエクスプレス（ＰＣＩｅ）、又は類似のバスなど）、及びネットワークが挙げられる。
【００６３】
メモリコントローラ６１８は、一般に、メモリ若しくはデータを扱うか、又はコンピューティングシステム６１０の１つ以上の構成要素間の通信を制御することができる、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ６１８は、通信基盤６１２を介して、プロセッサ６１４、システムメモリ６１６、及びＩ／Ｏコントローラ６２０の間の通信を制御してもよい。
【００６４】
Ｉ／Ｏコントローラ６２０は、一般に、コンピューティングデバイスの入出力機能を調整及び／又は制御することができる、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、Ｉ／Ｏコントローラ６２０は、プロセッサ６１４、システムメモリ６１６、通信インターフェース６２２、ディスプレイアダプタ６２６、入力インターフェース６３０、及び記憶インターフェース６３４など、コンピューティングシステム６１０の１つ以上の要素間におけるデータの転送を制御するか又は容易にしてもよい。
【００６５】
通信インターフェース６２２は、例示的なコンピューティングシステム６１０と１つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ若しくは形態の通信デバイス又はアダプタを広く表す。例えば、特定の実施形態では、通信インターフェース６２２は、コンピューティングシステム６１０と、追加のコンピューティングシステムを含む私的又は公的ネットワークとの間の通信を容易にしてもよい。通信インターフェース６２２の例としては、非限定的に、有線ネットワークインターフェース（ネットワークインターフェースカードなど）、無線ネットワークインターフェース（無線ネットワークインターフェースカードなど）、モデム、及び他の任意の好適なインターフェースが挙げられる。少なくとも１つの実施形態では、通信インターフェース６２２は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供してもよい。通信インターフェース６２２はまた、例えば、ローカルエリアネットワーク（イーサネットネットワークなど（「イーサネット」は登録商標、以下同じ））、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は他の任意の好適な接続を通した、かかる接続を間接的に提供してもよい。
【００６６】
特定の実施形態では、通信インターフェース６２２はまた、外部バス又は通信チャネルを介して、コンピューティングシステム６１０と１つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成される、ホストアダプタを表してもよい。ホストアダプタの例としては、非限定的に、小型コンピュータシステムインターフェース（ＳＣＳＩ）ホストアダプタ、ユニバーサルシリアルバス（ＵＳＢ）ホストアダプタ、米国電気電子学会（ＩＥＥＥ）１３９４ホストアダプタ、アドバンストテクノロジーアタッチメント（ＡＴＡ）、パラレルＡＴＡ（ＰＡＴＡ）、シリアル（ＳＡＴＡ）、及び外部ＳＡＴＡ（ｅＳＡＴＡ）ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネットアダプタなどが挙げられる。通信インターフェース６２２はまた、コンピューティングシステム６１０が分散型又はリモートコンピューティングに関与することを可能にしてもよい。例えば、通信インターフェース６２２は、実行のためにリモートデバイスから命令を受信するか又はリモートデバイスに命令を送信してもよい。
【００６７】
図６に示されるように、コンピューティングシステム６１０はまた、ディスプレイアダプタ６２６を介して通信基盤６１２に連結される少なくとも１つのディスプレイデバイス６２４を含んでもよい。ディスプレイデバイス６２４は、一般に、ディスプレイアダプタ６２６によって転送される情報を視覚的に表示することができる、任意のタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ６２６は、一般に、ディスプレイデバイス６２４に表示するために、通信基盤６１２から（又は当該技術分野において既知であるようにフレームバッファから）グラフィックス、テキスト、及び他のデータを転送するように構成される、任意のタイプ又は形態のデバイスを表す。
【００６８】
図６に示されるように、例示的なコンピューティングシステム６１０はまた、入力インターフェース６３０を介して通信基盤６１２に連結される少なくとも１つの入力デバイス６２８を含んでもよい。入力デバイス６２８は、一般に、コンピュータ又は人間のいずれかが生成した入力を、例示的なコンピューティングシステム６１０に提供することができる、任意のタイプ又は形態の入力デバイスを表す。入力デバイス６２８の例としては、非限定的に、キーボード、ポインティングデバイス、音声認識デバイス、又は他の任意の入力デバイスが挙げられる。
【００６９】
図６に示されるように、例示的なコンピューティングシステム６１０はまた、記憶インターフェース６３４を介して通信基盤６１２に連結される、主要記憶デバイス６３２及びバックアップ記憶デバイス６３３を含んでもよい。記憶デバイス６３２及び６３３は、一般に、データ及び／又は他のコンピュータ読み取り可能な命令を記憶することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス６３２及び６３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、ソリッドステートドライブ、フロッピーディスクドライブ（「フロッピー」は登録商標、以下同じ）、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであってもよい。記憶インターフェース６３４は、一般に、記憶デバイス６３２及び６３３とコンピューティングシステム６１０の他の構成要素との間でデータを転送するための、任意のタイプ若しくは形態のインターフェース又はデバイスを表す。
【００７０】
特定の実施形態では、記憶デバイス６３２及び６３３は、コンピュータソフトウェア、データ、又は他のコンピュータ読み取り可能な情報を記憶するように構成される、取り外し可能な記憶ユニットから読み取る、かつ／又はそれに書き込むように構成されてもよい。好適な取り外し可能な記憶ユニットの例としては、非限定的に、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス６３２及び６３３はまた、コンピュータソフトウェア、データ、又は他のコンピュータ読み取り可能な命令をコンピューティングシステム６１０にロードできるようにするための、他の類似の構造又はデバイスを含んでもよい。例えば、記憶デバイス６３２及び６３３は、ソフトウェア、データ、又は他のコンピュータ読み取り可能な情報を読み取り、かつ書き込むように構成されてもよい。記憶デバイス６３２及び６３３はまた、コンピューティングシステム６１０の一部であってもよく、又は他のインターフェースシステムを通してアクセスされる別個のデバイスであってもよい。一実施例では、図１によるデータベース１２０は主要記憶デバイス６３２に記憶されてもよい。
【００７１】
他の多くのデバイス又はサブシステムが、コンピューティングシステム６１０に接続されてもよい。逆に、図６に示される構成要素及びデバイスの全てが、本明細書に記載及び／又は図示される実施形態を実施するために必ずしも存在しなくてもよい。上記で言及されたデバイス及びサブシステムはまた、図６に示されるのとは異なる方法で相互接続されてもよい。コンピューティングシステム６１０はまた、任意の数のソフトウェア、ファームウェア、及び／又はハードウェア構成を用いてもよい。例えば、本明細書に開示される例示的な実施形態の１つ以上は、コンピュータ読み取り可能な記憶媒体上に、コンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ読み取り可能な命令、又はコンピュータ制御論理とも称される）としてコード化されてもよい。「コンピュータ読み取り可能な記憶媒体」という語句は、一般に、コンピュータ読み取り可能な命令を記憶又は担持することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ読み取り可能な記憶媒体の例としては、非限定的に、搬送波などの伝送型媒体、並びに磁気記憶媒体（例えば、ハードディスクドライブ及びフロッピーディスク）、光学記憶媒体（例えば、コンパクトディスク（ＣＤ）又はデジタルビデオディスク（ＤＶＤ））、電子記憶媒体（例えば、ソリッドステートドライブ及びフラッシュメディア）、及び他の分散システムなどの非一時的媒体が挙げられる。
【００７２】
コンピュータプログラムを収容したコンピュータ読み取り可能な記憶媒体は、コンピューティングシステム６１０にロードされてもよい。コンピュータ読み取り可能な記憶媒体上に記憶されたコンピュータプログラムの全て又は一部分は、次に、システムメモリ６１６、並びに／又は記憶デバイス６３２及び６３３の様々な部分に記憶されてもよい。プロセッサ６１４によって実行されたとき、コンピューティングシステム６１０にロードされたコンピュータプログラムは、プロセッサ６１４に、本明細書に記載及び／又は図示される例示的な実施形態の１つ以上の機能を行わせてもよく、並びに／或いは行わせるための手段であってもよい。それに加えて、又は別の方法として、本明細書に記載及び／又は図示される例示的な実施形態の１つ以上は、ファームウェア及び／又はハードウェアに実装されてもよい。例えば、コンピューティングシステム６１０は、本明細書に開示される例示的な実施形態の１つ以上を実装するように適合された、特定用途向け集積回路（ＡＳＩＣ）として構成されてもよい。
【００７３】
図７は、クライアントシステム７１０、７２０、及び７３０、並びにサーバ７４０及び７４５がネットワーク７５０に連結されていてもよい、例示的なネットワークアーキテクチャ７００のブロック図である。上記に詳述したように、ネットワークアーキテクチャ７００の全て又は一部分は、単独で若しくは他の要素と組み合わせて、本明細書に開示されるステップの１つ以上（図３に示されるステップの１つ以上など）を行ってもよく、並びに／或いは行うための手段であってもよい。ネットワークアーキテクチャ７００の全て又は一部分はまた、本開示に記載される他のステップ及び特徴を行うのに使用されてもよく、並びに／或いは行うための手段であってもよい。
【００７４】
クライアントシステム７１０、７２０、及び７３０は、一般に、図６の例示的なコンピューティングシステム６１０など、任意のタイプ若しくは形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ７４０及び７４５は、一般に、様々なデータベースサービスを提供する、かつ／又は特定のソフトウェアアプリケーションを動かすように構成される、アプリケーションサーバ若しくはデータベースサーバなどのコンピューティングデバイス又はシステムを表す。ネットワーク７５０は、一般に、例えばイントラネット、ＷＡＮ、ＬＡＮ、ＰＡＮ、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを表す。一実施例では、クライアントシステム７１０、７２０、及び／若しくは７３０、並びに／又はサーバ７４０及び／若しくは７４５は、図１からのシステム１００の全て又は一部分を含むことができる。
【００７５】
同様に、１つ以上の記憶デバイス７６０（１）〜（Ｎ）はサーバ７４０に直接取り付けられてもよい。同様に、１つ以上の記憶デバイス７７０（１）〜（Ｎ）はサーバ７４５に直接取り付けられてもよい。記憶デバイス７６０（１）〜（Ｎ）及び記憶デバイス７７０（１）〜（Ｎ）は、一般に、データ及び／又は他のコンピュータ読み取り可能な命令を記憶することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。特定の実施形態では、記憶デバイス７６０（１）〜（Ｎ）及び記憶デバイス７７０（１）〜（Ｎ）は、ネットワークファイルシステム（ＮＦＳ）、サーバメッセージブロック（ＳＭＢ）、又は共通インターネットファイルシステム（ＣＩＦＳ）などの様々なプロトコルを使用して、サーバ７４０及び７４５と通信するように構成される、ネットワーク接続ストレージ（ＮＡＳ）デバイスを表してもよい。
【００７６】
サーバ７４０及び７４５はまた、ストレージエリアネットワーク（ＳＡＮ）ファブリック７８０に接続されてもよい。ＳＡＮファブリック７８０は、一般に、複数の記憶デバイス間の通信を容易にすることができる、任意のタイプ若しくは形態のコンピュータネットワーク又はアーキテクチャを表す。ＳＡＮファブリック７８０は、サーバ７４０及び７４５と、複数の記憶デバイス７９０（１）〜（Ｎ）及び／又は知的記憶アレイ７９５との間の通信を容易にしてもよい。ＳＡＮファブリック７８０はまた、デバイス７９０（１）〜（Ｎ）及びアレイ７９５が、クライアントシステム７１０、７２０、及び７３０にローカルで取り付けられたデバイスに見えるような形で、ネットワーク７５０並びにサーバ７４０及び７４５を介して、クライアントシステム７１０、７２０、及び７３０と、記憶デバイス７９０（１）〜（Ｎ）及び／又は知的記憶アレイ７９５との間の通信を容易にしてもよい。記憶デバイス７６０（１）〜（Ｎ）及び記憶デバイス７７０（１）〜（Ｎ）と同様に、記憶デバイス７９０（１）〜（Ｎ）及び知的記憶アレイ７９５は、一般に、データ及び／又は他のコンピュータ読み取り可能な命令を記憶することができる任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。
【００７７】
特定の実施形態では、及び図６の例示的なコンピューティングシステム６１０を参照すると、図６の通信インターフェース６２２などの通信インターフェースは、各クライアントシステム７１０、７２０、及び７３０とネットワーク７５０との間の接続性を提供するのに使用されてもよい。クライアントシステム７１０、７２０、及び７３０は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ７４０又は７４５上の情報にアクセスすることが可能であってもよい。かかるソフトウェアにより、クライアントシステム７１０、７２０、及び７３０が、サーバ７４０、サーバ７４５、記憶デバイス７６０（１）〜（Ｎ）、記憶デバイス７７０（１）〜（Ｎ）、記憶デバイス７９０（１）〜（Ｎ）、又は知的記憶アレイ７９５によってホストされるデータにアクセスすることを可能にしてもよい。図７は、データを交換するためのネットワーク（インターネットなど）の使用を示しているが、本明細書に記載及び／又は図示される実施形態は、インターネット、又は任意の特定のネットワークに基づく環境に限定されない。
【００７８】
少なくとも１つの実施形態では、本明細書に開示される例示的な実施形態の１つ以上における全て又は一部分は、コンピュータプログラムとしてコード化され、サーバ７４０、サーバ７４５、記憶デバイス７６０（１）〜（Ｎ）、記憶デバイス７７０（１）〜（Ｎ）、記憶デバイス７９０（１）〜（Ｎ）、知的記憶アレイ７９５、又はそれらの任意の組み合わせにロードされ、それらによって実行されてもよい。本明細書に開示される例示的な実施形態の１つ以上における全て又は一部分はまた、コンピュータプログラムとしてコード化され、サーバ７４０に記憶され、サーバ７４５によって動かされ、ネットワーク７５０を通じてクライアントシステム７１０、７２０、及び７３０に分散されてもよい。
【００７９】
上記に詳述したように、コンピューティングシステム６１０、及び／又はネットワークアーキテクチャ７００の１つ以上の構成要素は、単独で若しくは他の要素と組み合わせて、危殆化されている秘密鍵を識別するための例示的な方法の１つ以上のステップを行ってもよく、かつ／又はそれらを行うための手段であってもよい。
【００８０】
上述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を説明しているが、本明細書に記載及び／又は図示されるブロック図の構成要素、フローチャートのステップ、動作、及び／又は構成要素はそれぞれ、個別にかつ／又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア（若しくはそれらの任意の組み合わせ）構成を使用して実装されてもよい。それに加えて、他の多くのアーキテクチャが同じ機能性を達成するように実装可能であることにより、他の構成要素内に含まれる構成要素のいずれの開示も、本質的に例示的であるものと見なされるべきである。
【００８１】
いくつかの実施例では、図１の例示的なシステム１００の全て又は一部分は、クラウドコンピューティング又はネットワークに基づく環境の部分を表してもよい。クラウドコンピューティング環境は、インターネットを介して様々なサービス及びアプリケーションを提供してもよい。これらのクラウドに基づくサービス（例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など）は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であってもよい。本明細書に記載される様々な機能は、リモートデスクトップ環境又は他の任意のクラウドに基づくコンピューティング環境を通して提供されてもよい。
【００８２】
様々な実施形態では、図１の例示的なシステム１００の全て又は一部分は、クラウドに基づくコンピューティング環境内におけるマルチテナンシーを容易にしてもよい。換言すれば、本明細書に記載されるソフトウェアモジュールは、本明細書に記載される機能の１つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム（例えば、サーバ）を構成してもよい。例えば、本明細書に記載されるソフトウェアモジュールの１つ以上は、２つ以上のクライアント（例えば、顧客）がサーバ上で動いているアプリケーションを共有できるように、サーバをプログラムすることができる。このようにプログラムされたサーバは、複数の顧客（即ち、テナント）の間で、アプリケーション、オペレーティングシステム、処理システム、及び／又は記憶システムを共有してもよい。本明細書に記載されるモジュールの１つ以上はまた、１つの顧客が別の顧客のデータ及び／又は構成情報にアクセスすることができないように、各顧客に対して、マルチテナントアプリケーションのデータ及び／又は構成情報を分割してもよい。
【００８３】
様々な実施形態によれば、図１の例示的なシステム１００の全て又は一部分は、仮想環境内で実装されてもよい。例えば、本明細書に記載されるモジュール及び／又はデータは、仮想機械内で常駐及び／又は実行してもよい。本明細書で使用するとき、「仮想機械」という語句は、一般に、仮想機械マネージャ（例えば、ハイパーバイザ）によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。それに加えて、又は別の方法として、本明細書に記載されるモジュール及び／又はデータは、仮想化層内で常駐及び／又は実行してもよい。本明細書で使用するとき、「仮想化層」という語句は、一般に、オペレーティングシステム環境にオーバーレイする、並びに／或いはそこから抽出される、任意のデータ層及び／又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション（例えば、ファイルシステムフィルタ）によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び／又はレジストリ内の場所に方向付けられる呼出しを、仮想化層内の場所にリダイレクトしてもよい。
【００８４】
いくつかの実施例では、図１の例示的なシステム１００の全て又は一部分は、モバイルコンピューティング環境の部分を表してもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダー、携帯情報端末、ウェアラブルコンピューティングデバイス（例えば、ヘッドマウントディスプレイを備えたコンピューティングデバイス、スマートウォッチなど）などを含む、広範なモバイルコンピューティングデバイスによって実装されてもよい。いくつかの実施例では、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間における１つのみのフォアグラウンドアプリケーションの提示、リモート管理機能、タッチスクリーン機能、位置及び移動データ（例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される）、システムレベルの構成に対する修正を制限する、かつ／又は第三者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する制限されたプラットフォーム、アプリケーションのインストールを（例えば、認可されたアプリケーションストアによるもののみに）制限する制御などを含む、１つ以上の個別の特徴を有してもよい。本明細書に記載される様々な機能は、モバイルコンピューティング環境に対して提供されてもよく、かつ／又はモバイルコンピューティング環境と相互作用してもよい。
【００８５】
それに加えて、図１の例示的なシステム１００の全て又は一部分は、情報管理のための１つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって生成されるデータを消費してもよく、かつ／又はそれによって消費されるデータを生成してもよい。本明細書で使用するとき、「情報管理」という語句は、データの保護、組織化、及び／又は記憶を指してもよい。情報管理のためのシステムの例は、非限定的に、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを含んでもよい。
【００８６】
いくつかの実施形態では、図１の例示的なシステム１００の全て又は一部分は、情報セキュリティのための１つ以上のシステムの部分を表してもよく、それによって保護されるデータを生成してもよく、かつ／又はそれと通信してもよい。本明細書で使用するとき、「情報セキュリティ」という語句は、保護されたデータへのアクセスの制御を指してもよい。情報セキュリティのためのシステムの例は、非限定的に、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを含んでもよい。
【００８７】
いくつかの実施例によれば、図１の例示的なシステム１００の全て又は一部分は、エンドポイントセキュリティのための１つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ／又はそれからの保護を受けてもよい。本明細書で使用するとき、「エンドポイントセキュリティ」という語句は、権限がない及び／又は違法な使用、アクセス、並びに／或いは制御からの、エンドポイントシステムの保護を指してもよい。エンドポイント保護のためのシステムの例は、非限定的に、マルウェア対策システム、ユーザ認証システム、暗号システム、プライバシーシステム、スパムフィルタリングサービスなどを含んでもよい。
【００８８】
本明細書に記載及び／又は図示されるプロセスパラメータ及びステップの順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び／又は記載されるステップは特定の順序で図示若しくは考察されることがあるが、これらのステップは、必ずしも図示又は考察される順序で行われなくてもよい。本明細書に記載及び／又は図示される様々な例示的な方法はまた、本明細書に記載若しくは図示されるステップの１つ以上を省略するか、又は開示されるものに加えて追加のステップを含んでもよい。
【００８９】
様々な実施形態を、完全に機能的なコンピューティングシステムの文脈において、本明細書に記載及び／又は図示してきたが、これらの例示的な実施形態の１つ以上は、実際に分散を実施するのに使用されるコンピュータ読み取り可能な記憶媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として配布されてもよい。本明細書に開示される実施形態はまた、特定のタスクを行うソフトウェアモジュールを使用して実装されてもよい。これらのソフトウェアモジュールは、スクリプト、バッチ、又はコンピュータ読み取り可能な記憶媒体上若しくはコンピューティングシステム内に記憶されてもよい、他の実行可能なファイルを含んでもよい。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態の１つ以上を行うようにコンピューティングシステムを構成してもよい。
【００９０】
それに加えて、本明細書に記載されるモジュールの１つ以上は、データ、物理的デバイス、及び／又は物理的デバイスの表現を、１つの形態から別の形態へと変換してもよい。例えば、本明細書に列挙されるモジュールの１つ以上は、変換される情報を受け取り、情報を変換し、変換の結果を判定モジュールに出力し、変換の結果を使用して、秘密鍵が危殆化されているであろうことを判定し、変換の結果をデータベースに記憶してもよい。それに加えて、又は別の方法として、本明細書に列挙されるモジュールの１つ以上は、コンピューティングデバイス上で実行すること、コンピューティングデバイス上にデータを記憶すること、及び／又は別の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び／若しくは物理的コンピューティングデバイスの他の任意の部分を、１つの形態から別の形態へと変換してもよい。
【００９１】
前述の説明は、当業者が、本明細書に開示される例示的な実施形態の様々な態様を最良に利用することを可能にするために提供されてきた。この例示的な説明は、包括的であること、又は開示されるいずれかの正確な形態に限定されることを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないものと見なされるべきである。本開示の範囲を決定する際、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
【００９２】
別途記載のない限り、「ａ」又は「ａｎ」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも１つ」を意味すると解釈されるものとする。それに加えて、使用しやすくするため、「含む」及び「有する」という語は、本明細書及び特許請求の範囲で使用するとき、「備える」という語と交換可能であり、同じ意味を有する。
【図１】
2016528841.tif 000003
【図２】
2016528841.tif 000004
【図３】
2016528841.tif 000005
【図４】
2016528841.tif 000006
【図５】
2016528841.tif 000007
【図６】
2016528841.tif 000008
【図７】
2016528841.tif 000009
【手続補正書】
【提出日】平成28年2月16日(2016.2.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサを備えるコンピュータデバイスによって少なくとも一部分が行われる、危殆化されている秘密鍵を識別するためのコンピュータ実装方法であって、
署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別するステップと、
前記秘密鍵に関する情報を少なくとも１つの公開ソースから収集するステップと、
前記公開ソースから収集した前記情報に基づいて、前記秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定するステップと、
前記秘密鍵が危殆化されており前記権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行うステップと、を含む、方法。
【請求項２】
前記秘密鍵に関する前記情報を収集するステップが、前記秘密鍵を用いてデジタル署名されている少なくとも１つのアプリケーションに関する情報を収集するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記秘密鍵に関する前記情報を収集するステップが、権限がない署名者がアプリケーションにデジタル署名するのに前記秘密鍵が使用されていることを示す情報を収集するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記秘密鍵に関する前記情報を収集するステップが、評判スコアが高い少なくとも１つの信頼性の高いアプリケーション、及び評判スコアが低い少なくとも１つの疑わしいアプリケーションの両方にデジタル署名するのに、前記秘密鍵が使用されていることを示す情報を収集するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記秘密鍵に関する前記情報を収集するステップが、前記秘密鍵が所定数を超えるアプリケーションの署名に使用されていることを示す情報を収集するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記秘密鍵に関する前記情報を収集するステップが、前記秘密鍵の少なくとも１つのインスタンスが公的にアクセス可能なサーバからのダウンロードに利用可能であることを判定するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記秘密鍵が危殆化されていることを判定するステップが、前記秘密鍵を用いてデジタル署名された少なくとも１つのアプリケーションのパッケージ名が、前記秘密鍵を用いてデジタル署名された少なくとも１つの追加のアプリケーションの追加のパッケージ名とは、所定の類似性閾値を超えて異なることを、判定するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記パッケージ名を解析することによって、前記パッケージ名がランダム化されていないことを判定するステップを更に含む、請求項７に記載のコンピュータ実装方法。
【請求項９】
前記秘密鍵が危殆化されていることを判定するステップが、
前記情報を重み付けするステップと、
前記重み付けされた情報に基づいて前記秘密鍵の総合的信頼性スコアを計算するステップと、を含む、請求項１に記載のコンピュータ実装方法。
【請求項１０】
前記セキュリティアクションを行うステップが、
前記秘密鍵が危殆化されていることをユーザに警告するステップと、
前記秘密鍵を用いてデジタル署名されているアプリケーションに割り当てられた評判スコアを下げるステップと、
前記秘密鍵を用いてデジタル署名されているアプリケーションのダウンロードをブロックするステップと、
前記秘密鍵が危殆化されていることを前記署名者に警告するステップと、のうち少なくとも１つを含む、請求項１に記載のコンピュータ実装方法。
【請求項１１】
秘密鍵をホストする公的にアクセス可能なサーバを識別するデータベースを維持するステップを更に含む、請求項１に記載のコンピュータ実装方法。
【請求項１２】
危殆化されている秘密鍵を識別するシステムであって、
署名者がアプリケーションにデジタル署名することを可能にする秘密鍵を識別する識別モジュールと、
前記秘密鍵に関する情報を少なくとも１つの公開ソースから収集する収集モジュールと、
前記公開ソースから収集した前記情報に基づいて、前記秘密鍵が危殆化されており権限がない署名者がアクセス可能であることを判定する判定モジュールと、
前記秘密鍵が危殆化されており前記権限がない署名者がアクセス可能であることの判定に応答して、セキュリティアクションを行うセキュリティモジュールと、
前記識別モジュール、前記収集モジュール、前記判定モジュール、及び前記セキュリティモジュールを実行するように構成された、少なくとも１つのプロセッサと、を備える、システム。
【請求項１３】
前記収集モジュールが、前記秘密鍵を用いてデジタル署名されている少なくとも１つのアプリケーションに関する情報を収集することによって、前記秘密鍵に関する前記情報を収集する、請求項１２に記載のシステム。
【請求項１４】
前記収集モジュールが、権限がない署名者がアプリケーションにデジタル署名するのに前記秘密鍵が使用されていることを示す情報を収集することによって、前記秘密鍵に関する前記情報を収集する、請求項１２に記載のシステム。
【請求項１５】
前記収集モジュールが、評判スコアが高い少なくとも１つの信頼性の高いアプリケーション、及び評判スコアが低い少なくとも１つの疑わしいアプリケーションの両方にデジタル署名するのに、前記秘密鍵が使用されていることを示す情報を収集することによって、前記秘密鍵に関する前記情報を収集する、請求項１２に記載のシステム。
【国際調査報告】
2016528841.tif 000010
2016528841.tif 000011
2016528841.tif 000012