(57)【要約】【課題】認証装置で検証する証明書の数が増加しても、通信負荷の上昇を抑制する。【解決手段】本発明の情報管理装置は、失効した証明書の情報に基づき、ブルームフィルタを生成するブルームフィルタ生成部と、前記ブルームフィルタを、機器から提供された証明書を使って前記機器を認証する認証装置に送信するデータ配布部と、前記認証装置から証明書の失効有無を問い合わせる検査要求を受信した場合に、前記検査要求に係る前記証明書の失効有無を、前記失効した証明書の情報を保持する失効管理情報に基づき判断し、前記証明書が失効しているか否かを示す検査結果を前記認証装置に送信する、検査部と、を備える。【選択図】図２
2019161256.tif 000002
【特許請求の範囲】
【請求項１】
失効した証明書の情報に基づき、ブルームフィルタを生成するブルームフィルタ生成部と、
前記ブルームフィルタを、機器から提供された証明書を使って前記機器を認証する認証装置に送信するデータ配布部と、
前記認証装置から証明書の失効有無を問い合わせる検査要求を受信した場合に、前記検査要求に係る前記証明書の失効有無を、前記失効した証明書の情報を保持する失効管理情報に基づき判断し、前記証明書が失効しているか否かを示す検査結果を前記認証装置に送信する、検査部と、
を備えた情報管理装置。
【請求項２】
前記検査部は、前記検査結果とともに、前記検査結果をキャッシュすることのキャッシュ要求を、前記認証装置に送信する
請求項１に記載の情報管理装置。
【請求項３】
前記検査部は、前記失効管理情報に保持されている証明書の情報と、前記失効管理情報に保持されている証明書の情報をキャッシュすることのキャッシュ要求とを、前記認証装置に送信する
請求項１ないし２のいずれか一項に記載の情報管理装置。
【請求項４】
証明書を指定した失効要求を受信した場合に、前記証明書を失効させ、前記失効要求で指定された前記証明書の情報を前記失効管理情報に保持させる失効要求受付部
を備えた請求項１ないし３のいずれか一項に記載の情報管理装置。
【請求項５】
前記ブルームフィルタ生成部は、前記ブルームフィルタに基づく検証で偽陽性が発生する確率を計算し、前記確率が閾値以下のときは、前記指定された証明書の情報に基づき前記ブルームフィルタを更新し、前記確率が閾値を超えている場合は、前記指定された証明書の情報から、ブルームフィルタを新たに生成し、
前記データ配布部は、新たに生成された前記ブルームフィルタを前記認証装置に送信する
請求項４に記載の情報管理装置。
【請求項６】
前記ブルームフィルタ生成部により生成された複数の前記ブルームフィルタを管理する管理部を備え、
前記管理部は、前記ブルームフィルタが生成されたタイミングに応じて、予め定めた有効期限を前記ブルームフィルタに設定し、前記有効期限を過ぎたブルームフィルタを廃棄する
請求項１ないし５のいずれか一項に記載の情報管理装置。
【請求項７】
前記ブルームフィルタ生成部は、前記失効した証明書の有効期限が前記有効期限より前の前記ブルームフィルタを選択し、選択したブルームフィルタを、前記失効した証明書の情報に基づき更新する
請求項６に記載の情報管理装置。
【請求項８】
前記ブルームフィルタ生成部により生成された複数の前記ブルームフィルタを管理する管理部を備え、
前記管理部は、前記ブルームフィルタが生成される元となった証明書のうち最も新しい有効期限を、前記ブルームフィルタの有効期限とする
請求項１ないし５のいずれか一項に記載の情報管理装置。
【請求項９】
機器から提供された証明書を使って前記機器を認証する認証部と、
失効した証明書の情報からブルームフィルタを生成する情報管理装置から、前記ブルームフィルタを取得するブルームフィルタ取得部と、
前記機器から提供された前記証明書が失効しているか否かを、前記ブルームフィルタに基づき検証し、検証結果が陽性の場合に、前記情報管理装置に対して前記証明書が失効しているかを問い合わせる検査要求を送信する検証部と
を備えた認証装置。
【請求項１０】
機器から提供された証明書を使って前記機器を認証する認証装置と、情報管理装置とを備えた情報管理システムであって、
前記情報管理装置は、
失効した証明書の情報に基づき、ブルームフィルタを生成するブルームフィルタ生成部と、
前記ブルームフィルタを前記認証装置に送信するデータ配布部と、を備え、
前記認証装置は、
前記情報管理装置から、前記ブルームフィルタを取得するブルームフィルタ取得部と、
前記機器から提供された前記証明書が失効しているか否かを、前記ブルームフィルタに基づき検証し、検証結果が陽性の場合に、前記情報管理装置に対して前記証明書が失効しているか否かの問い合わせる検査要求を送信する検証部とを備え、
前記情報管理装置は、
前記認証装置から前記検査要求を受信した場合に、前記検査要求に係る前記証明書の情報が、前記失効した証明書の情報を保持する失効管理情報に保持されているかに応じて、前記証明書が失効しているかを判断し、前記証明書が失効しているか否かを示す検査結果を前記認証装置に送信する、検査部と、
を備えた情報管理システム。
【請求項１１】
失効した証明書の情報に基づき、ブルームフィルタを生成するブルームフィルタ生成ステップと、
前記ブルームフィルタを、機器から提供された証明書を使って前記機器を認証する認証装置に送信するデータ配布ステップと、
前記認証装置から証明書の失効有無を問い合わせる検査要求を受信した場合に、前記検査要求に係る前記証明書の失効有無を、前記失効した証明書の情報を保持する失効管理情報に基づき判断し、前記証明書が失効しているか否かを示す検査結果を前記認証装置に送信する、検査ステップと
をコンピュータが実行する情報管理方法。
【請求項１２】
失効した証明書の情報に基づき、ブルームフィルタを生成するブルームフィルタ生成ステップと、
前記ブルームフィルタを、機器から提供された証明書を使って前記機器を認証する認証装置に送信するデータ配布ステップと、
前記認証装置から証明書の失効有無を問い合わせる検査要求を受信した場合に、前記検査要求に係る前記証明書の失効有無を、前記失効した証明書の情報を保持する失効管理情報に基づき判断し、前記証明書が失効しているか否かを示す検査結果を前記認証装置に送信する、検査ステップと
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報管理装置、認証装置、情報管理システム、情報管理方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、認証サーバから証明書の有効性の検証を要求される度に、証明書の失効有無を確認する検証サーバがあった。この検証サーバでは、検証する証明書の数が増加するに従って、認証サーバと検証サーバ間の通信負荷が増加するという問題があった。
【０００３】
また，失効した証明書のリスト（失効リスト）からブルームフィルタ（Ｂｌｏｏｍ  Ｆｉｌｔｅｒ）を生成し、ブルームフィルタを認証サーバに配布する技術があった。この場合、証明書の失効有無を、ブルームフィルタを用いて検証する。ブルームフィルタの特性上、失効していないのに失効していると判断される偽陽性が発生する可能性がある。偽陽性の発生を防止するために、失効した証明書をブルームフィルタに追加する度に、偽陽性となる証明書が発生するか否かの検証し、そのような証明書が発生する場合には、偽陽性とならない証明書を再発行する。このため、処理コストが増加するという問題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６０３４７５４号
【非特許文献】
【０００５】
【非特許文献１】Ｃｏｏｐｅｒ，Ｄ．，Ｓａｎｔｅｓｓｏｎ，Ｓ．，Ｆａｒｒｅｌｌ，Ｓ．，Ｂｏｅｙｅｎ，  Ｓ．,Ｈｏｕｓｌｅｙ，Ｒ．，  ａｎｄ  Ｗ．Ｐｏｌｋ，“Ｉｎｔｅｒｎｅｔ  Ｘ．５０９  Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  Ｃｅｒｔｉｆｉｃａｔｅ  ａｎｄ  Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ  （ＣＲＬ）  Ｐｒｏｆｉｌｅ”，ＲＦＣ  ５２８０，Ｍａｙ  ２００８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施形態は、検証する証明書の数が増加しても、通信負荷の上昇を抑制する情報管理装置、認証装置、情報管理システム、情報管理方法、およびコンピュータプログラムを提供する。
【課題を解決するための手段】
【０００７】
本発明の情報管理装置は、失効した証明書の情報に基づき、ブルームフィルタを生成するブルームフィルタ生成部と、前記ブルームフィルタを、機器から提供された証明書を使って前記機器を認証する認証装置に送信するデータ配布部と、前記認証装置から証明書の失効有無を問い合わせる検査要求を受信した場合に、前記検査要求に係る前記証明書の失効有無を、前記失効した証明書の情報を保持する失効管理情報に基づき判断し、前記証明書が失効しているか否かを示す検査結果を前記認証装置に送信する、検査部と、を備える。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る情報管理システムの一例の構成図。
【図２】実施形態に係る情報管理装置の一例のブロック図。
【図３】実施形態に係る認証装置の一例のブロック図。
【図４】実施形態に係る検証履歴の一例を示す図。
【図５】実施形態に係る、Ｐｕｌｌ型の方式でブルームフィルタを送信する場合のシーケンス図。
【図６】実施形態に係る情報管理装置の他の例のブロック図。
【図７】複数のブルームフィルタと、それらの有効期間とを対応づけたテーブルの例を示す図。
【図８】実施形態に係る新規失効要求の受信時の動作例を示すフローチャート。
【図９】実施形態に係る検査要求の受信時の動作例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、本発明の実施形態について説明する。図面において同一名称の要素には同一の符号を付して、拡張または変更された機能を除き、同じ符号の要素についての説明は適宜省略する。
【００１０】
（第１の実施形態）
図１は、本実施形態に係る情報管理システムの全体構成図である。本情報管理システムは、機器群１０３Ａ、１０３Ｂ、１０３Ｃと、機器から提示される証明書を用いて機器の認証を行う認証装置１０１と、情報管理装置（サーバ装置）１０２と、管理者端末１０４とを備える。
【００１１】
証明書は、図示しない証明書発行サーバによって発行される。証明書は、一例として、証明書発行サーバにおいて乱数発生器により発生させた乱数に基づき一定のアルゴリズムにより計算されるバイト列あるいはビット列である。証明書は、シリアル番号、ＤＮ（Ｄｉｓｔｉｎｇｕｉｓｈｅｄ  Ｎａｍｅ）など、証明書を識別するための情報を含んでいてもよい。情報管理装置１０２が、証明書発行サーバの機能を備えていてもよい。機器は認証が成功すると、信頼された機器群により構成される機器ネットワークシステムに参加し、機器間で通信したり、機器ネットワークシステム内のサーバと通信したりすることができる。以下、図１の本情報管理システムについて説明する。
【００１２】
各機器と認証装置１０１間、認証装置１０１と情報管理装置１０２間、情報管理装置１０２と管理者端末１０４は、それぞれ通信ネットワークを介して接続されている。これらの通信ネットワークはそれぞれ異なるネットワークでもよいし、これらの全部または一部は同一のネットワークでもよい。通信ネットワークは、ローカルエリアネットワークでもよいし、インターネットに代表されるワイドエリアネットワークでもよい。また、通信ネットワークは有線ネットワークでも、無線ネットワークでも、これらの両方を含んだネットワークでもよい。
【００１３】
管理者端末１０４は、管理者から失効させる証明書の指定を受け付ける。管理者は、証明書を失効させる権限を持っている。証明書を失効させる場合としては、例えば証明書を搭載した機器のユーザーが、機器を紛失した場合がある。また一時的な利用のために証明書を発行し、一時的な利用の終了後に、証明書を失効させる場合がある。管理者は、管理者端末１０４の入力装置を用いて、失効させる証明書を指定する。指定は、例えば証明書のシリアル番号など、証明書を特定するための情報により行ってもよいし、証明書のコピーを入力することで行ってもよい。管理者端末１０４は、指定された証明書を含む証明書失効要求（以下、失効要求）を、情報管理装置１０２に送信する。
【００１４】
情報管理装置１０２は、管理者端末１０４から失効要求で指定された証明書を失効させる。情報管理装置１０２は、これまで失効させた証明書を失効リストとして管理する。失効リストには、失効させた証明書の情報（シリアル番号でもよいし、シリアル番号とＤＮの組でもよいし、証明書自体でもよいし、その他の情報でもよい。以下、同様）が保持されている。失効リストは、失効した証明書の情報を保持した失効管理情報の一例であり、同様の情報を保持できる限り、リスト形式の情報でなくてもよい。情報管理装置１０２は、失効リストからブルームフィルタを生成し、生成したブルームフィルタを、認証装置１０１に配布する。また、情報管理装置１０２は、認証装置１０１から証明書が失効しているかを問い合わせる検査要求を受信した場合に、失効リストを用いて失効の有無を判断し、失効の有無の検査結果を返す。以下、図２を用いて、情報管理装置１０２について詳細に説明する。
【００１５】
図２は本実施形態に係る情報管理装置１０２のブロック図である。情報管理装置１０２は、通信部１１０と、失効要求受付部１１１と、ブルームフィルタ生成部１１２と、通信部１１３と、失効情報検索部（検査部）１１４と、失効リスト記憶部１１５と、ブルームフィルタ記憶部１１６、ブルームフィルタ配布部１１７とを備えている。
【００１６】
これらの各要素はＣＰＵ等のプロセッサまたは回路によって構成できる。プロセッサに実行させるプログラムを格納した記録媒体（例えば、ＨＤＤ、ＳＳＤ、メモリ装置、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ等）をコンピュータに読み取らせ、プログラムを実行させることにより情報管理装置１０２の各要素の機能を実現してもよい。また、これらの各要素がメモリ等のバッファを備えていてもよい。メモリは、ＤＲＡＭ、ＳＲＡＭ等の揮発性メモリでも、ＮＡＮＤ、ＦＲＡＭ、ＭＲＡＭ等の不揮発性メモリでもよい。また、本装置が、ハードディスク装置またＳＳＤなどのストレージ装置を備えていてもよい。
【００１７】
通信部１１０は、ネットワークを介して管理者端末１０４と通信する。通信部１１３は、ネットワークを介して認証装置１０１と通信する。両ネットワークが同一の場合は、通信部１１０と通信部１１３をまとめて、１つの通信部としてもよい。
【００１８】
失効要求受付部１１１は、通信部１１０を介して、管理者端末１０４から失効要求を受信する。失効要求受付部１１１は、失効要求が、意図しない第三者からの要求ではないことを確認するため、失効要求を認証する。例えば失効要求に付加されている署名と、公開鍵とに基づき認証を行う。認証が成功した場合に、失効要求を受け付ける。これにより、失効要求受付部１１１は、失効要求で指定されている証明書を失効させる。失効要求受付部１１１は、失効させた証明書の情報を、失効情報検索部１１４とブルームフィルタ生成部１１２に提供する。証明書の失効は、管理者が失効させたいとして指定した証明書の失効要求を、失効要求受付部１１１が受け付けたことを意味する。
【００１９】
失効情報検索部１１４は、失効要求受付部１１１から提供された証明書の情報をリスト形式で管理する。証明書の情報を管理するリストを失効リストと呼ぶ。すべての証明書をまとめて１つのリストで管理してもよいし、証明書のシリアル番号などでグループ分けて管理してもよい。後者の方が、リストの更新や、後述する失効した証明書の検索にかかる負荷が少ない。前者の例として、証明書Ｃ１、Ｃ２、Ｃ３が失効したとすると、失効リストは、Ｌ＝｛Ｃ１、Ｃ２、Ｃ３｝のように表すことができる。Ｃ１〜Ｃ３は、各証明書を特定するための情報を表す。失効情報検索部１１４は、失効要求受付部１１１から証明書の情報を受けるごとに、証明書の情報を、失効リストに追加する。失効リストに登録された証明書は失効（無効）として扱われる。逆に言えば、失効リストに登録されていない証明書は有効として扱われる。
【００２０】
失効リスト記憶部１１５は、失効リストを記憶する。失効リスト記憶部１１５は、例えばＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、ＭＲＡＭ、ＲｅＲＡＭ，ハードディスク、光ディスクなどの不揮発性記憶デバイス又はレジスタ、ＳＲＡＭ、ＤＲＡＭなどの揮発性記憶デバイスのいずれか又はそれらの組み合わせから構成される。
【００２１】
ブルームフィルタ生成部１１２は、失効要求受付部１１１から提供された証明書の情報または失効リストから、ブルームフィルタを作成し、作成したブルームフィルタをブルームフィルタ記憶部１１６に格納する。２回目以降は、作成済みのブルームフィルタを、今回提供された証明書の情報で更新することで、ブルームフィルタを生成してもよい。あるいは、失効リストが更新されるごとに、失効リストに登録されているすべて証明書の情報あるいは新たに失効リストに追加された証明書の情報を用いて、ブルームフィルタを生成（更新）することも可能である。ブルームフィルタ生成部１１２は、ブルームフィルタ（前回生成したブルームフィルタとの差分データの場合も含む）をブルームフィルタ配布部１１７に提供する。
【００２２】
ブルームフィルタ記憶部１１６は、ブルームフィルタ生成部１１２によって生成されたブルームフィルタを記憶する。
【００２３】
ブルームフィルタの生成方法について説明する。証明書の情報をｋ個のハッシュ関数に入力し、それぞれハッシュ値を求める。ブルームフィルタにおいて、各算出したハッシュ値が指すビットを１にする。これをブルームフィルタに登録するすべての証明書について行う。簡単な具体例として、初期のブルームフィルタが１０ビットの“0000000000”であり、３（＝ｋ）個のハッシュ関数があるとする。ハッシュ関数の値域は０〜９とする。証明書Ｃ１について計算された３個のハッシュ関数の値がそれぞれ１、４、８であるとすると、１０ビットのブルームフィルタの１ビット目、４ビット目、８ビット目をそれぞれ１にして、“0100100010”となる。同様に、このブルームフィルタに証明書Ｃ２を追加するとする。証明書Ｃ２について計算された３個のハッシュ関数の値がそれぞれ１、５、６であるとすると、“0100100010”の１ビット目、５ビット目、６ビット目をそれぞれ１にして、“0100111010”となる。
【００２４】
ブルームフィルタ配布部１１７では、ブルームフィルタ生成部１１２から受け取ったブルームフィルタを、通信部１１３を介して、認証装置１０１に送信する。ブルームフィルタ配布部１１７は、前回送信したブルームフィルタとの差分データ（例えば新たにビットが１になった位置を示す情報のみ）のみを送信してもよい。この場合、通信負荷は低くなる利点がある。
【００２５】
失効情報検索部１１４は、認証装置１０１から、指定した証明書の失効有無を問い合わせる検査要求を、通信部１１３を介して受け取る。失効情報検索部１１４は、検査要求を受け取ると、検査要求で指定された証明書が失効リストに含まれるかを検索する。指定された証明書が失効リストに含まれる場合、指定された証明書は失効していると判断する。一方、証明書が失効リストに含まれていない場合、指定された証明書は失効していない（有効である）と判断する。
【００２６】
失効情報検索部１１４は、指定された証明書が失効している否かを示す検査結果を認証装置１０１に返す。検査結果をキャッシュすることのキャッシュ要求を認証装置１０１に併せて送信してもよい。
【００２７】
失効情報検索部１１４は、失効リストに登録されているすべての証明書の情報をキャッシュすることのキャッシュ要求を、認証装置１０１に送信してもよい。送信のタイミングは、予め定めた条件が成立したタイミングでよい。例えば失効リストに更新があったタイミングでもよいし、一定数の証明書の情報が失効リストに登録されたタイミングでもよいし、一定周期のタイミングでもよい。前回送信した後に追加された証明書の情報のみを送信してもよい。
【００２８】
また、失効情報検索部１１４は、他の認証装置からこれまで検査要求で問い合わせされた証明書の検査結果をキャッシュすることのキャッシュ要求を認証装置１０１に送信してもよい。また、失効リストに登録されているすべての証明書の情報のうち、他の認証装置からこれまで検査要求で問い合わせされた証明書の情報をキャッシュすることのキャッシュ要求を認証装置１０１に送信してもよい。送信のタイミングは、上記の例と同様、様々なバリエーションが可能である。失効情報検索部１１４は、失効リスト記憶部１１５またはブルームフィルタ記憶部１１６または情報管理装置１０２内の任意の記憶部または情報管理装置１０２からアクセス可能な外部の記憶部に、これまで検査要求で問い合わせされた証明書の検査結果を、検査要求もとの認証装置の識別情報と関連づけて記憶しておいてもよい。
【００２９】
図３は、認証装置１０１のブロック図である。認証装置１０１は、通信部２１０と、認証部２１１と、ブルームフィルタ取得部２１２と、通信部２１３と、ブルームフィルタ記憶部２１６と、検証部２１４と、検証履歴記憶部２１５とを備える。
【００３０】
これらの各要素はＣＰＵ等のプロセッサまたは回路によって構成できる。また、これらの各要素がメモリ等のバッファを備えていてもよい。プロセッサに実行させるプログラムを格納した記録媒体（例えば、ＨＤＤ、ＳＳＤ、メモリ装置、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ等）をコンピュータに読み取らせ、プログラムを実行させることにより認証装置１０１の各要素の機能を実現してもよい。メモリは、ＤＲＡＭ、ＳＲＡＭ等の揮発性メモリでも、ＮＡＮＤ、ＦＲＡＭ、ＭＲＡＭ等の不揮発性メモリでもよい。また、本装置が、ハードディスク装置またＳＳＤなどのストレージ装置を備えていてもよい。
【００３１】
通信部２１０は、ネットワークを介して機器１０３Ａ、１０３Ｂ、１０３Ｃと通信する。通信部２１３は、ネットワークを介して情報管理装置１０２と通信する。両ネットワークが同一の場合は、通信部２１０と通信部２１３をまとめて、１つの通信部としてもよい。
【００３２】
ブルームフィルタ取得部２１２は、通信部２１３を介して、情報管理装置１０２からブルームフィルタを受信し、ブルームフィルタをブルームフィルタ記憶部２１６に保存する。２度目以降の受信では、前回受信したブルームフィルタを、今回受信したブルームフィルタ（または前回との差分データ）によって更新する。ブルームフィルタ記憶部２１６は、ブルームフィルタを記憶する。
【００３３】
認証部２１１は、機器群１０３Ａ、１０３Ｂ、１０３Ｃから証明書の認証要求を受信し、証明書に基づき機器の認証を行う。認証を行うに先立ち、認証装置１０１は、機器群１０３Ａ、１０３Ｂ、１０３Ｃから受信して証明書の有効性（証明書が失効しているかどうか）を検証する必要がある。認証部２１１は、受信した証明書の情報を検証部２１４に提供する。
【００３４】
検証部２１４は、証明書の有効性を、ブルームフィルタ記憶部２１６に記憶されているブルームフィルタを用いて検証する。ブルームフィルタを用いた検証は、一例として以下のようにして行う。
【００３５】
検証対象の証明書の情報を、ｋ個のハッシュ関数（情報管理装置１０２でブルームフィルタを作成するのに使用したものと同じ）に入力し、それぞれハッシュ値を求める。ブルームフィルタにおいて、算出したハッシュ値が指すビットのうち少なくとも１つのビットが０であれば、検証結果は陰性である。この場合、証明書は失効していない（有効である）と判断される。
【００３６】
一方、ブルームフィルタにおいて、算出したハッシュ値が指すビットがすべて１であった場合、検証結果は陽性である。陽性の場合、原則として、証明書は、失効していると判断される。ただし、証明書が実際には失効していないにもかかわらず検証結果が陽性になる偽陽性の場合もある。したがって、ブルームフィルタの検証結果が陽性であるからといって、必ず失効しているとは限らない。このため、検証結果が陽性の場合は、それが偽陽性か否かを確認する必要がある。
【００３７】
検証部２１４は、検証結果が陽性の場合に、検証履歴記憶部２１５に格納された検証履歴に、検証対象の証明書の有効性（失効しているか否か）が登録されているかを調べる。検証履歴には、情報管理装置１０２から提供された、証明書の有効性を示す情報が格納されている。一例として、検証履歴には、過去に認証装置１０１が情報管理装置１０２に有効性を問い合わせた証明書、情報管理装置１０２の失効リストに登録されている証明書、または、他の認証装置が情報管理装置１０２に有効性を問い合わせた証明書などについて、その証明書に対する検査結果（失効しているか否か）が記録されている。図４に検証履歴の一例を示す。この例では、証明書Ｃ１とＣ３１が失効しており、証明書Ｃ９とＣ７１が有効であることを示す。
【００３８】
検証部２１４は、陽性と判断された証明書が検証履歴に登録されている場合は、検証履歴において当該証明書に対応する検証結果を特定し、特定した検査結果に基づき、証明書の失効有無を判断する。検査結果が失効を示していれば、証明書は失効していると判断し、有効を示していれば、証明書は有効である（すなわち検証結果が偽陽性であった）と判断する。
【００３９】
一方、陽性と判断された証明書が検証履歴に登録されていない場合は、検証部２１４は、証明書が実際に失効しているかを問い合わせる検査要求を、通信部２１３を介して、情報管理装置１０２に送信する。
【００４０】
検証部２１４は、情報管理装置１０２から検査結果を含む応答を受信する。検証部２１４は、検査結果が、証明書が失効していないこと示す場合、証明書は失効していないと決定し、その旨を認証部２１１に送る。その場合、認証部２１１は、その証明書を用いて、認証要求の送信元の機器を認証し、認証結果（成功または失敗）を含む応答を機器に送信する。認証は、一例として、証明書に付加されている署名と、公開鍵とに基づき行う。
【００４１】
一方、検査結果が、証明書が失効していることを示す場合、検証部２１４は、その証明書は失効していると決定し、その旨を認証部２１１に送る。その場合、認証部２１１は、証明書が失効していることを示す応答を、認証要求の送信元の機器に送信する。
【００４２】
検証部２１４は、検証対象となった証明書について、情報管理装置１０２から受信した検査結果を、検証履歴記憶部２１５における検証履歴に追加してもよい。追加は、情報管理装置１０２からキャッシュ要求があった場合にのみ行ってもよい。次回以降、同じ証明書について、認証要求を受信した場合、検証履歴に基づきその証明書の有効性を判断できるため、情報管理装置１０２への問い合わせを不要にできる。このように、検証履歴記憶部２１５に証明書の有効性の情報をキャッシュしておくことで、情報管理装置１０２に対する問い合わせ回数を削減できる。さらに、認証装置１０１が複数ある場合、１つの認証装置１０１の検証履歴を他の認証装置と共有してもよい。この場合、情報管理装置１０２への問い合わせ回数を全体としてより削減できる。
【００４３】
（ブルームフィルタの配布方法）
ブルームフィルタ配布部１１７によるブルームフィルタの配布方法について説明する。ブルームフィルタの配布用法には複数の方式がある。
【００４４】
情報管理装置１０２が、認証装置１０１からブルームフィルタ送信要求を受け取り、その応答として渡す方法（Ｐｕｌｌ型）がある。また、ブルームフィルタに変更が発生した場合に自発的に送信する方法（Ｐｕｓｈ型）がある。また、認証装置１０１からの検査要求を受け取った際に、認証装置１０１に記憶されているブルームフィルタを確認して、必要に応じて送信する方法（検索Ｐｕｌｌ型）などがある。以下、それぞれの方法について詳細に説明する。
【００４５】
図５は、Ｐｕｌｌ型の場合の動作シーケンス図である。認証装置１０１のブルームフィルタ取得部２１２は、ブルームフィルタ送信要求を作成し（ステップＳ１）、作成したブルームフィルタ送信要求を情報管理装置１０２に送信する（ステップＳ２）。ブルームフィルタ送信要求には、認証装置１０１の識別情報も格納しておく。ブルームフィルタ送信要求は、情報管理装置１０２のブルームフィルタ配布部１１７に渡される。ブルームフィルタ配布部１１７は、ブルームフィルタ送信要求に含まれる認証装置の識別情報に基づき、認証装置１０１からの要求であることを確認すると、ブルームフィルタ記憶部１１６内のブルームフィルタを読み出し、ブルームフィルタを含む応答を生成する（ステップＳ３）。ブルームフィルタ配布部１１７は、生成した応答を認証装置１０１へ送信する（ステップＳ４）。
【００４６】
Ｐｕｓｈ型を用いる場合、ブルームフィルタ配布部１１７は、ブルームフィルタ記憶部１１６内のブルームフィルタに変更（更新）が発生すると、認証装置１０１にブルームフィルタを送信する。ブルームフィルタの送信には、送信側が非同期にメッセージを送信する、Ｐｕｂｌｉｓｈ／Ｓｕｂｓｃｒｉｂｅモデルをもとにしたプロトコルを用いることができる。ブルームフィルタが更新されたと判断する条件としては、証明書の情報がブルームフィルタに追加されたことでよいし、ブルームフィルタのビットが前回ブルームフィルタを送信した時から変化したことでもよい。あるいは、ブルームフィルタに追加されている証明書数が変化したことでもよい。ブルームフィルタに変更があるごとに、変更後のブルームフィルタを送信してもよいし、変更回数が一定値に達するごとに、ブルームフィルタを送信してもよい。
【００４７】
検索Ｐｕｌｌ型を用いる場合、ブルームフィルタ配布部１１７に、ブルームフィルタのバージョン番号を管理する機能を設ける。すなわち、ブルームフィルタ配布部１１７は、ブルームフィルタの更新時に、ブルームフィルタのバージョン番号をインクリメントする。ブルームフィルタの更新毎にバージョン番号をインクリメントしてもよいし、一定回数更新を行う毎に、バージョン番号をインクリメントしてもよい。認証装置１０１は、情報管理装置１０２へ検査要求を送信するとき、現在使用しているブルームフィルタのバージョン番号も併せて送信する。情報管理装置１０２におけるブルームフィルタ配布部１１７は、認証装置１０１が使用しているブルームフィルタのバージョン番号を、ブルームフィルタ配布部１１７が管理しているブルームフィルタのバージョン番号と比較する。ブルームフィルタのバージョン番号が異なる場合は、失効情報検索部１１４で作成した、上記検査要求に対する応答に、情報管理装置１０２のブルームフィルタを格納し、認証装置１０１へ送信する。ブルームフィルタのバージョン番号が異なる場合は必ずブルームフィルタを応答に含めるようにしてもよいし、ブルームフィルタのバージョン番号の差が一定値以上ある場合にのみ、ブルームフィルタを応答に含めるようにしてもよい。
【００４８】
図６は、図２の情報管理装置１０２の拡張例を示す。図２の情報管理装置１０２にブルームフィルタ管理部１１８が追加されている。ブルームフィルタ管理部１１８は、複数のブルームフィルタを管理する。一例として、スケーラブル・ブルームフィルタ（Ｓｃａｌａｂｌｅ  Ｂｌｏｏｍ  Ｆｉｌｔｅｒ）によって、複数のブルームフィルタを管理する。ブルームフィルタ管理部１１８はＣＰＵ等のプロセッサまたは回路によって構成できる。また、ブルームフィルタ管理部１１８がメモリ等のバッファを備えていてもよい。
【００４９】
スケーラブル・ブルームフィルタの例を説明する。失効要求を受けた場合に、失効要求で指定された証明書の情報をブルームフィルタに追加した場合の、偽陽性が発生する確率（偽陽率）を算出する。偽陽率は、一例として（１−（１−１／ｍ）ｋｎ）ｋによって計算できる。ｋはハッシュ関数の個数、ｍはブルームフィルタビット数、ｎはブルームフィルタに登録されている要素数（証明書の個数）である。偽陽率が事前に決めた閾値を超えない場合は、ブルームフィルタ生成部１１２は、ブルームフィルタに証明書の情報を追加する。偽陽率が事前に決めた閾値を超える場合は、証明書の情報から新たにブルームフィルタを生成し、次の失効要求からは、新しいブルームフィルタに証明書を追加する。以降同様にして、偽陽率が閾値を超えるごとに、ブルームフィルタを追加する。検証の際は、一例として、すべてのブルームフィルタで陰性のとき検証結果は陰性である判断し、いずれか１つのブルームフィルタで陽性の判定となったとき検証結果は陽性（偽陽性の場合も含む）と判断する。
【００５０】
複数のブルームフィルタを用いる他の例として、例えば複数の異なる有効期間のブルームフィルタを用意し、証明書の有効期限が有効期間に含まれるブルームフィルタに当該証明書を追加する方法も可能である。この方法にスケーラブル・ブルームフィルタの手法を組み合わせ、偽陽率が閾値を超えた場合に、新たな有効期間を設定したブルームフィルタを追加することもできる。複数のブルームフィルタを管理する手法は、ここで述べた方法に限定されない。
【００５１】
ブルームフィルタ管理部１１８は、ブルームフィルタ生成部１１２により生成（更新の場合も含む）されたブルームフィルタの有効期限を設定する。ブルームフィルタ管理部１１８は、ブルームフィルタと有効期限とを互いに対応付けて管理する。
【００５２】
ブルームフィルタ有効期限は、ブルームフィルタ管理部１１８が、事前に決定された長さの有効期間を付与することで設定してもよいし（ブルームフィルタ有効期限の第１の設定例）、ブルームフィルタに登録されている証明書の有効期間に基づき、ブルームフィルタ有効期限を決定してもよい（ブルームフィルタ有効期限の第２の設定例）。
【００５３】
（ブルームフィルタ有効期限の第１の設定例の具体例）
例えば、予めブルームフィルタの有効期間を１年間と決定しておくと、ブルームフィルタが新たに生成（追加）されてから１年後の日時が、ブルームフィルタ有効期限となる。１度決定したブルームフィルタ有効期限は途中で変更されることはない。失効した証明書をどのブルームフィルタに追加するかは、失効した証明書の有効期間に基づいて決定してもよい。
【００５４】
例えば、ブルームフィルタの有効期間が２０１７年１月１日から２０１８年１月１日の場合、このブルームフィルタには、２０１７年１月１日から２０１８年１月１日までの間に有効期限が到来する証明書のみを追加する。２０１８年１月２日になると、ブルームフィルタ管理部１１８は、このブルームフィルタを初期化する、もしくは廃棄する。初期化するとは、ブルームフィルタのビットをすべて０にすること、すなわち、ブルームフィルタに登録されている証明書をすべて破棄することである。
【００５５】
（ブルームフィルタ有効期限の第２の設定例の具体例）
ブルームフィルタに新たな証明書を追加する際、ブルームフィルタ有効期限と証明書の有効期限を比較し、証明書の有効期限の方が遅ければ、ブルームフィルタ有効期限を証明書の有効期限で更新する。ブルームフィルタ有効期限の方が遅ければ、ブルームフィルタ有効期限を更新しない。
【００５６】
例えば、有効期限が２０１８年１月１日のブルームフィルタに、有効期間が２０１７年２月１日から２０１８年２月１日までの証明書の情報を追加するとする。この場合、証明書の有効期限２０１８年２月１日は、ブルームフィルタの有効期限２０１８年１月１日より遅いため、ブルームフィルタの有効期限を、証明書の有効期限によって更新する。一方、同じブルームフィルタに、有効期間が２０１６年１２月１日から２０１７年１２月１日までの証明書の情報を追加するとする。この場合、証明書の有効期限２０１７年１２月１日は、ブルームフィルタの有効期限２０１８年１月１日より早いため、ブルームフィルタ有効期限を更新せず、２０１８年１月１日のままとする。
【００５７】
ブルームフィルタ管理部１１８は、ブルームフィルタ記憶部１１６において各ブルームフィルタとその有効期限等を管理する。図７に、上記の第２の設定例でブルームフィルタとその有効期限とを管理する場合のテーブル例を示す。複数のブルームフィルタ（ＢＦ１、ＢＦ２、ＢＦ３、・・・）と、各ブルームフィルタの有効期間が登録されている。各ブルームフィルタの有効期間は、各ブルームフィルタに登録されている最新の証明書の有効期間に一致する。すなわち、各ブルームフィルタの有効期限は、各ブルームフィルタに登録されている最新の証明書の有効期限に一致する。ブルームフィルタ配布部１１７は、各部フームフィルタとそれぞれの有効期限の情報とを、認証装置１０１に送信する。
【００５８】
認証装置１０１では、複数のブルームフィルタと、それらの有効期限とを対応づけて、ブルームフィルタ記憶部２１６で管理する。機器から認証要求を受けた場合は、認証要求で指定された証明書の有効期限より後の有効期限を有するブルームフィルタを選択し、選択したブルームフィルタを用いて検証を行う。複数のブルームフィルタがこの条件に該当する場合は複数のブルームフィルタを選択し、選択したそれぞれのブルームフィルタを用いて検証を行えばよい。検証したすべてのブルームフィルタが陰性であれば、検証結果は陰性と判断し、それ以外の場合は、陽性と判断する。陽性と判断した場合は、前述したように、偽陽性か否かを検査する必要がある。この場合の動作は既に説明したため、省略する。検証履歴記憶部２１５では、ブルームフィルタごとに、図４に示したような検証履歴を保持してもよい。
【００５９】
情報管理装置１０２におけるブルームフィルタ管理部１１８は、複数あるブルームフィルタのブルームフィルタ有効期限を確認する。ブルームフィルタ有効期限が経過したブルームフィルタがある場合、ブルームフィルタを初期化または廃棄する。初期化は、ビットをすべて０とすることである。ブルームフィルタ有効期限の確認は、一定期間ごとに行われてもよいし、ブルームフィルタの個数が一定数を超えた時点で行ってもよい。
【００６０】
ブルームフィルタ管理部１１８は、あるブルームフィルタについて初期化を行うと、通信部１１３を介して、このブルームフィルタの初期化通知を認証装置１０１に送信する。ブルームフィルタ管理部１１８は、初期化が行われるたびに、初期化通知を送信してもよいし、初期化されたブルームフィルタが一定数を越えたら、初期化通知を送信してもよい。認証装置１０１は、初期化通知を受信すると、該当するブルームフィルタを初期化または廃棄する。認証装置１０１側で、情報管理装置１０２と同様にブルームフィルタ有効期限を確認し、ブルームフィルタの初期化または廃棄を行ってもよい。この場合、情報管理装置１０２からの初期化通知を省略できる。
【００６１】
図８は、情報管理装置１０２が管理者端末１０４から失効要求を受信した時の動作例を示すフローチャートである。本フローチャートのステップの順序は一例であり、動作に矛盾の生じない限り、一部のステップの順序を入れ替えてもよい。例えばステップＳ１１とステップＳ１２を入れ替えてもよい。
【００６２】
情報管理装置１０２において、失効要求受付部１１１が管理者端末１０４から失効要求を受信し、受信した失効要求の正当性を認証する（ステップＳ１０）。受信した失効要求が正当なもの（すなわち管理者端末１０４から受信したもの）であることを確認すると、失効要求で指定された証明書を失効させ、失効させた証明書の情報を、ブルームフィルタ生成部１１２と失効情報検索部１１４に渡す。
【００６３】
失効情報検索部１１４は、失効した証明書の情報を失効リストに追加する（ステップＳ１１）。
【００６４】
ブルームフィルタ生成部１１２は、失効要求で指定された証明書をブルームフィルタに追加した場合の偽陽率を計算する（ステップＳ１２）。偽陽率が閾値を超えたかを判断し（Ｓ１３）、閾値を超えた場合は（ＹＥＳ）、当該ブルームフィルタへの追加は行わず、証明書の情報に基づき新たなブルームフィルタを生成する（ステップＳ１４）。ブルームフィルタ配布部１１７は、新たに生成したブルームフィルタを配布する（同ステップＳ１４）。偽陽率が閾値を超えていない場合は（ＮＯ）、証明書の情報をブルームフィルタに追加する（ステップＳ１５）。ブルームフィルタ配布部１１７は、追加後のブルームフィルタを配布する（同ステップＳ１５）。
【００６５】
ステップＳ１４またはステップＳ１５におけるブルームフィルタの配布では、前述したＰｕｌｌ型、Ｐｕｓｈ型、検索Ｐｕｌｌ型などの送信方式のうち、いずれかの方式を用いればよい。ブルームフィルタを送信する代わりに、このブルームフィルタと、前回送信したブルーフィルタとの差分を計算し、差分データのみを送信してもよい。本実施形態においてブルームフィルタの送信とは、差分データの送信の場合も含むものとする。
【００６６】
ブルームフィルタ管理部１１８は、ステップＳ１５でブルームフィルタの更新が行われた場合、このブルームフィルタの有効期限を更新する必要があるかを判断する（Ｓ１６）。更新するか否かの判断は、前述した方法で判断すればよい。更新する必要があると判断した場合は（ＹＥＳ）、ブルームフィルタ有効期限を更新する（Ｓ１７）。例えばこのブルームフィルタに追加された証明書の有効期限により、ブルームフィルタ有効期限を更新する。更新したブルームフィルタ有効期限を、認証装置１０１に送信してもよい。更新する必要がないと判断した場合は（ＮＯ）、処理はステップＳ２０に移行する。
【００６７】
また、ブルームフィルタ管理部１１８は、ステップＳ１４で新たにブルームフィルタが生成された場合は、ブルームフィルタ有効期限を決定する（ステップＳ１８）。ブルームフィルタ管理部１１８は、決定したブルームフィルタ有効期限とブルームフィルタを対応付ける（ステップＳ１９）。決定したブルームフィルタ有効期限を、認証装置１０１に送信してもよい。
【００６８】
ブルームフィルタ管理部１１８は、すべてのブルームフィルタとこれらのブルームフィルタ有効期限を管理する（ステップＳ２０）。
【００６９】
図９は、情報管理装置１０２が認証装置１０１から検査要求を受信した時の動作例を示すフローチャートである。
【００７０】
失効情報検索部１１４が、認証装置１０１から検査要求を受信する（ステップＳ３１）。失効情報検索部１１４は、失効リストを検索し、検査要求で指定された証明書の情報が保持されているか調べる（ステップＳ３２）。失効情報検索部は、検索がヒットした場合、すなわち、証明書の情報が保持されている場合、証明書は失効していると判断する。検索がヒットしなかった場合、すなわち、証明書の情報が保持されていない場合、証明書は失効していないと判断する。失効情報検索部１１４は、失効の有無を表す検査結果を、検査履歴として認証装置１０１にキャッシュさせるか否かを判断する（Ｓ３３）。判断の条件は任意でよい。例えば、常にキャッシュさせると決定してもよいし、複数回の検査要求を受信するごとに１回の割合でキャッシュさせると決定してもよいし、ランダムに決定してもよい。失効情報検索部１１４は、検査結果をキャッシュさせると判断した場合は（ＹＥＳ）、認証装置１０１に検査結果とキャッシュ要求とを送信する（ステップＳ３４）。キャッシュさせないと判断した場合（ＮＯ）、検査結果のみを送信する（ステップＳ３５）。
【００７１】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００７２】
１０１：認証装置
１０２：情報管理装置（サーバ装置）
１０３Ａ、１０３Ｂ、１０３Ｃ：機器
１０４：管理者端末
１１０：通信部
１１１：失効要求受付部
１１２：ブルームフィルタ生成部
１１３：通信部
１１４：失効情報検索部（検査部）
１１５：失効リスト記憶部
１１６：ブルームフィルタ記憶部
１１７：ブルームフィルタ配布部
２１０：通信部
２１１：認証部
２１２：ブルームフィルタ取得部
２１３：通信部
２１４：検証部
２１５：検証履歴記憶部
２１６：ブルームフィルタ記憶部
【図１】
2019161256.tif 000003
【図２】
2019161256.tif 000004
【図３】
2019161256.tif 000005
【図４】
2019161256.tif 000006
【図５】
2019161256.tif 000007
【図６】
2019161256.tif 000008
【図７】
2019161256.tif 000009
【図８】
2019161256.tif 000010
【図９】
2019161256.tif 000011