JP7147873B2 - 情報処理装置、検証システムおよび情報処理方法 - Google Patents

情報処理装置、検証システムおよび情報処理方法 Download PDF

Info

Publication number
JP7147873B2
JP7147873B2 JP2020565042A JP2020565042A JP7147873B2 JP 7147873 B2 JP7147873 B2 JP 7147873B2 JP 2020565042 A JP2020565042 A JP 2020565042A JP 2020565042 A JP2020565042 A JP 2020565042A JP 7147873 B2 JP7147873 B2 JP 7147873B2
Authority
JP
Japan
Prior art keywords
information processing
verification
value
cluster
processing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020565042A
Other languages
English (en)
Other versions
JPWO2020144729A1 (ja
Inventor
俊輝 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2020144729A1 publication Critical patent/JPWO2020144729A1/ja
Application granted granted Critical
Publication of JP7147873B2 publication Critical patent/JP7147873B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、プログラムの検証を行う情報処理装置、検証システムおよび情報処理方法に関する。
IoT(Internet of Things)デバイスの普及に伴って、ネットワークカメラやスマートメータ等の計算能力の低いデバイスにおいて、デバイスのファームウェアの正当性を保証するセキュリティ対策が重要になっている。
このようなセキュリティ対策は、コンピュータシステムにおいても行われている。例えば、特許文献1には、デバイスのファームウェアの固有値を利用してセキュリティ違反を判定する方法が開示されている。その方法では、デバイスにおいてファームウェアの固有値が算出される。そして、外部の監視エンティティが予め記憶しておいた固有値に基づいて潜在的なセキュリティ違反が存在するか否かを判断する。
特許第5816373号公報
特許文献1に記載された方法では、外部の監視エンティティは、固有値を記憶する記憶部をアクセスする必要がある。第1の問題点は、記憶すべき固有値の数が増加するということである。その理由は、IoTシステムにおいては多数のIoTデバイスが存在するが、各デバイスに対して固有値を保持する必要があるためである。固有値の数の増加は、記憶部の必要容量の増加を招く。記憶部の容量増加は、必要な情報へのアクセス速度の低下や、コストの増加につながる。
第2の問題点は、複数の監視エンティティや検証対象のデバイスが存在する場合に記憶部へのアクセスが集中することである。その理由は、複数の監視エンティティがデバイスを検証する際に、各監視エンティティが記憶部をアクセスするためである。つまり、複数の検証対象のデバイスが存在する場合には検証の回数自体が増加し、記憶部へのアクセス数が増加する。記憶部へのアクセス集中は検証に要する時間の増加や伝送情報の欠落などにつながる。
そこで、本発明は、記憶部の容量の増加や記憶部へのアクセス集中を防止しつつデバイス検証を行う情報処理装置、検証システムおよび情報処理方法を提供することを目的とする。
本発明による情報処理装置は、自装置を含む複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報を記憶する構成情報記憶手段と、システム内の各情報処理装置のプログラムの内容に対応する第1の値を管理する検証情報管理手段と、検証要求の受信に応じて、自装置におけるプログラムについて第1の値を導出した方法と同じ方法で第2の値を導出して検証要求の送信元に送信する検証手段とを含み、検証手段は、検証要求の受信に応じて、クラスタ構成情報で特定されるクラスタ内の自装置以外の情報処理装置に検証要求を送信し、当該情報処理装置から受信した第2の値と第1の値とを比較することによって、当該情報処理装置におけるプログラムを検証する。
本発明による検証システムは、複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報を記憶する構成情報記憶手段と、システム内の各情報処理装置のプログラムの内容に対応する第1の値を管理する検証情報管理手段とを含む検証サーバと、検証サーバが属するクラスタに属する情報処理装置であって、検証要求の受信に応じて、自装置におけるプログラムについて第1の値を導出した方法と同じ方法で第2の値を導出して検証要求の送信元に送信する検証応答手段を含む情報処理装置とを含み、検証サーバは、検証要求の受信に応じて、クラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した第2の値と第1の値とを比較することによって、当該情報処理装置におけるプログラムを検証する検証手段をさらに含む。
本発明による情報処理方法は、コンピュータが、複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報を記憶し、システム内の各情報処理装置のプログラムの内容に対応する第1の値を管理し、検証要求の受信に応じて、情報処理装置におけるプログラムについて第1の値を導出した方法と同じ方法で第2の値を導出して検証要求の送信元に送信し、検証要求の受信に応じて、クラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した第2の値と第1の値とを比較することによって、当該情報処理装置におけるプログラムを検証する。
本発明による情報処理プログラムは、コンピュータに、複数の情報処理装置を含むシステム内の各情報処理装置のプログラムの内容に対応する第1の値を管理する処理と、検証要求の受信に応じて、情報処理装置におけるプログラムについて第1の値を導出した方法と同じ方法で第2の値を導出して検証要求の送信元に送信する処理と、検証要求の受信に応じて、複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した第2の値と第1の値とを比較することによって当該情報処理装置におけるプログラムを検証する処理とを実行させる。
本発明によれば、記憶部の容量の増加や記憶部へのアクセス集中を防止しつつデバイス検証を行うことができる。
情報処理装置を含むシステムの一例を示す説明図である。 第1の実施形態の情報処理装置の構成例を示すブロック図である。 第1の実施形態の情報処理装置が実行する検証処理を示すフローチャートである。 第2の実施形態の情報処理装置の構成例を示すブロック図である。 第2の実施形態でのクラスタの構成法を示すフローチャートである。 第3の実施形態でのクラスタの構成法を示すフローチャートである。 第4の実施形態でクラスタの構成法を示すフローチャートである。 第5の実施形態の情報処理装置の構成例を示すブロック図である。 情報処理装置を含むシステムの一例を示す説明図である。 第6の実施形態の情報処理装置の構成例を示すブロック図である。 検証サーバの構成例を示すブロック図である。 第6の実施形態の情報処理装置が実行する検証処理を示すフローチャートである。 検証サーバの検証部によって実行される検証処理を示すフローチャートである。 CPUを有するコンピュータの一例を示すブロック図である。 情報処理装置の主要部を示すブロック図である。 検証システムの主要部を示すブロック図である。
以下、本発明の実施形態を図面を参照して説明する。
図1は、本実施形態の情報処理装置を含むシステムの一例を示す説明図である。図1に示されている例では、複数の情報処理装置100が、クラスタ110A,110Bとしてまとめられている。管理者130は、全ての情報処理装置100にクラスタ110A,110Bの構成情報を送信する。情報処理装置100は、構成情報を記憶する。なお、具体的には、管理者130は、例えば自身が扱うサーバなどを介して構成情報を送信する。また、図1には2つのクラスタ110A,110Bが例示されているが、クラスタの数は2に限られない。
検証要求元120から検証要求が送信されると、デバイスの検証が開始される。検証要求元120は、例えば、サーバである。デバイスの検証として、情報処理装置100にインストールされているプログラムの不正改変の有無の検知や、不正プログラムのインストールの有無の検知がある。検証要求元120から検証要求を受け取った情報処理装置100は、自装置が属するクラスタ内の他の情報処理装置100に検証要求を送る。検証要求を受け取った情報処理装置100のうちの他のクラスタに隣接する情報処理装置100は、隣接クラスタに検証要求を送信する。隣接クラスタから検証要求を受け取った情報処理装置100は、自装置が属するクラスタ内の他の情報処理装置100に検証要求を送る。なお、図1には、情報処理装置100とは別の検証要求元120から検証開始のトリガである検証要求が送信されるが、システム内のある情報処理装置100が他の情報処理装置100に対して検証開始のトリガである検証要求を送信してもよい。
実施形態1.
図2は、第1の実施形態の情報処理装置100の構成例を示すブロック図である。情報処理装置100は、制御部101、プログラム記憶部102、通信部103、構成情報記憶部104、検証部105、および検証情報記憶部106を備える。
制御部101は、情報処理装置100の全体の制御および演算処理を行う制御装置である。プログラム記憶部102は、制御部101において実行されるプログラムを記憶する。通信部103は、インターネット等のネットワーク(図示せず)を介して接続先の装置との通信を行う。
構成情報記憶部104は、自情報処理装置(当該構成情報記憶部104を有する情報処理装置)100を含むクラスタに属する情報処理装置100を特定可能な情報と、このクラスタに隣接するクラスタに属する情報処理装置100を特定可能な情報を記憶する。各情報処理装置100は、付与された固有のID(IDentification)や固定のIP(Internet Protocol )アドレスやMAC(Media Access Control)アドレスなどの識別情報を用いて識別される。情報処理装置100のなりすましを防ぐために、共通暗号鍵や証明書情報などの認証情報が識別情報に付加されてもよい。
構成情報記憶部104に記憶されるクラスタは、例えば、システム全体の管理者130によって構成される。管理者130は、ある指標を基に各クラスタ内の任意の2つの情報処理装置100の間の距離の最大長が短くなるように情報処理装置群(全ての情報処理装置100)を分割して複数のクラスタを構成することができる。指標として、例えば、情報処理装置100間のネットワークレイヤでのホップ数といった距離や物理的な距離がある。また、管理者130は、情報処理装置100の数が均一になるように情報処理装置群を分割して複数のクラスタを構成することもできる。
また、管理者130は、構成したクラスタ間の接続関係を示す第1の連結グラフと、各クラスタ内の情報処理装置100の接続関係を示す第2の連結グラフとを作成する。これらの連結グラフ(第1の連結グラフおよび第2の連結グラフ)の辺の両端の頂点に相当する情報処理装置100を表す情報を、両頂点に相当する情報処理装置100に構成情報として送信する。なお、第1の連結グラフ(クラスタ間の接続関係を示す連結グラフ)の作成については、例えば、クラスタを代表する情報処理装置100の接続関係が使用される。情報処理装置100において、通信部103が構成情報を受信すると、構成情報記憶部104は構成情報を記憶する。これらの連結グラフが、例えば、全域木構造で構成される場合には、辺の数が最小化され、構成情報記憶部104の記憶容量が削減される。例えば任意の2点間のネットワークのホップ数をコストとして考え、既に知られたアルゴリズムであるクラスカル法やプリム法を用いることによって、最小コストの全域木構造を求めることができる。
また、連結を完全グラフ構造にした場合には、各情報処理装置100間での通信障害耐性を高めたり検証ステップ数(検証の工程の数)を削減したりできる。第2の連結グラフについては、完全グラフは、各情報処理装置100が、同一のクラスタに属する全ての情報処理装置100の情報を記憶することによって実現される。第1の連結グラフについては、完全グラフは、各クラスタに対して1つ以上の代表となる情報処理装置100が選ばれ、選ばれた情報処理装置100が他のクラスタの代表の情報処理装置100の情報を収集することによって得られる。
検証情報記憶部106は、予め算出された他の情報処理装置100の第1の値としての固有値(以下、第1の値ともいう。)を記憶する。第1の値として、プログラム記憶部102に記憶されるプログラムの実体(例えば、バイナリデータ)から算出でき改ざんの有無が確認できるような指標値を用いることができる。指標値として、例えばハッシュ値やチェックサム、誤り訂正符号の値を用いることができる。
また、第1の値として、プログラムの実体そのものを用いることもできる。第1の値として、必要に応じて第1の値を算出し直して用いることもできる。例えば、正しい第1の値を記憶することで正規のプログラムに成り済ますような不正プログラムを想定する。そして、一例として、プログラムの実体そのものにランダムなビット列を加えて算出される固有値を第1の値として用いる。いずれの指標を用いるかは、検証部105が扱う方式に応じて、管理者130によって決定される。また、他の情報処理装置100の第1の値を記憶すべき情報処理装置100は、管理者130によって決定される。
検証部105は、検証要求を受信すると、自情報処理装置(当該検証部105が含まれる情報処理装置)100のプログラム記憶部102に記憶されたプログラムに基づいて、第2の値としての固有値(以下、第2の値ともいう。)を新たに算出する。また、検証部105は、他の情報処理装置100に検証要求を送信する。また、検証部105は、他の情報処理装置100から受信した検証結果を集計する。一連の検証要求には単一の固有番号が割り当てられている。検証部105は、各情報処理装置100が検証を終えたときに“検証済みリスト”として固有番号を記憶する。固有番号は、検証済みかどうかの判断に利用される。検証済みリストは、一例として、任意に定めた数だけの固有番号を記憶できるように構成される。検証済みリストにおける固有番号は、古いものから消去される。
通信部103は、他の情報処理装置100への検証要求を、構成情報記憶部104に記憶される情報処理装置100に対して送信する。検証部105は、送信した検証要求に対する応答を受信すると、応答の内容の検証と集計を行う。応答には、検証要求先の情報処理装置100の識別情報と、当該情報処理装置100における第2の値が含まれる。応答には、検証要求先で集計された他の情報処理装置の検証結果が含まれることがある。検証部105は、受信された第2の値と、検証情報記憶部106に記憶されている第1の値との一致を確認することによって、検証の成否を判断する。
また、検証部105は、他の情報処理装置100の検証結果を集計する。検証部105は、検証結果を集計するときに、検証対象の情報処理装置100の識別情報と検証の成否を集計する。検証部105は、簡易的に、検証に成功した情報処理装置100の台数と検証に失敗した台数のみを集計してもよい。また、検証部105は、各応答に対して検証を行った情報処理装置100の署名を付与することによって、改ざんを防止してもよい。その後、検証部105は、第2の値と集計した検証結果とを検証要求元に送信する。
また、情報処理装置100がハードウェア的に守られたセキュアな記憶領域やセキュアな実行環境を保有する場合には、検証部105や検証情報記憶部106が、セキュアな記憶領域やセキュアな実行環境内に配置されてもよい。例えば、TPM(Trusted Platform Module)やSecure ElementといったIC(Integrated Circuit)チップ内の記憶領域がセキュアな記憶領域に該当する。Intel SGX(Software Guard Extensions :Intel は登録商標)やARM TrustZone(登録商標)といったセキュアなプログラム実行環境であるTEE(Trusted Execution Environment)とTEEとによって用意されるセキュアな記憶領域が、セキュアな実行環境に該当する。
次に、本実施形態の情報処理装置100の動作を説明する。図3は、情報処理装置100における検証部105が実行する検証処理を示すフローチャートである。
検証処理は、外部から検証要求を受信すると開始される(ステップS101)。検証要求を受信した情報処理装置100において、検証部105は、検証要求の固有番号が検証済みリストに登録されているか否かに基づいて、検証済みであるか否かを判別する(ステップS102)。検証済みであれば、検証部105は、通信部103を介して、その旨を、検証要求元(検証要求を送信した装置)に返信し(ステップS103)、処理を終了する。
検証済みでない場合には、検証部105は、構成情報記憶部104に記憶されている情報に基づいて、検証要求の送信元(要求元)が、自情報処理装置100が属するクラスタ内の情報処理装置100(または、検証要求元120)か否かを判定する(ステップS104)。要求元がクラスタ内の情報処理装置100であった場合には、ステップS107に移行する。要求元がクラスタ外の情報処理装置100であった場合には、検証部105は、通信部103を介して、クラスタ内の情報処理装置100に検証要求を送信する(ステップS105)。検証部105は、送信した検証要求に対する応答(返信)を受信したら、返信に含まれる第2の値を検証情報記憶部106に記憶されている第1の値と比較することによって、検証の成否の判断する(ステップS106)。そして、ステップS107に移行する。なお、検証部105は、第1の値と第2の値とが一致した場合に、検証が成功した、すなわち、返信した情報処理装置100におけるプログラムに関する不正は生じていない、と判定する。
ステップS107では、検証部105は、構成情報記憶部104に記憶されている情報に基づいて、隣接クラスタが存在するか否かを判定する。隣接クラスタが存在しない場合には、ステップS110に移行する。隣接クラスタが存在する場合には、検証部105は、通信部103を介して、隣接クラスタに検証要求を送信する(ステップS108)。送信した検証要求に対する応答(返信)を受信したら、検証部105は、返信に含まれる第2の値を検証情報記憶部106に記憶されている第1の値と比較することによって、検証の成否を判断する(ステップS109)。具体的には、検証部105は、第1の値と第2の値とが一致した場合に、検証が成功した、すなわち、返信した情報処理装置100におけるプログラムに関する不正は生じていない、と判定する。そして、ステップS110に移行する。
ステップS110では、検証部105は、ステップS106の処理およびステップS109の処理で得られた検証結果と、他の情報処理装置100から送られてきた検証結果とを集計する。また、検証部105は、自情報処理装置100におけるプログラム記憶部102に記憶されているプログラムに基づいて、固有値を算出する(ステップS111)。そして、検証部105は、算出した固有値を、他の情報処理装置100の検証結果とともに検証要求元に送信し(ステップS112)、処理を終了する。固有値は検証要求元の情報処理装置100で受信されるが、その情報処理装置100は、受信した固有値を第2の値として扱う。
なお、ステップS105,S106,S108,S109の処理を実行しなかった場合には、検証部105は、ステップS110の処理を実行しない。また、その場合には、検証部105は、ステップS112の処理において、他の情報処理装置100の検証結果を送信せず、自情報処理装置100に関する固有値のみを送信する。
以上に説明したように、本実施形態では、情報処理装置100が検証要求を転送し合うことによって、情報処理装置100とそれに連なる他の情報処理装置100との検証が分散的に実行される。したがって、単一の監視装置がシステム内の全装置を監視する場合に比べて、検証を行う装置が保持すべき検証情報の増加と一の記憶部に対するアクセス集中を防ぐことができる。
実施形態2.
図4は、第2の実施形態の情報処理装置200の構成例を示すブロック図である。情報処理装置200は、制御部101、プログラム記憶部102、通信部103、構成情報記憶部104、検証部205、検証情報記憶部106、およびクラスタ処理部207を備える。
図4に示された制御部101および通信部103は、第1の実施形態におけるそれらと同様の機能を有する。検証部205の機能は、第1の実施形態における検証部105の機能とは異なる。
第2の実施形態では、プログラム記憶部102に記録されるプログラムが同一である情報処理装置200が、同一クラスタに属する情報処理装置200になる。すなわち、プログラムの同一性を利用して、検証情報記憶部106に記憶される、同一クラスタ内の情報処理装置200に関する検証情報を削減する。
情報処理装置200を含むシステムの一例は、図1に示されたようなシステムである。ただし、図1における各々の情報処理装置100は、情報処理装置200に置き換わる。
クラスタ処理部207は、自情報処理装置(当該クラスタ処理部207が含まれる情報処理装置)200におけるプログラム記憶部102に記憶されたプログラムから固有値を算出し、外部からの固有値要求への応答を行う。
管理者130は、各情報処理装置200のクラスタ処理部207に対して固有値要求を行い、得られた固有値(第1の値に相当)を基に情報処理装置200のクラスタを構成する。構成したクラスタに対して第1の連結グラフと第2の連結グラフを作成し、各情報処理装置200に送信する。情報処理装置200の構成情報記憶部104は構成情報を記憶する。なお、具体的には、管理者130は、例えば自身が扱うサーバなどを介して固有値要求および構成情報を送信し、固有値を受信する。
検証部205は、第1の実施形態における検証部105と同様の検証処理(図3参照)を実行する。しかし、本実施形態では、検証部205は、ステップS106の処理で、同一クラスタ内の他の情報処理装置200(当該検証部205が含まれる情報処理装置200以外の情報処理装置200)から得られる検証要求に対する応答に含まれる第2の値と、自情報処理装置200におけるプログラム情報記憶部102に記憶されたプログラムから予め算出された第1の値とを比較することによって、検証の成否を判断する。検証部205は、第1の値と第2の値とが一致した場合に、検証が成功した、すなわち、返信した情報処理装置200におけるプログラムに関する不正は生じていない、と判定する。なお、本実施形態では、検証処理を実行する情報処理装置200において、第1の値は、予め検証情報記憶部106に記憶されていてもよいし、他の情報処理装置200から第2の値を受信する度に、検証部205によって算出されてもよい。
本実施形態において、検証部205が上記のような検証を行えるのは、同一クラスタに属する全ての情報処理装置200のプログラム記憶部102に記憶されているプログラムが同じだからである。
図5は、クラスタの構成法を示すフローチャートである。この処理は、管理者130(具体的には、管理者130が扱うサーバなど)によって実行される。
管理者130は、全ての情報処理装置200に対して、第1の値としての固有値を要求する(ステップS201)。固有値要求を受信した情報処理装置200において、クラスタ処理部207がプログラムの固有値を算出する。クラスタ処理部207は、通信部103を介して固有値を管理者130に送る。このようにして、管理者130は、全ての情報処理装置200の固有値を収集できる。管理者130は、収集した固有値同士を比較することによってプログラムの同一性を判定する。管理者130は、同一固有値のクラスタを構成する(ステップS202)。すなわち、管理者130は、同一と判定されたプログラムを有する情報処理装置200を、同じクラスタに含める。
次いで、管理者130は、第1の連結グラフとしてクラスタ間の全域木を構成する(ステップS203)。また、管理者130は、第2の連結グラフとしてクラスタ内の全域木を構成する(ステップS204)。連結グラフ(第1の連結グラフおよび第2の連結グラフ)の辺の両端の頂点に相当する情報処理装置200を表す情報を各情報処理装置200に送り(ステップS205)、処理を終了する。管理者130は、両頂点に相当する情報処理装置200に構成情報として送信する。情報処理装置200において、通信部103が構成情報を受信すると、構成情報記憶部104は構成情報を記憶する。なお、全域木を構成する手法として、各情報処理装置間のホップ数を基に最小全域木を求めるアルゴリズムであるクラスカル法やプリム法を用いることができる。
本実施形態の情報処理装置200は、同一クラスタの情報処理装置200の第1の値を検証情報記憶部106に記憶する必要がない。したがって、検証情報記憶部106が保持すべき検証情報をより削減することができる。
また、本実施形態では、検証部205とは別にクラスタ処理部207が設けられているが、クラスタ処理部207を設けずに、検証部205が上述したクラスタ処理部207の機能を果たしてもよい。
実施形態3.
本実施形態では、プログラム記憶部102に記録されるプログラムが類似している情報処理装置200が、同一クラスタに属する情報処理装置200になる。すなわち、プログラムの類似性を利用して、同一クラスタ内の検証に関して検証情報記憶部106の記憶容量を削減する。
本実施形態の情報処理装置200の構成は、図4に示された構成と同じである。
管理者130は、プログラムの類似性を算出するために、プログラムのバイナリ値を基にしたハミング距離やプログラムのファジィハッシュの値などをプログラム間の類似度の指標(指標値)として定義する。管理者130(具体的には、管理者130が扱うサーバなど)は、その指標値と所定のしきい値とを使用してプログラムが類似しているか否かを判定する。例えば、指標値が予め定められたしきい値を越えるときに、プログラムは類似していると判断する。なお、類似度の指標値を、単に、類似度と表現することがある。
図6は、本実施形態でのクラスタの構成法を示すフローチャートである。この処理は、管理者130(具体的には、管理者130が扱うサーバなど)によって実行される。
管理者130は、全ての情報処理装置200に対して、プログラムの類似度の指標値を要求する(ステップS301)。指標値の要求を受信した情報処理装置200において、クラスタ処理部207が指標値を算出する。クラスタ処理部207は、通信部103を介して指標値を管理者130に送る。このようにして、管理者130は、全ての情報処理装置200の類似度の指標値を収集できる。管理者130は、収集した指標値同士を比較することによってプログラムの類似度を判定する。管理者130は、類似度が近似している情報処理装置200を、同じクラスタに含める(ステップS302)。その後、第2の実施形態の場合と同様に、ステップS203~S205の処理が実行される。
検証情報記憶部106は、同一クラスタ内の他の情報処理装置200に対する検証情報(第1の値に相当)として、類似度のしきい値または互いのプログラムの差分情報を記憶する。いずれの検証情報を用いるのかは、検証部205の方式に応じて、管理者130によって決定される。
検証部205は、第1の実施形態における検証部105と同様に検証処理(図3参照)を実行するが、ステップS106の処理で、同一クラスタ内の他の情報処理装置200から得られる検証応答に基づいて、自情報処理装置200におけるプログラムとの類似度、または差分情報を使用して検証を行う。
また、本実施形態では、検証部205は、ステップS111の処理で、上記のプログラム間の類似度の指標値を、検証要求元が扱う第2の値として算出する。
具体的には、類似度を基に検証を行う場合には、検証部205は、検証応答に含まれる第2の値(本実施形態では、類似度の指標値)と、自情報処理装置200におけるプログラムから予め算出された第1の値との類似度を計算する。そして、検証部205は、得られた類似度がしきい値を越えているか否かを判定することによって、検証成否を判断する。具体的には、検証部205は、得られた類似度がしきい値を越えていると、検証が成功した、すなわち、返信した情報処理装置200におけるプログラムに関する不正は生じていない、と判定する。差分情報を用いる場合には、検証部205は、同一部分については自情報処理装置200におけるプログラムとの比較を行い、異なる部分については差分情報を用いて検証の成否を判断する。すなわち、差分が予め定められた所定の程度以下であるときに、返信した情報処理装置200におけるプログラムに関する不正は生じていない、と判定する。
本実施形態において、検証部205が上記のような検証を行えるのは、同一クラスタに属する全ての情報処理装置200のプログラム記憶部102に記憶されているプログラムが類似しているからである。
本実施形態では、検証部205が、類似度に基づいて検証を実行する場合には、部分的にプログラムの改ざんの有無が検証される。検証部205が差分情報を用いて検証を実行する場合には、プログラムの改ざんの有無が検証される。なお、検証部205は、検証要求に対する応答として、検証に利用した類似度の値などを検証結果に含めてもよい。
以上に説明したように、本実施形態の情報処理装置200は、同一クラスタ内の各々の情報処理装置200の検証情報を検証情報記憶部106に記憶する必要がない。検証情報記憶部106は、同一クラスタ内の全ての情報処理装置200について、1つの類似度のしきい値または互いのプログラムの差分情報を記憶するだけでよい。したがって、検証情報記憶部106が保持すべき検証情報をより削減することができる。
実施形態4.
本実施形態では、プログラム記憶部102に記録されるプログラムの属性が類似している情報処理装置200が、同一クラスタに属する情報処理装置200になる。すなわち、プログラムの属性を利用して、同一クラスタ内の検証に関して検証情報記憶部106の記憶容量を削減する。
本実施形態の情報処理装置200の構成は、図4に示された構成と同じである。
管理者130(具体的には、管理者130が扱うサーバなど)は、プログラムの属性を見出すために、プログラム名や開発者の署名などの情報やプログラムのバージョン情報を取得する。そして、管理者130は、同一の開発者によるプログラムや同一のプログラムであるがバージョンが異なるプログラムを、属性が類似するプログラムであると判定する。なお、プログラムの属性の改ざん防止のためにプログラム開発者の署名情報が利用されてもよい。
検証情報記憶部106は、同一クラスタ内の他の情報処理装置200に対する検証情報として、検証対象のプログラムの属性を記憶する。いずれの種別の属性を用いるのかは、検証部205の方式に応じて、管理者によって決定される。
図7は、本実施形態でのクラスタの構成法を示すフローチャートである。この処理は、管理者130(具体的には、管理者130が扱うサーバなど)によって実行される。
管理者130は、全ての情報処理装置200に対して、第1の値としてのプログラムの属性を要求する(ステップS401)。要求を受信した情報処理装置200において、クラスタ処理部207がプログラムの属性を抽出する。クラスタ処理部207は、通信部103を介してプログラムの属性を管理者130に送る。このようにして、管理者130は、全ての情報処理装置200のプログラムの属性を収集できる。管理者130は、プログラムの属性が類似(一致していてもよい。)している情報処理装置200を、同じクラスタに含める(ステップS402)。その後、第2の実施形態の場合と同様に、ステップS203~S205の処理が実行される。
検証部205は、第1の実施形態における検証部105と同様に検証処理(図3参照)を実行するが、ステップS106の処理で、同一クラスタ内の他の情報処理装置200から得られる検証応答と検証情報記憶部106に記憶されているプログラムの属性(第1の値に相当)とを用いて、自情報処理装置200におけるプログラムの属性と他の情報処理装置200におけるプログラムの属性とが類似しているか否か(または、合致しているか否か)を確認する。検証部205は、それらが類似している(または、合致している)と、検証が成功した、すなわち、返信した情報処理装置200におけるプログラムに関する不正は生じていない、と判定する。
また、本実施形態では、検証部205は、ステップS111の処理で、検証情報記憶部106からプログラムの属性を読み出し、それを検証要求元が扱う第2の値とする。
以上に説明したように、本実施形態の情報処理装置200は、同一クラスタの各々の情報処理装置200の検証情報を検証情報記憶部106に記憶する必要がない。検証情報記憶部106は、同一クラスタ内の全ての情報処理装置200について、プログラムの属性を記憶するだけでよい。したがって、検証情報記憶部106が保持すべき検証情報をより削減することができる。
実施形態5.
図8は、第5の実施形態の情報処理装置の構成例を示すブロック図である。情報処理装置500は、制御部101、プログラム記憶部102、通信部103、構成情報記憶部104、検証部105、検証情報記憶部106、およびクラスタ処理部507を備える。
図8に示された制御部101、通信部103、および検証部105は、第1の実施形態におけるそれらと同様の機能を有する。
本実施形態では、管理者130がクラスタの構成に関与することなく、クラスタ構成がシステムにおいて分散的に行われる。
情報処理装置100を含むシステムの一例は、図1に示されたようなシステムである。ただし、図1における各々の情報処理装置100は、情報処理装置500に置き換わる。
システム内のある情報処理装置500におけるクラスタ処理部507は、自律的にクラスタを構成する。クラスタ処理部507は、第1の連結グラフと第2の連結グラフとを構成する。クラスタ処理部507は、構成情報を構成情報記憶部104に記憶する。そして、クラスタ処理部507は、構成情報に基づいて、隣接する情報処理装置500に固有値を要求する。隣接する情報処理装置500が要求に応じて固有値を送信したら、固有値は通信部103で受信され、第1の値として検証情報記憶部106に記憶される。
クラスタ処理部507は、クラスタの構成手法として、分散システムで用いられるクラスタ化の手法を使用できる。クラスタ処理部507は、例えば、ネットワークのホップ数を基にコストを算出する。システムがワイヤレスネットワークであれば、クラスタ処理部507は、信号強度を基にコストを算出する。クラスタ処理部507は、算出したコストと予め定められたしきい値とを比較することによって、クラスタを構成することができる。クラスタ処理部507は、一例として、コストを最小にする全域木を求めることによって、クラスタを構成する。
また、リーダ選挙アルゴリズムを用いて代表ノード(クラスタ構成のための処理を担う情報処理装置500)を選出し、管理者の役割を代表ノードに託すこともできる。その場合、選出されたリーダ(代表ノード)は、全ノード(全ての情報処理装置500)の情報を収集する。そして、リーダは、各ノード間のホップ数などの距離を基に、第1の連結グラフおよび第2の連結グラフを構成する。リーダは、構成情報(第1の連結グラフおよび第2の連結グラフ)に基づいて、各ノードに対して、隣接ノードの固有のIDを送信する。各ノードにおいて、構成情報記憶部104は、受信したIDを記憶する。なお、第2の連結グラフの構成については、再度代表ノードの選出を行い、それぞれのクラスタごとにリーダを選出するようにしてもよい。その場合には、選出されたリーダが、第2の連結グラフの計算と、各ノードに対する隣接ノードの情報伝達とを行う。
以上に説明したように、本実施形態の情報処理装置500を含むシステムでは、クラスタが自律的に構成される。したがって、管理者130が多数の情報処理装置500の情報を集中的に管理する必要がない。
実施形態6.
本実施形態では、各クラスタに1台の検証サーバが配置され、情報処理装置と検証サーバによって検証処理が行われる。
図9は、本実施形態の情報処理装置を含むシステムの一例を示す説明図である。図9に示されている例では、クラスタ620Aには、複数の情報処理装置600に加えて、一つの検証サーバ610Aが含まれている。クラスタ620Bには、複数の情報処理装置600に加えて、検証サーバ610Bが含まれている。検証要求元630から、いずれかの検証サーバに検証要求が送信される。図9に示された例では、検証要求は、検証サーバ610Aに送信される。検証要求を受け取った検証サーバ610Aは、クラスタ620A内の情報処理装置600に検証要求を送信する。また、検証サーバ610Aは、隣接するクラスタ620Bの検証サーバ610Bに検証要求を送信する。そして、システム全体の検証処理が行われる。なお、検証要求元630は、具体的には、例えばサーバである。また、本実施形態において、特定の情報処理装置600や検証サーバ610Aまたは検証サーバ610Bが、他の検証サーバに対して検証要求を開始することもできる。
図10は、本実施形態に係る情報処理装置600の構成例を示すブロック図である。情報処理装置600は、制御部101、プログラム記憶部102、通信部103、検証応答部605を備える。
図10に示された制御部101および通信部103は、第1の実施形態におけるそれらと同様の機能を有する。
検証応答部605は、自情報処理装置(当該検証応答部605を含む情報処理装置)600におけるプログラム記憶部102に記憶されたプログラムから第2の値を新たに算出し、検証要求への応答を行う。各検証要求には固有番号が割り当てられている。固有番号は、検証済みかどうかの判断に利用される。
図11は、検証サーバ610の構成例を示すブロック図である。検証サーバ610は、制御部611、プログラム記憶部612、通信部613、構成情報記憶部614、検証部615、および検証情報記憶部616を備える。なお、図9に示された検証サーバ610Aおよび検証サーバ610Bの構成は、検証サーバ610の構成と同じである。換言すれば、検証サーバ610Aおよび検証サーバ610Bの構成を説明するために、図11に、検証サーバ610が示されている。
通信部613は、インターネット等のネットワーク(図示せず)を介して接続先の装置との通信を行う。検証部615は、自装置(検証サーバ610)におけるプログラム記憶部612に記憶されたプログラムから第2の値を新たに算出する。検証部615は、通信部613を介して、情報処理装置600に検証要求を送信する。また、検証部615は、検証結果に基づいて、検証要求元に対して応答を行う。各検証要求には固有番号が割り当てられている。固有番号は、検証済みかどうかの判断に利用される。検証部615は、情報処理装置600に検証要求を送信するときに、構成情報記憶部614に記憶されている情報処理装置600を特定可能な情報を参照して、検証要求を送信する。
また、検証部615は、情報処理装置600から受信した検証応答に含まれる第2の値と、検証情報記憶部616に含まれる第1の値とを比較することによって、検証の成否を判断する。具体的には、検証部615は、第1の値と第2の値とが一致した場合に、検証が成功した、すなわち、返信した情報処理装置600におけるプログラムに関する不正は生じていない、と判定する。また、検証応答に含まれる情報処理装置600の検証結果を集計する。全ての検証要求の応答の検証と自身の第2の値の算出を終えた後に、検証部615はこれらの結果を検証要求元630に送信する。
次に、本実施形態の情報処理装置600の動作を説明する。図12は、情報処理装置600における検証応答部605が実行する検証処理を示すフローチャートである。
検証処理は、外部から検証要求を受信すると開始される(ステップS601)。検証要求を受信すると、情報処理装置600における検証応答部605は、検証要求の固有番号が検証済みリストに登録されているか否かに基づいて、検証済みであるか否かを判別する(ステップS602)。検証済みであれば、検証応答部605は、通信部103を介して、その旨を、検証要求元(検証要求を送信した装置)返信し(ステップS603)、処理を終了する。
検証済みでない場合には、検証応答部605は、自情報処理装置600におけるプログラム記憶部102に記憶されている情報に基づいて、固有値を算出する(ステップS604)。検証応答部605は、検証要求元に固有値を送信する(ステップS605)。そして、処理を終了する。固有値は検証サーバ610(検証サーバ610A,610B)で受信されるが、検証サーバ610は、受信した固有値を第2の値として扱う。
次に、検証サーバ610の動作、すなわち、検証サーバ610A,610Bの動作を説明する。図13は、検証サーバ610の検証部615によって実行される検証処理を示すフローチャートである。
検証処理は、外部からの検証要求または自身の制御部611が発生した検証要求を受けると開始される(ステップS611)。検証要求を受信すると、検証サーバ610における検証部615は、検証要求の固有番号が検証済みリストに登録されているか否かに基づいて、検証済みであるか否かを判別する(ステップS612)。検証済みであれば、検証部615は、通信部613を介して、その旨を、検証要求元(検証要求を送信した検証サーバ)に返信し(ステップS613)、処理を終了する。
検証済みでない場合には、検証部615は、クラスタ内の情報処理装置600に検証要求を送信する(ステップS615)。検証部615は、送信した検証要求に対する応答(返信)を受信したら、返信に含まれる第2の値を検証情報記憶部616に記憶されている第1の値との比較することによって、検証の成否を判断する(ステップS616)。具体的には、検証部615は、第1の値と第2の値とが一致した場合に、検証が成功した、すなわち、返信した情報処理装置600におけるプログラムに関する不正は生じていない、と判定する。
次に、検証部615は、構成情報記憶部614に記憶されている情報に基づいて、隣接クラスタが存在するかどうかを判定する(ステップS617)。隣接クラスタが存在しない場合には、ステップS620に移行する。隣接クラスタが存在する場合には、検証部615は、隣接クラスタの検証サーバ610に検証要求を送信する(ステップS618)。検証部615は、応答内容の第2の値を検証情報記憶部616の第1の値と比較することによって、検証の成否を判断する(ステップS619)。具体的には、検証部615は、第1の値と第2の値とが一致した場合に、検証が成功した、すなわち、隣接クラスタにおける情報処理装置600におけるプログラムに関する不正は生じていない、と判定する。なお、図9を参照すると、検証要求を送信する検証サーバ610が検証サーバ610Aである場合には、隣接クラスタの検証サーバは、検証サーバ610Bである。検証要求を送信する検証サーバ610が検証サーバ610Bである場合には、隣接クラスタの検証サーバは、検証サーバ610Aである。
そして、ステップS620では、検証部615は、ステップS616の処理およびステップS619の処理で得られた検証結果と、情報処理装置600および他の検証サーバ610から送られてきた検証結果とを集計する(ステップS620)。また、検証部615は、プログラム記憶部612に記憶されているプログラムに関する固有値を算出する(ステップS621)。検証部615は、通信部613を介して、算出した固有値を他の情報処理装置の検証結果とともに検証要求元に送信し(ステップS622)、処理を終了する。固有値は検証サーバ610(検証サーバ610A,610B)または検証要求元630で受信されるが、検証サーバ610または検証要求元630は、受信した固有値を第2の値として扱う。
以上に説明したように、本実施形態では、情報処理装置600および検証サーバ610が、検証要求を転送し合うことによって、検証サーバ610とそれに連なる他の情報処理装置600および他の検証サーバ610の検証が分散的に実行される。したがって、検証情報の増加と一の記憶部に対するアクセス集中を防ぐことができる。
なお、いずれかの実施形態の一部の構成を、他の実施形態に追加したり、他の実施形態の一部の構成と置換した実施形態も使用可能である。
一例として、上記の各実施形態では、全てのクラスタについて同一の検証手法が用いられているが、クラスタごとに検証手法を変えてもよい。例えば、プログラム記憶部102に同一のプログラムが記憶されている情報処理装置100で構成されるクラスタに対して第2の実施形態を採用し、それ以外のクラスタに対して他の実施形態を採用してもよい。
また、上記の各実施形態では、クラスタ内の情報処理装置の検証と隣接クラスタ間の検証とが行われるようにクラスタが構成されたが、一のクラスタをさらにクラスタ分けするなど、より多層のクラスタ構成を構築してもよい。その場合、クラスタを一つの情報処理装置と見なして、上記の各実施形態における検証処理が実現されるようにしてもよい。例えば、多層構造の複数のクラスタのうちの一のクラスタが、他の情報処理装置またはクラスタに検証要求を送信するクラスタと見なされる。
上記の実施形態における各構成要素は、1つのハードウェアで構成可能であるが、1つのソフトウェアでも構成可能である。また、各構成要素は、複数のハードウェアでも構成可能であり、複数のソフトウェアでも構成可能である。また、各構成要素のうちの一部をハードウェアで構成し、他部をソフトウェアで構成することもできる。
上記の実施形態における各機能(各処理)を、CPU(Central Processing Unit )等のプロセッサやメモリ等を有するコンピュータで実現可能である。例えば、記憶装置(記憶媒体)に上記の実施形態における方法(処理)を実施するためのプログラムを格納し、各機能を、記憶装置に格納されたプログラムをCPUで実行することによって実現してもよい。
図14は、CPUを有するコンピュータの一例を示すブロック図である。コンピュータは、情報処理装置100,200,500,600に実装可能であり、また、検証サーバ610に実装可能である。CPU1000は、記憶装置1001に格納されたプログラムに従って処理を実行することによって、上記の実施形態における各機能を実現する。すなわち、図2,図4,図8,図10に示された情報処理装置100,200,500,600における、制御部101、通信部103のソフトウェア部分、検証部105,205、クラスタ処理部207,507および検証応答部605の機能、ならびに、図11に示された検証サーバ610における制御部611、通信部613のソフトウェア部分、および検証部615の機能を実現する。
記憶装置1001は、例えば、非一時的なコンピュータ可読媒体(non-transitory computer readable medium )である。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium )を含む。非一時的なコンピュータ可読媒体の具体例として、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Compact Disc-Read Only Memory )、CD-R(Compact Disc-Recordable )、CD-R/W(Compact Disc-ReWritable )、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM )、フラッシュROM)がある。図2、図4、図8、および図10に示されたプログラム記憶部102および図11に示されたプログラム記憶部612は、記憶装置1001で実現される。
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium )に格納されてもよい。一時的なコンピュータ可読媒体には、例えば、有線通信路または無線通信路を介して、すなわち、電気信号、光信号または電磁波を介して、プログラムが供給される。
また、図2,図4,図8に示された構成情報記憶部104および検証情報記憶部106と、図11に示された構成情報記憶部614および検証情報記憶部616は、メモリ1002または記憶装置1001で実現される。
図15は、情報処理装置の主要部を示すブロック図である。図15に示す情報処理装置10は、複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報を記憶する構成情報記憶手段11(実施形態では、構成情報記憶部104で実現される。)と、システム内の各情報処理装置のプログラムの内容に対応する第1の値を管理する検証情報管理手段12(実施形態では、検証部105,205および検証情報記憶部106で実現される。)と、検証要求の受信に応じて、自装置におけるプログラムについて第1の値を導出した方法と同じ方法で第2の値を導出して検証要求の送信元に送信する検証手段13(実施形態では、検証部105,205で実現される。)とを備え、検証手段13は、検証要求の受信に応じて、クラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した第2の値と第1の値とを比較することによって、当該情報処理装置におけるプログラムを検証する。
情報処理装置10は、システム内の情報処理装置間のコストに基づいてクラスタを構成するクラスタ処理手段(実施形態では、クラスタ処理部207,507で実現される。)をさらに備えていてもよい。
図16は、検証システムの主要部を示すブロック図である。図16に示す検証システム20は、複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報を記憶する構成情報記憶手段31(実施形態では、構成情報記憶部614で実現される。)と、システム内の各情報処理装置のプログラムの内容に対応する第1の値を管理する検証情報管理手段32(実施形態では、検証部615および検証情報記憶部616で実現される。)とを含む検証サーバ30と、検証サーバ30が属するクラスタに属する情報処理装置であって、検証要求の受信に応じて、自装置におけるプログラムについて第1の値を導出した方法と同じ方法で第2の値を導出して検証要求の送信元に送信する検証応答手段41(実施形態では、検証応答部605で実現される。)を含む情報処理装置40とを備え、検証サーバ30は、検証要求の受信に応じて、クラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した第2の値と第1の値とを比較することによって、当該情報処理装置におけるプログラムを検証する検証手段33(実施形態では、検証部615で実現される。)をさらに備える。
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、本発明は、以下の構成に限定されるわけではない。
(付記1)複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報を記憶する構成情報記憶手段と、
前記システム内の各情報処理装置のプログラムの内容に対応する第1の値を管理する検証情報管理手段と、
検証要求の受信に応じて、自装置におけるプログラムについて前記第1の値を導出した方法と同じ方法で第2の値を導出して前記検証要求の送信元に送信する検証手段とを備え、
前記検証手段は、前記検証要求の受信に応じて、前記クラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した前記第2の値と前記第1の値とを比較することによって、当該情報処理装置におけるプログラムを検証する
ことを特徴とする情報処理装置。
(付記2)前記検証情報管理手段は、プログラムから算出された前記第1の値を記憶する検証情報記憶手段である
付記1の情報処理装置。
(付記3)同一のプログラムを有する各情報処理装置でクラスタが構成され、
前記検証情報管理手段が管理する前記第1の値は、クラスタ内の各情報処理装置について共通の値であり、
前記検証手段は、クラスタ内の各情報処理装置から受信した前記第2の値と前記共通の値とを比較する
付記1の情報処理装置。
(付記4)類似するプログラムを有する各情報処理装置でクラスタが構成され、
前記検証情報管理手段が管理する前記第1の値は、プログラムから算出された類似度を判定するための指標値であり、
前記検証手段は、前記第1の値と前記第2の値としての指標値との類似度を判定することによって、前記クラスタ内の各情報処理装置のプログラムを検証する
付記1の情報処理装置。
(付記5)類似する属性のプログラムを有する各情報処理装置でクラスタが構成され、
前記検証情報管理手段が管理する前記第1の値は、プログラムの属性であり、
前記検証手段は、前記第1の値と前記第2の値としてのプログラムの属性とが合致しているか否かを判定することによって、クラスタ内の各情報処理装置のプログラムを検証する
付記1の情報処理装置。
(付記6)前記システム内の情報処理装置間のコストに基づいてクラスタを構成するクラスタ処理手段をさらに備える
付記1から付記5のいずれかの情報処理装置。
(付記7)複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報を記憶する構成情報記憶手段と、
前記システム内の各情報処理装置のプログラムの内容に対応する第1の値を管理する検証情報管理手段とを含む検証サーバと、
前記検証サーバが属するクラスタに属する情報処理装置であって、検証要求の受信に応じて、自装置におけるプログラムについて前記第1の値を導出した方法と同じ方法で第2の値を導出して前記検証要求の送信元に送信する検証応答手段を含む情報処理装置と
を備え、
前記検証サーバは、検証要求の受信に応じて、前記クラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した前記第2の値と前記第1の値とを比較することによって、当該情報処理装置におけるプログラムを検証する検証手段をさらに備える
ことを特徴とする検証システム。
(付記8)複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報を記憶し、
前記システム内の各情報処理装置のプログラムの内容に対応する第1の値を管理し、
検証要求の受信に応じて、情報処理装置におけるプログラムについて前記第1の値を導出した方法と同じ方法で第2の値を導出して前記検証要求の送信元に送信し、
前記検証要求の受信に応じて、前記クラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した前記第2の値と前記第1の値とを比較することによって、当該情報処理装置におけるプログラムを検証する
ことを特徴とする情報処理方法。
(付記9)プログラムから算出された前記第1の値を記憶することによって、当該第1の値を管理する
付記8の情報処理方法。
(付記10)同一のプログラムを有する各情報処理装置でクラスタが構成され、
前記第1の値は、クラスタ内の各情報処理装置について共通の値であり、
クラスタ内の各情報処理装置から受信した前記第2の値と前記共通の値とを比較することによって、当該情報処理装置におけるプログラムを検証する
付記8の情報処理方法。
(付記11)類似する属性のプログラムを有する各情報処理装置でクラスタが構成され、
前記第1の値は、情報処理装置におけるプログラムから算出される類似度の指標値であり、
前記第1の値と前記第2の値としての指標値との類似度を判定することによって、クラスタ内の各情報処理装置のプログラムを検証する
付記8の情報処理方法。
(付記12)類似する属性のプログラムを有する各情報処理装置でクラスタが構成され、
前記第1の値は、プログラムの属性であり、
前記第1の値と前記第2の値としてのプログラムの属性とが合致しているか否かを判定することによって、前記クラスタ内の各情報処理装置のプログラムを検証する
付記8の情報処理方法。
(付記13)前記システム内の情報処理装置間のコストに基づいてクラスタを構成する処理を含む
付記8から付記12のいずれかの情報処理方法。
(付記14)コンピュータに、
複数の情報処理装置を含むシステム内の各情報処理装置のプログラムの内容に対応する第1の値を管理する処理と、
検証要求の受信に応じて、情報処理装置におけるプログラムについて前記第1の値を導出した方法と同じ方法で第2の値を導出して前記検証要求の送信元に送信する処理と、
前記検証要求の受信に応じて、複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した第2の値と前記第1の値とを比較することによって当該情報処理装置におけるプログラムを検証する処理とを
実行させるための情報処理プログラム。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
10,40 情報処理装置
11 構成情報記憶手段
12 検証情報管理手段
13 検証手段
20 検証システム
30 検証サーバ
31 構成情報記憶手段
32 検証情報管理手段
33 検証手段
41 検証応答手段
100,200,500,600 情報処理装置
101 制御部
102 プログラム記憶部
103 通信部
104 構成情報記憶部
105,205 検証部
106 検証情報記憶部
110A,110B,620A,620B クラスタ
120 検証要求元
130 管理者
207,507 クラスタ処理部
605 検証応答部
610,610A,610B 検証サーバ
611 制御部
612 プログラム記憶部
613 通信部
614 構成情報記憶部
615 検証部
616 検証情報記憶部
630 検証要求元
1000 CPU
1001 記憶装置
1002 メモリ

