(57)【要約】【課題】複数の機器を管理するサーバ装置の周辺帯域を節約する。【解決手段】本実施形態のサーバ装置において、データ発行部は、無線ネットワーク内の機器に対してそれぞれデータを発行し、データ配布管理部は、当該データを機器に配布し、データ管理部は、発行されたデータ集合を管理し、失効管理部は、データ集合において、条件を満たすデータを検出して無効化し、フィルタ管理部は、データが無効化されるごとに、失効データ集合を確定的な射影関係に基づき所定ビット長のフィルタのビットへ第１値それ以外は第２値にしてフィルタを更新し、フィルタをネットワーク内の機器に配布し、データ管理部は、無効化されたデータ以外で、フィルタの更新前後で値が変化したビットの少なくとも１つへの射影を有し、かつ更新後のフィルタへ射影したビットがすべて第１値であるデータを特定し、当該データを有する機器に対してデータを再発行し、配布する。【選択図】図１
2014241528.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器が配置された無線ネットワークに接続する通信部と、
前記無線ネットワーク内の前記機器に対してそれぞれデータを発行するデータ発行部と、
前記データ発行部により発行されたデータを前記機器に配布するデータ配布管理部と、
前記データ発行部により発行されたデータを含むデータ集合を管理するデータ管理部と、
前記データ集合において、あらかじめ定められた条件を満たすデータを検出し、前記データを無効化する失効管理部と、
前記失効管理部により無効化されたデータの集合である失効データ集合を管理し、前記失効管理部によりデータが無効化されるごとに、前記失効データ集合を確定的な射影関係に基づき所定ビット長のフィルタ上のビットへ射影した際に前記失効データ集合が射影されたビットに第１値を設定し、射影されないビットに第２値を設定することにより前記フィルタを更新し、前記フィルタを前記ネットワーク内の前記機器に配布するフィルタ管理部と、を備え、
前記データ管理部は、前記データ集合のうち前記失効管理部により無効化されたデータ以外で、前記フィルタの更新前後で第２値から第１値へビット値が変化したビットの少なくとも１つへの射影を有し、かつ更新後のフィルタへ射影されるビットがすべて第１値であるデータを再発行対象データとして特定し、前記再発行対象データを有する機器に対して前記更新後のフィルタへ射影されるビットの少なくとも１つの値が第２値であるデータを前記データ発行部を用いて再発行し、再発行したデータを前記機器に配布する、サーバ装置。
【請求項２】
前記データ管理部は、前記更新前後のフィルタを比較することにより、前記フィルタの更新前後で値が第２値から第１値へ変化したビットを特定し、前記特定したビットへの射影を有するデータを前記データ集合から特定し、特定したデータを前記更新後のフィルタへ射影したビットの値がすべて第１値であるときは、前記特定したデータを再発行対象データとして特定する
請求項１に記載のサーバ装置。
【請求項３】
前記データ管理部は、前記失効管理部により無効化されたデータを前記更新前のフィルタに射影したビットの値が第２値であるフィルタのビットを特定し、前記特定されたビットへの射影を有するデータを前記データ集合において前記失効管理部により無効化されたデータ以外で特定し、特定したデータを前記更新後のフィルタへ射影したビットの値がすべて第１値であるときは、前記特定したデータを前記再発行対象データとして特定する
請求項１に記載のサーバ装置。
【請求項４】
前記データ管理部は、ビット−データ対応表により前記データ集合を管理し、
前記ビット−データ対応表は、前記フィルタのビットごとに、前記ビットへの射影を有するデータを対応づけている、
請求項１ないし３のいずれか一項に記載のサーバ装置。
【請求項５】
前記データ発行部は、前記発行したデータを前記フィルタに射影したビットへの射影を有するデータの数が前記データ集合において上限値に達している場合は、前記発行したデータを破棄し、前記上限値に達していないデータが発行されるまで、データの発行を繰り返し行う、
請求項１ないし４のいずれか一項に記載のサーバ装置。
【請求項６】
前記データ管理部は、前記再発行したデータの配布に失敗した機器については、前記機器の再発行対象データをリストに追加し、前記リストを前記ネットワーク内の機器に配布する
請求項１ないし５のいずれか一項に記載のサーバ装置。
【請求項７】
前記データ管理部は、前記リストに含まれる再発行対象データ集合を前記確定的な射影関係に基づき前記所定ビット長の第１フィルタ上のビットへ射影した際に前記再発行対象データが射影されたビットに第１値を設定し、射影されないビットに第２値を設定することにより前記第１フィルタを更新し、前記リストに代えて前記第１フィルタを配布する
請求項６または７に記載のサーバ装置。
【請求項８】
前記フィルタは、ブルームフィルタであり、
前記確定的な射影関係は、ハッシュ関数の出力値が前記フィルタのビットのインデックスを示す１つ以上のハッシュ関数を表す
請求項１ないし７のいずれか一項に記載のサーバ装置。
【請求項９】
前記データ発行部は、乱数を発生させ、前記乱数に基づきデータを発行する
請求項１ないし８のいずれか一項に記載のサーバ装置。
【請求項１０】
前記データは前記ネットワークへの参加を許可するための証明書データである
請求項１ないし８のいずれか一項に記載のサーバ装置。
【請求項１１】
前記第１値は１であり、前記第２値は０である
請求項１ないし１０のいずれか一項に記載のサーバ装置。
【請求項１２】
無線ネットワークに配置された複数の機器と、サーバ装置とを備えたデータ検証システムであって、
前記サーバ装置は
前記無線ネットワーク内の前記機器に対してそれぞれデータを発行するデータ発行部と、
前記データ発行部により発行されたデータを前記機器に配布するデータ配布管理部と、
前記データ発行部により発行されたデータを含むデータ集合を管理するデータ管理部と、
前記データ集合において、あらかじめ定められた条件を満たすデータを検出し、前記データを無効化する失効管理部と、
前記失効管理部により無効化されたデータの集合である失効データ集合を管理し、前記失効管理部によりデータが無効化されるごとに、前記失効データ集合を確定的な射影関係に基づき所定ビット長のフィルタ上のビットへ射影した際に前記失効データ集合が射影されたビットに第１値を設定し、射影されないビットに第２値を設定することにより前記フィルタを更新し、前記フィルタを前記ネットワーク内の前記機器に配布するフィルタ管理部と、を備え、
前記データ管理部は、前記データ集合のうち前記失効管理部により無効化されたデータ以外で、前記フィルタの更新前後で第２値から第１値へビット値が変化したビットの少なくとも１つへの射影を有し、かつ更新後のフィルタへ射影されるビットがすべて第１値であるデータを再発行対象データとして特定し、前記再発行対象データを有する機器に対して前記更新後のフィルタへ射影されるビットの少なくとも１つの値が第２値であるデータを前記データ発行部を用いて再発行し、再発行したデータを前記機器に配布し、
前記機器は、前記複数の機器のうちの他の機器から提示されるデータを前記サーバ装置から提供されたフィルタに基づき検証し、前記データを前記フィルタへ射影したビットの値がすべての第１値のときは、前記他の機器が提示したデータは無効であると判断するネットワーク受付部、を備えた
データ検証システム。
【請求項１３】
前記データ管理部は、前記再発行したデータの配布に失敗した機器については、前記機器の再発行対象データをリストに追加し、前記リストを前記ネットワーク内の機器に配布し、
前記機器は、前記他の機器から提示されるデータが前記リストに含まれる場合は、その旨の情報を前記サーバ装置に通知し、
前記データ配布管理部は、前記機器から前記情報の通知を受けた場合は、前記データ発行部により再発行したデータの配布を再度試みる
請求項１２に記載のデータ検証システム。
【請求項１４】
前記データ管理部は、前記リストに含まれる再発行対象データ集合を前記確定的な射影関係に基づき前記所定ビット長の第１フィルタ上のビットへ射影した際に前記再発行対象データが射影されたビットに第１値を設定し、射影されないビットに第２値を設定することにより前記第１フィルタを更新し、前記リストに代えて前記第１フィルタを配布し、
前記機器は、前記他の機器から提示されるデータを前記第１フィルタへ射影したビットの値がすべて第１値のときは、その旨の情報を前記サーバ装置へ通知する
請求項１３に記載のデータ検証システム。
【請求項１５】
前記機器は、前記他の機器から前記無線ネットワークへの参加要求を受信し、前記他の機器が提示したデータが無効であると判断した場合は、前記他の機器による前記無線ネットワークへの参加を拒否する
請求項１２ないし１４のいずれか一項に記載のデータ検証システム。
【請求項１６】
前記データは前記ネットワークへの参加を許可するための証明書データである
請求項１２ないし１４のいずれか一項に記載のデータ検証システム。
【請求項１７】
前記フィルタは、ブルームフィルタであり、
前記確定的な射影関係は、ハッシュ関数の出力値が前記フィルタのビットのインデックスを示す１つ以上のハッシュ関数を表す
請求項１２ないし１６のいずれか一項に記載のデータ検証システム。
【請求項１８】
無線ネットワーク内の複数の機器に対してそれぞれデータを発行するデータ発行ステップと、
前記データ発行ステップにより発行されたデータを前記機器に配布するデータ配布管理ステップと、
前記データ発行ステップにより発行されたデータを含むデータ集合を管理する第１データ管理ステップと、
前記データ集合において、あらかじめ定められた条件を満たすデータを検出し、前記データを無効化する失効管理ステップと、
前記失効管理ステップにより無効化されたデータの集合である失効データ集合を管理し、前記失効管理ステップによりデータが無効化されるごとに、前記失効データ集合を確定的な射影関係に基づき所定ビット長のフィルタ上のビットへ射影した際に前記失効データ集合が射影されたビットに第１値を設定し、射影されないビットに第２値を設定することにより前記フィルタを更新し、前記フィルタを前記ネットワーク内の前記機器に配布するフィルタ管理ステップと、
前記データ集合のうち前記失効管理ステップにより無効化されたデータ以外で、前記フィルタの更新前後で第２値から第１値へビット値が変化したビットの少なくとも１つへの射影を有し、かつ更新後のフィルタへ射影されるビットがすべて第１値であるデータを再発行対象データとして特定し、前記再発行対象データを有する機器に対して前記更新後のフィルタへ射影されるビットの少なくとも１つの値が第２値であるデータを再発行し、再発行したデータを前記機器に配布する第２データ管理ステップと
を備えた方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、サーバ装置、通信システム、およびデータ発行方法に関する。
【背景技術】
【０００２】
認証局（Certificate Authority）から、失効証明書リスト（Certificate Revocation List）を全ノードへ配布する場合に、失効証明書リストから生成したブルームフィルタを配布する技術が存在する。
【０００３】
この技術を用いた場合、各ノードは、あるノードから提示された証明書が有効かを、ブルームフィルタを用いて検証する。このとき、配布済の証明書について、ある証明書を失効させた際に、ブルームフィルタの特質上、ブルームフィルタの検証で、偽陽性が発生する。つまり、実際には失効していないのにかかわらず、失効した扱いになってしまう証明書が発生する。
【０００４】
このため、各ノードは、あるノードから提示された証明書がブルームフィルタで陽性と判断された場合、この証明書が本当に失効しているか（偽陽性でないか）を、認証局（サーバ装置）に問い合わせる必要が生じ、サーバ装置の周辺帯域使用量やサーバ装置の負荷が大きくなる問題があった。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】J. Haas, “Efficient Certificate Revocation List Organization and Distribution”, IEEE JSAC, March 2011
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態は、複数の機器を管理するサーバ装置の周辺帯域を節約することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様としてのサーバ装置は、通信部と、データ発行部と、データ配布管理部と、失効管理部と、フィルタ管理部とを備える。
【０００８】
前記通信部は、複数の機器が配置された無線ネットワークに接続する。
【０００９】
前記データ発行部は、前記無線ネットワーク内の前記機器に対してそれぞれデータを発行する。
【００１０】
前記データ配布管理部は、前記データ発行部により発行されたデータを前記機器に配布する。
【００１１】
前記データ管理部は、前記データ発行部により発行されたデータを含むデータ集合を管理する。
【００１２】
前記失効管理部は、前記データ集合において、あらかじめ定められた条件を満たすデータを検出し、前記データを無効化する。
【００１３】
前記フィルタ管理部は、前記失効管理部により無効化されたデータの集合である失効データ集合を管理し、前記失効管理部によりデータが無効化されるごとに、前記失効データ集合を確定的な射影関係に基づき所定ビット長のフィルタ上のビットへ射影した際に前記失効データ集合が射影されたビットに第１値を設定し、射影されないビットに第２値を設定することにより前記フィルタを更新し、前記フィルタを前記ネットワーク内の前記機器に配布する。
【００１４】
前記データ管理部は、前記データ集合のうち前記失効管理部により無効化されたデータ以外で、前記フィルタの更新前後で第２値から第１値へビット値が変化したビットの少なくとも１つへの射影を有し、かつ更新後のフィルタへ射影されるビットがすべて第１値であるデータを再発行対象データとして特定し、前記再発行対象データを有する機器に対して前記更新後のフィルタへ射影されるビットの少なくとも１つの値が第２値であるデータを前記データ発行部を用いて再発行し、再発行したデータを前記機器に配布する。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係るサーバ装置のブロック図。
【図２】第１の実施形態に係る機器のブロック図。
【図３】第１の実施形態に係るサーバ装置と、複数の機器とを備えた通信システムの全体構成例を示す図。
【図４】第１の実施形態に係る検証の具体例を示す図。
【図５】第１の実施形態に係る動作のフローチャート。
【図６】第３の実施形態に係るサーバ装置のブロック図。
【図７】第３の実施形態に係る機器のブロック図。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら、本発明の実施形態について説明する。
【００１７】
（第１の実施形態）
まず、本実施形態の概要を説明する。認証局としてのサーバ装置が、各機器（通信装置）に対する証明書の発行および管理を行うシステムを想定する。なお、各々の機器には、出荷時にインストールされる機器自身の証明書と、信頼された機器により構成されるセキュアなネットワークに参加するための証明書（セッション証明書）が存在する。一般的には、機器自身の認証書は、機器ベンダによる別の認証局（本システムに従属する認証局１０１とは別の認証局）による認証などを行う。本実施形態では証明書としてセッション証明書を対象とし、機器自身の証明書による機器の認証方法については、本実施形態の本質ではないため、詳細に述べないものとする。
【００１８】
サーバ装置により管理される各機器は、各機器をノードとするネットワークを構成し、サーバ装置は当該ネットワークに接続している。認証局が、あるセッション証明書を失効させて、失効証明書リストのブルームフィルタを更新した場合に、ある別の有効なセッション証明書が、更新後のブルームフィルタで偽陽性により失効扱いとなることがある。
【００１９】
この場合に、サーバ装置は、更新後のブルームフィルタで陽性とならない新しいセッション証明書を、偽陽性となった有効なセッション証明書を保持する機器に対し再発行し、当該機器に配布する。各機器は、当該ネットワークへ他の機器（ノード）から参加要請を受けて、参加の可否を判定する際は、当該ノードから提示されるセッション証明書を、サーバ装置から事前に提供されたブルームフィルタ失効証明書リストに基づき検証する。参加要請を受けた機器は、検証で陽性と判定した場合に、当該セッション証明書を利用したノードネットワークへの参加を、画一的に拒否する。一方、偽陽性となったセッション証明書を有していた機器は、再発行されたセッション証明書を提示することで、陰性と判断され、参加が可能になる。
【００２０】
このように、本実施形態では、参加要請を受けた機器は、サーバ装置に、他の機器から提示されたセッション証明書が本当に失効しているか（偽陽性か）否かを問い合わせる必要はない。よって、ブルームフィルタ失効証明書リストを利用した証明書管理において、サーバ装置の周辺帯域の圧迫を低減し、またサーバ装置の負荷を軽減することができる。
【００２１】
なお、ブルームフィルタについては、Broder et al., Network Applications of Bloom Filters: A Survey 等に詳細に記載されているため、ここでは簡単な説明に留める。
【００２２】
ブルームフィルタとは、ある任意のデータdがデータ集合X に含まれるかどうかをハッシュ関数の応用により確率的に検査するためのフィルタである。
【００２３】
データ集合Xより生成されたブルームフィルタBF-Xに対して、定められた手続きを行うことで、あるデータd がデータ集合Xに含まれるか否かを「検証」することができる。手続きの結果、positive(陽性) ないしnegative(陰性) という２通りの結果が得られる。
【００２４】
陰性の結果が得られた場合は、データ集合X にデータd が含まれている可能性は無い。一方、陽性の結果が得られた場合は、データ集合Xにデータd が含まれる可能性が高い。すなわち、陽性の結果が得られても、必ずしもデータ集合X にデータd が含まれているとは限らない。データ集合Xにデータdが含まれていないにも拘わらず陽性の結果が得られる場合を偽陽性と呼ぶ。
【００２５】
ブルームフィルタの生成方法は以下の通りである。
【００２６】
ブルームフィルタの生成には以下のパラメータを用いる。  
・m：ブルームフィルタを構成するビットマップのビット長（フィルタの長さ）
・k：ブルームフィルタに用いる独立したハッシュ関数の個数 (フェーズ)
【００２７】
（１）ブルームフィルタの生成手順
１．長さmのビット列Fを用意し、全て0にセットする。  
２．値域が[1,m] となる、k 個の独立したハッシュ関数hn() (ただしn=1・・・k ) を用意する。同一のハッシュアルゴリズムに対してそれぞれ異なる定数(salt) を与えることでk 個の独立したハッシュ関数hn()を用意しても良い。  
３．入力データ集合X の各要素xi に対して、次の処理を行う。  
(a) p = 1 とする
(b) もしp > k ならば終了
(c) ２．で用意したハッシュ関数hp() を用い、idx ＝ hp(xi) を計算
(d) ビット列F のidx ビット目を1 にする（既に１が立っていた場合は、ビット値をそのまま１とする）
(e) p に1 を加える
(f) 手順３．(b) へ戻る
【００２８】
要するに、入力データ集合Ｘの要素xiの各々について、ｋ個のハッシュ関数からそれぞれハッシュ値idxを求め、ビット列Ｆのidxビット目にそれぞれ１を立てる（すでに１が立っている場合はそのまま１とする）ことでブルームフィルタを生成する。
【００２９】
次に、入力データ集合Xにデータdが含まれるか否かの検証（フィルタ検証）は以下の手順で行う。
【００３０】
（２）フィルタ検証の手順
１．p = 1 とする。  
２．もしp>k ならば陽性を返す。  
３．検証したいデータd について、idx ＝ hp(d)を計算。  
４．ビット列F のidx ビット目を調べ、0 ならば陰性を返す。  
５．p に1 を加える。  
６．手順２．に戻る。
【００３１】
要するに、k個のハッシュ関数にそれぞれデータdを入力し、各々のハッシュ関数の出力idxに対応するビットが全て１であれば陽性を返し、各々のハッシュ関数の出力idxに対応するビットの少なくともいずれかが０であれば陰性を返す。
【００３２】
ここで、偽陽性が発生する場合、すなわち、データ集合Xにデータdが含まれないにも拘わらず手順２．において陽性が返される場合は、各々のハッシュ関数の出力idxに対応するビットがたまたま全て１であった場合である。例えばデータAおよびデータBからなるデータ集合Yから生成されたブルームフィルタBF-Yがあるとする。このブルームフィルタBF-Yにおける１のビット位置、すなわちデータAに基づく１のビット位置とデータBに基づく１のビット位置とのＯＲをとった位置が、データdに基づく１のビット位置を包含する場合がある。このような場合に、ブルームフィルタBF-Yを用いてデータdの検証を行うと、偽陽性が発生することとなる。
【００３３】
以上がブルームフィルタの簡単な説明である。
【００３４】
なお、本実施形態では、フィルタとしてブルームフィルタを用いるが、これはあくまで一例である。与えられたデータを、確定的な射影関係に基づき所定長のビットマップへ射影するアルゴリズムであれば何でも良い。具体的に、確定的な射影関係に基づき射影を行い、データが射影されるビットに１（第１値）を設定し、射影されないビットに０（第２値）を設定したフィルタを生成するアルゴリズムであれば、何でも良い。データの射影は、データの全体を用いずに、たとえば下位X個のビットのみを確定的な射影関係に基づき射影するアルゴリズムでもよい。
【００３５】
図１は、本実施形態に係るサーバ装置のブロック図である。
【００３６】
サーバ装置は、新規失効管理部１１４と、ブルームフィルタ失効証明書管理部（フィルタ管理部）１１１と、証明書管理部（データ管理部）１１２と、ビット−証明書対応表１１５と、証明書発行部（データ発行部）１１３と、機器証明書管理部（データ配布管理部）１１６と、通信部１１７とを備える。
【００３７】
新規失効管理部１１４は、セッション証明書の失効要求（新規失効要求）を受け付け、そのセッション証明書を失効証明書として、ブルームフィルタ失効証明書リスト管理部１１１に通知する。新規失効要求はたとえばサーバ装置に備え付けられたユーザインタフェースからユーザにより入力してもよいし、ネットワークを介してユーザがサーバ装置に指示してもよいし、あらかじめ定めた条件が成立した場合に自動的に新規失効要求が発行されるようにしてもよい。
【００３８】
ブルームフィルタ失効証明書リスト管理部１１１は、失効証明書のリストである失効証明書リストを保持する。また、失効証明書リストからブルームフィルタアルゴリズムによりブルームフィルタ（ブルームフィルタ失効証明書リスト (BF-CRL)）を生成し、当該ブルームフィルタ失効証明書リストを保持する。
【００３９】
失効証明書が新規に発生するごとに失効証明書リストに当該失効証明書を追加して失効証明書リストを更新するとともに、ブルームフィルタ失効証明書リストを更新する。更新は、新規に失効した失効証明書をその時点のブルームフィルタ失効証明書リストに反映（差分更新）してもよいし、追加後の失効証明書リスト全体からブルームフィルタ失効証明書リストを再生成してもよい。前者の方が、処理効率が高い。
【００４０】
ここで、新規失効管理部１１４は、ブルームフィルタ失効証明書リストへの該失効証明書の新規登録により、現在失効されていない（失効証明書リストに登録されていない）セッション証明書の中に、偽陽性となったセッション証明書が発生したかを検証する。なお、これまで発行されたセッション証明書に関する情報は証明書管理部１１２により管理されている。新たに偽陽性となったセッション証明書が発生した場合は、当該セッション証明書を、機器証明書管理部１１６に報告する。検証方法の例は後述する。なお、新規失効管理部１１４は、偽陽性と判断されたセッション証明書のリスト（偽陽性証明書リスト）を作成および管理してもよい。偽陽性となったセッション証明書が発生したかを検証する際に、偽陽性証明書リストを用いてもよい。
【００４１】
証明書発行部１１３は、新規発行要求を受けて、新規にセッション証明書を発行する。セッション証明書は、乱数発生器により発生させた乱数に基づき一定のアルゴリズムにより計算されたバイト列あるいはビット列である。証明書発行部１１３は、新規に発行するセッション証明書が、ブルームフィルタ失効証明書リスト管理部１１１で管理されるブルームフィルタ失効証明書リストに対して陽性であるかを検査する。陽性であるときは、該セッション証明書を破棄する。陽性にならないセッション証明書が得られるまで、セッション証明書を繰り返し生成する。
【００４２】
証明書管理部１１２は、証明書発行部１１３によりこれまで発行されたセッション証明書のリストを管理する。また、証明書管理部１１２は、ブルームフィルタ失効証明書リストの各々のビットごとに、当該ビットが１になるセッション証明書のリスト (ビット-証明書対応表１１５) を生成および管理する。「当該ビットが１になる」とは、当該ビットへの射影を有することである。つまり、セッション証明書をk個のハッシュ関数のそれぞれで射影し、ブルームフィルタ失効証明書リストにおいて、当該ハッシュ関数の値（インデックス）が示すビットの値が１であれば、そのビット、あるいはそのビットを示す何らかのインデックス番号に対し、セッション証明書を対応づける。なお、k個のハッシュ関数を用いる場合、射影されるビットは、最大でk 個である（ひとつの証明書が同じビットに複数のハッシュ関数から射影される場合もある）。
【００４３】
ここで、失効証明書をブルームフィルタ失効証明書リストに登録した際、偽陽性となったセッション証明書が発生したかの検証方法の例を以下に示す。
【００４４】
例えば、失効証明書登録前のブルームフィルタ失効証明書リストと、失効証明書登録後のブルームフィルタ失効証明書リストを比較し、新しく 0 から 1 になっているビットを特定する。特定したビットの各々について、証明書管理部１１２のビット-証明書対応表１１５を見て、当該ビットに対応づけられているセッション証明書を検出する。上記ビットの各々について検出したセッション証明書について、失効証明書登録後のブルームフィルタ失効証明書リストに対して検査を行い、陽性となるものが存在するかを調べる。陽性となるものが存在すれば、そのセッション証明書は、偽陽性であると判断する。なお、上記ビットの各々についての検査の途中で偽陽性と判断されたセッション証明書については、他のビットに対応づけられていても、そのビットでの検査は省略すればよい。
【００４５】
別の方法として、新規に失効するセッション証明書に対応する、登録前のブルームフィルタ失効証明書リスト上のビットの各々について、既に 1となっているかをチェックする。まだ1になっていないビット（0となっていたビット）を特定し、ビット-証明書対応表１１５で当該特定したビットの各々に対応するセッション証明書を特定し、そのセッション証明書が登録後のブルームフィルタ失効証明書リストに対して陽性とならないかを確認する。陽性となるものが存在すれば、そのセッション証明書は、偽陽性であると判断する。
【００４６】
以上、２つの検証方法を述べたが、あくまで一例であり、別の方法を採用することも可能である。
【００４７】
機器証明書管理部１１６は、各機器にインストールされた証明書を管理している。すなわち、機器と、機器にインストールされたセッション証明書の対応を管理している。新規の機器が登録された際は、証明書発行部１１３に新規のセッション証明書の発行を依頼し、証明書発行部１１３により発行されたセッション証明書を、当該機器にインストールする。なお、証明書発行部１１３は、上述したように、ブルームフィルタ失効証明書リストに対して陽性にならないセッション証明書が得られるまで、セッション証明書を繰り返し生成し、陽性にならないセッション証明書を機器証明書管理部１１６に出力する。なお、陽性になるセッション証明書が生成された場合は、そのセッション証明書は削除する。
【００４８】
また、機器証明書管理部１１６は、新規失効管理部１１４から偽陽性が発生したセッション証明書が報告された場合、証明書発行部１１３に新規のセッション証明書の発行を依頼する。機器証明書管理部１１６は、証明書発行部１１３により発行されたセッション証明書を、偽陽性のセッション証明書を有する機器に対しインストールする。当該機器は、今後、偽陽性のセッション証明書ではなく、新たにインストールされたセッション証明書を用いればよい。
【００４９】
通信部１１７は、通信可能な範囲に存在する機器（通信装置）と無線により通信を行う。通信部１１７は、機器にインストールするセッション証明書を機器に送信する。また、通信部１１７は、ブルームフィルタ失効証明書リスト管理部１１１でブルームフィルタ失効証明書リストが生成または更新されると、当該リストを機器に配布する。通信可能な範囲外の機器に対しては、通信可能な範囲内にいる機器による中継を介して、セッション証明書および当該リストを配布する。
【００５０】
図２は、本実施形態に係る通信装置としての機器のブロック図である。
【００５１】
機器は、ブルームフィルタ失効証明書リスト記憶部２１１と、ネットワーク参入受付部２１２と、通信部２１４と、ネットワーク制御部２１３とを備える。
【００５２】
通信部２１４は、通信範囲内にいる装置（サーバ装置または他の機器またはこれらの両方）と、無線により通信を行う。また、通信部１１７は、機器間、または機器とサーバ装置間の通信を中継する機能を有する。
【００５３】
通信部２１４は、サーバ装置により生成されるブルームフィルタ失効証明書リストを、サーバ装置から直接、または他の機器からの中継により受信し、これをブルームフィルタ失効証明書リスト記憶部２１１に送る。ブルームフィルタ失効証明書リスト記憶部２１１は、当該リストを内部に記憶、あるいは既に記憶しているリストを更新する。
【００５４】
ネットワーク参入受付部２１２は、他の機器からネットワークへの参入要請を、通信部２１４を介して受け付ける。ネットワーク参入受付部２１２は、参入要請を行った機器から提示されるセッション証明書を、ブルームフィルタ失効証明書リスト記憶部２１１内のブルームフィルタ失効証明書リストに基づき検証し、陽性か陰性かを判定する。
【００５５】
ネットワーク制御部２１３は、セッション証明書が陽性であると判断された場合は、当該参入要請を行った機器の参入を拒否することを決定し、参入拒否の通知を当該機器に行う。一方、セッション証明書が陽性でない（陰性である）と判断された場合は、当該機器の参入を許可し、当該機器をネットワークへ接続するための処理を行う。つまり、当該機器との間で通信経路を設定し、必要に応じて中継の設定も行う。
【００５６】
以下、本実施形態の具体的な構成例について述べる。
【００５７】
図３は、第１の実施形態に係るサーバ装置と、複数の機器とを備えたシステムの全体構成の例を示す。
【００５８】
本システムは、認証局（Certicate Authority）としてのサーバ装置１０１ と、サーバ装置１０１により認証・承認される機器群２０１A、２０１B、２０１C、２０１D、２０１E、２０１F、２０１G、２０１Hとを含む無線ネットワーク３０１として構成される。
【００５９】
なお、上述したように、各々の機器には、出荷時にインストールされる機器自身の証明書と、信頼された機器により構成されるセキュアなネットワークに参加するための証明書（セッション証明書）が存在する。本実施例では、機器自身の証明書による機器の認証方法については詳細を述べないが、一般的には、機器ベンダによる別の認証局（本システムに従属する認証局１０１とは別の認証局）による認証などを行う。また、セッション証明書は、システムに従属する認証局１０１が発行する。
【００６０】
各々の機器は、他の機器からの本ネットワークシステムへの加入要請を承認するための承認手段（ネットワーク参入受付部２１２に対応）を備える。この承認手段は、他の機器から提示されたセッション証明書について、そのセッション証明書の署名が、確かに認証局１０１の公開鍵で検証可能であり、かつ、自身に配布されたブルームフィルタ失効証明書リストにより陽性（失効）と判定されない場合、セッション証明書を提示した機器について、ネットワークアクセスを承認する。
【００６１】
なお、このような機器と認証局により構成されるネットワークシステムには、例えばスマートメーターのような機器を無線マルチホップで構成するネットワーク(NAN: Neigborhood Area Network)が存在する。
【００６２】
NANにおいては、コンセントレータとよばれる集約装置（本認証局の機能を搭載している）と、中継機能を有する複数の機器を含み、当該集約装置から一定範囲での無線通信が可能な距離にいる機器が別の機器に無線を中継し、また集約装置と通信できない複数の機器間同士でも無線を中継することで、ネットワークに参加する全ての機器の通信が可能になる。
【００６３】
一方、機器と機器との間の通信路については、環境の変化などによってしばしば切り替えが行われる。ある機器が経路を切り替える際、切り替え先機器が、当該ある機器のセッション証明書に基づき切り替えを承認するかを判断（つまりネットワークアクセスの承認を行う判断）する構成が考えられる。この際に、本実施形態で開示される仕組みを適用することで、このような切り替えに際して、集約装置に対する通信を最小化(理想的にはゼロに)できる。
【００６４】
認証局１０１は、通常の失効証明書リストに加えて、長さm、フェーズkのブルームフィルタ失効証明書リストを管理する。これはブルームフィルタ失効証明書リスト管理部１１１により実現される。
【００６５】
あわせて、認証局１０１から発行済で有効期間内のセッション証明書、あるいは有効期間に一定のマージンを加えた期間内のセッション証明書については、証明書管理部１１２により管理される。なお有効期間内であるが、失効要求により失効させたセッション証明書はブルームフィルタ失効証明書リスト管理部１１１で管理されている。両者の差分をとることで、現在有効期間内であり、かつ失効されていないセッション証明書を特定できる。
【００６６】
新規のセッション証明書は証明書発行部１１３により発行される。またセッション証明書の失効は新規失効管理部１１４により実施される。また、認証局１０１は、各々の機器にインストールするセッション証明書について、機器証明書管理部１１６により管理する。
【００６７】
各機器は、認証局１０１から、あるいは隣接した同種の機器から、ブルームフィルタ失効証明書リストを受信し、これを用いて参加要請機器に対するセッションの承認（ネットワークアクセスの承認）を行う機能を有する。
【００６８】
また、各機器は、認証局１０１との間のセキュアな認証専用の通信路(例えばRFC6345{PANA Relay Element}を利用した間接的な通信経路)などにより、認証局１０１からセッション証明書のインストールを受ける機能を持つ。
【００６９】
ここで、認証局１０１は、上述のとおり、発行済で有効なセッション証明書を管理しており、それら各々に対応する機器が存在する。セキュアなネットワークに参加している機器（ノード）については、過去のいずれかの時点で、新規参入のための認証・承認が行われ、個々の機器に個別のセッション証明書が渡されている。経路切り替えを含む機器の再参入については、セッション証明書により簡易に実施できる。たとえば障害物により電波障害が発生して一時的に接続が切れた場合には再参入の処理が必要になる場合があるが、この場合もセッション証明書の提示により集約装置と通信することなく、機器間同士で容易に承認を行うことができる。
【００７０】
分散システム、特にマルチホップの通信がかかわる分散システムにおいては、ブロードキャストの繰り返し(あるいは、Trickle Multicast(と呼ばれるような方式))によりネットワーク全体で情報を共有するチャネルがある場合が多い。ブルームフィルタ失効証明書リスト管理部１１１により生成されたブルームフィルタ失効証明書リストは、このような情報交換チャネルにのせて、セキュアなネットワークに参加している機器全体で共有することができる。
【００７１】
なお、ブルームフィルタ失効証明書リストの更新は、全体のビットマップを送付してもよいし、ビットマップの差分のみの更新であってもよい。ただし差分更新を実現するためには、個々の機器が搭載するブルームフィルタ失効証明書リストのバージョン管理が必要であり、処理が複雑になる。
【００７２】
本実施形態で開示するブルームフィルタ失効証明書リストにより、認証済み機器の再参入を承認するか否かを、参入しようとする機器から提示されたセッション証明書の署名の検証と、ブルームフィルタ失効証明書リストの検証のみで完了できる。なお、署名の検証は本願の本質ではないため、これ以上の説明を省略する。
【００７３】
従来は、ブルームフィルタ失効証明書リストについて陽性となったセッション証明書については、実際に陽性なのか(すなわち失効しているのか)、あるいは偽陽性なのか(すなわち失効していないのか)、認証局に問い合わせを行う必要があった。このため、認証局の通信帯域が圧迫されたり、認証局の負荷が大きくなったりする問題があった。
【００７４】
しかし、本実施形態では、認証局で偽陽性となったセッション証明書については、新規にセッション証明書が発行されることが期待できるため、機器でのフィルタ検証で陽性となったセッション証明書については、一律に失効済として取り扱うことが可能である。この結果、認証局に対する問い合わせを減らすことができ、具体的には、しばしばもっとも貴重である集約装置周辺の帯域の節約を実現できる。
【００７５】
このようなシステムにおいて、例えば機器の盗難などの理由により、セッション証明書を失効させる必要が出てきたとする。このとき、失効させるセッション証明書は、認証局１０１において新規失効管理部１１４が新規失効要求を受けて、ブルームフィルタ失効証明書リスト管理部１１１へ通知される。ブルームフィルタ失効証明書リスト管理部１１１は、新規失効要求にかかるセッション証明書を失効証明書リストに追加するとともに、ブルームフィルタ失効証明書リストを更新する。
【００７６】
新規失効管理部１１４は、ブルームフィルタ失効証明書リストの更新により、偽陽性となるセッション証明書が、発行済みの有効なセッション証明書において発生するかを検証する。
【００７７】
たとえば失効登録前のブルームフィルタ失効証明書リストと、失効登録後のブルームフィルタ失効証明書リストを比較し、登録により0から1に変化したビットを検出する。ビット−証明書対応表１１５において、そのビットに対応するセッション証明書の各々について、登録後のブルームフィルタ失効証明書リストに対して、陽性となっていないかの検証を行う。陽性となっているセッション証明書が検出されたら、そのセッション証明書の判定は偽陽性である。
【００７８】
以下、図４を用いて、検証の具体例を示す。図４では、簡単のため、ブルームフィルタを構成するビットマップのビット長m=8、ブルームフィルタに用いる独立したハッシュ関数の個数 (フェーズ)k=1の場合を示す。
【００７９】
セッション証明書C1、C2、C3が作られており、これらが機器M1、M2、M3にインストールされている。これらのセッション証明書はそれぞれブルームフィルタの1つのビット（k=1のため）に割り当てられる。
【００８０】
ここでは、C2とC3が、同じビット（第３ビット）に割り当てられ、C1は第０ビットに割り当てられたとする。この割り当ての様子が、図４の左に示される。h()はハッシュ関数である。ハッシュ関数の値域が０〜７であり、ハッシュ関数にC1のバイト列を入力すると、１が出力されるため、C1は第１ビット（先頭から２番目のビット）に割り当てられる。同様に、ハッシュ関数にC2、C3のバイト列を入力すると、それぞれ同じ値３が出力されるため、C2、C3は第３ビット（先頭から４番目のビット）に割り当てられる。したがって、ブルームフィルタの第１、第３ビットの値は１となり、第０、第２、第４〜第７ビットの値は０である。また、このとき得られるビット−証明書対応表１１５を、図４の右に示す。なお、ｋが２以上の場合は、同じセッション証明書が複数のビットに割り当てられ得る。
【００８１】
ここで、失効証明書リスト（初期状態は空であるとする）に、セッション証明書C1とC2を順に追加する場合を考える。まず、失効証明書リストにC1を登録する場合について述べる。
【００８２】
新規失効管理部１１４はC1を受信すると、これをブルームフィルタ失効証明書リスト管理部１１１に送り、登録する前のブルームフィルタ失効証明書リストと、登録した後のブルームフィルタ失効証明書リストを、ブルームフィルタ失効証明書リスト管理部１１１から取得する。
【００８３】
登録前のブルームフィルタ失効証明書リストは|0|0|0|0|0|0|0|0|であり、登録後のブルームフィルタ失効証明書リストは|0|1|0|0|0|0|0|0|となる。
【００８４】
ここで、先頭から2番目のビットが0から1になっていることから、ビット-証明書対応表１１５を参照してこのビットに対応するセッション証明書を探すと、C1以外にこのビットに対応づけられているセッション証明書が存在しないことが判明する。したがって、今回の失効証明書リストへの新規登録に巻き込まれて偽陽性となったセッション証明書は存在しないことがわかる。
【００８５】
同様に、新規失効管理部１１４は、セッション証明書C2の新規失効要求を受け取ると、C2をブルームフィルタ失効証明書リスト管理部１１１に送り、失効証明書リストに登録する前のブルームフィルタ失効証明書リストと、登録した後のブルームフィルタ失効証明書リストを取得する。
【００８６】
既にC1が登録されていることから、登録前のブルームフィルタ失効証明書リストは|0|1|0|0|0|0|0|0|であり、登録後のブルームフィルタ失効証明書リストは|0|1|0|1|0|0|0|0|となる。
【００８７】
ここで、先頭から4番目のビットが新たに0から1になっていることから、ビット-証明書対応表１１５を参照してこのビットに対応するセッション証明書を探すと、このビットにC3が対応することがわかる。C3が偽陽性となる条件は、C3が失効証明書リストに登録されていないにも関わらず、ブルームフィルタ失効証明書においてC3が対応づけられた（射影される）ビットが全て1になることである。今回の事例ではk=1なので、C3が偽陽性となることが自明である。
【００８８】
k=2の場合においては、C3が偽陽性になるかどうかは、登録後のブルームフィルタ失効証明書リストに対してC3を検証することで決定する。判定結果が陽性であり、かつ、C3が失効証明書リストに登録されていないとすれば、C3は偽陽性であると判断できる。
【００８９】
偽陽性となった機器のセッション証明書は、更新を行う必要がある。このため、機器証明書管理部１１６の要求により、証明書発行部１１３が機器M3に対する新規のセッション証明書C3aを作成し、機器M3に新規のセッション証明書C3aをインストールする。この際の通信は、PANA Relay Element などの作用で認証局と機器M3との間に維持されるセキュアな通信チャネルを用いればよい。機器M3は、参入要請を行う場合は、新たにインストールされたセッション証明書C3aを用いて、隣接する機器等へネットワーク参入処理を実施する。
【００９０】
機器M3から参入要請を受けた機器は、機器M3から提示されるセッション証明書C3aに対してブルームフィルタ失効証明書リストに基づき判定を行い、陽性でなければ機器M3の参入を許可する。陽性であれば、画一的に（認証局に問い合わせることなく）、機器M3の参入を拒否する。
【００９１】
なお、機器証明書管理部１１６による機器M3へのセッション証明書のインストールは、ブルームフィルタ失効証明書リストの更新・配布よりも先に実施してもよいし、ブルームフィルタ失効証明書リストの更新・配布後でも良い。ブルームフィルタ失効証明書リストの更新を先に行うと、一時的に機器M3のネットワークへのアクセスが遮断されるが、より安全性を高めることができる。一方、機器M3へのセッション証明書のインストールを先に実施し、その後にブルームフィルタ失効証明書リストの更新・配布を行うと、機器M3の通信が継続して維持できる反面、ネットワークの安全性という側面では一段脆弱となる。または、これらの更新は同時であってもよい。セッション証明書とブルームフィルタ失効証明書リスト更新の順序は、安全性と管理性のバランスにより、セキュアネットワークの管理者が決定してよい。
【００９２】
図５は、本実施形態に係るサーバ装置の動作フローの一例を示す。
【００９３】
新規失効管理部１１４が、セッション証明書Cxの新規失効要求を受け付ける（ステップS11）。
【００９４】
新規失効管理部１１４が、ブルームフィルタ失効証明書リスト管理部１１１から現在のブルームフィルタ失効証明書リスト（BFCRL：Bloom Filter Certificate Revocation List）を読み出し、コピーする（ステップS12）。図５のブロックでは、BRCRLを変数Btmpに代入することで、コピーを表現している。
【００９５】
新規失効管理部１１４は、セッション証明書Cxを現在のブルームフィルタ失効証明書リストに登録することをブルームフィルタ失効証明書リスト管理部１１１に要求する（ステップS13）。ブルームフィルタ失効証明書リスト管理部１１１は、セッション証明書Cxをk個のハッシュ関数にそれぞれ入力して値を求め、求めた値のインデックスが示すビットを１に設定することにより（既に１の場合はそのまま１を維持する）、現在のブルームフィルタ失効証明書リストを更新する。更新後のブルームフィルタ失効証明書リストを新規失効管理部１１４に送る。
【００９６】
新規失効管理部１１４は、更新後の現在のブルームフィルタ失効証明書リストから、コピーしておいた更新前の現在のブルームフィルタ失効証明書リストを引き（BRCRL-Btmp）、ビットの差分値が１であるビット位置（インデックス）を特定する（ステップS14）。すなわち、更新前では０であったが、更新後では１になったビット位置を特定する。
【００９７】
特定したビットのインデックスに基づき、ビット−証明書対応表１１５をルックアップし、インデックスに対応づけられているセッション証明書のうち、失効していないセッション証明書を検出する（ステップS15）。たとえば図４の例で、特定されたインデックスが３の場合は、まずインデックス３に対応づけられているセッション証明書C2、C3を特定する。次いで、C2,C3が失効済み（失効証明書リストに登録済み）かを調べ、もし仮にセッション証明書C2が失効済みであった場合は、セッションC3を検出することとなる。
【００９８】
検出したセッション証明書を、更新後のブルームフィルタ失効証明書リストに対して検証し、陽性になるか否かを判定する（ステップS16）。陽性の場合、特定したセッション証明書は実際には失効していない（失効証明書リストに登録されていない）ことから、これは偽陽性である。偽陽性の場合、新規失効管理部１１４は、機器証明書管理部１１６に、当該セッション証明書の更新を指示する（ステップS16）。
【００９９】
この後、機器証明書管理部１１６は、新規のセッション証明書を、証明書発行部１１３を用いて発行する。この際、発行したセッション証明書が、更新後のブルームフィルタ失効証明書リストに対して陽性となる場合は、当該セッション証明書を破棄し、陰性となるセッション証明書が作成されるまで繰り返し発行する。陰性となるセッション証明書が発行されたら、機器証明書管理部１１６は、当該セッション証明書を、偽陽性のセッション証明書を保有していた機器にインストールする。また、証明書管理部１１２は、そのセッション証明書をビット−証明書対応表１１５に登録する。
【０１００】
（第２の実施形態）
第１の実施形態において、ブルームフィルタ失効証明書リスト上におけるあるビットが、0から1にすることにより、多数のセッション証明書が同時に偽陽性になる（失効扱になる）可能性がある。一般に、無線マルチホップなどを利用したセキュアなネットワークにおいて、帯域は限られるものであることから、同時に多数の機器のセッション証明書の再発行を行うことは望ましくない。
【０１０１】
そこで、本実施形態では、ビット-証明書対応表１１５の各ビットに対応するセッション証明書の数に上限cを設ける。
【０１０２】
証明書発行部１１３は、新規に発行するセッション証明書に対応するk 個のビットの各々について、証明書管理部１１２が管理するビット-証明書対応表１１５に記載されているセッション証明書の個数がcに達しているかを判断する。k個のビットの少なくとも１つがcに達している場合は、当該セッション証明書を無効として破棄し、再度、乱数生成からセッション証明書の発行をやり直す。なお、発行するセッション証明書がブルームフィルタ失効証明書リストで陽性になる場合も、第１の実施形態と同様に、セッション証明書を破棄し、再度発行をやり直す。ビット−証明書対応表１１５の更新は、これらの２つの条件を満たすセッション証明書が発行された時点で行う。
【０１０３】
この処理の結果、ブルームフィルタ失効証明書リストのあるビットが0から1に変化することにより偽陽性が発生し得る有効なセッション証明書数、すなわち有効なセッション証明書の再発行の個数は、高々、c-1に抑えることができる。
【０１０４】
また、別の方法として、k＞＝2のときに有効な次の方法がある。例えば、ビット−証明書対応表１１５上の各々のビット（現ビット）に対応するセッション証明書の各々について、ブルームフィルタ失効証明書リスト上の対応するｋ個のビットのうち値が1であるビットの個数をsとして、当該セッション証明書の重みをw=s/kとする。
【０１０５】
その上で、現ビットに対応するセッション証明書の重みwを合計することにより、ビット重み（セッション証明書再発行重み）を得る。ブルームフィルタ失効証明書リスト上のあるビットが0から1になった都度、ビット−証明書対応表１１５上で当該ビットに対応する各セッション証明書の重みを再計算および合計することで、当該ビットのビット重みを更新する。ビット重みがcを上まわった際に、当該ビット重みがcを上回ったビットに対応するセッション証明書の中で、もっとも重みが大きいセッション証明書を有する機器に対して、セッション証明書を再発行する。あるいは、当該もっとも重みが大きい証明書をリストに追加し、ネットワークの負荷が軽くなったタイミングで再発行処理を順次実行してもよい（つまり、ネットワークの負荷が軽い際に予防的に再発行を行う）。このようにすることで、ビット-証明書対応表１１５の各々のビットについて、ビット重みを高々cに抑えることができる。
【０１０６】
（第３の実施形態）
第１・第２の実施形態で述べた方式は、偽陽性により失効したセッション証明書を再発行する際、再発行したセッション証明書を機器に即時にインストール可能であることが前提であった。一方、無線マルチホップを用いた機器間通信ネットワークにおいては、必ずしも対象となる機器が、認証局から即時アクセス可能であるとは限らない。たとえば機器が障害物の存在により中継先の機器または中継局と通信できない場合、定期的に起動する機器の場合など、当該機器へ認証局からアクセスできない。本実施形態はこの問題を解決する。
【０１０７】
第１または第２の実施形態において、ブルームフィルタ失効証明書リストの更新により偽陽性のセッション証明書が発生し、かつ、当該偽陽性のセッション証明書を有する機器対して、通信不能等の理由で、セッション証明書の更新ができなかった場合を考える。この場合、機器が再度オンラインになってネットワークに再参入を要請する際、ブルームフィルタ失効証明書リストに対して陽性のセッション証明書を隣接する機器へ提示することになる。再参入を要請する機器からセッション証明書の提示を受けた機器では、当該セッション証明書が陽性であると判断され、再参入を要請する機器はネットワークへの参入ができない。
【０１０８】
そこで、本実施形態では、真に陽性であるか偽陽性であるかを区別するためのリストとして、偽陽性証明書リストを用意する。偽陽性証明書リストは、偽陽性となったセッション証明書を持つ機器が存在し、かつ、そのような機器のセッション証明書の更新がまだできていない場合に、更新前のセッション証明書（偽陽性と判断されたセッション証明書）を記入したリストである。偽陽性証明書リストは、ネットワークの各機器（ノード）に配布する。なお、新規に作成した、有効なセッション証明書のインストールが成功した後は、偽陽性証明書リストから該当するセッション証明書を削除してもよい。
【０１０９】
本実施形態の動作として、再参入の要請を受けた機器は、再参入を要請する機器から提示されたセッション証明書に対し、まず第１、第２の実施形態と同様、ブルームフィルタ失効証明書リストに基づき判定を行う。陽性と判断された場合は、次に偽陽性証明書リストに当該セッション証明書が含まれるかを検証する。含まれていれば、認証局にその旨を通知し、含まれていなければ、再参入を要請する機器の接続を拒絶する。
【０１１０】
通知を受けた認証局は、参入しようとする機器に対し、セッション証明書の更新を試みる。この時点では該機器が高い確率でオンラインであることから、セッション証明書の更新が成功する可能性が高いといえる。更新が成功したら、該機器はネットワークへの参入が可能となる。すなわち、更新後のセッション証明書を隣接する機器へ提示した場合、当該機器では当該セッション証明書は陰性と判断する。
【０１１１】
ここで、偽陽性証明書リストは、ブルームフィルタで構成することもできる。ブルームフィルタで構成した偽陽性証明書リストを、ブルームフィルタ偽陽性証明書リストと呼ぶ。ネットワークの各機器へは、偽陽性証明書リストではなく、ブルームフィルタ偽陽性証明書リストを配布する。
【０１１２】
参入要請を受けた機器は、ブルームフィルタ失効証明書リストで陽性になったセッション証明書について、ブルームフィルタ偽陽性証明書リストでの検査を行い、検査結果が陽性になった場合、認証局に通知を行う。通知を受けた認証局は、当該機器のセッション証明書が本当に陽性かを、（ブルームフィルタでない）偽陽性証明書リストに基づき判断する。本当に陽性である場合（（ブルームフィルタでない）偽陽性証明書リストに含まれる場合）は、参入しようとする機器に対し、セッション証明書の更新を試みる。それ以外の場合（偽陽性の場合）は、更新は行わない。
【０１１３】
ブルームフィルタ偽陽性証明書リストの対象となる集合は、ブルームフィルタ失効証明書リストで陽性になりうる全てのセッション証明書である。これは、ブルームフィルタ失効証明書リストの対象となる集合である、発行された全てのセッション証明書の数に比べれば大いに少ない。よって、ブルームフィルタ偽陽性証明書リストのサイズは、ブルームフィルタ失効証明書リストのサイズに比べて大幅に削減できる。
【０１１４】
図６は、本実施形態に係るサーバ装置のブロック図である。偽陽性証明書管理部１１８が新たに追加されている。偽陽性により新たに発行されたセッション証明書のインストールが失敗した場合に、偽陽性証明書管理部１１８は、更新前のセッション証明書を偽陽性証明書リストに追加する（またはブルームフィルタ偽陽性証明書リストを更新する）。偽陽性証明書管理部１１８は、更新後の偽陽性証明書リスト（またはブルームフィルタ偽陽性証明書リスト）を、通信部１１７を介して各機器に配布する。
【０１１５】
偽陽性証明書リストに含まれている機器からの参加要請があったとの通知を受けた場合は、その機器のセッション証明書が偽陽性証明書リストに含まれていれば、機器証明書管理部１１６が有効なセッション証明書の再インストールを行う。有効なセッション証明書のインストールに成功したら、偽陽性証明書管理部１１８は、偽陽性証明書リストから該当するセッション証明書（偽陽性と判断されたセッション証明書）を削除する（またはブルームフィルタ偽陽性証明書リストを更新する）。
【０１１６】
なお、セッション証明書のインストール（更新）では、前回インストールを試みた際に発行したセッション証明書を用いてもよいし、当該前回インストールを試みた際のセッション証明書はインストールに失敗した際に破棄して、今回の再インストールを行う時に、セッション証明書を再度、生成しても良い。
【０１１７】
図７は、本実施形態に係る機器のブロック図である。偽陽性証明書リスト記憶部２１５が新たに追加されている。偽陽性証明書リスト記憶部２１５は、サーバ装置（認証局）から配布される偽陽性証明書リスト（またはブルームフィルタ偽陽性証明書リスト）を、通信部２１４を介して取得し、内部に記憶する。
【０１１８】
ネットワーク参入受付部２１２は、参入要請を行う機器から提示されたセッション証明書について、ブルームフィルタ失効証明書リストで陽性と判断した場合は、当該セッション証明書が偽陽性証明書リストに含まれているか（ブルームフィルタ偽陽性証明書リストで陽性と判断されるか）を検査する。含まれていれば（または陽性と判断されれば）、認証局にその旨を通知する。含まれていなければ（または陽性でないと判断されれば）、当該参入要請を行う機器の接続を拒絶する。なお、含まれている場合（または陽性と判断された場合）、参加要請を行う機器に対しては、いったんネットワークへの接続を拒絶し、後に更新後のセッション証明書での要請を受けた場合に参加を許可するようにしてもよい。あるいは、認証局から新たなセッション証明書がインストールされて、更新後のセッション証明書で再度参加要請がくるまで待機してもよい。
【０１１９】
第１〜第３の実施形態では、サーバ装置が認証局で、扱うデータがセッション証明書の場合を例に説明したが、本発明はこれらに限定されるものではない。サーバ装置が各通信装置にデータを発行して当該データを各通信装置に配布し、サーバ装置が当該発行したデータ集合を管理し、サーバ装置が予め与えられた条件を満たすデータを無効化して無効化したデータからブルームフィルタを生成して各通信装置に配布し、各通信装置が、他の通信装置から提示されるデータの有効性を当該ブルームフィルタで検証するシステムであれば、どのようなシステムも対象可能である。
【０１２０】
なお、このサーバ装置（認証局）および通信装置（機器）は、たとえば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、サーバ装置および通信装置内の各処理部は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、サーバ装置および通信装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、サーバ装置および通信装置内の記憶部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【０１２１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
2014241528.tif 000003
【図２】
2014241528.tif 000004
【図３】
2014241528.tif 000005
【図４】
2014241528.tif 000006
【図５】
2014241528.tif 000007
【図６】
2014241528.tif 000008
【図７】
2014241528.tif 000009