(57)【要約】      （修正有）【課題】ファイルのデジタル署名を検証するためのシステム及び方法を提供する。【解決手段】システムにおいて、データ転送装置１３５のチェックツール１２０は、ＤＳ（デジタル署名）証明書が必要な整合性を有するかをチェックすることによって、及び発行センターデータを認証することによって該ＤＳ証明書が有効であるかを判定し、ファイル１１０が適切な整合性を有し、かつ、該ＤＳ証明書が有効であるかをチェックすることによってデジタル署名が有効であるかを判定する。該ＤＳ証明書が有効である場合は、ＤＳ証明書データに関連する信用証明書データを検索することによって該ＤＳ証明書が信用できるかを判定し、そして、該デジタル署名が有効であり、かつ、該ＤＳ証明書が信用できる場合は、該少なくとも1つのファイル１１０を信用できるとして分類する。【選択図】図１
2020113253.tif 000002
【特許請求の範囲】
【請求項１】
ファイルのデジタル署名を検証するためのシステム及び方法。
【請求項２】
少なくとも1つのファイルのデジタル署名を検証するためのシステムであって：
複数の証明書を保存するように構成された証明書データベース；
信用証明書データを保存するように構成された信用証明書データベース；並びに
データ転送装置であって：
少なくとも1つのプロセッサのコンピュータハードウェア及び該少なくとも1つのプロセッサに動作可能に接続されたメモリ；並びに
命令を含む、該データ転送装置を含み、
該命令がコンピュータプラットフォームで実行されると、該コンピュータプラットフォームが：
発行センターデータ及びDS証明書データを有するDS証明書を含むデジタル署名を有する少なくとも1つのファイルを取得し、
該DS証明書が必要なDS証明書整合性を有するかをチェックすることによって、及び該発行センター証明書を該証明書データベースで認証することによって該DS証明書が有効であるかを判定し、
該少なくとも1つのファイルが必要なファイル整合性を有し、かつ該DS証明書が有効であるかをチェックすることによって該デジタル署名が有効であるかを判定し、
該DS証明書が有効である場合は、該DS証明書データに関連する信用証明書データを検索することによって該DS証明書が信用できるかを判定し、そして
該デジタル署名が有効であり、かつ該DS証明書が信用できる場合は、該少なくとも1つのファイルを信用ファイルとして分類するように構成されているチェックツールを実装する、前記システム。
【請求項３】
前記チェックツールが、前記デジタル署名が無効であるか、又は前記DS証明書が無効であるか若しくは信用できない場合は、前記少なくとも1つのファイルを非信用ファイルとして分類するようにさらに構成され、
前記データ転送装置が命令をさらに含み、該命令が前記コンピュータプラットフォームで実行されると、該コンピュータプラットフォームが、該少なくとも1つのファイルが該チェックツールによって非信用ファイルとして分類された場合は、ユーザコンピュータ装置の該少なくとも1つのファイルへのアクセスを制限するように構成されている安全性保障ツールを実装する、請求項2記載のシステム。
【請求項４】
前記証明書データベースにおける前記複数の証明書が、第1のオペレーティングシステム用の第1の証明書及び第2のオペレーティングシステム用の第2の証明書を含み、該第1のオペレーティングシステムと該第2のオペレーティングシステムとが異なる、請求項2記載のシステム。
【請求項５】
前記信用証明書データベースにおける前記信用証明書データが、少なくとも2つのオペレーティングシステム用のデータを含む、請求項2記載のシステム。
【請求項６】
前記チェックツールが、第1のプロセッサプロセスを用いて前記デジタル署名が有効であるかを判定するように構成され、かつ第2のプロセッサプロセスを用いて前記DS証明書が有効であるかを判定するように構成され、該第1のプロセッサプロセスが、該第2のプロセッサプロセスと同時にかつ独立に実行される、請求項2記載のシステム。
【請求項７】
前記安全性保障ツールが：
前記少なくとも1つのファイルの前記ユーザコンピュータ装置への転送を禁止すること、
該少なくとも1つのファイルの該ユーザコンピュータ装置での実行を禁止すること、
該少なくとも1つのファイルを該ユーザコンピュータ装置で開くことを禁止すること、
該少なくとも1つのファイルを削除すること、又は
該少なくとも1つのファイルを隔離することの少なくとも1つによって該ユーザコンピュータ装置の該ファイルへのアクセスを制限するように構成されている、請求項3記載のシステム。
【請求項８】
前記チェックツールが前記少なくとも1つのファイルを取得すると、前記安全性保障ツールが、該少なくとも1つのファイルが信用ファイル又は非信用ファイルとして分類されるまで、該少なくとも1つのファイルの前記ユーザコンピュータ装置への転送を中断するようにさらに構成されている、請求項7記載のシステム。
【請求項９】
前記少なくとも1つのファイルが前記必要なファイル整合性を有するかをチェックすることが：
解読されたデジタル署名チェックサムを前記デジタル署名から取得すること；
チェックサムアルゴリズムを前記DS証明書から取得すること；
該チェックサムアルゴリズムを用いて該少なくとも1つのファイルのファイルチェックサムを計算すること；
該デジタル著名チェックサムを、該DS証明書の公開鍵用いて該ファイルチェックサムと比較すること；及び
該デジタル署名チェックサムが該ファイルチェックサムに一致する場合は、該少なくとも1つのファイルが該必要なファイル整合性を有すると判定することを含む、請求項2記載のシステム。
【請求項１０】
前記発行センター証明書を認証することが：
証明書チェーンを前記複数の証明書から作成すること；
該証明書チェーンにおける該複数の証明書のそれぞれが必要な証明書整合性を有するかをチェックすること；
該証明書チェーンにおける該複数の証明書の1つが該発行センターデータに関連しているかをチェックすること；
ルート証明書が該証明書チェーンにおける最後の証明書であるかをチェックすること；及び
該証明書チェーンにおける該複数の証明書のそれぞれが、該必要な証明書整合性を有し、該証明書チェーンにおける該複数の証明書の1つが該発行センターデータに関連し、かつ該ルート証明書が該証明書チェーンの最後の証明書である場合は、該発行センターデータが有効であると判定することを含む、請求項2記載のシステム。
【請求項１１】
前記DS証明書データに関連する信用証明書データを検索することが：
前記信用証明書データにおいて、前記DS証明書、該DS証明書のID、又は該DS証明書を識別するベクトル値の少なくとも1つを含む該DS証明書データを識別すること；又は
該信用証明書データにおいて、前記DS証明書を発行した証明センターからの証明センター証明書を識別することを含む、請求項2記載のシステム。
【請求項１２】
前記証明書データベースが、前記複数の証明書についての取り消しデータを保存するようにさらに構成され、かつ前記DS証明書が信用できるかを判定することが：
該DS証明書を該取り消しデータと比較して、該DS証明書が有効期限切れでないかを判定することをさらに含む、請求項11記載のシステム。
【請求項１３】
前記証明書データベースに保存された前記複数の証明書が、ルート証明書及び証明センターの証明書のみを含む、請求項2記載のシステム。
【請求項１４】
前記信用証明書データが、複数の信用証明書又は該複数の信用証明書のIDを含む、請求項2記載のシステム。
【請求項１５】
少なくとも1つのファイルのデジタル署名を検証するための方法であって：
発行センターデータ及びDS証明書データを有するDS証明書を含むデジタル署名を有する少なくとも1つのファイルを取得するステップ；
該DS証明書が必要なDS証明書整合性を有するかをチェックすることによって、及び該発行センター証明書を認証することによって該DS証明書が有効であるかを判定するステップ；
該少なくとも1つのファイルが必要なファイル整合性を有し、かつ該DS証明書が有効であるかをチェックすることによって該デジタル署名が有効であるかを判定するステップ；
該DS証明書が有効である場合は、該DS証明書データに関連する信用証明書データを信用証明書データベースで検索することによって該DS証明書が信用できるかを判定するステップ；及び
該デジタル署名が有効であり、かつ該DS証明書が信用できる場合は、該少なくとも1つのファイルが信用ファイルとして分類するステップを含む、前記方法。
【請求項１６】
前記デジタル署名が無効であるか、又は前記DS証明書が無効であるか若しくは信用できない場合は、前記少なくとも1つのファイルを非信用ファイルとして分類するステップ；及び
該少なくとも1つのファイルが非信用ファイルと分類された場合は、ユーザコンピュータ装置の該少なくとも1つのファイルへのアクセスを制限するステップをさらに含む、請求項15記載の方法。
【請求項１７】
前記ユーザコンピュータ装置のファイルへのアクセスを制限するステップが：
前記少なくとも1つのファイルの前記ユーザコンピュータ装置への転送を禁止するステップ、
該少なくとも1つのファイルの該ユーザコンピュータ装置での実行を禁止するステップ、
該少なくとも1つのファイルを該ユーザコンピュータ装置で開くことを禁止するステップ、
該少なくとも1つのファイルを削除するステップ、又は
該少なくとも1つのファイルを隔離するステップの少なくとも1つを含む、請求項16記載の方法。
【請求項１８】
前記少なくとも1つのファイルを取得すると、該少なくとも1つのファイルが信用ファイル又は非信用ファイルとして分類されるまで、該少なくとも1つのファイルの前記ユーザコンピュータ装置への転送を中断するステップをさらに含む、請求項16記載の方法。
【請求項１９】
少なくとも1つのプロセッサ、及び該少なくとも1つのプロセッサに動作可能に接続されたメモリ；並びに
命令を含むコンピュータ装置であって、該命令が該プロセッサで実行されると、該プロセッサが：
発行センターデータ及びDS証明書データを有するDS証明書を含むデジタル署名を有する少なくとも1つのファイルを取得し、
該DS証明書が必要なDS証明書整合性を有するかをチェックすることによって、及び該発行センター証明書を認証することによって該DS証明書が有効であるかを判定し、
該少なくとも1つのファイルが必要なファイル整合性を有し、かつ該DS証明書が有効であるかをチェックすることによって該デジタル署名が有効であるかを判定し、
該DS証明書が有効である場合は、該DS証明書データに関連する信用証明書データを信用証明書データベースで検索することによって該DS証明書が信用できるかを判定し、そして
該デジタル署名が有効であり、かつ該DS証明書が信用できる場合は、該少なくとも1つのファイルを信用ファイルとして分類するように構成されているチェックツールを実装する、前記コンピュータ装置。
【請求項２０】
前記チェックツールが、前記デジタル署名が無効であるか、又は前記DS証明書が無効であるか若しくは信用できない場合は、前記少なくとも1つのファイルを非信用ファイルとして分類するようにさらに構成され、
前記コンピュータ装置が命令をさらに含み、該命令が前記プロセッサで実行されると、該プロセッサが、該少なくとも1つのファイルが前記チェックツールによって非信用ファイルとして分類された場合は、ユーザコンピュータ装置の該少なくとも1つのファイルへのアクセスを制限するように構成されている安全性保障ツールを実装する、請求項19記載のコンピュータ装置。
【請求項２１】
コンピュータ装置オペレーティングシステム（OS）；及び
命令をさらに含み、該命令が該プロセッサで実行されると、該プロセッサが、該コンピュータ装置OSとは異なる仮想マシンOSを含む仮想マシンを実装し、前記少なくとも1つのファイルが該仮想マシンOS上でのみ実行可能である、請求項19記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、引用によりすべてが本明細書中に組み込まれている、2018年12月28日に出願されたロシア連邦特許出願第2018147246号の利益を請求するものである。本出願はさらに、同様に引用によりすべてが本明細書中に組み込まれている、2017年9月6日に出願された「ファイルのデジタル署名の検証における攻撃に対するレジリエンスのためのシステム及び方法（System and Method for Attack Resiliency in Verifying Digital Signatures）」という名称の米国特許出願第16/563,207号に関する。
【０００２】
（技術分野）
実施態様は、一般に、コンピュータ化されたデジタル署名、より詳細にはデジタル署名及びデジタル署名ファイル証明書のチェックに関する。
【背景技術】
【０００３】
（背景）
悪意のあるアプリケーションがより一般的になってきたため、不正アクセス及び不正使用からユーザのデータ及びユーザの装置を保護することを目的とした改善されたアンチウイルス技術が必要とされている。アンチウイルスアプリケーションの改善のためのこの途切れることのないレースでは、開発者は、特に、悪意のあるファイルの検出における2種類のエラーの削減という重要なタスクに直面している。I型エラー（擬陽性）は、悪意のないファイルを悪意のあるファイルとして認定することである。II型エラーは、悪意のあるファイルを悪意のあるファイルとして認定することに失敗することである。
【０００４】
I型エラー数を削減するために、アンチウイルスアプリケーションの開発者は、例えばヒューリスティックな分析を使用して悪意のあるファイルとして認定されたファイルを削除も隔離もされないように様々な技術を使用する。そのような技術の1つには、信用ファイルのデータベースを使用してファイルをチェックすることが含まれる。そのようなチェックは、信用ファイルのデータベースにおいて、悪意があるとして認定されたファイルのID（例えば、MD5又はSHA-1チェックサム）を検索し、同じIDがそこで検出された場合、ファイルを悪意があるとして認定する判定がキャンセルされる。I型エラーを削減するための別の方法は、悪意があるとして認定されたファイルの電子デジタル署名（「DS」又は単に「デジタル署名」）のチェックである。
【０００５】
デジタル署名をチェックするために、アンチウイルスアプリケーションは、CryptoAPIなどのオペレーティングシステム（「OS」）に組み込まれたDSチェックツールを使用する場合が多い。例えば、米国特許出願公開第2017/0257361A1号に、コードを含むファイルのDSのチェックの結果に基づいた実行可能なコードの検証のアプローチが記載されている。しかしながら、このアプローチには、DSチェックの速度が比較的遅いことや犯罪者による攻撃に対して脆弱であることなどのいくつかの欠点がある。従って、DSチェックツールに対する攻撃に対処する必要がある。
【０００６】
従って、I型エラー及びII型エラーを削減することを目的としてデジタル署名を有効性又は信頼性について確実かつ効率的にチェックする必要がある。
【発明の概要】
【課題を解決するための手段】
【０００７】
（概要）
本出願の実施態様は、業界の上述の要求を実質的に満たす。特に、本明細書に記載の実施態様は、デジタル署名及びデジタル署名証明書の有効性及び信頼性を、既存のシステムよりも効率的かつ正確に評価するためのシステム及び方法を提供する。
【０００８】
一実施態様では、少なくとも1つのファイルのデジタル署名を検証するためのシステムは、複数の証明書を保存するように構成された証明書データベース；信用証明書データを保存するように構成された信用証明書データベース；並びにデータ転送装置であって：少なくとも1つのプロセッサのコンピュータハードウェア及び該少なくとも1つのプロセッサに動作可能に接続されたメモリ；並びに命令を含む、該データ転送装置を含み、該命令がコンピュータプラットフォームで実行されると、該コンピュータプラットフォームが：発行センターデータ及びDS証明書データを有するDS証明書を含むデジタル署名を有する少なくとも1つのファイルを取得し、該DS証明書が必要なDS証明書整合性を有するかをチェックすることによって、及び該発行センター証明書を該証明書データベースで認証することによって該DS証明書が有効であるかを判定し、該少なくとも1つのファイルが必要なファイル整合性を有し、かつ該DS証明書が有効であるかをチェックすることによって該デジタル署名が有効であるかを判定し、該DS証明書が有効である場合は、該DS証明書データに関連する信用証明書データを検索することによって該DS証明書が信用できるかを判定し、そして、該デジタル署名が有効であり、かつ該DS証明書が信用できる場合は、該少なくとも1つのファイルを信用できるとして分類するように構成されているチェックツールを実装する。
【０００９】
一実施態様では、少なくとも1つのファイルのデジタル署名を検証するための方法は、発行センターデータ及びDS証明書データを有するDS証明書を含むデジタル署名を有する少なくとも1つのファイルを取得するステップ；該DS証明書が必要なDS証明書整合性を有するかをチェックすることによって、及び該発行センター証明書を認証することによって該DS証明書が有効であるかを判定するステップ；該少なくとも1つのファイルが必要なファイル整合性を有し、かつ該DS証明書が有効であるかをチェックすることによって該デジタル署名が有効であるかを判定するステップ；該DS証明書が有効である場合は、該DS証明書データに関連する信用証明書データを信用証明書データベースで検索することによって該DS証明書が信用できるかを判定するステップ；並びに該デジタル署名が有効であり、かつ該DS証明書が信用できる場合は、該少なくとも1つのファイルが信用ファイルとして分類するステップを含む。
【００１０】
一実施態様では、コンピュータ装置は、少なくとも1つのプロセッサ及び該少なくとも1つのプロセッサに動作可能に接続されたメモリ；並びに命令を含み、該命令がプロセッサで実行されると、該プロセッサが：発行センターデータ及びDS証明書データを有するDS証明書を含むデジタル署名を有する少なくとも1つのファイルを取得し、該DS証明書が必要なDS証明書整合性を有するかをチェックすることによって、及び該発行センター証明書を認証することによって該DS証明書が有効であるかを判定し、該少なくとも1つのファイルが必要なファイル整合性を有し、かつ該DS証明書が有効であるかをチェックすることによって該デジタル署名が有効であるかを判定し、該DS証明書が有効である場合は、該DS証明書データに関連する信用証明書データを信用証明書データベースで検索することによって該DS証明書が信用できるかを判定し、そして、該デジタル署名が有効であり、かつ該DS証明書が信用できる場合は、該少なくとも1つのファイルを信用できるとして分類するように構成されているチェックツールを実装する。
【００１１】
上記の概要は、例示されているそれぞれの実施態様又は本発明の主題のすべての実施を説明することを意図するものではない。図面及び以下の詳細な説明は、様々な実施態様をより具体的に例示する。
【００１２】
（図面の簡単な説明）
本発明の主題は、添付の図面と共に様々な実施態様の以下の詳細な説明を考慮すれば、より完全に理解できるであろう。
【図面の簡単な説明】
【００１３】
【図１】図1は、一実施態様による、ファイルのデジタル署名を検証するためのシステムのブロック図である。
【図２】図2は、別の実施態様による、ファイルのデジタル署名を検証するためのシステムのブロック図である。
【図３】図3は、一実施態様による、ファイルのデジタル署名を検証するための方法のフローチャートである。
【図４】図4は、一実施態様による、コンピュータ装置に対する攻撃に対処するための方法のフローチャートである。
【図５】図5は、実施態様を実施するために構成されたコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１４】
様々な実施態様は、様々な変更形態及び代替形態に適しているが、その詳細を例として図面に示し、詳細に説明する。しかしながら、請求される発明を記載する特定の実施態様に限定することを意図するものではないことを理解されたい。むしろ、本発明は、特許請求の範囲で規定される主題の精神及び範囲に含まれるすべての変更、同等物、及び代替物を含むことを意図している。
【００１５】
（図面の詳細な説明）
以下の定義及び概念は、特定の実施態様における説明を通して使用される。
【００１６】
例えば、一実施態様では、悪意のあるアプリケーションとは、コンピュータ又はコンピュータのユーザデータ（言い換えれば、コンピュータシステム）に被害を与える能力を有するアプリケーション；例えば、ネットワークワーム、キーボードスパイ、又はコンピュータウイルスのことであり得る。被害は、窃盗目的、並びに例えばデータの不正保存又は計算の実行などのリソースの悪用のためにコンピュータに保存されたデータを含むコンピュータのリソースへの不正アクセスからなり得る。
【００１７】
一実施態様では、信用アプリケーションとは、コンピュータ又はそのユーザに被害を与えないアプリケーションのことであり得る。アプリケーションは、信用できるソフトウェア開発者によって開発された場合、信用できるソース（例えば、信用できるサイトのデータベースに含まれるサイト）からダウンロードされた場合、又はアプリケーションのID（若しくはアプリケーションを正確に識別することを可能にする他のデータ−例えば、アプリケーションファイルのハッシュ値）が信用アプリケーションのデータベースに保存されている場合、信用できると見なすことができる。デジタル証明書などの製造者IDもまた、信用アプリケーションデータベースに保存することができる。
【００１８】
一実施態様では、非信用アプリケーションとは、信用できないが悪意があるとしても認定されていないアプリケーションのことであり得る。例えば、そのような信頼性又は悪意のあることの評価は、アンチウイルスアプリケーションによって行うことができる。非信用アプリケーションは、例えばアンチウイルスチェックを使用して後に悪意があるとして認定され得る。
【００１９】
一実施態様では、悪意のあるファイルとは、悪意のあるアプリケーションの構成要素であり、かつプログラムコード（例えば、実行コード又は解釈コード）を含むファイルのことであり得る。
【００２０】
一実施態様では、非信用ファイルとは、非信用アプリケーションの構成要素であり、かつプログラムコード（例えば、実行コード又は解釈コード）を含むファイルのことであり得る。
【００２１】
一実施態様では、信用ファイルとは、信用アプリケーションの構成要素であるファイルのことであり得る。
【００２２】
一実施態様では、ファイルのDSのチェックは、まさにチェックされるそのファイルが、該DSに添付された証明書の所有者によって署名されているか否かをチェックすることと定義することができる。チェックの第1の段階で、ファイルのDSからの解読されたファイルチェックサムを、DS証明書で指定されたアルゴリズムを用いて得られたファイルチェックサムと比較する。DSファイルからのチェックサムを、DS証明書で指定された公開鍵を用いてチェックする。チェックサムが一致すると、ファイルの整合性が確認される。チェックの次の段階は、DS証明書の有効性を確認することであり、これは同じ方法で行われる：実施態様は、ファイルのDSの証明書の整合性、及び該ファイルのDSの証明書を発行した当該証明センターの証明書の有効性をチェックする（このプロセスは、ルート証明書まで続ける）。証明書は、整合性が確認された場合、及び該証明書を発行した証明センターの証明書が有効である場合も、有効であると見なされる。そうでない場合は、証明書は無効である。DS証明書が有効であると見なされ、かつファイルが必要な整合性を有すると見なされる場合は、DSは有効であると見なされる。他の実施態様では、DS証明書が有効であると見なされ、かつファイルが署名後に変更されていない場合は、DSは有効であると見なされる。そうでない場合は、DSは無効であると見なされる。特定の実施態様では、DS証明書は、ファイルのDSの有効性のチェックを可能にする、該ファイルのDSに添付された証明書（「リーフ証明書」）と定義される。特定の実施態様では、証明書は、X.509標準に従った証明書を意味する。
【００２３】
一実施態様では、本発明におけるファイルのDSをチェックするためのシステムのツールは、特定用途向け集積回路（ASIC）若しくはフィールド・プログラマブル・ゲート・アレイ（FPGA）などのハードウェアを用いて、又は、例えばマイクロプロセッサシステムと一連のプログラム命令などのソフトウェアとハードウェアの組み合わせ、及びニューロシナプティック・チップとして設計された実際の装置、システム、構成要素、及び構成要素群である。上述のシステムツールの機能は、ハードウェアのみによって提供するか、又は該システムツールの機能が、その一部がソフトウェアにより、残りの部分がハードウェアにより提供される組み合わせとして提供することができる。いくつかの実施態様では、ツールの一部又はすべてを、コンピュータ化装置のプロセッサ（例えば、図5に示されているプロセッサ）を用いて実施することができる。また、システムの構成要素は、単一コンピュータ内で、又は複数の連結されたコンピュータ間で分散して設計することができる。
【００２４】
一実施態様では、DSチェックシステムは、チェックツール及び証明書データベースを含む。別の実施態様では、該システムは、安全性保障ツールを含む。
【００２５】
図1を参照すると、一実施態様による、ファイルのデジタル署名を検証するためのシステムのブロック図が示されている。一実施態様では、該システムは、チェックツール及び1つ又は複数のデータベースを含む。一実施態様では、チェックツール120が、データ（例えば、ネットワークから受信したデータ）をユーザコンピュータ140に送信するように設計されたコンピュータ装置であるデータ転送装置135に存在する。一実施態様では、ユーザコンピュータ140に送信されるデータは、ファイル110であり得る。データ転送装置135は、ルータ、又はプロキシサーバのような任意の他のコンピュータ装置であり得る。一実施態様では、データ転送装置135は、後の分配のためにデータを保存するように設計されたコンピュータ装置であり得る。例えば、データ転送装置135は、後に社員のコンピュータにファイルを転送するための会社のネットワークの複数のコンピュータの更新ファイルを受信する更新サーバを備えることができる。
【００２６】
一実施態様では、該システムは、安全性保障ツール125をさらに含む。図1に示されているように、安全性保障ツール125もまた、データ転送装置135に存在する。
【００２７】
一実施態様では、該システムは、証明書データベース130及び信用証明書データベース131をさらに含み、これらのそれぞれは、チェックツール120に動作可能に接続されるように構成されている。データベース130及び131は、装置135、又はネットワークを用いて該装置135に（例えば、ネットワークを介して）接続された遠隔サーバに存在し得る。
【００２８】
ファイル110は、DSを有するファイルを含み得る。例えば、ファイル110は、実行ファイル又はスクリプトファイルであり得る。別の実施態様では、実行ファイルは、Windows又はUnix、特にWindows OS、Ubuntu Linux OS、MacOSなどのファミリーからのオペレーティングシステムの実行ファイルである。
【００２９】
図2を参照すると、別の実施態様による、ファイルのデジタル署名を検証するためのシステムのブロック図が示されている。具体的には、図2は、チェックシステムの代替の実施態様を示し、安全性保障ツール125及びチェックツール120が、ユーザコンピュータ装置140に存在する。また、チェックツール120に接続された証明書データベース130及び信用証明書データベース131は、コンピュータ装置140、又はネットワークを用いて該コンピュータ装置140に接続された遠隔サーバに存在し得る。
【００３０】
図1及び図2の両方を再び参照すると、証明書データベース130は、証明書を保存するように構成されている。一実施態様では、証明書データベース130はまた、証明書が取り消されているか否かを示す各証明書についての情報を保存する。特定の実施態様では、証明書データベース130は、Windows及びUnixファミリー、例えば：Windows、Ubuntu Linux、又はMacOSなどの複数（少なくとも2つ）のオペレーティングシステムの証明書（従って、それらについての情報も）を保存する。従って、証明書データベース130は、様々なオペレーティングシステムの証明書を保存することができるが、これは、各オペレーティングシステムのDSチェックシステムツールが従来のシステムでのように別個に使用されている場合は不可能である。さらに、一実施態様では、証明書データベース130は、ルート証明書及び証明センターの証明書のみを保存する。
【００３１】
信用証明書データベース131は、信用証明書を保存するように構成されている。代替の一実施態様では、信用証明書データベース131は、証明書自体を保存するのではなく、それらのID（例えば、SHA-1チェックサム）を保存する。特定の一実施態様では、証明書データベース130と同様に、信用証明書データベース131は、複数のOSの証明書についての情報を保存するように構成されている。
【００３２】
この開示の文脈において、「OSの証明書」（又は単に「OS証明書」）は、1つのOS（又は1つのOSファミリー）の証明書のシステム記憶装置に存在し得るが、別のファミリーのOSのシステム記憶装置には存在しない証明書を意味する。この状況は、いくつかの理由から可能である。
【００３３】
例えば、OS開発者は、該開発者が暗号論的に強固でないと見なす暗号化アルゴリズムを用いて整合性が判定された証明書を保存しないであろう。1つの特定の例では、Windows OS開発者は、Windows 10 OS中のDSの有効性をチェックする際にSHA-1暗号化アルゴリズム（従って、このアルゴリズムが指定された証明書）を使用することを止める予定である。
【００３４】
別の例では、DSの有効性をチェックするための暗号論的に強固な暗号化アルゴリズムを有する証明書のシステム記憶装置のサポートは、存在しなくてもよいし、又はOS開発者が遅れて追加してもよい。Windows 7 OSは、そのような一例を提供し、この例では、当初はSHA-1暗号化アルゴリズムのみがサポートされただけであったが、SP1のみが更新されたSHA-256サポートが追加された。
【００３５】
別の例では、OS開発者は、特定のサブシステムに関連したソフトウェア開発者に発行された証明書をシステム記憶装置に加えなくてもよい。例えば、Windows 8 OSのみに存在するMetroアプリケーションのDSのチェックに使用されるルート証明書は、Windows 7 OS証明書のシステム記憶装置に存在しない。
【００３６】
別の例では、MacOS開発者は、Windows実行ファイルのDSをチェックするために使用された証明書（特に、ルート証明書）をMacシステム記憶装置に加えない（逆も同様である）。言い換えれば、1つのOSのシステム記憶装置は、他のOSの実行ファイルをチェックするために使用された証明書（特に、ルート証明書）を含まなくてもよい。
【００３７】
本明細書で提供される例と同様に、存在するシステム記憶装置からの証明書（例えば、ルート証明書）の除外の他の多数の理由は限られていない。
【００３８】
上で議論したように、特定の実施態様では、証明書のシステム記憶装置は、証明書を含むデータベースを含むことができ、該データベースは、ファイルDSなどのDSのチェックのためのDSチェックシステムツールによって使用される。上記の例における「OS開発者」の意味には、証明書のシステム記憶装置の内容、及び証明書のシステム記憶装置を用いてDSをチェックするための方法（特に、DS及び証明書の有効性をチェックするために使用される暗号化アルゴリズム）を決定する情報技術専門家が含まれる。さらに、特定の実施態様では、データベース130及び131に保存されたデータは、そのような情報技術専門家によって追加する、変更する、及び削除することができる。
【００３９】
図1及び図2を再び参照すると、チェックツール120は、DSが有効であると認定するためにファイル110のDSをチェックするように、及び証明書が有効であり、かつ信用できると認定するためにファイルDS110の証明書をチェックするように設計されている。DSの有効性は、2段階でチェックされ、該2段階のチェックは、同時に、かつ互いに独立に行うことができる。
【００４０】
第1の段階は、ファイル110の整合性をチェックする。このために、ツール120が、ファイル110のDSからのファイル110の解読チェックサムを、DSの証明書で指定されたアルゴリズムを用いて得られたファイル110のチェックサムと比較する。ファイル110のDSからのチェックサムを、DSの証明書で指定された公開鍵を用いてチェックする。チェックサムが一致した場合、チェックツール120が、ファイルの整合性を確認する、すなわちファイル110が変更されていないかを判定する。
【００４１】
ファイル110のDSチェックの第2の段階は、DS証明書の有効性をチェックする。一実施態様では、チェックツール120は、例えば、証明書データベース130で利用可能な証明書からルート証明書までの証明書チェーンを作成することによって証明書の有効性をチェックする。ファイル110のDSの証明書（及び任意の他の証明書）は、ファイル110のDSの証明書が適切な整合性（証明書の整合性のチェックは、上記のファイルの整合性のチェックに類似している）を有する場合、及びファイル110のDSの証明書を発行した証明センターの証明書が有効である場合も有効であると認定される。一実施態様では、ファイル110のDSの証明書をチェックするために使用されるすべての証明書は、証明書データベース130に保存されている。証明書の有効性についての逐次チェックは、証明書チェーンの作成を含む。例えば、チェックツール120が、ファイル110のDSの証明書をチェックする際に、証明書データベース130に保存されているルート証明書までの証明書チェーンを作成することができる場合、すなわち該証明書チェーンの各証明書が適切な整合性を有し、かつ該証明書チェーンの最後の証明書がルート証明書である場合、該ファイル110のDSの証明書が有効であるとして認定される。そうでない場合は、ファイル110のDSの証明書は、有効であると認定されない（例えば、無効であると認定される）。一実施態様では、ファイル110のDSの証明書が無効である場合、チェックツール120は、ファイルを非信用ファイルとして認定する。
【００４２】
ファイル110のDSの証明書が有効である場合、チェックツール120は、以下の条件を満たす場合、該ファイル110のDSの証明書を信用できると認定することができる：DSの証明書（又はそのような証明書のID−例えば、SHA-1若しくはSHA-256チェックサム、又は証明書を確実に識別するベクトル値）が信用証明書データベース131に存在する、又は証明書を発行した証明センターの証明書が信用できる。一実施態様では、信用できると認定されるべきDSの証明書に対して、さらなる条件が満たされなければならない。特に、証明書データベース130は、証明書が取り消されたという情報を含んではいけない。さらに別の実施態様では、信用できると認定されるべきDSの証明書に対して、さらなる条件が満たされなければならない。特に、DSの証明書は、有効期限切れであってはいけない（証明書自体に示された期間が終了していない）
【００４３】
一実施態様では、有効と認定されるべき証明書では、証明書データベース131が、証明書についての情報（例えば、証明書ID）を含めば十分である。この場合、ファイル110のDSの証明書の認定は、別個の段階として行われない。むしろ、DSの証明書が信用できるか否かは、ファイル110のDSの証明書の有効性をチェックする段階で確認される。
【００４４】
一実施態様では、チェックツール120はまた、ファイル110のカテゴリを決定するように（又はファイルをあるカテゴリに分類するように；言い換えれば、ファイルをあるカテゴリに属すると認定するように）構成されている。ツール120は、ファイルのDSが有効であり、かつDSの証明書が信用できる場合は、ファイル110を信用できると認定する（ファイル110が信用ファイルのカテゴリに属すると判定する、言い換えれば、ファイル110を信用ファイルのカテゴリに分類する）ことができる。
【００４５】
DSの証明書の有効性、従ってファイル110のDSの有効性をチェックするためにDS−チェックシステムツールの代わりにデータベース130を使用することにより、チェックツール120は、従来のシステムよりも有利である。例えば、OSの一部であり、かつそのOSに対応する特定の種類のファイルのみの署名に使用される証明書を保存する、証明書のシステム記憶装置（例えば、Windows OSの証明書のシステム記憶装置は、Unix型システムの実行ファイルのDSのチェックのために、ルート証明書を含む証明書を保存しない）とは異なり、データベース130は、任意のオペレーティングシステムに対応するファイルの署名に使用される証明書を含み得る。一実施態様では、ファイルがOSの実行ファイルである場合は、該ファイルはOSに対応する。これにより、ファイル110のDSの証明書を有効であると認定する判断、従って、ファイル110のDSが有効であると認定する判断、並びに該ファイル110のDS及びDSの証明書のチェックに基づいて決定される該ファイル110のカテゴリによって正確さ、特にI型エラーの削減が保証される。
【００４６】
安全性保障ツール125は、非信用ファイルから装置140を保護するように構成されている。一実施態様では、保護には、非信用ファイルの実行を禁止すること、又はそのようなファイルを開くことを禁止することが含まれる。さらに別の実施態様では、安全性保障ツール125は、非信用ファイルのコンピュータ装置140への転送を防止する。例えば、安全性保障ツール125は、ファイル110のコンピュータ装置140への転送を阻止することができる。別の実施態様では、安全性保障ツール125は、非信用ファイルを削除又は隔離するため、該非信用ファイルはコンピュータ装置140には決して到達しない。
【００４７】
一実施態様では、安全性保障ツール125は、ユーザコンピュータ装置140のDS−チェックシステムツールに対して行われる攻撃を検出するようにさらに構成されている。DS−チェックシステムツールは、オペレーティングシステムと共に提供され、かつDS証明書及び／又はDS自体をチェックするように設計されたソフトウェアツールであり得る。例えば、Wintrust.dllライブラリは、Windows OSのそのようなツールの機能を果たす一方、Keychain又はGateKeeperソフトウェア構成要素は、MacOSオペレーティングシステムのそのようなツールの機能を果たす。一実施態様では、DS−チェックシステムツールに対する攻撃は、DS証明書をチェックする1つ又は複数のシステムプログラムモジュールの変更又は置換を意味し得る。この場合、DS証明書チェックツールに対する攻撃のその検出により、安全性保障ツール125は、DS証明書が悪意があるかをチェックする1つ又は複数のシステムプログラムモジュールを決定するようにも構成されている。
【００４８】
本明細書に記載し、既に指摘したように、システムツールを用いてDSの証明書をチェックするための特定の能力は、DS証明書−チェックシステムツールに利用可能な限られた証明書のセット（例えば、Windows証明書記憶装置又はMacOSのKeychain証明書記憶装置における限られた証明書のセット）により制限され得る。
【００４９】
図3を参照すると、一実施態様による、ファイルのデジタル署名を検証するための方法のフローチャートが示されている。図3の方法は、例えば、図1のシステムによって実施することができる。
【００５０】
301で、チェックツール120が、さらに転送されることになっているファイル110などのファイルを探す又は傍受する。この場合、ファイル110は、チェックツール120を含むデータ転送装置135によってネットワーク上でユーザコンピュータ装置140に転送される。一実施態様では、ファイル110を傍受することは、ファイル110からのデータ又はファイル110に関連するデータ（例えば、そのバイトコード）を受信することを含む。別の実施態様では、ファイル110を傍受することは、例えばファイル110が信用ファイルと認定されるまで、ファイル110のコンピュータ装置140への転送を（安全性保障ツール125を用いて）中断することをさらに含む。
【００５１】
続いて、ファイルDSのチェックが行われる。特に、302で、チェックツール120が、ファイル110のDSの証明書をチェックする。DSの証明書は、該DSの証明書が適切な整合性を有する場合、及び該DSの証明書を発行した証明センターの証明書が有効である場合は有効であると認定される。証明書の有効性は、証明書データベース130を用いてチェックすることができ、該証明書データベース130は、各証明書が信用できるか否かの表示を有する証明センターの証明書を含み得る。従って、証明書データベース130からの信用証明書は、有効であると見なすことができる。証明書チェーンの有効性をチェックするプロセスは、証明書チェーンにおける最初の信用証明まで又はルート証明書まで続けることができる。
【００５２】
303で、チェックツール120が、DS証明書が有効である場合、及びファイル110が適切な整合性を有する場合はファイルのDSを有効であると判定する。次に、304で、ファイルのDSの証明書は、該証明書が有効である場合、及び証明書データベース130が、DS証明書が信用できるという情報を含む場合、又は該DS証明書を発行した証明センターの証明書が信用できる場合は、信用できると認定される。303及び304の実行は、互いに独立にしており、任意の順序で行うことができる。
【００５３】
DS証明書が信用できる場合、及びDSが有効である場合は、305で、ファイル110は信用ファイルと認定される。言い換えれば、ファイル110は分類される−該ファイルは、信用ファイルのカテゴリに属すると判定される。そうでない場合は、306で、ファイル110は非信用ファイルに分類される。
【００５４】
分類分けに応じて、ファイル110が信用ファイルと認定されない場合は、安全性保障ツール125が、ユーザコンピュータ装置140へのさらなる転送をすべて停止する、ファイル110に関連する（例えば、データ転送装置135に存在する）すべてのデータを削除する、又はファイル110を隔離することができる。
【００５５】
このシステムによって実施される方法は、システムツールベースの証明書チェック解決法に対していくつかの利点を有する。例えば、証明書データベース130は、様々なオペレーティングシステムの証明書を含むため、実施態様は、オペレーティングシステムの単一ファミリーの証明書のみをチェックする同様のシステムと比較すると、ファイル110のカテゴリを決定する際の誤った応答が少ない。より具体的には、MacOSの有効な（かつ信用できる）証明書を有する実行ファイルは、Windows OS証明書記憶装置のみを使用して信用できると認定されない。従って、実施態様は、この問題を解消する；すなわち、様々なOSファミリーの証明書を保存することによりファイルのカテゴリを決定する際のI型エラー（擬陽性）数を削減する。この解決策の重要性は、チェックツール120が、様々なオペレーティングシステムを有する多数のユーザコンピュータ装置140を備えることができる企業ネットワークのルータ又はプロキシサーバに存在する状況で明らかになり、該企業ネットワークでは、データ転送装置135が、異なるオペレーティングシステムに属するDS証明書を有するファイル110を転送する。チェックツール120及び安全性保障ツール125は、ネットワークからダウンロードされたファイルを「フィルタリングする」（例えば、企業ネットワークに含まれるコンピュータ装置140へのファイルの転送を阻止する）ことができる。
【００５６】
さらに別の実施態様では、ツール120及び125は、ユーザコンピュータ装置に存在する。本方法により、ユーザコンピュータ装置140を制御するOSとは異なるOSを有する、装置140にインストールされた仮想マシンで立ち上げられることになる、DSで署名されたファイル110のカテゴリを決定する際の誤った応答数の削減が可能となる。この利点は、データベース130及び131が様々なオペレーティングシステムの証明書についての情報を含むため、チェックツールが、ユーザコンピュータ装置140を制御するOSとは異なるOSの実行ファイルの証明書を正確にチェックできるという事実によって達成される。
【００５７】
図4を参照すると、一実施態様による、コンピュータ装置に対する攻撃に対処するための方法のフローチャートが示されている。図4の方法は、例えば、図2のシステムによって実施することができる。
【００５８】
400で、安全性保障ツール125が、ファイルのDSをチェックするための1つ又は複数のシステムツールを標的としたユーザコンピュータ装置140に対する攻撃を検出する。次に、401で、安全性保障ツール125が、分類されていないファイル110を探す。例えば、安全性保障ツール125は、ファイルデータベース（不図示）においてファイル110のID（例えば、SHA-1又はMD5チェックサム）を検索するように構成されている。ファイルデータベースは、ファイル110が、ファイルのカテゴリ、例えば：信用ファイル又は非信用ファイルに属することを示すデータを含み得る。安全性保障ツール125が、ファイルデータベースに送信されたリクエストを用いてファイル110のカテゴリを決定できない場合、次の方法のプロセスが行われる。この場合、ファイル110は、コンピュータ装置140における任意の新しいファイル又は変更されたファイルであり得る。例えば、ファイルは、ネットワークからダウンロードされた、コンピュータ装置で作成された、又は既にコンピュータ装置140に存在したファイルを変更することによって得られた新しいファイル若しくは変更されたファイルであり得る。
【００５９】
次に、ファイルのDSチェックが行われる。402で、チェックツール120が、ファイル110のDSの証明書をチェックする。DSの証明書は、該DSの証明書が適切な整合性を有する場合、及び該DSの証明書を発行した証明センターの証明書が有効である場合は、有効であると認定される。証明書の有効性は、証明書データベース130を用いてチェックすることができ、該証明書データベース130は、各証明書が信用できるか否かの表示を有する証明センターの証明書を含み得る。従って、証明書データベース130からの信用証明書は、有効であると見なされる。証明書チェーンの有効性をチェックするプロセスは、該証明書チェーンにおける最初の有効な証明書又はルート証明書まで続けることができる。
【００６０】
403で、チェックツール120が、DS証明書が有効である場合、及びファイル110が必要な整合性を有する場合は、ファイルのDSが有効であると認定される。次に、404で、ファイルのDSの証明書が、該証明書が有効である場合、及び証明書データベース130が、DS証明書が信用できるという情報を含む場合、又は該DS証明書を発行した証明センターの証明書が信用できる場合は、信用できると認定される。実施態様では、403及び404は、互いに独立しており、任意の順序で行うことができる。
【００６１】
DS証明書が信用できる場合、及びDSが有効である場合は、405で、ファイル110は信用ファイルと認定される。言い換えれば、ファイル110は分類される−該ファイルは、信用ファイルのカテゴリに属すると判定される。そうでない場合は、406で、ファイル110は非信用ファイルに分類される。
【００６２】
分類分けに応じて、ファイル110が信用ファイルと認定されない場合は、安全性保障ツール125が、ユーザコンピュータ装置140に存在するファイル110に関連するデータ（例えば、ファイルのデータ）を削除するか、又はファイル110を隔離することができる。
【００６３】
図4に示されている方法は、システムツールベースの証明書チェック解決法に対していくつかの利点を有する。例えば、DSチェックシステムツールに対する攻撃では、まさにDSチェックシステムツールの構成要素が置換されるか又は損傷する可能性があり、不正確に機能し得るため、該DSチェックシステムツールは、ファイルDSの証明書を正確にチェックすることができなくなり、これにより、DSが有効であるか否か及び証明書が信用できるか否かに基づいて、DSで署名されたファイルのカテゴリを正確に決定することが不可能となる。そのような攻撃の一例は、DSチェックシステムツールの構成要素の置換であり、このため、安全性保障ツール、特にアンチウイルスアプリケーションは、脆弱化したDSチェックシステムツールによって提供されるDS有効性及びDS証明書の有効性についての情報に基づいたそれらのカテゴリの決定によって悪意のあるファイルを信用ファイルと認定するであろう。本明細書に記載の実施態様は、DSチェックシステムツールに対する攻撃を検出し、そのような攻撃が検出された場合、証明書が有効であり、かつ信用できるか否かについての真の情報を提供する、証明書データベース130を用いてファイル110のカテゴリを決定することによって上述の問題を解決する。
【００６４】
一実施態様では、DSチェックシステムツールに対する攻撃は、より複雑な攻撃；例えば、持続的な標的型攻撃の一部であり得る。この場合、安全性保障ツール125がそのような攻撃からコンピュータ装置140を保護することが極めて重要である。従って、安全性保障ツール125は、DSチェックシステムツールに対する攻撃中に装置140に現れるすべてのファイルのカテゴリを決定するプロセスを開始することができる。例えば、継続時間は、（攻撃が検出された日時からではなく）攻撃の日時から24時間以内であり得る。攻撃の日時は、例えば、DSチェックシステムツールの構成要素の変更の日時によって決定することができる。この場合、安全性保障ツール125によって開始されるチェックの一部としてチェックツール120を用いて信用ファイルと認定されなかったファイルは、該ツール125によって潜在的に悪意があるとして認定される。そのようなファイルは、例えば分類アルゴリズム若しくはニューロンネットワークを用いるより詳細な分析のため、又は情報セキュリティ専門家による分析のために遠隔サーバに送信することができる。従って、そのようなすべてのファイルを認定する判断を、遠隔サーバからツール125が受信し、ファイルが悪意があると認定された場合は、安全性保障ツール125は、持続的な標的型攻撃を検出し、悪意があるとして認定されたファイルに関する必要なステップ（例えば、削除又は隔離）を行う。
【００６５】
別の実施態様では、本明細書に記載のシステム及び方法は、DSチェックシステムツールが攻撃されているときだけではなく、そのようなDSチェックシステムツールの構成要素がRAMにロードされる前（例えば、Windows OSが起動し、Wintrust.dllがRAMにまだロードされていないとき）などの何らかの理由でDSチェックシステムツールを使用することが全く不可能な場合にも利点を有する。
【００６６】
ファイル110のDSの有効性をチェックするためのチェックツール120の使用は、上述の利点（システム記憶装置が複数のOSのファイルの証明書を有していないために有効なDSが無効であると認定される場合のI型エラー数の削減）を有するのに加えて、有効性チェックの速度も上げる。
【００６７】
ツール120を使用するDS有効性チェックの速度がより速い理由の1つは、DSチェックシステムツール（特に、Winndows OSツール）が、証明書の有効性をチェックするために取り消された証明書のリストをロードして証明書が取り消されているか否かを判定するためである。これらの従来の方法では、取り消された証明書の全リストが、チェックされている証明書が存在するかについて分析される。対照的に、チェックツール120は、各証明書に取り消されているマークを付けることができる証明書データベース130を単純に呼び出すことによって、証明書が取り消されているか否かをチェックする。従って、チェックツール120は、DSチェックシステムツールよりも速くファイル110のDSの有効性をチェックする。
【００６８】
チェックツール120を用いるDS有効性チェックの速度がより速い別の理由は、データベース130が証明書の複製を保存しないためである。例えば、従来のDSチェックシステムツール、例えばWindows OSツールでは、証明書の複製がWindows証明書記憶装置に加えられるときに、証明書が、同一の公開鍵で再発行される。対照的に、ファイル110のDSの単一証明書についての複数の証明書チェーンの作成及びチェックが防止される。
【００６９】
チェックツール120を用いるDS有効性チェックの速度がより速い別の理由は、DSチェックシステムツールが拡張可能であり得るためである。例えば、Windows OSでは、それ自体のチェックを行うことによってDS証明書の有効性の論理を補完する外部アプリケーションによってCryptoAPIインターフェイスを使用することができ、これによりDSの有効性についての判定の速度が遅くなる。
【００７０】
図5を参照すると、本明細書に記載の発明の態様を様々な実施態様に従って実施することができるコンピュータシステム500をより詳細に例示する図が示されている。
【００７１】
コンピュータシステム500は、1つ又は複数のプロセシングユニット521、システムメモリ522、及びシステムバス523を含むパーソナルコンピュータ520などのコンピュータ装置を含むことができ、該システムバス523は、該1つ又は複数のプロセシングユニット521に接続されたメモリを含む様々なシステム構成要素を含む。様々な実施態様では、プロセシングユニット521は、コンピュータ可読媒体に保存された情報を処理することができる複数の論理コアを含み得る。システムバス523は、当該技術レベルで公知の任意のバス構造として実現され、該システムバス523は、バスメモリ又はバスメモリ制御装置、周辺バス、及び任意の他のバス構造と相互作用することができるローカルバスを含む。システムメモリは、読出し専用メモリ（ROM）524などの不揮発性メモリ又はランダムアクセスメモリ（RAM）525などの揮発性メモリを含み得る。基本入出力システム（BIOS）526は、例えばROM524を用いるオペレーティングシステムのブート中に、パーソナルコンピュータ520の要素間の情報の転送を確実にする基本プロシージャを含む。
【００７２】
次に、パーソナルコンピュータ520は、データの読取り及び書込み用のハードドライブ527、取外し可能な磁気ディスク529に対する読取り及び書込み用の磁気ディスクドライブ528、並びにCD-ROM、DVD-ROM、及び他の光学媒体などの取り外し可能な光ディスク531に対する読取り及び書込み用の光学ドライブ530を備える。ハードドライブ527、磁気ドライブ528、及び光学ドライブ530はそれぞれ、ハードドライブインターフェイス532、磁気ドライブインターフェイス533、及び光学ドライブインターフェイス534を介してシステムバス523に接続されている。これらのドライブ及び対応するコンピュータ情報媒体は、コンピュータ命令、データ構造、プログラムモジュール、及び他のデータをパーソナルコンピュータ520に記憶させるためのエネルギー自立手段を提供する。
【００７３】
示されているシステムは、ハードドライブ527、取外し可能な磁気ドライブ529、及び取外し可能な光ディスク530を含むが、制御装置555を介してシステムバス523に接続される、コンピュータ可読形式でデータを保存することができる他の種類のコンピュータ媒体（半導体ドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ（RAM）など）を使用することも可能であることを理解されたい。
【００７４】
コンピュータ520は、記録されたオペレーティングシステム535が保存されたファイルシステム536、並びに追加のプログラムアプリケーション537、他のプログラムエンジン538、及びプログラムデータ539を含む。ユーザは、入力装置（キーボード540、マウス542）を用いてパーソナルコンピュータ520にコマンド及び情報を入力することができる。他の入力装置（不図示）、例えば：マイクロホン、ジョイスティック、ゲーム機、スキャナなども使用することができる。そのような入力装置は、通常は、システムバスに接続されたシリアルポート546を介してコンピュータシステム520に接続されるが、これらは、異なる方式、例えば、パラレルポート、ゲームポート、又はユニバーサルシリアルバス（USB）を用いて接続することもできる。モニタ547又は他のタイプのディスプレイ装置もまた、ビデオアダプタ548などのインターフェイスを介してシステムバス523に接続される。モニタ547に加えて、パーソナルコンピュータ520は、スピーカやプリンタなどの他の周辺出力装置（不図示）を備えることができる。
【００７５】
パーソナルコンピュータ520は、ネットワーク環境で動作することができ；この場合、1つ又はいくつかの他の遠隔コンピュータ549とのネットワーク接続を使用する。遠隔コンピュータ（複数可）549は、図5に示されているパーソナルコンピュータ520の内容を前に説明したときに言及した、上記の要素の殆ど又はすべてを有する同様のパーソナルコンピュータ又はサーバである。コンピュータネットワークはまた、ルータ、ネットワークステーション、ピアリング装置（peering device）、又は他のネットワークノードなどの他の装置も有することができる。
【００７６】
ネットワーク接続は、ローカルエリアネットワーク（LAN）550及びワールドエリアネットワーク（WAN）を構成することができる。そのようなネットワークは、企業コンピュータネットワーク又は企業イントラネットで使用され、通常はインターネットへのアクセスを有する。LAN又はWANネットワークでは、パーソナルコンピュータ520は、ネットワークアダプタ又はネットワークインターフェイス551を介してローカルエリアネットワーク550に接続される。ネットワークを使用する場合、パーソナルコンピュータ520は、モデム554、又はインターネットなどのワールドエリアネットワークへの接続のための他の手段を使用することができる。モデム554は、内部装置又は外部装置であり、シリアルポート546を介してシステムバス523に接続される。これらのネットワーク接続は、単なる例であり、実際のネットワーク構成を必ずしも反映するものではない、すなわち実際にはコンピュータ間の技術的な通信手段を用いて接続を確立する他の手段が存在することは明らかであろう。
【００７７】
システム、装置、及び方法の様々な実施態様を本明細書で説明してきた。これらの実施態様は、ほんの一例として示したものであり、請求される発明の範囲を限定するものではない。さらに、既に記載した実施態様の様々な特徴は、様々な方法で組み合わせて多数のさらなる実施態様を作成できることを理解されたい。さらに、様々な材料、寸法、形状、構成、及び位置などを開示した実施態様での使用について説明してきたが、開示したものに加えて他のものを、請求される発明の範囲から逸脱することなく利用することができる。
【００７８】
当業者であれば、本発明の主題は、上記のいずれかの個々の実施態様に例示された特徴よりも少ない特徴を含み得ることを理解されよう。本明細書に記載の実施態様は、本発明の主題の様々な特徴を組み合わせることができる方法を網羅的に提示することを意味するものではない。従って、実施態様は、相互に排他的な特徴の組み合わせではなく；むしろ、様々な実施態様は、当業者に理解されるように、異なる個々の実施態様から選択される異なる個々の特徴の組み合わせを含み得る。さらに、一実施態様に関して説明した要素は、特段の記載がない限り、たとえそのような実施態様に説明されていなくても他の実施態様で実施することができる。
【００７９】
従属請求項は、特許請求の範囲において、1つ又は複数の他の請求項との特定の組み合わせを指し得るが、他の実施態様は、従属請求項と他の各従属請求項の主題との組み合わせ、又は1つ若しくは複数の特徴と他の従属若しくは独立請求項との組み合わせも含み得る。そのような組み合わせは、特定の組み合わせが意図されていないことが明記されていない限り、本明細書で提案される。
【００８０】
上記の文献の参照によるすべての組み込みは、本明細書の明示的な開示に反する主題が一切組み込まれないように限定される。上記の文献の参照によるすべての組み込みは、文献に含まれるいずれの請求項も参照により本明細書に組み込まれないようにさらに限定される。上記の文献の参照によるすべての組み込みは、本明細書に明示的に含まれない限り、文献で提供されるいずれの定義も参照により本明細書に組み込まれないようになおさらに限定される。
【００８１】
特許請求の範囲を解釈することを目的として、特許請求の範囲に「〜の手段」又は「〜のステップ」という特定の用語が記載されていない限り、米国特許法第112条（f）の規定が適用されないことが明確に意図されている。
【図１】
2020113253.tif 000003
【図２】
2020113253.tif 000004
【図３】
2020113253.tif 000005
【図４】
2020113253.tif 000006
【図５】
2020113253.tif 000007
【外国語明細書】
2020113253000001.pdf