Claims (14)

  1. 自装置を含む複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報を記憶する構成情報記憶手段と、
    前記システム内の各情報処理装置のプログラムの内容に対応する第1の値を管理する検証情報管理手段と、
    検証要求の受信に応じて、自装置におけるプログラムについて前記第1の値を導出した方法と同じ方法で第2の値を導出して前記検証要求の送信元に送信する検証手段とを備え、
    前記検証手段は、前記検証要求の受信に応じて、前記クラスタ構成情報で特定されるクラスタ内の自装置以外の情報処理装置に検証要求を送信し、当該情報処理装置から受信した前記第2の値と前記第1の値とを比較することによって、当該情報処理装置におけるプログラムを検証する
    ことを特徴とする情報処理装置。
  2. 前記検証情報管理手段は、プログラムから算出された前記第1の値を記憶する検証情報記憶手段である
    請求項1に記載の情報処理装置。
  3. 同一のプログラムを有する各情報処理装置でクラスタが構成され、
    前記検証情報管理手段が管理する前記第1の値は、クラスタ内の各情報処理装置について共通の値であり、
    前記検証手段は、クラスタ内の各情報処理装置から受信した前記第2の値と前記共通の値とを比較する
    請求項1に記載の情報処理装置。
  4. 類似するプログラムを有する各情報処理装置でクラスタが構成され、
    前記検証情報管理手段が管理する前記第1の値は、プログラムから算出された類似度を判定するための指標値であり、
    前記検証手段は、前記第1の値と前記第2の値としての指標値との類似度を判定することによって、前記クラスタ内の各情報処理装置のプログラムを検証する
    請求項1に記載の情報処理装置。
  5. 類似する属性のプログラムを有する各情報処理装置でクラスタが構成され、
    前記検証情報管理手段が管理する前記第1の値は、プログラムの属性であり、
    前記検証手段は、前記第1の値と前記第2の値としてのプログラムの属性とが合致しているか否かを判定することによって、クラスタ内の各情報処理装置のプログラムを検証する
    請求項1に記載の情報処理装置。
  6. 前記システム内の情報処理装置間のコストに基づいてクラスタを構成するクラスタ処理手段をさらに備える
    請求項1から請求項5のうちのいずれか1項に記載の情報処理装置。
  7. 複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報を記憶する構成情報記憶手段と、
    前記システム内の各情報処理装置のプログラムの内容に対応する第1の値を管理する検証情報管理手段とを含む検証サーバと、
    前記検証サーバが属するクラスタに属する情報処理装置であって、検証要求の受信に応じて、自装置におけるプログラムについて前記第1の値を導出した方法と同じ方法で第2の値を導出して前記検証要求の送信元に送信する検証応答手段を含む情報処理装置と
    を備え、
    前記検証サーバは、検証要求の受信に応じて、前記クラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した前記第2の値と前記第1の値とを比較することによって、当該情報処理装置におけるプログラムを検証する検証手段をさらに備える
    ことを特徴とする検証システム。
  8. コンピュータが、
    複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報を記憶し、
    前記システム内の各情報処理装置のプログラムの内容に対応する第1の値を管理し、
    検証要求の受信に応じて、情報処理装置におけるプログラムについて前記第1の値を導出した方法と同じ方法で第2の値を導出して前記検証要求の送信元に送信し、
    前記検証要求の受信に応じて、前記クラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した前記第2の値と前記第1の値とを比較することによって、当該情報処理装置におけるプログラムを検証する
    ことを特徴とする情報処理方法。
  9. コンピュータが、
    プログラムから算出された前記第1の値を記憶することによって、当該第1の値を管理する
    請求項8に記載の情報処理方法。
  10. 同一のプログラムを有する各情報処理装置でクラスタが構成され、
    前記第1の値は、クラスタ内の各情報処理装置について共通の値であり、
    コンピュータが、
    クラスタ内の各情報処理装置から受信した前記第2の値と前記共通の値とを比較することによって、当該情報処理装置におけるプログラムを検証する
    請求項8に記載の情報処理方法。
  11. 類似する属性のプログラムを有する各情報処理装置でクラスタが構成され、
    前記第1の値は、情報処理装置におけるプログラムから算出される類似度の指標値であり、
    コンピュータが、
    前記第1の値と前記第2の値としての指標値との類似度を判定することによって、クラスタ内の各情報処理装置のプログラムを検証する
    請求項8に記載の情報処理方法。
  12. 類似する属性のプログラムを有する各情報処理装置でクラスタが構成され、
    前記第1の値は、プログラムの属性であり、
    コンピュータが、
    前記第1の値と前記第2の値としてのプログラムの属性とが合致しているか否かを判定することによって、前記クラスタ内の各情報処理装置のプログラムを検証する
    請求項8に記載の情報処理方法。
  13. コンピュータが前記システム内の情報処理装置間のコストに基づいてクラスタを構成する処理を含む
    請求項8から請求項12のうちのいずれか1項に記載の情報処理方法。
  14. コンピュータに、
    複数の情報処理装置を含むシステム内の各情報処理装置のプログラムの内容に対応する第1の値を管理する処理と、
    検証要求の受信に応じて、情報処理装置におけるプログラムについて前記第1の値を導出した方法と同じ方法で第2の値を導出して前記検証要求の送信元に送信する処理と、
    前記検証要求の受信に応じて、複数の情報処理装置を含むシステム内の各情報処理装置がいずれのクラスタに属するのかを特定可能なクラスタ構成情報で特定されるクラスタ内の情報処理装置に検証要求を送信し、当該情報処理装置から受信した第2の値と前記第1の値とを比較することによって当該情報処理装置におけるプログラムを検証する処理とを
    実行させるための情報処理プログラム。
