(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024051135
(43)【公開日】2024-04-10
(54)【発明の名称】システム、装置、方法、及びプログラム
(51)【国際特許分類】
G06F 21/56 20130101AFI20240403BHJP
【FI】
G06F21/56
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2024029500
(22)【出願日】2024-02-29
(62)【分割の表示】P 2022528395の分割
【原出願日】2020-06-05
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】佐々木 貴之
(72)【発明者】
【氏名】嶋田 有佑
(57)【要約】
【課題】 本開示は、ソフトウェアにバックドアが有るか無いかの信頼度を向上させることが可能なシステム、方法、及び非一時的なコンピュータ可読媒体を提供することを目的とする。
【解決手段】 本開示に係るシステム(10)は、複数のバックドア検査装置(11、21)と、データベース(14、24)と、ユーザ装置(12b)と、を備え、複数のバックドア検査装置(11)は、ユーザ装置(12b)の通信の相手先装置(12a)にインストールされた所定のソフトウェアに対してバックドア検査を行い、所定のソフトウェアにバックドアが有るか無いかを推定するバックドア推定手段(111)と、バックドア検査の結果を含むバックドア検査証明書を発行する証明書発行手段(112)と、を有し、データベース(14)は、バックドア検査証明書を登録する登録手段(141)と、バックドア検査証明書を送信する送信手段(142)と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ソフトウェアにおけるバックドアの有無を示す情報を含む証明書を複数含む情報に基づき前記ソフトウェアをバックドアの有無を判定する
装置。
【請求項2】
ソフトウェアにおけるバックドアの有無を示す情報を含む、複数の証明書に基づき前記ソフトウェアをバックドアの有無を判定する
装置。
【請求項3】
ソフトウェアにおけるバックドアの有無を示す情報を含む証明書を発行する検査装置と、
通信先のソフトウェアについて前記検査装置によって発行された前記証明書に基づき、前記通信先との通信の許否を判定する装置と、
を備えるシステム。
【請求項4】
ソフトウェアにおけるバックドアの有無を示す情報を含む証明書を発行する複数の検査装置と、
通信先のソフトウェアについて前記複数の検査装置によって発行された複数の前記証明書に基づき、前記通信先との通信の許否を判定する装置と、
を備えるシステム。
【請求項5】
複数の前記検査装置のそれぞれは、前記所定のソフトウェアの全てに対して前記バックドア検査を行う、
請求項4に記載のシステム。
【請求項6】
複数の前記検査装置のうちの第1検査装置は、前記ソフトウェアの一部におけるバックドアの有無を示す情報を含む証明書を発行し、
複数の前記検査装置のうちの第2検査装置は、前記ソフトウェアの別の一部におけるバックドアの有無を示す情報を含む証明書を発行する、
請求項4に記載のシステム。
【請求項7】
ソフトウェアの少なくとも一部におけるバックドアの有無を示す情報を含む第1証明書を発行する第1機関と、
前記ソフトウェアの少なくとも一部におけるバックドアの有無を示す情報を含む第2証明書を発行する第2機関と、
通信先のソフトウェアについて発行された前記第2証明書に基づき、前記通信先との通信の許否を判定する装置と、
備え、
前記第2証明書は前記第1証明書を含む
システム。
【請求項8】
ソフトウェアの少なくとも一部におけるバックドアの有無を示す情報を含む第1証明書を発行する第1機関と、
前記ソフトウェアの少なくとも一部におけるバックドアの有無を示す情報を含む第2証明書を発行する第2機関と、
前記第1証明書と、前記第2証明書とを含む第3証明書を発行する第3機関と、
通信先のソフトウェアについて発行された前記第3証明書に基づき、前記通信先との通信の許否を判定する装置と、
備えるシステム。
【請求項9】
前記ユーザ装置は、通信先のソフトウェアについて前記複数の検査装置によって発行された複数の前記証明書が、前記ソフトウェアに前記バックドアが無いことを示す場合、前記ソフトウェアに前記バックドアが無いと判断する、
請求項4から6のいずれか1つに記載のシステム。
【請求項10】
前記ユーザ装置は、通信先のソフトウェアについて前記複数の検査装置によって発行された複数の前記証明書のうち、閾値以上の前記証明書が、前記ソフトウェアに前記バックドアが無いことを示す場合、前記ソフトウェアに前記バックドアが無いと判断する、
請求項4から6のいずれか1つに記載のシステム。
【請求項11】
複数の検査装置において、ソフトウェアにおけるバックドアの有無を示す情報を含む証明書を発行し、
装置において、通信先のソフトウェアについて前記複数の検査装置によって発行された複数の前記証明書に基づき、前記通信先との通信の許否を判定する、
方法。
【請求項12】
通信先のソフトウェアについて前記複数の検査装置によって発行された複数の前記証明書に基づき、前記通信先との通信の許否を判定すること
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、システム、方法、及び非一時的なコンピュータ可読媒体に関するものであり、特に、ソフトウェアにバックドアが有るか無いかの信頼度を向上させることが可能なシステム、方法、及び非一時的なコンピュータ可読媒体に関する。
【背景技術】
【0002】
近年、日常の暮らしを支えるインフラや企業システムは複雑化しており、単一の企業のデバイス(機器)だけで構成することは難しい。そこで、外部からデバイスを調達し、調達したデバイスを組み合わせ、又は、組み込んでインフラや企業システムを構成する。インフラや企業システムを構成する際、調達したデバイスの製造者及び製造・流通チェーンは信頼できるという前提で取り扱われる。しかしながら、これらの組込みデバイスにおいて、ソフトウェア、ファームウェア、及びハードウェアの面で、ユーザ(組込み者)が認知していない隠された機能や予期しない機能が発見される事象(インシデント)が多数報告されている。従って、デバイスの製造者及び製造・流通チェーンが信頼できるという前提が成り立たなくなってきており、ソフトウェア内の不正な機能、すなわち、バックドアを検出する方法が提案されてきている。
【0003】
特許文献1には、オフラインマルウェア検出検査、及び追加的にリアルタイムマルウェア検出検査を行うアプローチが提供されることが開示されている。特許文献1には、オフラインマルウェア検出検査は、アプリケーションの関数呼出しマップをオフラインで検出することと、関数呼出しマップはアプリケーションが呼び出す関数間の呼出し関係を記録することと、関数呼出しマップからアプリケーションの関数呼出しのパターンを抽出することと、抽出されたパターンを正常なアプリケーションの基本パターンと比較することを含んでもよいことが開示されている。特許文献1には、リアルタイムマルウェア検出検査は、実環境でアプリケーションを実行することと、アプリケーションの実行中にアプリケーションの挙動を記録することと、記録された挙動から挙動パターンを抽出することと、抽出された挙動パターンを正常なアプリケーションの基本パターン又は以前に記録されたアプリケーションのパターンと比較することを含んでもよいことが開示されている。
【0004】
特許文献2には、航空機で使用するデータを検証するための方法及び装置が開示される。特許文献2には、データに関連する複数のデジタル証明書が、プロセッサユニットによって受信され、プロセッサユニットは、デジタル証明書のうちの1つが安全性を侵害されたかどうかを判断し、プロセッサユニットは、複数のデジタル証明書のうちの1つが安全性を侵害されたという判断に応じて、複数のデジタル証明書の選択数を選択し、プロセッサユニットは、当該選択数の複数のデジタル証明書を用いて、航空機で使用するデータを検証することが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2017-505944号公報
【特許文献2】特表2016-521079号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
バックドアを検出するための方法は、多くの場合、誤検出(誤検知)を含むので、1つの認証機関(バックドア検査装置)により検査した場合、漏れが発生するという課題があった。また、規模の大きなソフトウェアや、1つの装置(機器)が使用する複数のソフトウェアに含まれるバックドアを検出する場合、検査(解析)の対象が多くなり、1つの認証機関(バックドア検査装置)によっては、全てのソフトウェアの検査を行うことが難しいという課題があった。
【0007】
本開示の目的は、上述した課題のいずれかを解決するシステム、方法、及び非一時的なコンピュータ可読媒体を提供することにある。
【課題を解決するための手段】
【0008】
本開示に係るシステムは、
複数のバックドア検査装置と、データベースと、ユーザ装置と、を備え、
複数の前記バックドア検査装置は、
前記ユーザ装置の通信の相手先装置にインストールされた所定のソフトウェアに対してバックドア検査を行い、前記所定のソフトウェアにバックドアが有るか無いかを推定するバックドア推定手段と、
前記バックドア検査の結果を含むバックドア検査証明書を発行する証明書発行手段と、を有し、
前記データベースは、
前記バックドア検査証明書を登録する登録手段と、
前記バックドア検査証明書を送信する送信手段と、を有し、
前記ユーザ装置は、
前記バックドア検査証明書を前記データベースから取得し、複数の前記バックドア検査証明書に基づいて、前記相手先装置との通信を許可するか否かを判断する通信相手検証手段と、を有する。
【0009】
本開示に係る方法は、
複数のバックドア検査装置と、データベースと、ユーザ装置と、を備えるシステムの方法であって、
複数の前記バックドア検査装置が、
前記ユーザ装置の通信の相手先装置にインストールされた所定のソフトウェアに対してバックドア検査を行い、前記所定のソフトウェアにバックドアが有るか無いかを推定し、
前記バックドア検査の結果を含むバックドア検査証明書を発行し、
前記データベースが、
前記バックドア検査証明書を登録し、
前記バックドア検査証明書を送信し、
前記ユーザ装置が、
前記バックドア検査証明書を前記データベースから取得し
複数の前記バックドア検査証明書に基づいて、前記相手先装置との通信を許可するか否かを判断する。
【0010】
本開示に係る非一時的なコンピュータ可読媒体は、
複数のバックドア検査装置と、データベースと、ユーザ装置と、を備えるシステムの方法であって、
複数の前記バックドア検査装置が、
前記ユーザ装置の通信の相手先装置にインストールされた所定のソフトウェアに対してバックドア検査を行い、前記所定のソフトウェアにバックドアが有るか無いかを推定し、
前記バックドア検査の結果を含むバックドア検査証明書を発行し、
前記データベースが、
前記バックドア検査証明書を登録し、
前記バックドア検査証明書を送信し、
前記ユーザ装置が、
前記バックドア検査証明書を前記データベースから取得し
複数の前記バックドア検査証明書に基づいて、前記相手先装置との通信を許可するか否かを判断すること、
をコンピュータに実行させるプログラムが格納される。
【発明の効果】
【0011】
本開示によれば、ソフトウェアにバックドアが有るか無いかの信頼度を向上させることが可能なシステム、方法、及び非一時的なコンピュータ可読媒体を提供することができる。
【図面の簡単な説明】
【0012】
【
図1】実施の形態1に係るシステムを例示するブロック図である。
【
図2】実施の形態1に係るシステムを例示するブロック図である。
【
図3】実施の形態2に係るシステムを例示するブロック図である。
【
図4】実施の形態3に係るシステムを例示するブロック図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施の形態について説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明を省略する。
【0014】
[実施の形態1]
実施の形態1に係るシステムの概要を説明する。
図1は、実施の形態1に係るシステムを例示するブロック図である。
【0015】
図1に示すように、実施の形態1に係るシステム10は、複数のバックドア検査装置(例えば、バックドア検査装置11とバックドア検査装置21)と、データベース(例えば、データベース14とデータベース24)と、ユーザ装置12bと、を備える。複数のバックドア検査装置のそれぞれは、バックドア検査装置ごとに認証機関に含まれる。具体的には、認証機関10aは、バックドア検査装置11とデータベース14を所有し、認証機関20aは、バックドア検査装置21とデータベース24を所有する。
【0016】
複数のバックドア検査装置のうちの1つ、例えば、バックドア検査装置11は、バックドア推定手段111と証明書発行手段112とを有する。
【0017】
バックドア推定手段111は、ユーザ装置12bの通信の相手先装置12aにインストールされた所定のソフトウェアに対してバックドア検査を行い、所定のソフトウェアにバックドアが有るか無いかを推定する。具体的には、バックドア推定手段111は、所定のソフトウェアの機能と構造とを解析し、バックドアであると推定される推定コードを所定のソフトウェアから特定することにより、所定のソフトウェアに対してバックドアの検査を行う。これを、認証機関が所定のソフトウェアにバックドアが有るか無いかを推定すると表現することもある。
【0018】
複数のバックドア検査装置(バックドア検査装置11とバックドア検査装置21)のそれぞれは、所定のソフトウェアの全てに対してバックドア検査を行ってもよい。すなわち、バックドア検査装置11が所定のソフトウェアの全てに対してバックドア検査を行い、バックドア検査装置21が同様に所定のソフトウェアの全てに対してバックドア検査を行ってもよい。そして、ユーザ装置12bが、バックドア検査装置11が発行したバックドア検査証明書と、バックドア検査装置21が発行したバックドア検査証明書と、に基づいてバックドアの有無を判断してもよい。
【0019】
また、複数のバックドア検査装置(バックドア検査装置11とバックドア検査装置21)のうちの第1のバックドア検査装置11は、所定のソフトウェアの一部に対してバックドア検査を行ってもよい。また、複数のバックドア検査装置のうちの第2のバックドア検査装置21は、所定のソフトウェアの別の一部に対してバックドア検査を行ってもよい。そして、ユーザ装置12bが、バックドア検査装置11が発行したバックドア検査証明書と、バックドア検査装置21が発行したバックドア検査証明書と、に基づいてバックドアの有無を判断してもよい。
【0020】
尚、機器(ユーザ装置12b)を使用するユーザが認知していない隠された機能や追加的な機能であって、ソフトウェア内の不正な機能、又は、望まれていない機能のことを、「バックドア」と称する。ソフトウェアの機能と構造とを解析し、バックドアであると推定される推定コードをソフトウェアから特定することを、「バックドア解析」と称することもある。推定コードは、バックドアである可能性が高く疑わしいコードのことである。
【0021】
証明書発行手段112は、バックドア検査の結果を含むバックドア検査証明書を発行する。バックドア検査の結果には、所定のソフトウェアにバックドアが有るか無いかが含まれる。バックドア検査証明書は、バックドアの検査に関する情報と、バックドアの検査に関する情報を所定のソフトウェアに紐づけた情報と、をさらに含む。
【0022】
複数のデータベースのうちの1つ、例えば、データベース14は、登録手段141と送信手段142とを有する。
【0023】
登録手段141は、バックドア検査装置11からバックドア検査証明書を取得し、バックドア検査証明書を登録する。
【0024】
送信手段142は、バックドア検査証明書をユーザ装置12bに送信する。
【0025】
ユーザ装置12bは、通信相手検証手段121を有する。
【0026】
通信相手検証手段121は、バックドア検査証明書をデータベース14から取得する。通信相手検証手段121は、複数のバックドア検査証明書に基づいて、相手先装置12aとの通信を許可するか否かを判断する。
【0027】
ユーザ装置12bの通信相手検証手段121は、全てのバックドア検査証明書が、所定のソフトウェアにバックドアが無いことを示す場合、所定のソフトウェアにバックドアが無いと判断してもよい。そして、ユーザ装置12bは、この場合、相手先装置12aとの通信を許可すると判断してもよい。
【0028】
また、通信相手検証手段121は、閾値以上のバックドア検査証明書が、所定のソフトウェアにバックドアが無いことを示す場合、所定のソフトウェアにバックドアが無いと判断してもよい。そして、ユーザ装置12bは、この場合、相手先装置12aとの通信を許可すると判断してもよい。
【0029】
また、ユーザ装置12bは、バックドア検査装置11のバックドア検査信頼度をリストとして有しており、バックドア検査信頼度に基づいて、バックドアの有無を判断してもよい。すなわち、複数のバックドア検査装置のそれぞれは、バックドア検査の結果の信頼度を示すバックドア検査信頼度を有してもよい。そして、ユーザ装置12bは、バックドア検査信頼度が信頼度閾値以上であるバックドア検査装置11pが発行したバックドア検査証明書が、所定のソフトウェアにバックドアが無いことを示す場合、所定のソフトウェアにバックドアが無いと判断してもよい。そして、ユーザ装置12bは、この場合、相手先装置12aとの通信を許可すると判断してもよい。
【0030】
また、ユーザ装置12bは、バックドア検査信頼度の高い認証機関(検査機関)が発行したバックドア検査証明書が、所定のソフトウェアにバックドアが無いことを示す場合、所定のソフトウェアにバックドアが無いと判断してもよい。
【0031】
また、ユーザ装置12bは、バックドア検査信頼度の高い検査者が検査しその結果が含まれるバックドア検査証明書が、所定のソフトウェアにバックドアが無いことを示す場合、所定のソフトウェアにバックドアが無いと判断してもよい。
【0032】
また、複数のバックドア検査装置が相手先装置12aにインストールされた所定のソフトウェアに対してバックドア検査を行う場合を考える。この場合、ユーザ装置12bは、バックドア検査装置が所定のソフトウェアの全てに対してバックドア検査を行っていない場合、バックドア検査証明書を無効とみなし、相手先装置12aとの通信を許可しないと判断してもよい。
【0033】
また、ユーザ装置12bは、バックドア検査装置が所定のソフトウェアのうちの特定のソフトウェアに対してバックドア検査を行っている場合、相手先装置12aとの通信を許可すると判断してもよい。
【0034】
バックドア検査装置11は、バックドアの検査に関する情報と、バックドアの検査に関する情報を所定のソフトウェアに紐づけた情報と、を含むバックドア検査証明書を発行する。ユーザ装置12bを使用する第三者は、ユーザ装置12bを使用して、所定のソフトウェアに紐づけられた(対応付けられた)複数のバックドア検査証明書を取得する。ユーザ装置12bは、複数のバックドア検査証明書に基づいて、所定のソフトウェア内にバックドアが含まれているかを検証し、相手先装置12aとの通信を許可するか否かを判断する。これにより、所定のソフトウェアにバックドアが有るか無いかの信頼度を向上させることが可能なシステム、方法、及び非一時的なコンピュータ可読媒体を提供することができる。
【0035】
尚、コードは、ソースコードでも実行コードでもよい。複数のコードをまとめてコードブロックと称することもある。
【0036】
実施の形態1に係るシステムの構成の詳細を説明する。
ここでは、バックドア検査証明書を利用するシステムが、ユーザ装置12bとその通信の相手先装置12aとを含むシステムである場合を例に挙げて説明する。
図2は、実施の形態1に係るシステムを例示するブロック図である。
図2は、
図1の詳細を示す。
図2は、簡単のため、認証機関が1つの場合を示す。
【0037】
図2に示すように、バックドア検査装置11のバックドア推定手段111は、機能推定手段1111と構造解析手段1112と分析手段1113とを有する。
【0038】
機能推定手段1111は、ソフトウェア内のインターフェース機能、認証機能、コマンドパーサ機能等の特定機能を推定する。
【0039】
構造解析手段1112は、推定した特定機能を起点として、制御フローに含まれる複数の機能を抽出し、各機能の推定を行う。構造解析手段1112は、推定した各機能をタイプ毎に分離する。
【0040】
分析手段1113は、バックドアのタイプ毎の分析手段を有する。分析手段1113は、該分析手段を使用して、分離した機能と該機能に対応するバックドアとをタイプ毎に比較する。分析手段1113は、比較の結果、機能がバックドアであるか否かを推定し、バックドアであると推定された推定コードをソフトウェアから特定する。また、分析手段1113は、個別の機能に依存しないで、ソフトウェア全体の検査を行ってもよい。
【0041】
証明書発行手段112は、バックドア検査証明書を発行する。バックドア検査証明書は、バックドアがソフトウェア内に含まれる場合、推定コードのソフトウェア内での位置情報を含む。
【0042】
バックドア検査証明書は、ソフトウェアのハッシュ値、ソフトウェアの名称、及び、バックドアの検査を行った自装置(バックドア検査装置11)の署名のうち少なくともいずれかを含んでもよい。バックドア検査証明書にバックドア検査装置11の署名が含まれることにより、バックドア検査装置11がソフトウェアに対してバックドアの検査を行ったことを証明することができる。
【0043】
バックドア検査証明書は、バックドアの検査を行ったバックドア検査装置11のバージョン、バックドア検査装置11を使用して解析を行った解析者のID、解析者の署名、解析者の所属組織、及び、解析者の氏名のうち少なくともいずれかを含んでもよい。また、証明書は、加えて、解析の実施日を含んでもよい。
【0044】
[実施の形態2]
図3は、実施の形態2に係るシステムを例示するブロック図である。
図3では、簡単のため、認証機関以外の要素を省略する。
【0045】
図3に示すように、実施の形態2に係るシステム20は、実施の形態1に係るシステム10と比べて、認証機関(バックドア検査装置)がバックドア検査をするごとに、バックドア検査の結果等がバックドア検査証明書に追加される点が異なる。
【0046】
具体的には、複数のバックドア検査装置のうちの第1のバックドア検査装置11は、所定のソフトウェアの一部に対してバックドア検査を行い、第1のバックドア検査の結果を取得する。認証機関10aは、自身が所有する第1のバックドア検査装置11を使用してバックドア検査を行う。第1のバックドア検査装置11は、第1のバックドア検査証明書を発行する。第1のバックドア検査証明書には、バックドア検査装置11によるバックドア検査の結果と、認証機関10aの署名と、が含まれる。
【0047】
複数のバックドア検査装置のうちの第2のバックドア検査装置21は、所定のソフトウェアの別の一部に対してバックドア検査を行い、第2のバックドア検査の結果を取得する。認証機関20aは、自身が所有する第2のバックドア検査装置21を使用してバックドア検査を行う。第2のバックドア検査装置21は、第2のバックドア検査証明書を発行する。第2のバックドア検査証明書には、バックドア検査装置11によるバックドア検査の結果と、認証機関10aの署名と、バックドア検査装置21によるバックドア検査の結果と、認証機関20aの署名と、が含まれる。
【0048】
すなわち、第2のバックドア検査装置21は、第1のバックドア検査の結果に、所定のソフトウェアの別の一部に対してバックドア検査を行った結果である第2のバックドア検査の結果を追加して、第2のバックドア検査証明書を発行する。
【0049】
このように、実施の形態2に係るシステム20は、バックドア検査証明書を利用するユーザ装置12b側ではなく、バックドア検査証明書を発行する認証機関20a側で、それぞれのバックドア検査証明書を統合(マージ)する。これにより、ユーザ装置12bは、複数の認証機関のそれぞれからバックドア検査証明書を取り寄せるためのコストを低減することができる。
【0050】
[実施の形態3]
図4は、実施の形態3に係るシステムを例示するブロック図である。
図4では、簡単のため、認証機関以外の要素を省略する。
【0051】
図4に示すように、実施の形態3に係るシステム30は、実施の形態1に係るシステム10と比べて、複数の認証機関(バックドア検査装置)によるバックドア検査の結果を取りまとめるための取りまとめ認証機関が設けられている点が異なる。
【0052】
具体的には、第1のバックドア検査装置11は、所定のソフトウェアの一部に対してバックドア検査を行い、第1のバックドア検査の結果を取得し、第1のバックドア検査証明書を発行する。第1のバックドア検査証明書には、バックドア検査装置11によるバックドア検査の結果と、認証機関10aの署名と、が含まれる。
【0053】
第2のバックドア検査装置21は、所定のソフトウェアの別の一部に対してバックドア検査を行い、第2のバックドア検査の結果を取得し、第2のバックドア検査証明書を発行する。第2のバックドア検査証明書には、バックドア検査装置21によるバックドア検査の結果と、認証機関20aの署名と、が含まれる。
【0054】
複数のバックドア検査の結果を取りまとめるための認証機関30aは、所定のソフトウェアの一部に対してバックドア検査を行った結果である第1のバックドア検査の結果と、所定のソフトウェアの別の一部に対してバックドア検査を行った結果である第2のバックドア検査の結果と、を統合した新たなバックドア検査証明書を発行する。新たなバックドア検査証明書には、バックドア検査装置11によるバックドア検査の結果と、認証機関10aの署名と、バックドア検査装置21によるバックドア検査の結果と、認証機関20aの署名と、に加えて、認証機関30aの署名が含まれる。
【0055】
このように、実施の形態3に係るシステム30は、複数の認証機関(バックドア検査装置)によるバックドア検査の結果を取りまとめるための認証機関30aを備える。これにより、ユーザ装置12bは、実施の形態2と同様に、複数の認証機関のそれぞれからバックドア検査証明書を取り寄せるためのコストを低減することができる。
【0056】
尚、上記の実施の形態では、本発明をハードウェアの構成として説明したが、本発明はこれに限定されるものではない。本発明は、各構成要素の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
【0057】
上記の実施の形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実態のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(具体的にはフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(具体的には光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(具体的には、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM))、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0058】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0059】
尚、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【0060】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
複数のバックドア検査装置と、データベースと、ユーザ装置と、を備え、
複数の前記バックドア検査装置は、
前記ユーザ装置の通信の相手先装置にインストールされた所定のソフトウェアに対してバックドア検査を行い、前記所定のソフトウェアにバックドアが有るか無いかを推定するバックドア推定手段と、
前記バックドア検査の結果を含むバックドア検査証明書を発行する証明書発行手段と、を有し、
前記データベースは、
前記バックドア検査証明書を登録する登録手段と、
前記バックドア検査証明書を送信する送信手段と、を有し、
前記ユーザ装置は、
前記バックドア検査証明書を前記データベースから取得し、複数の前記バックドア検査証明書に基づいて、前記相手先装置との通信を許可するか否かを判断する通信相手検証手段と、を有する、
システム。
(付記2)
複数の前記バックドア検査装置のそれぞれは、前記所定のソフトウェアの全てに対して前記バックドア検査を行う、
付記1に記載のシステム。
(付記3)
複数の前記バックドア検査装置のうちの第1のバックドア検査装置は、前記所定のソフトウェアの一部に対して前記バックドア検査を行い、
複数の前記バックドア検査装置のうちの第2のバックドア検査装置は、前記所定のソフトウェアの別の一部に対して前記バックドア検査を行う、
付記1に記載のシステム。
(付記4)
前記第2のバックドア検査装置は、前記所定のソフトウェアの一部に対して前記バックドア検査を行った結果である第1のバックドア検査の結果に、前記所定のソフトウェアの別の一部に対して前記バックドア検査を行った結果である第2のバックドア検査の結果を追加して、第2のバックドア検査証明書を発行する、
付記3に記載のシステム。
(付記5)
前記所定のソフトウェアの一部に対して前記バックドア検査を行った結果である第1のバックドア検査の結果と、前記所定のソフトウェアの別の一部に対して前記バックドア検査を行った結果である第2のバックドア検査の結果と、を統合した新たなバックドア検査証明書を発行する認証機関をさらに備える、
付記3に記載のシステム。
(付記6)
前記ユーザ装置は、全ての前記バックドア検査証明書が、前記所定のソフトウェアに前記バックドアが無いことを示す場合、前記所定のソフトウェアに前記バックドアが無いと判断する、
付記1から5のいずれか1つに記載のシステム。
(付記7)
前記ユーザ装置は、閾値以上の前記バックドア検査証明書が、前記所定のソフトウェアに前記バックドアが無いことを示す場合、前記所定のソフトウェアに前記バックドアが無いと判断する、
付記1から5のいずれか1つに記載のシステム。
(付記8)
複数の前記バックドア検査装置のそれぞれは、前記バックドア検査の結果の信頼度を示すバックドア検査信頼度を有し、
前記ユーザ装置は、前記バックドア検査信頼度が信頼度閾値以上である前記バックドア検査装置が発行した前記バックドア検査証明書が、前記所定のソフトウェアに前記バックドアが無いことを示す場合、前記所定のソフトウェアに前記バックドアが無いと判断する、
付記1から5のいずれか1つに記載のシステム。
(付記9)
複数の前記バックドア検査装置は、前記バックドア検査装置ごとに認証機関に含まれる、
付記1から8のいずれか1つに記載のシステム。
(付記10)
前記バックドア検査の結果には、前記所定のソフトウェアに前記バックドアが有るか無いかが含まれる、
付記1から9のいずれか1つに記載のシステム。
(付記11)
前記バックドア推定手段は、前記所定のソフトウェアの機能と構造とを解析し、前記バックドアであると推定される推定コードを前記所定のソフトウェアから特定することにより、前記所定のソフトウェアに対して前記バックドアの検査を行う、
付記1から10のいずれか1つに記載のシステム。
(付記12)
前記バックドア検査証明書は、前記バックドアの検査に関する情報と、前記バックドアの検査に関する情報を前記所定のソフトウェアに紐づけた情報と、をさらに含む、
付記1から11のいずれか1つに記載のシステム。
(付記13)
複数のバックドア検査装置と、データベースと、ユーザ装置と、を備えるシステムの方法であって、
複数の前記バックドア検査装置が、
前記ユーザ装置の通信の相手先装置にインストールされた所定のソフトウェアに対してバックドア検査を行い、前記所定のソフトウェアにバックドアが有るか無いかを推定し、
前記バックドア検査の結果を含むバックドア検査証明書を発行し、
前記データベースが、
前記バックドア検査証明書を登録し、
前記バックドア検査証明書を送信し、
前記ユーザ装置が、
前記バックドア検査証明書を前記データベースから取得し
複数の前記バックドア検査証明書に基づいて、前記相手先装置との通信を許可するか否かを判断する、
方法。
(付記14)
複数のバックドア検査装置と、データベースと、ユーザ装置と、を備えるシステムの方法であって、
複数の前記バックドア検査装置が、
前記ユーザ装置の通信の相手先装置にインストールされた所定のソフトウェアに対してバックドア検査を行い、前記所定のソフトウェアにバックドアが有るか無いかを推定し、
前記バックドア検査の結果を含むバックドア検査証明書を発行し、
前記データベースが、
前記バックドア検査証明書を登録し、
前記バックドア検査証明書を送信し、
前記ユーザ装置が、
前記バックドア検査証明書を前記データベースから取得し
複数の前記バックドア検査証明書に基づいて、前記相手先装置との通信を許可するか否かを判断すること、
をコンピュータに実行させるプログラムが格納される非一時的なコンピュータ可読媒体。
【符号の説明】
【0061】
10:システム
10a、20a:認証機関
11、21:バックドア検査装置
111:バックドア推定手段
1111:機能推定手段
1112:構造解析手段
1113:分析手段
112:証明書発行手段
12b:ユーザ装置
121:通信相手検証手段
12a:相手先装置
121:通信相手検証手段
14、24:データベース
141:登録手段
142:送信手段