(57)【要約】【課題】検証情報を装置間で安全に共有することが可能であり、検証対象となる装置及び検証対象データが増加しても効率的に検証を行う。【解決手段】セキュリティ検証装置２００は、検証情報を耐タンパ性を備えた領域に記憶する。また、セキュリティ検証装置２００は、受信した検証要求３００に含まれる検証対象識別情報３１０に対応する検証情報６００が検証情報管理部２５０に記憶されていない場合には、検証情報６００の参照先として用いるセキュリティ検証装置２００を識別する装置識別情報７１０に対応する検証装置２００に対してセキュリティの検証に用いる検証情報６００の参照を要求する検証情報参照要求４００を送信する。また、セキュリティ検証装置２００は、検証情報６００を基準として検証対象のセキュリティの検証を行い、検証結果５００を検証要求の要求元の操作端末１００に送信する。【選択図】図２
2019008738.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティの検証を要求する要求者の端末から受信する検証要求に含まれる検証対象を一意に識別する検証対象識別情報と、検証対象のセキュリティを検証する際の基準である正解情報とを対応付ける検証情報を耐タンパ性を備えた領域に記憶する検証情報管理部と、
前記検証対象識別情報に対応する検証対象を記憶する記憶部と、
前記端末から検証要求を受信し、該検証要求に含まれる前記検証対象識別情報に対応する検証情報を前記検証情報管理部から読み込む要求受信部と、
他の検証装置から前記検証情報を受信し、該検証情報を前記検証情報管理部に格納する検証情報格納部と、
前記要求受信部によって受信された検証要求に含まれる前記検証対象識別情報に対応する検証情報が検証情報管理部に記憶されていない場合には、前記検証情報の参照先として用いる検証装置を識別する装置識別情報に対応する検証装置に対してセキュリティの検証に用いる検証情報の参照を要求する検証情報参照要求を送信する検証情報参照要求部と、
前記要求受信部によって読み込まれた検証情報を基準として前記検証対象のセキュリティの検証を行う検証処理部と、
前記検証処理部によって検証が行われた検証結果を前記検証要求の要求元の端末に送信する検証結果送信部と、
前記他の検証装置から検証情報参照要求を受信し、該検証情報参照要求に対応する検証情報を前記検証情報管理部から読み込み、読み込んだ検証情報を該検証情報参照要求の要求元に送信する検証情報送信部と、
を有することを特徴とする検証装置。
【請求項２】
前記検証処理部は、前記検証情報に含まれる正解情報を検証対象の完全性を定義する情報とし、検証対象の完全性を、前記正解情報を元にして検証することを特徴とする請求項１に記載の検証装置。
【請求項３】
前記検証処理部は、前記検証情報に含まれる正解情報を検証対象の真正性を定義する情報とし、検証対象の真正性を、前記正解情報を元にして検証することを特徴とする請求項１に記載の検証装置。
【請求項４】
前記検証情報管理部は、前記検証情報に含まれる正解情報の有効条件が満たされる検証情報のみを有効な検証情報として用いることを特徴とする請求項１に記載の検証装置。
【請求項５】
セキュリティの検証対象を表わす検証対象識別情報を１つ以上含む検証対象リストを記憶する検証対象設定部をさらに有し、
前記要求受信部は、前記検証要求に検証対象識別情報が含まれない場合に、前記検証対象設定部から検証対象リストを読み出し、
前記検証処理部は、前記検証対象リストに含まれるすべての検証対象識別情報に対応する検証対象のセキュリティの検証を行って、検証結果を検証要求の要求元に送信する要求受付処理部と
をさらに有することを特徴とする請求項１に記載の検証装置。
【請求項６】
前記検証情報参照要求部は、前記検証情報参照要求の送信先とする検証装置が真正であることが確認できた場合に検証情報参照要求を送信することを特徴とする請求項１に記載の検証装置。
【請求項７】
前記検証情報参照要求部は、前記検証情報参照要求の送信先として用いる検証装置との間で検証情報参照要求の送信内容及び検証情報の受信内容を第三者から秘匿することを特徴とする請求項１に記載の検証装置。
【請求項８】
前記検証情報管理部は、１つ以上の検証情報識別情報を指定可能な検証情報無効化リストをあらかじめ記憶しておき、前記検証情報無効化リストに含まれる検証情報識別情報と一致する検証情報をあらゆる処理に用いないことを特徴とする請求項１に記載の検証装置。
【請求項９】
前記検証情報管理部は、前記検証情報に含まれる有効条件によって無効と判定された検証情報を自動的に削除することを特徴とする請求項４に記載の検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのセキュリティを検証する検証装置に関する。
【背景技術】
【０００２】
従来、データの完全性を検証する一般的な技術としては、「ハッシュアルゴリズム」「公開鍵暗号方式による電子署名」などがある。ハッシュアルゴリズムを用いる方法では、あらかじめ完全性が確保された状態の原本となるデータからハッシュ値（以下、「原本ハッシュ値」）を取得しておき、データの完全性を検証する際には、検証対象データからハッシュ値を取得して原本ハッシュ値と比較することによって、これらが一致する場合に当該データの完全性が保たれていると判定する。この方法が適切に機能するためには、完全性検証の拠り所となる「原本ハッシュ値」の管理が重要となる。
【０００３】
公開鍵暗号方式による電子署名を用いる方法では、あらかじめ対象データに対して電子署名を生成、付加しておき、データの完全性を検証する際には、当該データに付加されている電子署名と整合している場合に、当該データの完全性が保たれていると判定する。この方法が適切に機能するためには、完全性検証の拠り所となる「電子署名」があらかじめ検証対象データに付与されていること、及び電子署名の検証に用いる公開鍵の信頼性を保つために公開鍵基盤（ＰＫＩ（Public  Key  Infrastructure））の適正な運用が重要となる。データの完全性検証にあたっては、完全性検証の拠り所となる検証情報（前述の例では「原本ハッシュ値」「電子署名」）の正当性が保たれている必要がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“ＰＫＩ関連技術情報”、［online］、独立行政法人情報処理推進機構、［平成29年6月15日検索］、インターネット＜https://www.ipa.go.jp/security/pki/＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術では、検証情報を第三者による改変から保護できず、検証対象データが増加すると効率的に検証を行うことが出来ない場合があるという課題があった。例えば、ハッシュアルゴリズムを用いる方法においては、検証対象データに対応する原本ハッシュ値が実際のデータと整合しない状態になっていると正しく完全性検証を行うことができない。このような整合しない状態になるケースとして、例えば、原本ハッシュ値がマルウェア感染によって改変されているケースなどが考えられる。
【０００６】
なお、電子署名を用いる方法においては、完全性検証の拠り所となる「電子署名」の検証に用いる公開鍵の信頼性を公開鍵基盤によって保つ必要があるため、対象データに対する電子署名の付与、及び公開鍵基盤による電子署名の検証ともに実行時のコストが高く、検証対象データが膨大になるケースに対応し難い。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明の検証装置は、セキュリティの検証を要求する要求者の端末から受信する検証要求に含まれる検証対象を一意に識別する検証対象識別情報と、検証対象のセキュリティを検証する際の基準である正解情報とを対応付ける検証情報を耐タンパ性を備えた領域に記憶する検証情報管理部と、前記検証対象識別情報に対応する検証対象を記憶する記憶部と、前記端末から検証要求を受信し、該検証要求に含まれる前記検証対象識別情報に対応する検証情報を前記検証情報管理部から読み込む要求受信部と、他の検証装置から前記検証情報を受信し、該検証情報を前記検証情報管理部に格納する検証情報格納部と、前記要求受信部によって受信された検証要求に含まれる前記検証対象識別情報に対応する検証情報が検証情報管理部に記憶されていない場合には、前記検証情報の参照先として用いる検証装置を識別する装置識別情報に対応する検証装置に対してセキュリティの検証に用いる検証情報の参照を要求する検証情報参照要求を送信する検証情報参照要求部と、前記要求受信部によって読み込まれた検証情報を基準として前記検証対象のセキュリティの検証を行う検証処理部と、前記検証処理部によって検証が行われた検証結果を前記検証要求の要求元の端末に送信する検証結果送信部と、前記他の検証装置から検証情報参照要求を受信し、該検証情報参照要求に対応する検証情報を前記検証情報管理部から読み込み、読み込んだ検証情報を該検証情報参照要求の要求元に送信する検証情報送信部と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、検証情報を装置間で安全に共有することが可能であり、検証対象となる装置及び検証対象データが増加しても効率的に検証を行うことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、第一の実施の形態に係るセキュリティ検証システムの構成の一例を示す図である。
【図２】図２は、第一の実施の形態に係るセキュリティ検証装置の構成を示すブロック図である。
【図３】図３は、検証要求に含まれる情報の一例を示す図である。
【図４】図４は、検証情報参照要求に含まれる情報の一例を示す図である。
【図５】図５は、検証結果に含まれる情報の一例を示す図である。
【図６】図６は、検証情報に含まれる情報の一例を示す図である。
【図７】図７は、参照先装置リストに含まれる情報の一例を示す図である。
【図８】図８は、検証情報無効化リストに含まれる情報の一例を示す図である。
【図９】図９は、第一の実施の形態に係るセキュリティ検証装置による処理を説明するフローチャートである。
【図１０】図１０は、データのセキュリティを検証する検証プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る検証装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る検証装置が限定されるものではない。
【００１１】
［第一の実施の形態］
以下の実施の形態では、第一の実施の形態に係るセキュリティ検証システムの構成、セキュリティ検証装置の構成、セキュリティ検証装置における処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
【００１２】
［セキュリティ検証システムの構成］
まず、図１を用いて、第一の実施の形態に係るセキュリティ検証システムについて説明する。図１は、第一の実施の形態に係るセキュリティ検証システムの構成の一例を示す図である。第一の実施の形態に係るセキュリティ検証システムは、操作端末１００および複数のセキュリティ検証装置２００を有し、各装置は通信網を介して接続されている。なお、各セキュリティ検証装置２００は、それぞれ同様の構成を有している。また、図１に示す各装置の数は、あくまで一例であり、これに限られるものではない。
【００１３】
操作端末１００は、ユーザの操作等に応じて、セキュリティ検証装置２００に対して検証対象に対する検証を要求する検証要求を送信する。そして、操作端末１００は、検証要求を送信した後、セキュリティ検証装置２００から検証結果を受信する。
【００１４】
セキュリティ検証装置２００は、検証要求３００を操作端末１００から受信すると、検証要求３００に含まれる検証対象識別情報３１０に対応する検証情報６００を基準として検証対象のセキュリティの検証を行う。また、セキュリティ検証装置２００は、検証要求３００に含まれる検証対象識別情報３１０に対応する検証情報６００を記憶していない場合には、他のセキュリティ検証装置２００に対して検証情報６００の参照を要求する検証情報参照要求４００を送信し、他のセキュリティ検証装置２００から検証情報６００を取得した上でセキュリティの検証を行う。
【００１５】
セキュリティ検証装置２００は、ハードディスクやメモリ等の記憶手段及びイーサーネットや無線ＬＡＮ等の通信手段を備えた装置全般が該当する。当該装置は、記憶手段によって装置内部にデータ（ソフトウェアを構成するプログラムファイルやソフトウェアが動作に用いるデータファイルなど）を保持し、これらデータのセキュリティを検証することができる。
【００１６】
このような装置として例えば、一般的なＯＳ（Ｌｉｎｕｘ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、Ｍａｃ（登録商標）ＯＳ等）を備えた装置を想定した場合、検証対象となるデータの記憶手段としてはハードディスク上のファイルシステムが考えられる。セキュリティ検証装置２００が、受け付ける検証要求３００において検証対象を識別する検証対象識別情報３１０には、対象データのファイルパス等、ファイルシステム上で当該データを検索し、一意に特定可能な情報を用いる方法が考えられる。また、後述する参照対象識別情報４１０、検証対象識別情報６１０、検証対象識別情報５１１、及び検証情報識別情報８１０にも、同様の情報を用いる実装方法が考えられる。
【００１７】
一方、セキュリティ検証装置２００の通信手段については、例えばＴＣＰ／ＩＰを用いる場合、後述する装置識別情報７１０には、ＤＮＳにより名前解決可能なＦＱＤＮ、あるいはＩＰアドレスとする方法が考えられる。
【００１８】
［セキュリティ検証装置の構成］
次に、図２を用いて、図１に示したセキュリティ検証装置２００の構成を説明する。図２は、第一の実施の形態に係るセキュリティ検証装置の構成を示すブロック図である。図２に示すように、このセキュリティ検証装置２００は、要求受付処理部２１０と、記憶部２２０と、検証情報参照要求部２３０と、検証処理部２４０と、検証情報管理部２５０と、検証対象設定部２６０を有する。以下にこれらの各部の処理を説明する。
【００１９】
要求受付処理部２１０は、操作端末１００や他のセキュリティ検証装置２００との間でやり取りする各種情報に関する通信を制御するが、特に本発明に密接に関連するものとしては、要求受信部２１１、検証情報格納部２１２、検証結果送信部２１３および検証情報送信部２１４を有する。
【００２０】
要求受信部２１１は、操作端末１００から検証要求３００を受信し、該検証要求３００に含まれる検証対象識別情報３１０に対応する検証情報６００を検証情報管理部２５０から読み込む。
【００２１】
具体的には、要求受信部２１１は、検証要求３００を受信すると、検証要求３００から検証対象識別情報３１０を１つ抽出して、検証対象識別情報３１０に対応する検証情報６００を検証情報管理部２５０から読み込んだ上で、記憶部２２０から検証対象識別情報３１０に対応する検証対象を読み出して検証情報６００に検証を依頼する処理を検証要求３００に含まれるすべての検証対象識別情報３１０に対して繰り返し行う。
【００２２】
また、要求受信部２１１は、検証要求３００に検証対象識別情報３１０が含まれない場合に、検証対象設定部２６０から検証対象リストを読み出す。
【００２３】
ここで、図３を用いて、検証要求３００について説明する。図３は、検証要求に含まれる情報の一例を示す図である。図３に示すように、検証要求３００は、検証対象を一意に識別する検証対象識別情報３１０を１つ以上含む情報とする。
【００２４】
検証情報格納部２１２は、他のセキュリティ検証装置２００から検証情報６００を受信し、該検証情報６００を検証情報管理部２５０に格納する。具体的には、検証情報格納部２１２は、検証情報参照要求４００の送信先の他のセキュリティ検証装置２００から検証情報６００を受信した場合には、該検証情報６００を検証情報管理部２５０に格納する。検証情報格納部２１２は、検証情報６００の受信処理を、ＴＬＳ（Transport  Layer  Security）等を利用して第三者から秘匿する機能を有する。
【００２５】
ここで、図４を用いて、検証情報参照要求４００について説明する。図４は、検証情報参照要求に含まれる情報の一例を示す図である。図４に示すように、検証情報参照要求４００は、参照対象とする検証情報を指定する参照対象識別情報４１０を含む情報とする。
【００２６】
検証結果送信部２１３は、後述する検証処理部２４０によって検証が行われた検証結果５００を検証要求の要求元の操作端末１００に送信する。ここで、図５を用いて、検証結果５００について説明する。図５は、検証結果に含まれる情報の一例を示す図である。図５に示すように、検証結果５００は、検証対象識別情報５１１と判定値５１２の組である判定結果５１０を１つ以上含む情報とする。
【００２７】
検証情報送信部２１４は、他の検証装置２００から検証情報参照要求４００を受信し、該検証情報参照要求４００に対応する検証情報６００を検証情報管理部２５０から読み込み、読み込んだ検証情報６００を該検証情報参照要求４００の要求元に送信する。
【００２８】
ここで、図６を用いて、検証情報６００について説明する。図６は、検証情報に含まれる情報の一例を示す図である。図６に示すように、検証情報６００は、検証対象を一意に識別する検証対象識別情報６１０と、検証対象のセキュリティの検証に用いる基準を表わす情報である正解情報６２０によって構成される情報とする。
【００２９】
記憶部２２０は、検証対象識別情報３１０に対応する検証対象を記憶する。例えば、記憶部２２０は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
【００３０】
検証情報参照要求部２３０は、要求受信部２１１によって受信された検証要求３００に含まれる検証対象識別情報３１０に対応する検証情報６００が検証情報管理部２５０に記憶されていない場合には、検証情報６００の参照先として用いるセキュリティ検証装置２００を識別する装置識別情報７１０に対応する検証装置に対してセキュリティの検証に用いる検証情報６００の参照を要求する検証情報参照要求４００を送信する。
【００３１】
例えば、検証情報参照要求部２３０は、検証処理に用いる検証情報６００を検証情報管理部２５０が記憶しておらず読み込めない場合には、検証情報参照要求部２３０を用いて検証情報参照要求４００を生成して参照先装置リスト７００によって指定される他のセキュリティ検証装置２００に送信することによって、他のセキュリティ検証装置２００から検証情報６００を取得して検証情報管理部２５０に記憶させるようにする。
【００３２】
また、検証情報参照要求部２３０は、検証情報参照要求４００の送信先とするセキュリティ検証装置２００が真正であることが確認できた場合に検証情報参照要求４００を送信するようにしてもよい。セキュリティ検証装置２００の真正性を確認は、例えばＴＬＳによるサーバ認証など、一般的な実装技術を用いることで実現できる。
【００３３】
例えば、検証情報参照要求部２３０は、検証情報参照要求４００を送信する際に、送信先の他のセキュリティ検証装置２００が真正であることがＴＬＳ等を利用して確認できた場合にのみ検証情報参照要求４００を当該セキュリティ検証装置２００に送信する。
【００３４】
また、検証情報参照要求部２３０は、検証情報参照要求４００の送信先として用いるセキュリティ検証装置２００との間で検証情報参照要求４００の送信内容及び検証情報の受信内容を第三者から秘匿するようにしてもよい。例えば、検証情報参照要求部２３０は、秘匿の方法として、送受信する情報自体を暗号技術によって暗号化する方法、あるいは送受信する通信路自体をＴＬＳなどによって暗号化する。例えば、検証情報参照要求部２３０は、検証情報参照要求４００の送信処理を、ＴＬＳ等を利用して第三者から秘匿する機能を有する。
【００３５】
ここで、図７を用いて、参照先装置リスト７００について説明する。図７は、参照先装置リストに含まれる情報の一例を示す図である。図７に示すように、参照先装置リスト７００は、セキュリティ検証装置２００を一意に識別する装置識別情報７１０を１つ以上含む情報とする。
【００３６】
検証処理部２４０は、要求受信部２１１によって読み込まれた検証情報６００を基準として検証対象のセキュリティの検証を行う。具体的には、検証処理部２４０は、対象データに対して正解情報６２０による検証処理を行って判定結果５１０を生成して、検証結果５００に追加する。例えば、検証処理部２４０は、判定結果５１０として、検証対象識別情報５１１に検証対象識別情報３１０を設定し、判定値５１２に上記の検証処理の結果として、例えば成功を表わす値または失敗を表わす値を設定する。
【００３７】
また、検証処理部２４０は、検証情報６００に含まれる正解情報６２０を検証対象の完全性を定義する情報とし、検証対象の完全性を、正解情報６２０を元にして検証するようにしてもよい。例えば、検証処理部２４０は、正解情報６２０に対象データの完全性を表わす情報としてハッシュ値（例えば、ＳＨＡ−２アルゴリズムによるダイジェスト値）を用いる方法が考えられる。この場合、検証処理部２４０は、検証処理において、対象データのハッシュ値を計測して、正解情報６２０の値と一致する場合に検証成功とみなし、一致しない場合には検証失敗とみなす。
【００３８】
また、検証処理部２４０は、検証情報６００に含まれる正解情報６２０を検証対象の真正性を定義する情報とし、検証対象の真正性を、正解情報６２０を元にして検証するようにしてもよい。例えば、検証処理部２４０は、正解情報６２０に対象データの真正性を表わす情報としてデータ作成者の公開鍵（例えば、ＲＳＡアルゴリズムの公開鍵）を用いる方法が考えられる。この場合、検証処理部２４０は、対象データにはあらかじめデジタル署名が付与されていることとし、検証処理において、正解情報６２０の値を公開鍵として用い、対象データのデジタル署名を検証し、その結果を検証結果として用いる。なお、正解情報６２０として公開鍵ではなく、公開鍵証明書（例えば、Ｘ.５０９形式）を用いることによって、検証に用いる公開鍵の信頼性をＰＫＩによって高めることも可能となる。
【００３９】
また、検証処理部２４０は、要求受信部２１１により検証対象設定部２６０から検証対象リストが読み出された場合には、該検証対象リストに含まれるすべての検証対象識別情報に対応する検証対象のセキュリティの検証を行って、検証結果を検証要求の要求元に送信する。
【００４０】
検証情報管理部２５０は、セキュリティの検証を要求する要求者の操作端末１００から受信する検証要求３００に含まれる検証対象を一意に識別する検証対象識別情報６１０と、検証対象のセキュリティを検証する際の基準である正解情報６２０とを対応付ける検証情報６００を耐タンパ性を備えた領域に記憶する。
【００４１】
また、検証情報管理部２５０は、検証情報６００に含まれる正解情報６２０の有効条件が満たされる検証情報６００のみを有効な検証情報６００として用いるようにしてもよい。例えば、検証情報６００に有効条件を含むようにする。そして、検証情報管理部２５０は、記憶している検証情報６００の読み出しが発生した場合に、検証情報６００の有効条件を評価し、有効条件が成立する場合にのみ当該検証情報６００は存在するものとして扱い読み出しに応じ、有効条件が成立しない場合には当該検証情報６００は存在しないものとして扱い読み出しには応じないこととする。また、検証情報管理部２５０は、有効条件が満たされず利用不可能とみなされた検証情報６００については、記憶領域から削除するようにしてもよい。
【００４２】
有効条件の具体例としては、例えば、検証情報を有効とみなす期限（絶対日時）を示す「有効期限」、検証情報を検証情報管理部２５０の記憶した時点から起算して有効とみなす時間的期間を示す「有効期間」、検証情報を有効とみなす動作環境（ＯＳ、機種等）を示す「利用環境条件」を検証情報６００に含む。上記のように有効条件を検証情報に含むようにすることによって、複数のセキュリティ検証装置２００間において共有される検証情報の利用を多様なポリシに基づいて制御することができるようになる。有効条件が満たされず利用不可能とみなされた検証情報については、検証情報管理部２５０の記憶領域から削除する。
【００４３】
また、検証情報管理部２５０は、検証情報無効化リスト８００によって指定される検証情報識別情報８１０と一致する検証情報６００を記憶している場合、これを無効な検証情報とみなし、あらゆる処理に用いない機能を有する。ここで、図８を用いて、検証情報無効化リスト８００について説明する。図８は、検証情報無効化リストに含まれる情報の一例を示す図である。図８に示すように、検証情報無効化リスト８００は、無効化する検証情報を指定する検証情報識別情報８１０を１つ以上含む情報とする。
【００４４】
例えば、セキュリティ検証装置２００の運用者が、運用開始前あるいは運用開始後の任意の時点に、検証情報管理部２５０に無効な検証情報を指定する検証情報無効化リスト８００を記憶させる。検証情報管理部２５０は、記憶している検証情報６００のうち、検証対象識別情報６１０が、検証情報無効化リスト８００に含まれる検証情報識別情報８１０のいずれかと一致する場合に、検証情報６００を無効なものとみなし、あらゆる処理に用いないようにする。
【００４５】
このように、検証対象設定部２６０内に検証対象リストを記憶しておくことによって、検証対象識別情報３１０を含まない検証要求３００を受信した場合に、検証対象設定部２６０から検証対象リストを読み出し、検証対象リストに含まれる検証対象識別情報を対象にしたセキュリティの検証を行う。
【００４６】
上述したように、第一の実施の形態に係るセキュリティ検証装置２００では、検証情報管理部２５０が耐タンパ性を備える構成が採用されているので、検証処理に用いる「検証情報」の完全性を確保可能である。また、セキュリティ検証装置２００の構成要素のうち記憶部２２０以外の全部あるいは一部に耐タンパ性を備える構成も考えられ、この場合、「検証情報」の完全性が損なわれるリスクをさらに減じるとともに、完全性検証に用いる情報と当該情報に基づく検証処理の両方を、第三者による改変から強固に保護して安全性を高めることができるという効果を奏する。
【００４７】
また、「検証情報」の完全性確保については、耐タンパ領域に格納する方法の代わりに、「検証情報」に電子署名を付与（電子署名の検証に用いる鍵及び鍵による電子署名の検証処理のみを耐タンパ性で保護）することで完全性を確認可能にする方式で対応する方法も考えられる。この場合には、電子署名と耐タンパ性を組み合わせることで、耐タンパ性を備えるべき領域（耐タンパ性を備えた記憶領域や制御回路）を減じることが可能となり実装コストを抑えることが可能となる。なお、この「検証情報」に電子署名を付与する方法の場合には、「検証情報」に対する破壊リスクは残ることから、耐タンパ性のみで検証情報を保護する方法と比較して、若干のセキュリティ低下が発生する。このため、実装コストの抑制とセキュリティの向上とをトレードオフの関係として考慮した上で、電子署名と耐タンパ性とのを組み合わせについて、例えば、運用者が、耐タンパ性を備えるべき領域をどれくらい用意すべきか等を決定していくことで、実装コストの抑制とセキュリティの向上との両方をバランスよく実現したセキュリティ検証装置２００を構築することが可能である。
【００４８】
［セキュリティ検証装置の処理の流れ］
次に、図９を用いて、第一の実施の形態に係るセキュリティ検証装置２００の処理の流れを説明する。図９は、第一の実施の形態に係るセキュリティ検証装置による処理を説明するフローチャートである。
【００４９】
図９に示すように、要求受付処理部２１０は、操作端末１００から要求を受信し（ステップＳ１０１）、受信した要求が検証要求３００であるか検証情報参照要求４００であるかを判定する（ステップＳ１０２）。
【００５０】
そして、要求受付処理部２１０は、受信した要求が検証要求３００である場合には、検証要求３００の検証対象識別情報３１０のうち未検証のものを１つ取り出し、これと検証対象識別情報６１０が一致する検証情報６００を検証情報管理部２５０から読み出す（ステップＳ１０３）。
【００５１】
そして、要求受付処理部２１０は、検証情報６００を検証情報管理部２５０から読み出せたか否かを判定する（ステップＳ１０４）。この結果、要求受付処理部２１０は、検証情報６００を検証情報管理部２５０から読み出せた場合には（ステップＳ１０４肯定）、検証対象識別情報６１０に対応する対象データを記憶部２２０から読み込み、検証情報６００とともに検証処理部２４０に入力する（ステップＳ１０５）。
【００５２】
続いて、検証処理部２４０は、対象データに対して正解情報６２０による検証処理を行って判定結果５１０を生成して、検証結果５００に追加する（ステップＳ１０６）。例えば、検証処理部２４０は、検証対象識別情報５１１に検証対象識別情報３１０を設定し、判定値５１２に上記の検証処理の結果として、例えば成功を表わす値または失敗を表わす値を設定する。
【００５３】
そして、要求受付処理部２１０は、検証要求３００を確認して未検証の検証対象識別情報３１０があるか判定し（ステップＳ１０７）、検証要求３００を確認して未検証の検証対象識別情報３１０があれば（ステップＳ１０７肯定）、ステップＳ１０３の処理に戻る。また、要求受付処理部２１０は、検証要求３００を確認して未検証の検証対象識別情報３１０がなければ（ステップＳ１０７否定）、検証結果５００を要求元の操作端末１００に返信して（ステップＳ１０８）、処理を終了する。
【００５４】
また、ステップＳ１０４の処理において、要求受付処理部２１０が検証情報６００を検証情報管理部２５０から読み出せないと判定した場合には（ステップＳ１０４否定）、検証情報参照要求部２３０は、検証対象識別情報３１０を参照対象識別情報４１０に設定した検証情報参照要求４００を生成する（ステップＳ１０９）。そして、検証情報参照要求部２３０は、参照先装置リスト７００が設定されているか否かを判定する（ステップＳ１１０）。
【００５５】
そして、検証情報参照要求部２３０は、参照先装置リスト７００が設定されている場合には（ステップＳ１１０肯定）、参照先装置リスト７００の装置識別情報７１０に対応するセキュリティ検証装置２００に検証情報参照要求４００を送信した後に、結果を受信する（ステップＳ１１１）。
【００５６】
続いて、検証情報参照要求部２３０は、検証情報６００を参照（受信）できたか否かを判定する（ステップＳ１１２）。なお、ステップＳ１１１、Ｓ１１２の処理において、参照先装置リスト７００に複数の装置識別情報７１０が含まれている場合には、動作パターンとして、以下の２つの動作パターンが考えられる。一つ目の動作パターンとして、例えば、検証情報参照要求部２３０が、検証情報６００の参照が成功するまで繰り返し複数のセキュリティ検証装置２００に対して検証情報参照要求４００を送信し、すべて失敗した場合に検証情報６００が参照できなかったとみなす。また、二つ目の動作パターンとして、例えば、検証情報参照要求部２３０が、検証情報参照要求４００を複数のセキュリティ検証装置２００に対して一括送信し、検証情報６００の参照が１つでも成功すればそれを結果として用い、すべて失敗した場合に検証情報６００が参照できなかったとみなす。なお、このような動作パターンは、後述するステップＳ１２０、Ｓ１２１においても同様である。
【００５７】
この結果、検証情報６００を参照できなかった場合には（ステップＳ１１２否定）、または、ステップＳ１１０において、参照先装置リスト７００が設定されていないと判定された場合には（ステップＳ１１０否定）、検証処理部２４０は、検証対象識別情報５１１に検証対象識別情報３１０を設定し、判定値５１２に判定不可を表わす情報を設定した判定結果５１０を生成して検証結果５００に追加し（ステップＳ１１３）、ステップＳ１０７の処理に進む。
【００５８】
一方、検証情報６００を参照できた場合には（ステップＳ１１２肯定）、要求受付処理部２１０は、ステップＳ１１１で受信した検証情報６００を検証情報管理部２５０に登録して（ステップＳ１１４）、ステップＳ１０５の処理に進む。
【００５９】
また、ステップＳ１０２において、要求受付処理部２１０は、受信した要求が検証情報参照要求４００である場合には、検証情報参照要求４００に含まれる参照対象識別情報４１０と検証対象識別情報６１０が一致する検証情報６００を検証情報管理部２５０から読み出す（ステップＳ１１５）。
【００６０】
そして、要求受付処理部２１０は、検証情報６００を検証情報管理部２５０から読み出せたか判定する（ステップＳ１１６）。この結果、要求受付処理部２１０は、検証情報６００を検証情報管理部２５０から読み出せた場合には（ステップＳ１１６肯定）、検証情報６００を要求元に返信して（ステップＳ１１７）、処理を終了する。
【００６１】
また、要求受付処理部２１０が、検証情報６００を検証情報管理部２５０から読み出せなかったと判定した場合には（ステップＳ１１６否定）、検証情報参照要求部２３０は、参照先装置リスト７００が設定されているか否かを判定する（ステップＳ１１８）。この結果、検証情報参照要求部２３０は、参照先装置リスト７００が設定されていると判定した場合には（ステップＳ１１８肯定）、参照先装置リスト７００の装置識別情報７１０に対応するセキュリティ検証装置２００に検証情報参照要求４００を送信した後に、結果を受信する（ステップＳ１２０）。
【００６２】
続いて、検証情報参照要求部２３０は、検証情報６００を参照（受信）できたか否かを判定する（ステップＳ１２１）。この結果、検証情報６００を参照できなかった場合には（ステップＳ１２１否定）、または、ステップＳ１１８において、参照先装置リスト７００が設定されていないと判定された場合には（ステップＳ１１８否定）、要求受付処理部２１０は、検証情報６００が存在しないことを要求元に返信して（ステップＳ１１９）、処理を終了する。
【００６３】
また、ステップＳ１２１において、検証情報６００を参照できた場合には（ステップＳ１２１肯定）、要求受付処理部２１０は、受信した検証情報６００を検証情報管理部２５０に登録し、検証情報６００を要求元に返信して（ステップＳ１２２）、処理を終了する。
【００６４】
［第一の実施の形態の効果］
このように、第一の実施の形態に係るセキュリティ検証装置２００は、検証情報を耐タンパ性を備えた領域に記憶する。また、セキュリティ検証装置２００は、受信した検証要求３００に含まれる検証対象識別情報３１０に対応する検証情報６００が検証情報管理部２５０に記憶されていない場合には、検証情報６００の参照先として用いるセキュリティ検証装置２００を識別する装置識別情報７１０に対応するセキュリティ検証装置２００に対してセキュリティの検証に用いる検証情報６００の参照を要求する検証情報参照要求４００を送信する。また、セキュリティ検証装置２００は、検証情報６００を基準として検証対象のセキュリティの検証を行い、検証結果５００を検証要求の要求元の操作端末１００に送信する。このため、セキュリティ検証装置２００は、検証情報６００を装置間で安全に共有することが可能であり、検証対象となる装置及び検証対象データが増加しても効率的に検証を行うことが可能である。
【００６５】
つまり、セキュリティ検証装置２００では、検証に用いる検証情報６００を通常の記憶手段により装置内に格納するのではなく、装置内のセキュア領域に格納することによって検証情報６００を保護し、検証処理を安全に実行可能なセキュリティ検証装置２００を実現することができる。例えば、セキュリティ検証装置２００では、装置の一部に耐タンパ性を備えた領域を備え、かつ装置間に安全な通信路を確立して、完全性検証に用いる検証情報６００を第三者による改変から強固に保護しつつ装置間で安全に共有可能にする。
【００６６】
また、セキュリティ検証装置２００では、検証情報６００に含まれる正解情報６２０を検証対象の完全性を定義する情報とし、検証対象の完全性を、正解情報６２０を元にして検証するので、例えば、装置を構成するデータを検証対象として、その完全性を検証可能となるため、各装置及び複数の装置によって構成されるシステム全体の改ざん検知を効率的に行うことが可能である。
【００６７】
また、セキュリティ検証装置２００では、検証情報６００に含まれる正解情報６２０を検証対象の真正性を定義する情報とし、検証対象の真正性を、正解情報６２０を元にして検証するので、例えば、装置を構成するデータを検証対象として、その真正性を検証可能となるため、各装置及び複数の装置によって構成されるシステム全体に対して詐称されたデータが混入されている場合にそれを効率的に検知することが可能である。
【００６８】
また、セキュリティ検証装置２００では、検証情報６００に含まれる正解情報６２０の有効条件が満たされる検証情報６００のみを有効な検証情報６００として用いるので、検証情報６００の有効性を有効期間などの任意のポリシに基づいて制御可能となるため、多数の装置間で広く共有された後も検証情報の更新などの制御を効率的に行うことが可能である。
【００６９】
また、セキュリティ検証装置２００では、セキュリティの検証対象を表わす検証対象識別情報を１つ以上含む検証対象リストを記憶し、検証要求３００に検証対象識別情報３１０が含まれない場合に、検証対象設定部２６０から検証対象リストを読み出し、検証対象リストに含まれるすべての検証対象識別情報に対応する検証対象のセキュリティの検証を行って、検証結果を検証要求の要求元に送信する。このため、セキュリティ検証装置２００によれば、あらかじめ検証対象を装置に設定しておくことが可能であるため、検証要求の省力化及び検証要求時の検証対象指定誤りの防止することが可能である。
【００７０】
また、セキュリティ検証装置２００では、検証情報参照要求４００の送信先とするセキュリティ検証装置２００が真正であることが確認できた場合に検証情報参照要求４００を送信する真正であることが確認された装置間でのみ検証情報６００を共有することが可能となるため、信頼できる装置間でのみ検証情報６００を共有するシステムを構築することが可能である。
【００７１】
また、セキュリティ検証装置２００では、検証情報参照要求４００の送信先として用いるセキュリティ検証装置２００との間で検証情報参照要求４００の送信内容及び検証情報６００の受信内容を第三者から秘匿するので、検証情報６００の共有を第三者から秘匿することが可能となるため、検証情報６００の内容の秘匿、及び検証を試みようとしている検証対象を第三者から推測されることも防止することが可能である。
【００７２】
また、セキュリティ検証装置２００では、１つ以上の検証情報識別情報８１０を指定可能な検証情報無効化リスト８００をあらかじめ記憶しておき、検証情報無効化リスト８００に含まれる検証情報識別情報８１０と一致する検証情報６００をあらゆる処理に用いないので、装置の運用ポリシ等によって特定の検証情報６００を用いることができない場合などに、自装置においてのみ任意の検証情報６００を無効化することが可能である。
【００７３】
また、セキュリティ検証装置２００では、検証情報６００に含まれる有効条件によって無効と判定された検証情報６００を自動的に削除するので、有効条件が満たされなくなった検証情報６００を自動的に削除することができるため、装置間で共有される検証情報６００が無限に増加することを防ぎ、効率的な運用が可能である。
【００７４】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７５】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７６】
［プログラム］
図１０は、データのセキュリティを検証する検証プログラムを実行するコンピュータを示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ（Central  Processing  Unit）１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００７７】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１０６１に接続される。
【００７８】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、セキュリティ検証装置２００の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、装置における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００７９】
また、上述した実施の形態の処理で用いられるデータは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００８０】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク、ＷＡＮを介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８１】
１００  操作端末
２００  セキュリティ検証装置
２１０  要求受付処理部
２２０  記憶部
２３０  検証情報参照要求部
２４０  検証処理部
２５０  検証情報管理部
２６０  検証対象設定部
３００  検証要求
３１０  検証対象識別情報
４００  検証情報参照要求
４１０  参照対象識別情報
５００  検証結果
５１０  判定結果
５１１  検証対象識別情報
５１２  判定値
６００  検証情報
６１０  検証情報識別情報
６２０  正解情報
７００  参照先装置リスト
７１０  装置識別情報
８００  検証情報無効化リスト
８１０  検証情報識別情報
【図１】
2019008738.tif 000003
【図２】
2019008738.tif 000004
【図３】
2019008738.tif 000005
【図４】
2019008738.tif 000006
【図５】
2019008738.tif 000007
【図６】
2019008738.tif 000008
【図７】
2019008738.tif 000009
【図８】
2019008738.tif 000010
【図９】
2019008738.tif 000011
【図１０】
2019008738.tif 000012