JP2020565042A 2019-01-07 2019-01-07 情報処理装置、検証システムおよび情報処理方法 Active JP7147873B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/000082 WO2020144729A1 (ja) 2019-01-07 2019-01-07 情報処理装置、検証システムおよび情報処理方法

Publications (2)

Publication Number Publication Date
JPWO2020144729A1 JPWO2020144729A1 (ja) 2021-11-25
JP7147873B2 true JP7147873B2 (ja) 2022-10-05

Family

ID=71521479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020565042A Active JP7147873B2 (ja) 2019-01-07 2019-01-07 情報処理装置、検証システムおよび情報処理方法

Country Status (3)

Country Link
US (1) US20220058259A1 (ja)
JP (1) JP7147873B2 (ja)
WO (1) WO2020144729A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7237298B2 (ja) 2018-10-02 2023-03-13 浩明 永井 ドラグワッシャ、ドラグ機構、および釣魚用リール

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020149404A (ja) * 2019-03-14 2020-09-17 オムロン株式会社 制御システム、制御方法、および制御デバイス

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004519762A (ja) 2000-12-29 2004-07-02 バリディ 承認されたユーザの利益のために少なくとも1つのサービスのクラスタの相互作用サービスに属するリソースへのアクセスを制限するプロセス
JP2007179135A (ja) 2005-12-27 2007-07-12 Felica Networks Inc 通信システム,リーダライタ,認証方法,およびコンピュータプログラム
JP2017055428A (ja) 2016-11-02 2017-03-16 パナソニックIpマネジメント株式会社 放送受信システム、放送通信連携システム、及び、放送受信装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103765427B (zh) * 2011-09-07 2017-02-15 英特尔公司 检验设备的固件完整性
US11316868B2 (en) * 2017-02-24 2022-04-26 Nec Corporation Information verification system, information verification device, method and program
JP2019110493A (ja) * 2017-12-20 2019-07-04 ソニー株式会社 情報処理装置、情報処理方法、情報処理システム、並びにプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004519762A (ja) 2000-12-29 2004-07-02 バリディ 承認されたユーザの利益のために少なくとも1つのサービスのクラスタの相互作用サービスに属するリソースへのアクセスを制限するプロセス
JP2007179135A (ja) 2005-12-27 2007-07-12 Felica Networks Inc 通信システム,リーダライタ,認証方法,およびコンピュータプログラム
JP2017055428A (ja) 2016-11-02 2017-03-16 パナソニックIpマネジメント株式会社 放送受信システム、放送通信連携システム、及び、放送受信装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7237298B2 (ja) 2018-10-02 2023-03-13 浩明 永井 ドラグワッシャ、ドラグ機構、および釣魚用リール

Also Published As

Publication number Publication date
WO2020144729A1 (ja) 2020-07-16
JPWO2020144729A1 (ja) 2021-11-25
US20220058259A1 (en) 2022-02-24

Similar Documents

Publication Publication Date Title
US11838113B2 (en) Techniques to verify and authenticate resources in a data center computer environment
US9342683B2 (en) Stateless attestation system
US20190335333A1 (en) Security for network computing environment using centralized security system
TWI537764B (zh) 驗證資料中心內部執行之虛擬磁碟映像的地理位置的方法
KR101956486B1 (ko) 단말 식별자들을 용이하게 하는 방법 및 시스템
US9699185B2 (en) Unauthorized device detection method, unauthorized device detection server, and unauthorized device detection system
KR102324361B1 (ko) 집단 지능 기반 악의적 기기 탐지 장치 및 방법
KR100882354B1 (ko) 플랫폼 무결성 정보를 이용한 네트워크 인증 장치 및 방법
CN108989468B (zh) 一种信任网络构建方法及装置
US20200218815A1 (en) Systems and methods for distributed ledger management
US20240104213A1 (en) Securing node groups
JP7147873B2 (ja) 情報処理装置、検証システムおよび情報処理方法
JP2024505692A (ja) ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器
US9251321B2 (en) Methods and nodes for handling usage policy
US11652824B2 (en) Trustworthiness evaluation of network devices
EP3610384A1 (en) Apparatus, method and computer program product for trust management
JP2022527906A (ja) ブロックチェーンを使用したセキュア監視
CN111131144B (zh) IoT设备管理方法、装置、服务器及存储介质
WO2016013925A1 (en) System and method for secure tracking of internet of things based goods in supply chain system
JP6813442B2 (ja) 検証装置
KR102229438B1 (ko) 클라우드 컴퓨팅 및 블록체인 기반의 스마트 홈 시스템
CN112099909A (zh) 一种虚拟机内存度量方法、装置、处理器芯片及系统
CN111680282A (zh) 基于区块链网络的节点管理方法、装置、设备及介质
JP2022529640A (ja) デバイスの識別と監視のための方法およびシステム
RU2589333C2 (ru) Ограничиваемая удаленной частью модель делегирования

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210628

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220808

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220905

R151 Written notification of patent or utility model registration

Ref document number: 7147873

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151