(57)【要約】【課題】複数世代の秘密鍵の各々が用いられる複数の暗号方式に対応した認証局装置において、セキュリティリスクを低減する。【解決手段】認証局装置は、秘密鍵保持部と発行制御部を含む。秘密鍵保持部は、世代に応じて暗号強度が異なる複数の世代の暗号方式のそれぞれに対応した複数の秘密鍵を保持する。発行制御部は、発行指示を取得した場合、最も暗号強度が高い世代の暗号方式に対応する第１秘密鍵を用いて公開鍵証明書の発行を行うように制御する。【選択図】図１
2016032247.tif 000002
【特許請求の範囲】
【請求項１】
世代に応じて暗号強度が異なる複数の世代の暗号方式のそれぞれに対応した複数の秘密鍵を保持する秘密鍵保持部と、
発行指示を取得した場合、最も暗号強度が高い前記世代の暗号方式に対応する第１秘密鍵を用いて公開鍵証明書の発行を行うように制御する発行制御部と、
を備えることを特徴とする認証局装置。
【請求項２】
前記発行制御部は、前記複数の世代の暗号方式のうち最新の世代の暗号方式に対応する第１秘密鍵を用いて前記公開鍵証明書を発行し、該第１秘密鍵とは異なる第２秘密鍵を用いた前記公開鍵証明書の発行を行わないように制御を行う
ことを特徴とする請求項１に記載の認証局装置。
【請求項３】
前記認証局装置は、さらに、
前記複数の秘密鍵のうちの何れかの秘密鍵を用いて発行された公開鍵証明書の失効情報を含む失効リストの発行を、該何れかの秘密鍵を用いて行う失効リスト発行部
を備え、
前記失効リスト発行部は、取得した前記失効情報の発行の停止要求に応じて、前記第２の秘密鍵を用いて発行された公開鍵証明書の失効リストの発行を停止する
ことを特徴とする請求項１または２に記載の認証局装置。
【請求項４】
前記最も暗号強度が高い世代の暗号方式を用いて生成された失効リストは、該最も暗号強度が高い世代とは異なる世代の暗号方式を用いて発行された公開鍵証明書の失効情報を含む
ことを特徴とする請求項１〜３のうちいずれか１項に記載の認証局装置。
【請求項５】
さらに、
前記暗号方式の世代を示す情報と、該世代を示す情報により示される世代の暗号方式を用いて生成した公開鍵証明書を対応付けた世代情報を記憶する第１記憶部と、
前記認証局装置の正当性を保証するための公開鍵証明書である認証局証明書が失効した場合、前記世代情報に基いて、失効した該認証局証明書の生成に用いられた暗号方式よりも、暗号強度が弱い暗号方式を用いて生成した認証局証明書を失効させる失効処理部と、
を備えることを特徴とする請求項１〜４のうちいずれか１項に記載の認証局装置。
【請求項６】
さらに、
前記複数の秘密鍵の各々の強度を示す情報を記憶する第２記憶部と、
前記第１秘密鍵の生成の際に、該第１秘密鍵の強度が、前記第２秘密鍵の強度よりも高い場合に、前記第１秘密鍵を生成するように制御する鍵生成制御部と、
を備えることを特徴とする請求項１〜５のうちいずれか１項に記載の認証局装置。
【請求項７】
さらに、
前記複数の失効リストの各々の出力先を示す出力先情報を記憶する第３記憶部と、
前記複数の失効リストのうちの何れかの失効リストである第１失効リストの出力先を示す第１出力先を含む設定要求を受信すると、受信した該設定要求に含まれる該第１出力先が、該第１失効リストとは異なる世代の失効リストの前記出力先情報が示す出力先と異なる場合、前記第１失効リストの出力先を第１出力先に設定する、失効リスト出力先設定部
を備えることを特徴とする請求項１〜６のうちいずれか１項に記載の認証局装置。
【請求項８】
コンピュータに、
発行指示を取得した場合、世代に応じてセキュリティ強度が異なる複数の世代の暗号方式のそれぞれに対応した複数の秘密鍵のうち、最も暗号強度が高い前記世代の暗号方式に対応する秘密鍵を用いて公開鍵証明書の発行を行うように制御する
処理を実行されることを特徴とする認証局プログラム。
【請求項９】
発行指示を取得した場合、世代に応じてセキュリティ強度が異なる複数の世代の暗号方式のそれぞれに対応した複数の秘密鍵のうち、最も暗号強度が高い前記世代の暗号方式に対応する秘密鍵を用いて公開鍵証明書の発行を行うように制御する
ことを特徴とする認証局運用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証技術に関する。
【背景技術】
【０００２】
ＰＫＩ（public key infrastructure）では、コンピュータの性能向上や暗号解析技術の研究成果に伴い、絶えず、十分な強度のある暗号技術に変更していくことで、デジタル証明書（公開鍵証明書）や証明書失効リストの安全性を確保している。
【０００３】
デジタル証明書（以下、証明書と記す）は、公開鍵の流通手段の一つであり、公開鍵が本人のものであることを証明する証明書である。証明書は認証局により発行され、公開鍵、その公開鍵に対する秘密鍵の所有者の同定情報、及び認証局の電子署名を含む。電子署名は証明書の正当性を保証するために付与される署名情報であり、例えば認証局により以下のようにして生成される。すなわち認証局は、所定のハッシュ関数を用いて公開鍵のハッシュ値を生成し、生成したハッシュ値に対して認証局の秘密鍵を用いて暗号化することで電子署名を生成する。この電子署名により証明書の正当性を認証局が保証する。ここで、電子署名の生成で用いられるアルゴリズムを、以下の説明では署名アルゴリズムと記す。例えば署名アルゴリズムは、ハッシュ関数で使用されるハッシュアルゴリズムと、秘密鍵を用いた暗号化アルゴリズムとを組み合わせたものである。ハッシュアルゴリズムは、例えば、ＳＨＡ（Secure Hash Algorithm）−１、ＳＨＡ２５６、ＭＤ５（Message Digest Algorithm 5）等がある。また暗号化アルゴリズムは、例えば、ＲＳＡ（Rivest Shamir Adleman）やＥＣＤＳＡ（Elliptic Curve Digital Signature Algorithm）等がある。
【０００４】
証明書の中には、認証局の正当性を証明するための証明書もある。認証局に対する証明書は、認証局の公開鍵の正当性を、別の認証局（ルート認証局に対する証明書の場合は自ら）により保証するものである。以下の説明では、認証局を利用するエンドユーザ（利用者）の公開鍵の正当性を証明する証明書を利用者証明書と記し、認証局に対する証明書を認証局証明書と記す。尚、ルート認証局は、自分の正当性を自ら証明する認証局を指す。ルート認証局は自らを認証する証明書であるルート認証局証明書を発行する。中間認証局は、ルート認証局以外の認証局である。中間認証局は、自らの正当性を上位の認証局によって証明する。
【０００５】
証明書失効リスト（以下、失効リストと記す）は、証明書の有効期間内において、無効となった証明書のリストである。証明書の有効性判定を行う者は、失効リストを用いて受信した証明書の有効性のチェックを行う。失効リストは、認証局の電子署名を含み、失効リストの正当性を認証局が保証する。失効リストには、失効した証明書のシリアル番号、失効日時、失効理由などが含まれる。
【０００６】
失効リストは、掲載する失効情報毎に、ＣＲＬ（Certificate Revocation List）、ＡＲＬ（Authority Revocation List）、ＥＰＲＬ（End-entity Public-key Certificate Revocation List）の３つのタイプがある。ＣＲＬは、認証局で発行した全証明書の失効情報が含まれる失効リストであり、ＡＲＬとＥＰＲＬを併せたものである。ＡＲＬは、利用者証明書の失効情報を含まない認証局証明書だけの失効リストである。ＥＰＲＬは、認証局証明書の失効情報を含まない利用者証明書だけの失効リストである。
【０００７】
認証局の認証局秘密鍵の鍵長または署名アルゴリズムを新しい暗号化技術に対応するものに変更する場合、認証局での対応に加え、証明書の有効性判定（検証）処理を行うアプリケーション（ソフトウェア）での対応も必要になる。これは、証明書の検証においても、証明書の生成において使用された秘密鍵と署名アルゴリズムがＣＲＬに使用されているため、アプリケーションが新しい秘密鍵の鍵長または署名アルゴリズムに対応していない場合には、受信した証明書の検証をＣＲＬで確認できないからである。
【０００８】
そのため認証局秘密鍵の鍵長または署名アルゴリズムの移行時には、一例として、以下の順番で移行対応が行われる。先ず、移行の準備段階として、利用者を含むシステムのソフトウェアまたはハードウェアを新しい暗号化技術に対応したものに順次入れ替え、各サーバの共有資源や利用者環境の証明書などの従来の資産を新しい環境に移行していく。次に、移行段階として、利用者や各サーバの環境を、順次、新しい暗号化技術を使用するものに変更し、新旧両方の暗号化技術に対応するよう設定する。移行段階においては、認証局は新しい暗号化技術に対応した証明書及び失効リストの発行を開始し、この段階では新旧両方の暗号化技術が使用されることとなる。そして、移行の完了段階として、従来の暗号化技術の使用を停止する。すなわち、古い証明書を失効し、すべての製品から削除して、従来の暗号化技術を使用しないように設定を変更する。
【０００９】
移行段階では、旧世代の鍵を用いた証明書の運用と、新世代の鍵を用いた証明書の運用が混在する移行期間が発生する。大規模システムでは、短期の移行は困難であり、例えばＳＨＡ-１のように暗号化技術の劣化が緩やかで危険度の進行が遅い場合には、準備段階が完了する前に、移行段階が開始されることがある。このように準備段階が完了する前に移行段階が開始されることの一因としては、減価償却待ちや後継製品及び移行ツールの開発待ち等が優先されることにより、新旧証明書の交換が通常運用通りの有効期間満了時に行われることなどが挙げられる。
【００１０】
一方、複数の署名方式を適用したデジタル証明書を１つの認証局において発行可能とした第１の技術がある。
【００１１】
第１の技術におけるシステムは、デジタル証明書を利用するエンティティのデジタル証明書を発行する認証局と、管轄エンティティから受領するデジタル証明書発行要求を認証局に対して送信する登録局とを有する。認証局は、各々が異なる署名方式を実行する複数の署名モジュールを有する。そして認証局は、登録局からのデジタル証明書発行要求に応じて複数の署名モジュールから１つの署名モジュールを選択し、選択した署名モジュールにおいてデジタル証明書を構成するメッセージデータに対する電子署名を付与する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００２−２０７４２６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
移行期間においては、複数世代の各鍵単位に、対応する証明書の管理が生じるため、セキュリティリスクの増大につながる。これは、強度の劣化した古い世代の鍵を使用した証明書が発行されること等に因る。しかしながら上記第１の技術は、複数世代の秘密鍵を用いることによるセキュリティリスクの増大については考慮されていない。
【００１４】
そこで、１つの側面では、本発明は、複数世代の秘密鍵の各々が用いられる複数の暗号方式に対応した認証局装置において、セキュリティリスクを低減することを目的とする。
【課題を解決するための手段】
【００１５】
一態様による認証局装置は、秘密鍵保持部と発行制御部とを含む。秘密鍵保持部は、世代に応じて暗号強度が異なる複数の世代の暗号方式のそれぞれに対応した複数の秘密鍵を保持する。発行制御部は、発行指示を取得した場合、最も暗号強度が高い世代の暗号方式に対応する第１秘密鍵を用いて公開鍵証明書の発行を行うように制御する。
【発明の効果】
【００１６】
一態様によれば、複数世代の秘密鍵の各々が用いられる複数の暗号方式に対応した認証局装置において、セキュリティリスクを低減することができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態に係る認証局装置の一実施例の構成を図解した機能ブロック図である。
【図２】実施形態に係る認証システムの構成の一例を示す。
【図３】（Ａ）は認証局管理情報の構成の一例を示し、（Ｂ）は失効リストのタイプ毎の設定情報の一例を示す。
【図４】証明書管理情報の一例を示す。
【図５】失効リスト管理情報の一例を示す。
【図６】強度情報の一例を示す。
【図７】失効リストに記載する無効証明書のリストを集約しない場合において、Ｐｕｓｈ型の検証アプリケーションが、失効リストを参照するときの様子を示す図である。
【図８】失効リストに記載する無効証明書のリストを集約する場合において、Ｐｕｓｈ型の検証アプリケーションが、失効リストを参照するときの様子を示す図である。
【図９】失効リストに記載する無効証明書のリストを集約しない場合において、Ｐｕｌｌ型の検証アプリケーションが、失効リストを参照するときの様子を示す図である。
【図１０】失効リストに記載する無効証明書のリストを集約する場合において、Ｐｕｌｌ型の検証アプリケーションが、失効リストを参照するときの様子を示す図である。
【図１１】認証局管理者が失効リストの発行停止要求を入力する際に利用するアプリケーションの画面の一例である。
【図１２】認証局管理者が失効リストタイプ設定を入力する際に利用するアプリケーションの画面の一例である。
【図１３】認証局管理者が失効リストの検索要求を入力する際に利用するアプリケーションの画面の一例である。
【図１４】ルート認証局において、認証局証明書の発行処理の詳細を図解したフローチャートの一例である。
【図１５】ルート認証局において、認証局管理者が認証局証明書の発行指示を入力する際に利用するアプリケーションの画面の一例である。
【図１６】中間認証局において、認証局証明書の発行処理の詳細を図解したフローチャートの一例である。
【図１７】中間認証局において、認証局管理者が認証局証明書の発行指示を入力する際、または、中間認証局証明書を登録する際に利用するアプリケーションの画面の一例である。
【図１８】ケース１における利用者証明書発行処理の詳細を図解したフローチャートの一例である。
【図１９】ケース２及びケース３における、利用者証明書発行処理の詳細を図解したフローチャートの一例である。
【図２０】証明書の失効処理の詳細を図解したフローチャートの一例である。
【図２１】失効リスト発行処理の詳細を図解したフローチャート（前半）の一例である。
【図２２】失効リスト発行処理の詳細を図解したフローチャート（後半）の一例である。
【図２３】失効リストの出力先の重複回避制御処理の詳細を図解したフローチャートの一例である。
【図２４】実施形態に係る認証局装置のハードウェア構成の一例を示す。
【発明を実施するための形態】
【００１８】
実施形態においては、暗号方式とは、認証局が電子署名を生成する際に使用される、認証局秘密鍵、認証局秘密鍵の鍵長、署名アルゴリズム、のいずれか又は任意の組合せを指すものとする。すなわち、「暗号技術を変更する」とは、認証局秘密鍵を変更すること、認証局秘密鍵の鍵長を変更した上で認証局秘密鍵を変更すること、認証局の署名アルゴリズムを変更すること、のいずれかまたは所定の組合せを指すものとする。以下の説明においては、移行後の最新の暗号方式を最新の世代と記し、それよりも古い暗号方式をまとめて旧世代と記す場合がある。
【００１９】
暗号方式を変更する場合、認証局は、旧世代の認証局秘密鍵を新世代の認証局秘密鍵に更新、または、鍵長を延長した上での更新、または、署名アルゴリズムを変更した上で、認証局証明書の再発行を行う。このとき、旧世代の秘密鍵を認証局でそのまま使用可能な状態にしておくことは、セキュリティリスクとなる。これは、鍵の強度は経年劣化するため、強度の低下した旧世代の鍵を継続利用することはセキュリティリスクを回避できないためである。また、一つの認証局が複数の秘密鍵を使用して証明書や失効リストを発行すると、鍵単位に対応する証明書の管理が生じる。これは、同一認証局の複数運用と同じになってしまう。さらに、証明書の有効性の判定を行うアプリケーション（以下、検証アプリケーションと記す）にとっても証明書の有効性検証時に、認証パスの探索数が増えたり、通信量が増大することで、処理時間が大きくなる。
【００２０】
そこで実施形態にかかる認証局は、暗号方式を変更する場合、新世代の暗号方式の運用を開始したら、旧世代の暗号方式を用いた証明書（以下、旧世代の証明書と記す）の発行を停止する。これにより、強度の劣化した旧世代の鍵を用いて生成した証明書の発行が停止されるため、セキュリティリスクを低減できる。また、新たに旧世代の暗号方式を用いて生成する証明書の管理もなくなるため、セキュリティリスクを低減できるとともに、管理コストも削減できる。
【００２１】
ただし、認証局は移行期間が完了するまでの間、旧世代の暗号方式を用いて署名した失効リスト（以下、旧世代の失効リストと記す）の発行は継続する。これは、旧世代の暗号方式（旧世代の署名アルゴリズムと旧世代の認証局秘密鍵の鍵長）にのみ対応した検証アプリケーションは、新世代の暗号方式の失効リスト（以下、新世代の失効リストと記す）は利用できず、旧世代の失効リストしか利用することができないからである。すなわち実施形態の暗号方式では、旧世代の証明書の発行によるセキュリティリスクを低減しつつ、旧世代の検証アプリケーションを用いて、それまでに発行済みの旧世代の証明書の利用を継続することができる。
【００２２】
また実施形態にかかる認証局は、新世代の失効リストに、新世代の暗号方式を用いた証明書（以下、新世代の証明書と記す）の失効情報に加えて、旧世代の証明書の失効情報も集約して含ませる。これにより、新世代の検証アプリケーションは、新世代の証明書と旧世代の証明書の有効性検証のどちらにおいても、新世代の失効リストを参照すればよい。よって、証明書が旧世代の証明書か新世代の証明書かに応じて、参照する失効リストを変更する必要がなくなり、有効性の検証にかかる負荷を軽減することができる。
【００２３】
また、実施形態にかかる認証局は、複数世代の暗号方式を１つの認証局で管理することができるため、複数の認証局を並行して運用する場合と比べて、運用負荷やコストを削減できる。
【００２４】
また実施形態にかかる認証局は、コストの面で効率的である。複数の認証局を並行して運用する場合、旧世代の暗号方式を管理する認証局装置は、移行期間中にハードウェアまたはソフトウェアの保守切れを迎えるかもしれないし、または長期運用のため故障するかもしれない。旧世代の認証局装置は、移行期間が完了すれば使用しなくなるため、この認証局の装置に対して、例えば故障した場合に修理したり、故障に備えてシステムの更改等をしたりすることは、コストの面で非効率である。これに対し、実施形態の認証局は、移行期間完了後も継続して使用されるものであり、より効率的である。
【００２５】
また実施形態に係る認証局は、1つの認証局で、暗号技術の異なる複数の新旧失効リスを同時に発行できる。そのため、暗号技術の移行が完了するまで、旧世代の検証アプリケーションを用いた証明書の検証が可能になる。また、暗号技術の強度や認証局単位のセキュリティレベルに応じて、各世代の失効リストの発行可否を連携させることができる。
【００２６】
図１は、実施形態に係る認証局装置１０の一実施例の構成を図解した機能ブロック図である。図１において認証局装置１０は、秘密鍵保持部１、発行制御部２、失効リスト発行部３、第１記憶部４、失効処理部５、第２記憶部６、鍵生成制御部７、第３記憶部８、及び失効リスト出力設定部９を含む。
【００２７】
秘密鍵保持部１は、世代に応じて暗号強度が異なる複数の世代の暗号方式のそれぞれに対応した複数の秘密鍵を保持する。
【００２８】
発行制御部２は、発行指示を取得した場合、最も暗号強度が高い世代の暗号方式に対応する第１秘密鍵を用いて公開鍵証明書の発行を行うように制御する。
【００２９】
また発行制御部２は、複数の世代の暗号方式のうち最新の世代の暗号方式に対応する第１秘密鍵を用いて公開鍵証明書を発行し、第１秘密鍵とは異なる第２秘密鍵を用いた公開鍵証明書の発行を行わないように制御を行う。
【００３０】
失効リスト発行部３は、複数の秘密鍵のうちの何れかの秘密鍵を用いて発行された公開鍵証明書の失効情報を含む失効リストの発行を、当該何れかの秘密鍵を用いて行う。
【００３１】
また失効リスト発行部３は、取得した失効情報の発行の停止要求に応じて、第２の秘密鍵を用いて発行された公開鍵証明書の失効リストの発行を停止する。
【００３２】
また、最も暗号強度が高い世代の暗号方式を用いて生成された失効リストは、最も暗号強度が高い世代とは異なる世代の暗号方式を用いて発行された公開鍵証明書の失効情報を含む。
【００３３】
第１記憶部４は、暗号方式の世代を示す情報と、該世代を示す情報により示される世代の暗号方式を用いて生成した公開鍵証明書を対応付けた世代情報を記憶する。
【００３４】
失効処理部５は、認証局装置１０の正当性を保証するための公開鍵証明書である認証局証明書が失効した場合、世代情報に基いて、失効した認証局証明書の生成に用いられた暗号方式よりも、暗号強度が弱い暗号方式を用いて生成した認証局証明書を失効させる。
【００３５】
第２記憶部６は、複数の秘密鍵の各々の強度を示す情報を記憶する。
鍵生成制御部７は、第１秘密鍵の生成の際に、第１秘密鍵の強度が、第２秘密鍵の強度よりも高い場合に、第１秘密鍵を生成するように制御する。
【００３６】
第３記憶部８は、複数の失効リストの各々の出力先を示す出力先情報を記憶する。
失効リスト出力先設定部９は、複数の失効リストのうちの何れかの失効リストである第１失効リストの出力先を示す第１出力先を含む設定要求を受信すると、受信した設定要求に含まれる第１出力先が、第１失効リストとは異なる世代の失効リストの出力先情報が示す出力先と異なる場合、第１失効リストの出力先を第１出力先に設定する。
【００３７】
図２は、実施形態に係る認証システムの構成の一例を示す。図２において認証システムは、認証局装置１０、管理者端末１１、及び登録局装置１２を含む。認証局装置１０、管理者端末１１、及び登録局装置１２は例えば通信ネットワークを介して接続される。
【００３８】
管理者端末１１は、登録局装置１２に対して利用者証明書の発行要求を送信し、登録局装置１２から利用者証明書を受信する。また管理者端末１１は、直接利用者証明書の発行要求を認証局装置１０に送信し、認証局装置１０から利用者証明書を受信してもよい。尚、管理者端末１１は、利用者証明書の発行要求において、利用者証明書の発行申請書（CSR（Certificate Signing Request））を作成して、発行要求として送信してもよいし、発行申請書の作成を発行要求先の装置に依頼してもよい。また管理者端末１１は、公開鍵証明書の正当性を検証する際に、例えば検証アプリケーションを介して、認証局装置１０に対して失効リストの発行要求を行う。
【００３９】
登録局装置１２は、管理者端末１１から利用者証明書の発行要求を受信し、認証局装置１０に対して利用者証明書の発行要求を送信する。管理者端末１１からの利用者証明書の発行要求として発行申請書が送信されてきた場合には、登録局は、受信した発行申請書を認証局装置１０へ送信することによって、利用者証明書の発行を依頼する。また、管理者端末１１からの利用者証明書の発行要求に発行申請書が含まれていない場合には、登録局装置１２は、利用者が使用する秘密鍵と公開鍵のペアを生成し、利用者証明書の発行申請書(PKCS#10)を作成して、認証局装置１０へ送信する。その後、登録局装置１２は、認証局装置１０から利用者証明書を出力して、受信した利用者証明書(PKCS#7)のみか証明書と秘密鍵(PKCS#12形式)にて管理者端末１１へ送信する。
【００４０】
認証局装置１０は、公開鍵証明書の発行及び失効リストの発行を行う。
認証局装置１０は、記憶部２１、認証局証明書発行部２２、利用者証明書発行部２３、鍵管理部２４、失効リスト発行部２５、及び証明書失効部２６を含む。記憶部２１は、第１記憶部４、第２記憶部６、第３記憶部８の一例である。認証局証明書発行部２２、及び利用者証明書発行部２３は、発行制御部２の一例である。鍵管理部２４は、秘密鍵保持部１の一例である。失効リスト発行部２５は、失効リスト発行部３及び失効リスト出力設定部９の一例である。証明書失効部２６は、失効処理部５の一例である。認証局証明書発行部２２は、鍵生成制御部７の一例である。
【００４１】
記憶部２１は、認証局管理情報３１、証明書管理情報３２、失効リスト管理情報３３、及び強度情報３４を記憶する。
【００４２】
認証局管理情報３１は、認証局装置１０において発行された各認証局証明書と、認証局証明書に対応する暗号方式と、暗号方式を用いて発行した失効リストの情報を対応付けて記憶する情報である。
【００４３】
図３（Ａ）は、認証局管理情報３１の構成の一例を示す。認証局管理情報３１は、「項番」、「証明書管理情報での項番」、「認証局世代番号」、「秘密鍵の鍵長」、「署名アルゴリズム」、「鍵ペアの保管場所」、「失効リスト発行許可」、及び「失効リストタイプ設定」のデータ項目を対応付けて記憶する。
【００４４】
「項番」は、認証局管理情報３１の各レコードを管理するための管理番号である。「項番」の値は、レコードが追加される順に昇順で大きくなるものとする。認証局管理情報３１の各レコードは、認証局証明書の発行または更新時に逐次追加され、発行または更新された新しい証明書自体は、証明書管理情報３２で管理される。
【００４５】
「証明書管理情報での項番」は、証明書管理情報３２における「項番」を示す情報であり、証明書管理情報３２で管理される、各証明書に関する情報に対する紐付けを行う情報である。証明書管理情報３２には、証明書毎に、証明書のデータ、及び証明書の所有者や発行者などを示す管理情報が記憶される。証明書管理情報３２については後ほど詳しく説明する。尚、「証明書管理情報での項番」は、具体的には例えば、証明書が保管される保管場所（例えばＰＫＣＳ＃１１におけるトークン）へのポインタを示す情報であってもよい。
【００４６】
「認証局世代番号」は、認証局の認証局世代番号を示す情報である。認証局世代番号は、認証局証明書の発行または更新時に、認証局管理者によって認証局世代番号を更新すると指定された場合もしくは、鍵長が変更された秘密鍵または新たな署名アルゴリズムを用いて認証局証明書が発行された場合に新しく割り振られる番号である。
【００４７】
「秘密鍵の鍵長」は、認証局証明書に対応する秘密鍵がとり得るパターンの数であり、例えば、秘密鍵のパターン数を２進数表現した際のビット長で表される。
【００４８】
「署名アルゴリズム」は、認証局証明書に対応する署名アルゴリズムを一意に識別するための識別情報である。署名アルゴリズムは前述したように、秘密鍵の暗号化アルゴリズムとハッシュアルゴリズムの組合せで表される。認証局証明書に対応する署名アルゴリズムとは、その認証局証明書の発行で使用された署名アルゴリズムを指す。
【００４９】
「鍵ペアの保管場所」は、認証局証明書に対応する公開鍵と秘密鍵のデータが記憶される記憶場所を示す情報である。具体的には例えば、秘密鍵のデータが格納される領域を示すアドレス（例えばＰＫＣＳ＃１１におけるトークン番号）へのポインタでもよい。認証局証明書に対応する秘密鍵とは、その認証局証明書の発行で使用された秘密鍵を指す。
【００５０】
「失効リスト発行許可」は、対応する「署名アルゴリズム」及び「鍵ペアの保管場所」に保管される秘密鍵を用いて署名された失効リストの発行を許可するか否かを示す情報である。「失効リスト発行許可」は、失効リストのタイプ毎に設定される。尚、失効リストのタイプとは前述したように、ＣＲＬ、ＡＲＬ、ＥＰＲＬの３つである。
【００５１】
「失効リストタイプ設定」は、対応する「署名アルゴリズム」及び「鍵ペアの保管場所」に保管される秘密鍵を用いて署名された失効リストのタイプ毎の詳細な設定情報である。
【００５２】
図３（Ｂ）は、失効リストのタイプ毎の設定情報の一例を示す。図３（Ｂ）において、「失効リストタイプ設定」の設定項目は、「更新時刻」、「更新間隔」、「更新時差」「最大サイズ」、「失効リスト出力先ディレクトリ」、「失効リスト出力先ファイル」のデータ項目を含む。「更新時刻」は失効リストの更新時刻を示す情報である。「更新間隔」は失効リストの更新間隔を示す情報である。「更新時差」は失効リストを更新してから実際に公開されるまでの時間差を示す情報である。「最大サイズ」は失効リストの最大サイズを示す情報である。「失効リスト出力先ディレクトリ」は失効リストの出力先のディレクトリ（フォルダ）を示す情報である。「失効リスト出力先ファイル」は失効リストの出力先のファイル名を示す情報である。
【００５３】
証明書管理情報３２は、証明書のデータと、証明書についての管理情報と、認証局世代番号を対応付けて記憶する情報である。ここで、証明書管理情報３２で管理される証明書には、認証局証明書と利用者証明書の両方が含まれる。
【００５４】
図４は、証明書管理情報３２の一例を示す。証明書管理情報３２は、「項番」、「シリアル番号」、「証明書タイプ」、「所有者」、「発行者」、「有効期間」、「発行日時」、「失効」、「証明書データ」、「認証局世代番号」、「失効日時」、及び「失効理由」のデータ項目を対応付けて記憶する。
【００５５】
「項番」は、証明書管理情報３２の各レコードを一意に識別するための管理番号である。「項番」の値は、レコードが追加される順に昇順で大きくなるものとする。証明書管理情報３２の各レコードは、証明書毎に対応付けて生成される。
【００５６】
「シリアル番号」は、証明書のシリアル番号であり、認証局装置１０における証明書の製造番号である。
【００５７】
「証明書タイプ」は、証明書のタイプを一意に識別するための識別情報である。証明書のタイプには、例えば、ルート認証局証明書、中間認証局証明書、及び利用者証明書がある。図４の例においては、「ルートＣＡ」はルート認証局証明書を示し、「標準」は利用者証明書を示している。尚、図示していないが、「中間ＣＡ」は中間認証局証明書を示すものとする。
【００５８】
「所有者」は、証明書の所有者を示す情報である。所有者を示す情報は例えば、国名、組織名、氏名、ＩＤ、メールアドレスの何れかの又は全てを含む識別情報である。尚、「証明書タイプ」がルート認証局証明書を示す情報である場合、「所有者」と「発行者」の情報は一致する。
【００５９】
「発行者」は、証明書を発行した認証局を示す情報である。証明書を発行した認証局を示す情報は例えば、国名、組織名、認証局名の何れかの又は全てを含む情報である。
【００６０】
「有効期間」は、証明書の有効期間を示す情報である。「有効期間」には、さらに「開始日」と「満了日」のデータ項目が含まれる。「開始日」は、証明書の有効期間の開始日時を示す情報である。「満了日」は、証明書の有効期間の満了日時を示す情報である。
【００６１】
「発行日時」は、証明書の発行日時を示す情報である。
「失効」は、証明書が失効しているか否かを示す情報である。図４の例においては、「false」は、証明書が失効されていないことを示し、「true」は、証明書が失効されていることを示す。
【００６２】
「証明書データ」は、証明書自体のデータである。
「認証局世代番号」は、証明書発行時の認証局装置１０の認証局世代番号を示す情報であり、認証局管理情報３１の「認証局世代番号」に対応する情報である。この「認証局世代番号」により、証明書は、「認証局世代番号」の認証局証明書に対応する「署名アルゴリズム」及び「秘密鍵の鍵長」の秘密鍵を用いて、発行されたことが示される。
【００６３】
「失効日時」は、証明書が失効した日時を示す情報である。図４の例においては、証明書が失効していない場合には（「失効」が「false」）、「失効日時」には「−」が格納され、証明書が失効している場合には（「失効」が「true」）、「失効日時」には、失効した日時が格納されている。
【００６４】
「失効理由」は、証明書が失効した理由を示す情報である。図４の例においては、証明書が失効していない場合には（「失効」が「false」）、「失効理由」には「−」が格納され、証明書が失効している場合には（「失効」が「true」）、「失効理由」には、失効理由が格納されている。
【００６５】
尚、「シリアル番号」、「証明書タイプ」、「所有者」、「発行者」、「有効期間」、「発行日時」、「失効」、「証明書データ」、「認証局世代番号」、「失効日時」、及び「失効理由」の各値は、対応する「項番」に対応付けられた証明書に関する情報である。また、「シリアル番号」、「所有者」、「発行者」、「有効期間」は、同様の情報が証明書自体にも記憶される。
【００６６】
失効リスト管理情報３３は、失効リストのデータと、失効リストについての管理情報と、認証局世代番号を対応付けて記憶する情報である。
【００６７】
図５は、失効リスト管理情報３３の一例を示す。図５において、失効リスト管理情報３３は、「項番」、「シリアル番号」、「失効リストタイプ」、「発行者」、「更新日時」、「次回更新日時」、「発行日時」、「認証局世代番号」、及び「失効リストデータ」のデータ項目を対応付けて記憶する。
【００６８】
「項番」は、失効リスト管理情報３３の各レコードを一意に識別するための管理番号である。「項番」の値は、レコードが追加される順に昇順で大きくなるものとする。失効リスト管理情報３３の各レコードは、失効リスト毎に対応付けて生成される。
【００６９】
「シリアル番号」は、失効リストのシリアル番号であり、認証局における失効リストの製造番号である。
【００７０】
「失効リストタイプ」は、失効リストのタイプを一意に識別するための識別情報である。失効リストのタイプは、前述したように、ＣＲＬ、ＡＲＬ、ＥＰＲＬの３つである。
【００７１】
「発行者」は、失効リストを発行した認証局を示す情報である。失効リストを発行した認証局を示す情報は例えば、国名、組織名、認証局名の何れかの又は全てを含む識別情報である。
【００７２】
「更新日時」は、失効リストが更新された日時を示す情報である。
「次回更新日時」は、失効リストが次回更新される日時を示す情報である。
「発行日時」は、失効リストが発行された日時を示す情報である。
【００７３】
「認証局世代番号」は、失効リストを発行した認証局の認証局世代番号を示す情報であり、認証局管理情報３１の「認証局世代番号」に対応する情報である。この「認証局世代番号」により、失効リストは、「認証局世代番号」の認証局証明書に対応する「署名アルゴリズム」及び「秘密鍵の鍵長」の秘密鍵を用いて、発行されたことが示される。
【００７４】
「失効リストデータ」は、失効リスト自体のデータである。
尚、「シリアル番号」、「失効リストタイプ」、「発行者」、「更新日時」、「次回更新日時」、「発行日時」、「認証局世代番号」、及び「失効リストデータ」の各値は、対応する「項番」に対応付けられた失効リストに関する情報である。
【００７５】
強度情報３４は、署名アルゴリズムと、署名アルゴリズムの強度を示す情報とを対応付けて記憶する。図６は、強度情報３４の一例を示す。図６において強度情報３４は、「署名アルゴリズム」、及び「強度」のデータ項目を対応付けて記憶する。
【００７６】
「署名アルゴリズム」は、署名アルゴリズムを識別するための識別情報である。
「強度」は、対応する「署名アルゴリズム」で示される暗号化アルゴリズムの強度を示す情報である。図６の例では、「強度」の値が大きいほど強度が強いことを示している。
【００７７】
以下の説明においては、最新の認証局証明書に対応する秘密鍵を新鍵と記し、新鍵以外の秘密鍵を旧鍵と記す。尚、認証局管理者からの指示や情報は、例えば、所定の入出力装置を介して取得するものとする。
【００７８】
認証局証明書発行部２２は、認証局証明書の発行に関する制御を行う。すなわち、認証局管理者から認証局証明書の新規発行指示を受信すると、認証局証明書発行部２２は先ず、新規に発行する認証局証明書に適用する認証局秘密鍵と、その秘密鍵に対応する公開鍵の生成制御を行う。次に認証局証明書発行部２２は、認証局証明書の発行処理を行う。そして認証局証明書発行部２２は、発行した認証局証明書に関する情報と、新しい鍵ペアを生成した場合には生成した鍵ペアに関する情報を記録する記録処理を行う。
【００７９】
鍵ペアの生成制御において認証局証明書発行部２２は、認証局管理者から認証局証明書の発行指示に新しい鍵ペアの生成指示が含まれる場合には、新しい鍵ペアの生成指示を鍵管理部２４へ送信する。このとき認証局証明書発行部２２は、生成される新しい鍵ペアの強度が旧鍵以上となるように制御する。具体的には、認証局証明書発行部２２は、新しい鍵ペアの生成指示を行う前に、認証局管理情報３１を参照して、発行指示において指定された署名アルゴリズムと直近に生成された認証局証明書の署名アルゴリズムの強度を比較する。それとともに、認証局証明書発行部２２は、認証局管理情報３１を参照して、発行指示において指定された秘密鍵の鍵長と直近に生成された認証局証明書に対応する秘密鍵の鍵長とを比較する。そして認証局証明書発行部２２は、発行指示において指定された署名アルゴリズムの強度及び鍵長が、直近に生成された認証局証明書の署名アルゴリズムの強度及び鍵長以上であると判定した場合に、新鍵の生成指示を送信する。これにより、認証局証明書発行部２２は、新鍵の暗号化アルゴリズムが旧鍵の強度以上であり、新鍵の鍵長が旧鍵の鍵長以上となるように新鍵の生成の制御を行うことができる。
【００８０】
新鍵の発行指示には、認証局管理者から指定された署名アルゴリズム及び秘密鍵の鍵長に関する情報が含まれる。署名アルゴリズムに関する情報には、例えば、認証局証明書の発行で使用される署名アルゴリズムの名称（識別情報）が含まれる。
【００８１】
新鍵と旧鍵の強度の比較において先ず、認証局管理者から指定された署名アルゴリズム及び新鍵の鍵長の情報を取得すると、認証局証明書発行部２２は、認証局管理情報３１を参照して、直近に発行された認証局証明書の署名アルゴリズム及び秘密鍵の鍵長を確認する。例えば認証局証明書発行部２２は、認証局管理情報３１の「証明書タイプ」がルートCAの中で「項番」の値が最も大きいレコードの「秘密鍵の鍵長」及び「署名アルゴリズム」カラムを参照して、直近に生成された認証局証明書に対応する秘密鍵の鍵長及び署名アルゴリズムを認識する。
【００８２】
次に認証局証明書発行部２２は、発行指示において指定された署名アルゴリズムの強度と、直近に生成された認証局証明書に対応する署名アルゴリズムの強度と強度情報３４を参照して確認する。そして認証局証明書発行部２２は、発行指示において指定された署名アルゴリズムの強度及び秘密鍵の鍵長と、直近に発行された認証局証明書の署名アルゴリズムの強度及び秘密鍵の鍵長を比較する。
【００８３】
発行指示において指定された署名アルゴリズムの強度及び秘密鍵の鍵長が、直近に発行された認証局証明書の署名アルゴリズムの強度及び秘密鍵の鍵長以上であると判定したら、認証局証明書発行部２２は、以下の処理を行う。すなわち認証局証明書発行部２２は、発行指示において指定された鍵長で新しい鍵ペアを生成するように、鍵管理部２４に指示する。この鍵ペアの生成指示には鍵長を指定する情報と、鍵の生成方法である公開鍵アルゴリズム(RSA等)を指定する情報が含まれる。
【００８４】
その後、鍵ペアの生成指示の応答として認証局証明書発行部２２は、鍵ペア生成が完了したことを示す情報と、生成された鍵ペアの格納場所（トークン）を示す情報(トークン番号)とを受信する。
【００８５】
一方、発行指示において指定された署名アルゴリズムの強度及び秘密鍵の鍵長が、直近に発行された認証局証明書の署名アルゴリズムの強度及び秘密鍵の鍵長未満であると判定すると、認証局証明書発行部２２は新鍵の生成指示を行わない。その場合、鍵の強度不足のため鍵の生成ができない旨を所定の出力装置に表示する等の、所定のエラー処理が行行われる。
【００８６】
認証局証明書の発行制御においては、処理を実行する認証局がルート認証局か中間認証局かに応じて処理が異なる。
【００８７】
ルート認証局の場合は、認証局証明書発行部２２は認証局管理者から新しい鍵ペアの生成を指示された場合には、鍵管理部２４に新しい鍵ペアの生成指示を行い、その応答を鍵管理部２４から受信した後に、新しく生成された公開鍵を含めた認証局証明書を作成する。そして再度、鍵管理部２４に新たに生成された秘密鍵を用いて、認証局管理者に指定された署名アルゴリズムにて電子署名を付与するように指示することで、認証局証明書発行部２２は認証局証明書を発行する。
【００８８】
一方、新しい鍵ペア生成の指示がなかった場合には、認証局証明書発行部２２は、認証局管理情報３１を参照して、直近に発行された最新の認証局証明書を特定して、その「鍵ペアの保管場所」に格納された認証局公開鍵を鍵管理部２４から取得して、認証局証明書を作成する。そして鍵管理部２４へ認証局管理者が指定した署名アルゴリズムで認証局証明書に電子署名を付与するように指示する。具体的には認証局証明書発行部２２は、認証局管理情報３１の「証明書タイプ」がルートCAの中で「項番」が最も大きいエントリを選択し、選択したエントリの「署名アルゴリズム」及び「鍵ペアの保管場所」カラムの値を取得する。そして、認証局証明書発行部２２は、取得した「署名アルゴリズム」及び「鍵ペアの保管場所」の値、「鍵ペアの保管場所」から取り出した認証局公開鍵、ならびに認証局を識別する情報を含ませて認証局証明書を作成し、その署名指示を鍵管理部２４へ送信する。尚、署名指示に含ませる認証局公開鍵は、最新の認証局証明書に対応する認証局秘密鍵のペアの認証局公開鍵である。
【００８９】
このように、認証局証明書の発行において使用される認証局秘密鍵を直近で生成された秘密鍵となるように制御することで、旧鍵を用いて認証局証明書の発行が行われないように制御することができる。また、認証局証明書の発行(電子署名)において使用される署名アルゴリズムを最新の認証局証明書に対応する署名アルゴリズムとすることで、暗号強度の最も高い署名アルゴリズムを用いて認証局証明書が発行されるように制御することができる。これにより、旧世代の暗号技術を用いた認証局証明書の発行が行われないため、セキュリティリスクの低減を図ることができる。
【００９０】
認証局証明書の署名指示を送信したら、その応答として、認証局証明書発行部２２は、鍵管理部２４から認証局証明書を受信する。
【００９１】
一方、中間認証局の場合は、認証局証明書発行部２２は、認証局証明書の発行指示（発行要求）を上位の認証局へファイル経由で依頼する。認証局証明書発行部２２は、認証局管理者から新しい鍵ペアの生成を指示された場合には、鍵ペア生成指示の応答を鍵管理部２４から受信した後に、鍵管理部２４から新たに作成した認証局公開鍵を取得して、この認証局公開鍵を包含した認証局証明書の発行申請書を作成し、上位の認証局へ発行申請を行う。尚、上位の認証局へ依頼する発行指示は、具体的には、認証局証明書発行部２２が作成した認証局証明書の発行申請書ファイルを上位認証局に読み込ませる形で行われる。発行申請書には、認証局証明書の識別情報や認証局公開鍵等が含まれる。一方、新しい鍵ペアの生成の指示がなかった場合には、認証局証明書発行部２２は、認証局管理情報３１の「証明書タイプ」が中間CAで「項番」が最も大きいエントリである認証局証明書の「鍵ペアの保管場所(トークン番号)」に格納される認証局公開鍵を鍵管理部２４から取得して、認証局証明書の発行申請書を作成する。そして上位の認証局に証明書発行申請書をファイル提供する。そして上位の認証局で中間認証局証明書が発行されたら、認証局証明書発行部２２に、その認証局証明書をファイル入力にて受領する。
【００９２】
記録処理において、先ず、認証局証明書発行部２２は、新規に発行された認証局証明書に対して、認証局世代番号を割り当てる。認証局世代番号は、新規に発行された認証局証明書に対応する署名アルゴリズムが、それ以前（直近）に発行されていた認証局証明書に対応する署名アルゴリズムから変更される場合、または認証局世代番号は、新規に発行された認証局証明書に対応する秘密鍵の鍵長が、それ以前（直近）に発行されていた認証局証明書に対応する秘密鍵の鍵長から変更される場合にインクリメントされる。このようにすると、新規に発行される認証局証明書に割り当てられる認証局世代番号は、直近に発行済みの認証局証明書の認証局世代番号と等しいか１だけ大きくなる。また、新（強度の高い）署名アルゴリズム又は新（鍵長の長い）秘密鍵に対応する認証局証明書の認証局世代番号は、旧（強度の低い）署名アルゴリズム又は旧（鍵長の短い）秘密鍵に対応する認証局証明書の認証局世代番号よりも大きくなる。このように署名アルゴリズムまたは秘密鍵の鍵長が変化した場合には認証局世代番号を変更して認証局証明書に割り当てることで、後ほど説明する失効リストに記載する情報の集約を、失効リストの発行で使用される暗号技術毎に制御することができる。尚、認証局世代番号をインクリメントするか否かは、認証局証明書を発行する際に、認証局管理者により指示されてもよい。
【００９３】
認証局世代番号を割り当てると、認証局証明書発行部２２は、新規に発行された認証局証明書と、その認証局証明書に割り当てられた認証局世代番号とを対応付けた情報を、認証局管理情報３１に記録する。また認証局証明書発行部２２は、新規に発行された認証局証明書を、その認証局証明書に割り当てられた認証局世代番号と対応付けて、証明書管理情報３２に記録する。さらに認証局証明書発行部２２は、新規に発行された認証局証明書と、その認証局証明書に対応する秘密鍵を対応付けた情報を、認証局管理情報３１に記録する。また、認証局証明書発行部２２は、新鍵を生成した場合には、生成した認証局秘密鍵に対応する公開鍵を所定の記憶領域に保管する。
【００９４】
具体的には、認証局証明書発行部２２は、証明書管理情報３２に新しいエントリを追加して、そのエントリの各データ項目に新規に発行された認証局証明書に関する情報を格納する。このとき、証明書管理情報３２の「認証局世代番号」には、認証局証明書に割り当てられた認証局世代番号が格納される。
【００９５】
また、認証局証明書発行部２２は、認証局管理情報３１に新しいエントリを追加して、そのエントリの各データ項目に新規に発行された認証局証明書及び認証局証明書の秘密鍵に関する情報を格納する。具体的には、認証局証明書発行部２２は、認証局管理情報３１に新しいエントリを追加し、そのエントリの「項番」、「証明書管理情報での項番」、「認証局世代番号」、「秘密鍵の鍵長」、「署名アルゴリズム」、「鍵ペアの保管場所」にそれぞれ値を格納する。このとき、認証局証明書発行部２２は、それまでに発行済みの認証局証明書に関する情報が格納されたエントリの情報の削除は行わない。尚、認証局管理情報３１の証明書管理情報での「項番」には、証明書管理情報３２において、新規に発行された認証局証明書に関する情報を格納したエントリの項番が格納される。また認証局管理情報３１のエントリの削除は禁止されている。このように、新規に発行された認証局証明書に関する情報を、認証局管理情報３１に追加していくことにより、各認証局証明書を管理でき、過去に発行された認証局証明書の情報を保持し続けることができる。認証局管理情報３１には、認証局証明書に対応する秘密鍵の格納場所の情報が含まれるため、新鍵の生成後も、旧鍵へアクセスするためのインターフェースを保持し続けることができる。
【００９６】
利用者証明書発行部２３は、利用者証明書の発行要求を受信すると、発行要求に応じて利用者証明書の署名指示を鍵管理部２４へ送信する。利用者証明書の発行要求は、認証局管理者から直接行われる場合と、登録局を介して認証局操作員から行われる場合がある。さらに、利用者証明書の発行の要求の形態としては、例えば、認証局で証明書発行申請書（ＰＫＣＳ＃１０）を作成する形態と、利用者から証明書発行申請書を受信する形態がある。証明書発行申請書は、公開鍵証明書の発行を要求するために認証局に送付するメッセージであり、利用者を識別する情報と利用者の公開鍵を含む。
【００９７】
先ず、登録局を介さずに認証局管理者から直接利用者証明書の発行要求を受信する場合である認証局で発行申請書を作成する形態（ケース１）を説明する。この場合、利用者証明書発行部２３は先ず、利用者証明書の発行要求を受信すると、利用者が使用するための秘密鍵と公開鍵の鍵ペアを生成する。次に利用者証明書発行部２３は、生成した公開鍵と利用者の識別情報を含む発行申請書を生成する。そして利用者証明書発行部２３は、最新の認証局証明書に対応する署名アルゴリズムを用いて利用者証明書の発行を行うように鍵管理部２４へ指示する。
【００９８】
鍵管理部２４への利用者証明書の発行の指示において、利用者証明書発行部２３は具体的には、認証局管理情報３１を参照して、最新の認証局証明書に対応する署名アルゴリズム及び秘密鍵を特定する。すなわち利用者証明書発行部２３は、認証局管理情報３１の「証明書タイプ」がルートCAで「項番」が最も大きいエントリを選択し、選択したエントリの「署名アルゴリズム」及び「鍵ペアの保管場所」カラムの値を取得する。そして、利用者証明書発行部２３は、取得した「署名アルゴリズム」及び「鍵ペアの保管場所」の値、利用者の公開鍵、ならびに、利用者を識別する情報を、利用者証明書の発行指示に含ませて、その発行指示を鍵管理部２４へ送信する。
【００９９】
このように、利用者証明書の発行において使用される暗号技術を直近で生成された認証局証明書に対応する署名アルゴリズム及び秘密鍵となるように制御することで、旧世代の秘密鍵を用いて利用者証明書の発行が行われないように制御することができる。これにより、旧世代の署名アルゴリズムまたは秘密鍵を用いた利用者証明書の発行が行われないため、セキュリティリスクの低減を図ることができる。
【０１００】
その後、利用者証明書の発行指示を受信した鍵管理部２４は、指示された保管場所に保管されている秘密鍵を用いて、指示された署名アルゴリズムで利用者証明書に電子署名を付与し、利用者証明書の発行を行う。すると鍵管理部２４は、発行した利用者証明書を、利用者証明書発行部２３へ送信する。
【０１０１】
鍵管理部２４から利用者証明書を受信すると、利用者証明書発行部２３は、証明書管理情報３２に、発行された利用者証明書に関する情報を追加する。すなわち利用者証明書発行部２３は、証明書管理情報３２に新しいエントリを追加して、そのエントリの各データ項目に新規に発行された利用者証明書に関する情報を格納する。尚このとき、証明書管理情報３２の「認証局世代番号」には、その利用者証明書の発行時点において最新の認証局証明書に割り当てられた認証局世代番号が格納される。
【０１０２】
そして利用者証明書発行部２３は、発行された利用者証明書、及び、利用者証明書に対応する秘密鍵のペアを、PKCS#12形式のファイルに集約し、認証局管理者はファイル保存できるようになる。
【０１０３】
次に、登録局を介さずに認証局管理者が利用者から直接利用者証明書の発行申請書(PKCS#10)を受領する形態（ケース２）を説明する。この場合は、利用者証明書発行部２３は、認証局管理者はから受領した利用者証明書の発行申請書を受信する。すると利用者証明書発行部２３は、発行申請書を読み込み、利用者を識別する情報と、利用者の公開鍵を取得する。そして利用者証明書発行部２３は、ケース１と同様にして、最新の認証局証明書に対応する署名アルゴリズム及び秘密鍵を用いて利用者証明書の発行を行うように鍵管理部２４へ指示する。鍵管理部２４と利用者証明書発行部２３での処理はケース１と同様であるが、このパターンでは秘密鍵は認証局内で生成していないので、認証局管理者は利用者証明書だけファイル保存できるようになる。尚、発行申請書(PKCS#10)は、ネットワーク機器などで作成されたサーバ証明書の発行申請書であってもよい。
【０１０４】
次に、登録局を介して登録局操作員から利用者証明書の発行要求を受信する場合（ケース３）について説明する。登録局を介して利用者証明書の発行要求を受信する場合の利用者証明書発行部２３の処理は、ケース２において受信する発行申請書の送信元が認証局管理者でなく登録局であり、利用者証明書発行部２３が発行処理した利用者証明書を登録局へ送信すること以外は同じである。
【０１０５】
尚、実施形態において利用者証明書は、サーバの正当性を証明するためのサーバ証明書も含むものとする。
【０１０６】
鍵管理部２４は、新しい鍵ペア(公開鍵と秘密鍵)を生成し、生成した認証局秘密鍵を秘密鍵保管場所で保持する。また鍵管理部２４は、認証局秘密鍵を用いた種々の処理を行う。
【０１０７】
認証局秘密鍵の生成において、鍵管理部２４は、新しい鍵ペアの生成の指示を、認証局証明書発行部２２から受信する。新しい鍵ペアの生成の指示には、生成する鍵の暗号アルゴリズム(RSA)及び鍵長が含まれる。すると鍵管理部２４は、指示された暗号アルゴリズム及び鍵長の公開鍵と秘密鍵を生成し、生成した鍵を所定の保管場所に保管する。そして鍵管理部２４は、鍵ペアの生成が完了したことを示す情報と、生成した公開鍵と秘密鍵の保管場所を示す情報を含む情報を、認証局証明書発行部２２へ送信する。尚、鍵ペアの保管場所は、認証局証明書発行部２２により指定されてもよく、鍵管理部２４は、指定された保管場所に、生成した鍵ペアを保管してもよい。
【０１０８】
また鍵管理部２４は、鍵ペアを用いて、認証局証明書、利用者証明書、及び失効リストの発行を行う。認証局証明書の発行においては、具体的には鍵管理部２４は、認証局証明書の発行の指示を、認証局証明書発行部２２から受信する。発行の指示には、鍵ペアの保管場所、暗号アルゴリズムを示す情報、認証局を識別（同定）する情報、及び認証局公開鍵、が含まれる。この発行指示を受信すると鍵管理部２４は、指示された保管場所に保管された秘密鍵を用いて、指示された署名アルゴリズムで、認証局の公開鍵と認証局を識別する情報に電子署名を付与し、認証局証明書を発行する。
【０１０９】
利用者証明書の発行においては、鍵管理部２４は、利用者証明書の発行の指示を利用者証明書発行部２３から受信する。発行の指示には、認証局の鍵ペアの保管場所、署名アルゴリズムを示す情報、利用者を識別（同定）する情報、及び利用者の公開鍵が含まれる。この発行指示を受信すると鍵管理部２４は、指示された保管場所に保管された秘密鍵を用いて、指示された署名アルゴリズムで、利用者の公開鍵と利用者を識別する情報に電子署名を付与することで、利用者証明書を発行する。尚、利用者証明書の発行の指示において、証明書の発行に使用される鍵として指定される認証局秘密鍵は、最新の認証局証明書に対応する秘密鍵となる。
【０１１０】
失効リストの発行においては、鍵管理部２４は、失効リストの発行指示を失効リスト発行部２５から受信する。発行の指示には、失効リストに記載する情報、失効リストに付与する電子署名の生成に使用される署名アルゴリズムを示す情報及び鍵ペアの保管場所を示す情報が含まれる。ここで失効リストに記載する情報は、無効証明書のリスト、及び認証局管理者から指定された各種情報を含むものである。この失効リストの発行指示を受信すると鍵管理部２４は、指示された保管場所に保管された認証局秘密鍵を用いて、指示された署名アルゴリズムで、電子署名を生成して、失効リストに付与する。この失効リストを、鍵管理部２４は、失効リスト発行部２５へ送信する。
【０１１１】
失効リスト発行部２５は、各世代の認証局証明書に対応する署名アルゴリズム及び認証局秘密鍵を使用して、各世代に対応する失効リストを発行する制御を行う。すなわち失効リストはそれぞれ、認証局証明書の各世代に対応し、失効リストが有する認証局の電子署名は、その失効リストが対応する世代の認証局証明書に対応する署名アルゴリズム及び認証局秘密鍵を使用して生成される。例えば世代Ａに対応する失効リストが有する認証局の電子署名は、世代Ａの認証局証明書に対応する署名アルゴリズム及び認証局秘密鍵を用いて生成されたものとなる。尚、一つの世代の認証局証明書に対応する秘密鍵は複数存在する可能性があるが、その場合は各世代の認証局証明書に対応する秘密鍵のうち、最新の秘密鍵が用いられるものとする。尚、一つの世代の認証局証明書に対応する秘密鍵の鍵長はすべて同じである。
【０１１２】
ここで、証明書の検証を行う検証アプリケーションは、失効リストに付与される電子署名の有効性を判定する際に、その電子署名の生成で使用された秘密鍵の鍵長及び署名アルゴリズムに対応していないと有効性の判定ができない。実施形態では、認証局証明書の各世代は、秘密鍵の鍵長または署名アルゴリズムが更新される毎にインクリメントされるように制御されている。よって、このような各世代に対応する失効リストをそれぞれ同時に発行することにより、検証アプリケーションが検証可能な段階に応じた失効リストの発行制御が可能となる。その結果、旧世代の検証アプリケーションを用いて、それまでに発行済みの旧世代の証明書の利用を継続することができる。
【０１１３】
失効リストの発行において、失効リスト発行部２５は、各世代に対応する失効リストに載せる無効証明書のリストの集約制御を行う。すなわち各世代に対応する失効リストに記載される無効証明書のリストは、失効リストの世代と等しい世代、及び、失効リストの世代よりも以前の世代の証明書のうちの無効となっている証明書のリストとなるように、失効リスト発行部２５は制御する。このように失効リストの世代以前の証明書の失効情報を集約して、失効リストに記載することで、証明書の有効性の検証において、証明書の検証アプリケーションが参照する失効リストの数を削減することができる。
【０１１４】
ここで、失効リストに記載する無効証明書のリストを集約する場合と、集約を行わずに、世代毎の無効証明書のリストを失効リストに記載する場合を比較して、実施形態の有効性を説明する。証明書の有効性を検証する検証アプリケーションが、失効リストを参照する形態には、Ｐｕｓｈ型とＰｕｌｌ型の２つの形態がある。先ず、図７及び図８を参照して、Ｐｕｓｈ型において、失効リストに記載する無効証明書のリストを集約する場合とそうでない場合の比較を行う。
【０１１５】
図７は、失効リストに記載する無効証明書のリストを集約しない場合において、各世代に対応する証明書の有効性を検証するＰｕｓｈ型の検証アプリケーションが、失効リストを参照するときの様子を示す図である。Ｐｕｓｈ型の場合、検証アプリケーションは、失効リスト配布サイトから定期的に配信される失効リストを受信する。この場合、新証明書利用アプリケーションは、旧々証明書の失効情報、旧証明書の失効情報、新証明書の失効情報の各々が記載された３つの失効リストを受信して、各世代の証明書の検証を行っている。
【０１１６】
図８は、失効リストに記載する無効証明書のリストを集約する場合において、各世代に対応する証明書の有効性を検証するＰｕｓｈ型の検証アプリケーションが、失効リストを参照するときの様子を示す図である。この場合、新証明書利用アプリケーションは、新証明書以前の失効情報が集約された１つの失効リストのみを受信して、各世代の証明書の検証を行っている。これは、新証明書以前の失効情報には、旧証明書及び旧々証明書の失効情報が記載されているため、新証明書以前の失効情報を参照すれば、旧証明書及び旧々証明書の検証が可能となるからである。よって、実施形態のように失効情報を集約することにより、検証アプリケーションの負荷、及び検証における通信量を削減することができる。
【０１１７】
次に、図９及び図１０を参照して、Ｐｕｌｌ型において、失効リストに記載する無効証明書のリストを集約する場合とそうでない場合の比較を行う。
【０１１８】
図９は、失効リストに記載する無効証明書のリストを集約しない場合において、各世代に対応する証明書の有効性を検証するＰｕｌｌ型の検証アプリケーションが、失効リストを参照するときの様子を示す図である。Ｐｕｌｌ型の場合、検証アプリケーションは、検証対象となる証明書のCRL配付点に記載されている失効リスト配布サイトに対して、逐次、失効リストを取得しにいく。この場合、新証明書利用アプリケーションは、旧々証明書や旧証明書、新証明書の何れか1つに対応する失効リストを取得しに行き、各世代の証明書の検証を行っている。
【０１１９】
図１０は、失効リストに記載する無効証明書のリストを集約する場合において、各世代に対応する証明書の有効性を検証するＰｕｌｌ型の検証アプリケーションが、失効リストを参照するときの様子を示す図である。この場合も、図９と同様に、新証明書利用アプリケーションは、検証対象となる証明書のCRL配付点に記載されている失効リスト配付サイトに対して、逐次、失効リストを取得しに行き、各世代の証明書の検証を行っている。これは、失効リストの取得先は証明書に記載されたCRL配付点に依存しているため、検証のために使用する失効リストの数は、図９と比較して変わらないからである。この場合は、旧々または旧証明書利用アプリの運用が終わるまで、各世代の失効リスト配付サイトに各世代の失効リストを公開する。ただし、旧々または旧証明書利用アプリケーションの運用が終われば、旧々又は旧世代の失効リストの配付サイトに、上位世代の失効リストで代替できる。
【０１２０】
以上説明したように、失効リストに記載する無効証明書のリストを集約することで、有効性の検証にかかる負荷を軽減することができる。
【０１２１】
また失効リスト発行部２５は、移行が完了するなどして、認証局管理者から所定の世代に対応する失効リストの発行の停止要求を受信すると、停止要求のあった世代の失効リストの発行を停止する制御を行う。このようにすることで、たとえば、旧世代の証明書検証アプリケーションの運用が終了した場合に、運用が終了した世代の失効リストの発行の停止を行うことができる。
【０１２２】
さらに失効リスト発行部２５は、失効リストの発行を可能にするか否かを世代毎に制御する。すなわち失効リスト発行部２５は、世代単位に失効リストの発行を禁止または許可する設定を行う。
【０１２３】
また失効リスト発行部２５は、失効リストの発行要求において認証局管理者から指定された認証局の世代に対応する失効リストの発行制御を行う。
【０１２４】
次に失効リスト発行部２５の各制御の詳細について説明する。
失効リストと認証局証明書の世代の対応付けの制御において、失効リスト発行部２５は、認証局管理情報３１を参照して、失効リストに付加される電子署名の、署名アルゴリズム及び認証局秘密鍵を特定する。また認証局管理世代番号毎の失効リストタイプ(CRL,ARL,EPRL)別の発行可否を特定する。また失効リスト発行部２５は、認証局管理情報３１において、認証局証明書が有効期間内かつ未失効であり失効リスト発行許可がtrueである場合に、認証局管理情報３２にて、失効リストタイプ毎に証明書タイプを絞り込んだ上で(ARL時はルートCA/CA、EPRL時は標準、CRL時は全て)、「認証局世代番号」以下となる有効期間内で失効済みの証明書を抽出し、これを対象失効リストとする。失効リスト発行部２５は、認証局管理情報３１の抽出したエントリの「署名アルゴリズム」、「鍵ペアの保管場所」を参照して、対象失効リストの認証局の電子署名に使用する署名アルゴリズムと、鍵ペアの保管場所を特定する。このように失効リストと認証局証明書の世代の対応付けの制御を行うことで、署名強度の高い証明書の有効性が、強度の低い失効リストにより証明されるといった矛盾を回避することができる。
【０１２５】
各世代に対応する失効リストに載せる無効証明書の集約制御において、具体的には失効リスト発行部２５は、証明書管理情報３２を参照して、無効証明書のリストの集約制御を行う。集約制御において失効リスト発行部２５は、先ず、証明書管理情報３２において、「認証局世代番号」が対象失効リストの認証局世代番号以下であるエントリを全て選択する。次に失効リスト発行部２５は、選択したエントリのうち、「失効」が「true」であり、且つ、現在の日時（処理実行時の日時）が、「有効期間」の「開始日」で示される日時以降で「満了日」で示される日時以前である証明書を抽出する。このように抽出したエントリが、失効リストに対応する世代と等しいか又は古い世代の証明書のうちの無効となっているものが対象失効リストになる。よって失効リスト発行部２５は、抽出した無効証明書に関する情報を、失効リストの無効証明書のリストに記載する。具体的には「シリアル番号」、「失効日時」、「失効理由」である。
【０１２６】
失効リストの発行の停止する制御においては、具体的には失効リスト発行部２５は、先ず、認証局管理者から所定の世代に対応する失効リストの発行の停止要求を受信する。
【０１２７】
図１１は、認証局管理者が失効リストの発行停止要求を入力する際に利用するアプリケーションの画面の一例である。図１１においては、認証局の世代毎に、また、失効リストのタイプ毎に、発行の停止指示の入力が可能となっている。すなわち、画面の表の「ＣＲＬタイプ」カラムの「発行」のチェックボックスを外すことによって、失効リストの停止指示を入力可能である。尚、図１１の画面に表示される各世代の認証局証明書のシリアル番号及び署名アルゴリズムの情報は、各世代の認証局証明書のうちの最新の認証局証明書の各情報となっている。
【０１２８】
失効リストの発行の停止要求を受信すると、失効リスト発行部２５は、認証局管理情報３１を参照して、対象失効リストが対応する世代と同じ世代の認証局証明書のエントリを抽出し、抽出したエントリの「失効リスト発行許可」の値を「false」に設定する。対象失効リストの世代と同じ世代の認証局証明書のエントリの抽出は、認証局管理情報３１の「認証局世代番号」が停止要求対象の失効リストの認証局世代番号と一致するエントリのうち、「項番」が最も大きいエントリを抽出することによって行われる。
【０１２９】
各世代の失効リストの発行を可能にするか否かの制御においては、具体的には失効リスト発行部２５は、各世代の失効リスト発行時に以下の３つの条件に合致するか否かを判定し、合致した場合、その失効リストの発行を禁止する。
（１）失効リストが対応する認証局世代番号と同じ認証局世代番号の認証局証明書が失効している。
（２）失効リストが対応する認証局世代番号と同じ認証局世代番号の認証局証明書の有効期間が満了している。
（３）認証局管理者により失効リストの発行禁止の設定がなされている。
【０１３０】
より具体的には、（１）及び（２）に関して、失効リスト発行部２５は、証明書管理情報３２を参照して、（１）または（２）の条件に合致するか否かを判定する。（３）に関しては、失効リスト発行部２５は、認証局管理情報３１を参照して（３）の条件に合致するか否かを判定する。
【０１３１】
（１）に関して、失効リスト発行部２５は、証明書管理情報３２の「証明書タイプ」が「ルートＣＡ」または「中間ＣＡ」であって、且つ「認証局世代番号」が発行対象の失効リストの認証局世代番号と一致するエントリのうち、「項番」が最も大きいエントリを抽出する。そして失効リスト発行部２５は、抽出したエントリの「失効」の値が「true」であるか否かを判定する。抽出したエントリの「失効」が「true」である場合、失効リスト発行部２５は、発行対象の失効リストは（１）の条件に合致すると判定する。
【０１３２】
（２）に関して、失効リスト発行部２５は、証明書管理情報３２の「証明書タイプ」が「ルートＣＡ」または「中間ＣＡ」であって、且つ「認証局世代番号」が発行対象の失効リストの認証局世代番号と一致するエントリのうち、「項番」が最も大きいエントリを抽出する。そして失効リスト発行部２５は、現在の日時（処理実行時の日時）が、抽出したエントリの「有効期間」の「開始日」で示される日時よりも前であるか否かと「満了日」で示される日時よりも後であるか否かを判定する。例えば現在の日時が、抽出したエントリの「有効期間」の「満了日」で示される日時よりも後である場合、失効リスト発行部２５は、発行対象の失効リストは（２）の条件に合致すると判定する。
【０１３３】
（３）に関して、失効リスト発行部２５は、認証局管理情報３１の「認証局世代番号」が発行対象の失効リストの認証局世代番号と一致するエントリのうち、「項番」が最も大きいエントリを抽出する。そして失効リスト発行部２５は、抽出したエントリの「失効リスト発行許可」の値が「false」か否かを判定する。抽出したエントリの「失効リスト発行許可」が「false」である場合、失効リスト発行部２５は、発行対象の失効リストは（３）の条件に合致すると判定する。尚、失効リスト発行許可は、「ＣＲＬ」、「ＡＲＬ」、「ＥＰＲＬ」のそれぞれに対して設定可能であり、判定においては、発行対象失効リストが「ＣＲＬ」、「ＡＲＬ」、「ＥＰＲＬ」に応じて、それぞれに対応する項目の値を参照するものとする。
【０１３４】
次に失効リストの発行制御について説明する。失効リスト発行部２５は、認証局管理者から失効リストの発行要求を受信すると、失効リストの発行処理制御を開始する。
【０１３５】
認証局管理者からの発行要求には、失効リストの発行に関して使用される設定情報が含まれる。設定情報は、例えば、認証局の世代を示す情報、失効リストタイプ設定の情報が含まれる。失効リストタイプ設定の情報は、図３（Ｂ）の各項目に対応する設定情報である。
【０１３６】
図１２は、認証局管理者が失効リストタイプ設定を入力する際に利用するアプリケーションの画面の一例である。図１２において、更新時刻、更新間隔、更新時差、最大サイズ、失効リスト出力先ディレクトリ、及び、失効リスト出力先ファイルの指定が可能となっている。尚、図１２の署名アルゴリズムの欄に表示される情報は、失効リストの認証局世代番号と同じ認証局世代番号の認証局証明書の署名アルゴリズムの情報が表示される。
【０１３７】
認証局管理者からの失効リストタイプ設定の入力を受け付ける際に、失効リスト発行部２５は、失効リストの出力先の重複回避制御を行う。すなわち失効リスト発行部２５は、認証局管理者から指定された対象失効リストの出力先が、他の世代の失効リストの出力先と重複することを回避するように、失効リスト発行部２５は制御を行う。すなわち失効リスト発行部２５は、認証局管理情報３１を参照し、対象失効リストと世代の異なる全ての失効リストの出力先を特定する。そして失効リスト発行部２５は、認証局管理者から指定された対象失効リストの出力先が、特定した、対象失効リストと世代の異なる全ての失効リストの出力先と異なるか否かを判定する。
【０１３８】
認証局管理者から指定された出力先が、対象失効リストと世代の異なる何れかの失効リストの出力先と同じであると判定した場合、失効リスト発行部２５は、エラー処理を行う。エラー処理では、例えば失効リスト発行部２５は、指定された出力先が他の世代の失効リストの出力先と重複している旨を認証局管理者に対して表示する等の処理を行う。
【０１３９】
一方、認証局管理者から指定された出力先が、対象失効リストと世代の異なる全ての失効リストの出力先と異なると判定した場合、失効リスト発行部２５は、認証局管理者から入力された失効リストタイプ設定の入力を受理する。そして失効リスト発行部２５は、認証局管理情報３１において、「認証局世代番号」が対象失効リストの認証局世代番号と一致するエントリのうち、「項番」が最も大きいエントリを抽出する。そして失効リスト発行部２５は抽出したエントリの「失効リスト出力先ディレクトリ」及び「失効リスト出力先ファイル」に、認証局管理者から指定された出力先の情報を格納する。
【０１４０】
このように、認証局世代単位に失効リストの出力先をユニークにすることで以下の効果を得られる。すなわち、検証アプリケーションの更改時等の扱える暗号技術が変わるタイミングで、失効リストの配付場所を変えられるため、既存の検証アプリケーションに影響を与えない。また、認証局証明書の発行時に認証局世代番号が変更されても、旧世代の失効リストの出力先が維持されるため、検証アプリケーションに影響を与えない。
【０１４１】
発行制御において失効リスト発行部２５は、失効リストと認証局証明書の世代の対応付けの制御を行い、対象失効リストの認証局の電子署名に使用する署名アルゴリズムと、鍵ペアの保管場所を特定する。
【０１４２】
次に失効リスト発行部２５は、各世代に対応する失効リストに載せる無効証明書の集約制御を行い、失効リストに載せる無効証明書のリストを特定する。
【０１４３】
そして失効リスト発行部２５は、失効リスト発行指示（署名指示）を、失効リストに記載する情報、失効リストの発行に使用される署名アルゴリズムを示す情報、及び電子署名に使用される鍵ペアの保管場所を示す情報とともに、鍵管理部２４へ送信する。ここで失効リストに記載する情報は、無効証明書のリスト、及び認証局管理者から指定された各種情報を含むものである。
【０１４４】
その後、失効リスト発行指示を受信した鍵管理部２４により、失効リストの発行処理が行われる。そして鍵管理部２４から、失効リスト発行部２５は、発行された失効リストを受信する。
【０１４５】
発行された失効リストを受信すると失効リスト発行部２５は、発行された失効リストの情報を、失効リストの認証局世代番号と対応付けて、失効リスト管理情報３３に格納する。すなわち失効リスト発行部２５は、失効リスト管理情報３３に新たなエントリを追加し、そのエントリの各項目に発行された失効リストの対応する情報を格納し、「認証局世代番号」に失効リストの認証局世代番号を格納する。尚、失効リストの認証局世代番号は、上述したように認証局証明書の認証局世代番号と対応するものである。
【０１４６】
以上のようにして、失効リスト発行部２５は失効リストの発行制御処理を行う。尚、失効リスト発行部２５は、認証局管理者からの失効リストの検索要求を受け付け、検索要求に対して、検索の結果を認証局管理者へ提示する機能を有する。
【０１４７】
図１３は、認証局管理者が失効リストの検索要求を入力する際に利用するアプリケーションの画面の一例である。図１３において、認証局の世代、失効リストタイプ、及び発行日時を指定して、失効リストの検索要求を入力することが可能となっている。
【０１４８】
失効リストの検索要求を受信すると、失効リスト発行部２５は、要求された条件に当てはまる失効リストを検索して、結果を所定の出力装置を介して出力する。具体的には失効リスト発行部２５は先ず、失効リストの検索要求において認証局の世代を指定された場合には、失効リスト管理情報３３の「認証局世代番号」が、指定された認証局の世代の番号と一致するエントリを抽出する。そして失効リスト発行部２５は、抽出したエントリの失効リストの情報を出力する。
【０１４９】
証明書失効部２６は、認証局証明書と利用者証明書の失効処理を行う。証明書失効部２６は、証明書の失効申請を受信すると、証明書管理情報３２を更新することによって証明書の失効処理を行う。尚、失効申請には、登録局操作員が管理者端末１１を使い登録局装置１２経由で利用者証明書を失効申請する場合と、認証局管理者が管理者端末１１にて認証局装置１０に対して認証局証明書を失効申請する場合がある。ここで、説明のために失効要求の対象となる証明書を対象証明書と記すこととする。
【０１５０】
対象証明書が認証局証明書である場合、証明書失効部２６は、対象証明書の世代と同じ又は前の世代に対応する全ての認証局証明書を対象として、失効処理を行う。これにより、新しい世代の認証局証明書が失効された場合には、それよりも古い認証局世代番号の認証局証明書も同時に失効させる。また例えば、最新の認証局世代番号の失効リストを用いた検証ができないにもかかわらず、それよりも古い認証局世代番号の失効リストを用いた検証は可能である等の不整合が発生することを防ぐことができる。
【０１５１】
具体的には証明書失効部２６は先ず、証明書管理情報３２を参照して、対象証明書の認証局世代番号と同じか又は前の認証局世代番号に対応する全ての認証局証明書を特定する。例えば、証明書失効部２６は、証明書管理情報３２の「認証局世代番号」の値が対象証明書の認証局世代番号以下であるエントリであって、「証明書タイプ」が「ルートＣＡ」または「中間ＣＡ」であるエントリを抽出することにより特定する。そして証明書失効部２６は、特定した全ての認証局証明書の失効処理を行う。
【０１５２】
失効処理は具体的には例えば、証明書管理情報３２の「失効」に「true」を設定し、「失効日時」に失効処理を行った日時を設定し、「失効理由」に失効の理由を設定する処理である。
【０１５３】
対象証明書が利用者証明書である場合は、証明書失効部２６は、対象証明書に対して失効処理を行う。
【０１５４】
次に、認証局証明書の発行の動作フローについて、図１４及び図１６を参照して説明する。図１４は、ルート認証局において、認証局証明書の発行処理の詳細を図解したフローチャートの一例である。
【０１５５】
図１４において、先ず認証局証明書発行部２２は、認証局管理者から認証局証明書の新規発行指示を受信する（Ｓ１０１）。認証局証明書の発行指示においては、新たに鍵ペアを生成するか否かを示す情報、新規発行を行う認証局証明書の署名アルゴリズムの情報が含まれる。また発行指示において、新しい鍵ペアを生成する指示を示す情報が含まれる場合には、新しい鍵ペアの鍵長の情報が含まれる。ここで図１４においては、説明のために、新規発行を行う認証局証明書を新認証局証明書と記すこととする。
【０１５６】
図１５は、ルート認証局において、認証局管理者が認証局証明書の発行指示を入力する際に利用するアプリケーションの画面の一例である。図１５の例では、ルート認証局証明書の発行に使用される認証局秘密鍵について、現在の秘密鍵を用いるか、または新しく生成する秘密鍵を用いるかの選択が可能となっている。また、新しく秘密鍵を生成する場合には、秘密鍵の鍵長及び公開鍵アルゴリズム(RSA等)の指定も可能となっている。さらに、ルート認証局の世代を変更するか否かの設定も可能となっている。
【０１５７】
次に認証局証明書発行部２２は、新認証局証明書に対応する署名アルゴリズムの強度及び秘密鍵の鍵長がそれぞれ、直近に生成された現在の認証局証明書に対応する署名アルゴリズムの強度及び秘密鍵の鍵長以上であるか否かを判定する（Ｓ１０２）。具体的には認証局証明書発行部２２は先ず、認証局管理情報３１の「項番」の値が最も大きいレコードの「署名アルゴリズム」カラムを参照して、現在の認証局証明書の署名アルゴリズムを認識する。次に認証局証明書発行部２２は、認識した署名アルゴリズムの強度、及び、発行指示により指定された新認証局証明書の署名アルゴリズムの強度を、強度情報３４を参照して確認する。そして認証局証明書発行部２２は、発行指示により指定された新認証局証明書の署名アルゴリズムの強度が、現在の認証局証明書の署名アルゴリズムの強度以上かを判定する。さらに、認証局証明書発行部２２は、認証局管理情報３１の「項番」の値が最も大きいレコードの「秘密鍵の鍵長」カラムを参照して、現在の認証局証明書に対応する秘密鍵の鍵長を認識する。そして認証局証明書発行部２２は、発行指示により指定された秘密鍵の鍵長が、現在の認証局証明書に対応する秘密鍵の鍵長以上かを判定する。
【０１５８】
指定された署名アルゴリズムの強度が、現在の認証局証明書の署名アルゴリズムの強度未満であるか、又は、指定された秘密鍵の鍵長が、現在の認証局証明書に対応する秘密鍵の鍵長未満であると判定された場合（Ｓ１０２でＮｏ）、認証局証明書発行部２２は、エラー処理を行う（Ｓ１０９）。エラー処理では、例えば、認証局証明書発行部２２は、認証局証明書の強度を下げることはできない旨の警告を表示してもよい。エラー処理後、処理は「終了」に遷移する。このように、エラー処理後に処理が終了することにより、新認証局証明書が、旧認証局証明書よりも強度が低くなることを回避できる。
【０１５９】
一方、指定された署名アルゴリズムの強度及び秘密鍵の鍵長がそれぞれ、現在の認証局証明書に対応する署名アルゴリズムの強度及び秘密鍵の鍵長以上であると判定した場合（Ｓ１０２でＹｅｓ）、認証局証明書発行部２２は新しい認証局秘密鍵を生成するか否かを判定する（Ｓ１０３）。具体的には認証局証明書発行部２２は、Ｓ１０１で受信した新規発行指示に含まれる新しい鍵ペアを発行するか否かを示す情報に基いて、新しい認証局秘密鍵を生成するか否かを判定する。新しい認証局秘密鍵を生成しないと判定された場合（Ｓ１０３でＮｏ）、処理はＳ１０５に遷移する。
【０１６０】
一方、新しい認証局秘密鍵を生成すると判定した場合（Ｓ１０３でＹｅｓ）、認証局証明書発行部２２は、新しい認証局秘密鍵の生成を鍵管理部２４へ指示する（Ｓ１０４）。鍵の生成指示には、生成する新しい鍵ペアの鍵長を指定する情報と、生成する鍵の公開鍵アルゴリズム(RSA等)を指定する情報が含まれる。鍵の生成の指示を受信した鍵管理部２４は、鍵の生成指示に含まれる公開鍵アルゴリズム及び鍵長にて、鍵管理部内の未使用のトークン内にて新しい鍵ペアを生成する。そして鍵管理部２４は、鍵の生成が完了したことを示す情報と、生成した鍵の保管場所(トークン番号)を示す情報を、認証局証明書発行部２２へ送信し、この送信された情報を認証局証明書発行部２２は受信する。
【０１６１】
次に認証局証明書発行部２２は、認証局証明書の発行制御を行う（Ｓ１０５）。すなわち、認証局証明書発行部２２は、鍵生成結果として鍵管理部２４から受け取った鍵の保管場所を指定して、鍵管理部２４から公開鍵を取得する。そして、この公開鍵を包含した認証局証明書を作成し、新しい認証局証明書の署名指示を鍵管理部２４へ指示する。認証局証明書の署名指示においては、認証局証明書発行部２２は、直近に生成された認証局証明書の鍵ペアを用いて、認証局証明書を発行するように指示する。すなわち、認証局証明書発行部２２は、認証局管理者から新しい鍵ペアの生成を指示された場合には、Ｓ１０４で新しく生成された認証局秘密鍵を電子署名に用いて、新しく生成された認証局公開鍵を含む認証局証明書を署名するように、鍵管理部２４へ指示する。また、新しい鍵ペアの生成の指示がなかった場合には、認証局証明書発行部２２は、認証局管理情報３１を参照して、直近に発行された最新の認証局証明書に対応する認証局秘密鍵を電子署名に用いて、認証局証明書に署名するように、鍵管理部２４へ指示する。鍵管理部２４は、新しい認証局証明書に署名し、その認証局証明書を認証局証明書発行部２２へ送信する。認証局証明書発行部２２は、鍵管理部２４から返された認証局証明書を受信する。
【０１６２】
次に認証局証明書発行部２２は、新規に発行された認証局証明書に対して割り当てられる認証局世代番号を、直近に他の認証局証明書に対して割り当てられた認証局世代番号から変更するか否かを判定する（Ｓ１０６）。認証局世代番号は、Ｓ１０５で新規に発行された認証局証明書に対応する署名アルゴリズムが、それ以前（Ｓ１０５で発行された証明書より以前）に発行されていた認証局証明書に対応する署名アルゴリズムから変更される場合にインクリメントされる。または認証局世代番号は、Ｓ１０５で新規に発行された認証局証明書に対応する秘密鍵の鍵長が、それ以前（Ｓ１０５で発行された証明書より以前）に発行されていた認証局証明書に対応する秘密鍵の鍵長から変更される場合にもインクリメントされる。尚、認証局管理者が各世代の鍵長と署名アルゴリズムを管理する場合には、認証局世代番号を変更するか否かは、認証局管理者により指示されるようにしてもよい。
【０１６３】
Ｓ１０６においては、具体的には例えば、認証局証明書発行部２２は、Ｓ１０５で発行された認証局証明書の署名アルゴリズムが、認証局管理情報３１のいずれのレコードの「署名アルゴリズム」にも一致しないか否かを判定する。署名アルゴリズムが、認証局管理情報３１のいずれのレコードの「署名アルゴリズム」にも一致しないと判定した場合、認証局証明書発行部２２は、認証局世代番号を変更すると判定する。また、認証局証明書発行部２２は、Ｓ１０５で発行された認証局証明書に対応する秘密鍵の鍵長が、認証局管理情報３１の「項番」の値が最も大きいレコードの「秘密鍵の鍵長」よりも大きいか否かを判定する。Ｓ１０５で発行された認証局証明書に対応する秘密鍵の鍵長が、認証局管理情報３１の「項番」の値が最も大きいレコードの「秘密鍵の鍵長」よりも大きいと判定した場合、認証局証明書発行部２２は、認証局世代番号を変更すると判定する。
【０１６４】
一方、以下の２つの条件のいずれにも当てはまる場合、認証局証明書発行部２２は、認証局世代番号を変更しないと判定する。２つの条件の１つはすなわち、Ｓ１０５で発行された認証局証明書の署名アルゴリズムが、認証局管理情報３１のいずれかのレコードの「署名アルゴリズム」に一致することである。また２つの条件の１つは、Ｓ１０５で発行された認証局証明書に対応する秘密鍵の鍵長が、認証局管理情報３１の「項番」の値が最も大きいレコードの「秘密鍵の鍵長」の値以下であることである。尚、Ｓ１０６では、認証局証明書発行部２２は、認証局管理者による指示に基いて認証局世代番号を変更するか否かを判定してもよい。
【０１６５】
Ｓ１０６において、認証局世代番号を変更しないと判定された場合（Ｓ１０６でＮｏ）、処理はＳ１０８に遷移する。一方、認証局世代番号を変更すると判定した場合（Ｓ１０６でＹｅｓ）、認証局証明書発行部２２は、認証局世代番号をインクリメント（+1）する（Ｓ１０７）。具体的には例えば、認証局証明書発行部２２は、認証局管理情報３１の「項番」が最も大きいエントリの「認証局世代番号」の値をインクリメントした値を、新しい認証局世代番号に設定する。
【０１６６】
次に認証局証明書発行部２２は、証明書管理情報３２を更新する（Ｓ１０８）。すなわち認証局証明書発行部２２は、Ｓ１０５で新規に発行した認証局証明書と、認証局世代番号を対応付けて、証明書管理情報３２に記録する。それとともに、認証局証明書発行部２２は、Ｓ１０５で新規に発行された認証局証明書と、その認証局証明書に割り当てられた認証局世代番号を対応付けた情報を、認証局管理情報３１に記録する。
【０１６７】
図１６は、中間認証局において、認証局証明書の発行処理の詳細を図解したフローチャートの一例である。図１６において、Ｓ２０１〜Ｓ２０４、及びＳ２１１の各ステップはそれぞれ、図１４のＳ１０１〜１０４、及びＳ１０９のそれぞれのステップと同様である。
【０１６８】
図１６のＳ２０５において、認証局証明書発行部２２は、中間認証局証明書の発行申請書を作成する（Ｓ２０５）。発行申請書には、中間認証局の認証局公開鍵が含まれる。発行申請書に含む認証局公開鍵は、Ｓ２０４において新しく鍵ペアを生成した場合には、Ｓ２０４で生成した秘密鍵に対応する公開鍵となる。また、Ｓ２０４において新しく鍵ペアを生成していない場合には、直近に生成された認証局証明書に対応する公開鍵となる。この公開鍵はすなわち、認証局管理情報３１の「項番」が最も大きいエントリの認証局証明書の秘密鍵に対応する公開鍵である。
【０１６９】
次に認証局証明書発行部２２は、上位の認証局に証明書の発行依頼を行うための証明書発行申請書を作成して、ファイル出力する（Ｓ２０６）。上位の認証局では、中間認証局からの証明書発行申請書がファイル入力されると中間認証局証明書を発行して、この中間認証局証明書をファイル出力する。
【０１７０】
そして認証局証明書発行部２２は、上位の認証局装置１０から中間認証局証明書ファイルを受取り、ファイル入力する（Ｓ２０７）。
【０１７１】
Ｓ２０８〜Ｓ２１０の各ステップはそれぞれ、図１４のＳ１０６〜Ｓ１０８の各ステップと同様である。
【０１７２】
図１７は、中間認証局において、認証局管理者が認証局証明書の発行指示を入力する際、または、中間認証局証明書を登録する際に利用するアプリケーションの画面の一例である。図１７の例では、現在の鍵を使用した中間認証局証明書の登録指示を選択して、かつ、「認証局の世代を変更する」ことを示している。なお新しい鍵ペアを用いた中間認証局証明書を発行する場合には、最初に「以下の新しい鍵で証明書発行申請書を作成します。」にて、何れかの秘密鍵の鍵長を選択して、発行申請書をファイル出力し、次に上位の認証局で証明書を発行してもらい、証明書書ファイルを受取り、最後に「新しい鍵で発行した中間認証局証明書を登録します。」にて、証明書ファイルをファイル入力することで、中間認証局証明書の登録が完了する。
【０１７３】
次に、利用者証明書発行処理の動作フローについて、利用者証明書が発行される形態に応じて、図１８及び図１９を参照して説明する。登録局を介さずに利用者証明書の発行要求を受信する場合であって、認証局で発行申請書を作成する形態（ケース１）における、動作フローについては図１８を参照して説明する。また、登録局を介さずに利用者証明書の発行要求を受信する場合であって、利用者が発行申請書を作成する形態（ケース２）における、利用者証明書発行処理の詳細については、図１９を参照して説明する。さらに、登録局を介して利用者証明書の発行要求を受信する場合（ケース３）の認証局における、利用者証明書発行処理の詳細についても、図１９を参照して説明する。
【０１７４】
図１８は、ケース１における利用者証明書発行処理の詳細を図解したフローチャートの一例である。
【０１７５】
図１８において、先ず利用者証明書発行部２３は、認証局管理者から利用者証明書の発行要求を受信する（Ｓ３０１）。次に利用者証明書発行部２３は、鍵管理部２４に依頼して利用者証明書で使用するための秘密鍵と公開鍵の鍵ペアを生成させる（Ｓ３０２）。
【０１７６】
次に利用者証明書発行部２３は、Ｓ３０２で生成した公開鍵と、利用者の識別情報を含む発行申請書を生成する（Ｓ３０３）。
【０１７７】
次に利用者証明書発行部２３は、最新の認証局証明書に対応する署名アルゴリズム及び秘密鍵を用いて利用者証明書の発行を行う（Ｓ３０４）。
【０１７８】
次に利用者証明書発行部２３は、証明書管理情報３２に、Ｓ３０４で発行された利用者証明書に関する情報を追加する（Ｓ３０５）。すなわち利用者証明書発行部２３は、Ｓ３０４で発行された利用者証明書に関する情報と、最新の認証局証明書の認証局世代番号を対応付けて、証明書管理情報３２に記録する。
【０１７９】
次に利用者証明書発行部２３は、Ｓ３０４で発行された利用者証明書を認証局管理者へ送付する（Ｓ３０６）。
【０１８０】
図１９は、ケース２及びケース３における、利用者証明書発行処理の詳細を図解したフローチャートの一例である。図１８を参照して説明したケース１との処理の違いは、利用者証明書の発行申請書の作成を利用者または登録局が行い、利用者証明書発行部２３は、利用者または登録局から発行申請書を受信する点である。それ以外の処理はケース１と同様である。
【０１８１】
図１９において、先ず利用者証明書発行部２３は、利用者証明書の発行申請を受信する（Ｓ４０１）。ここで受信する発行申請には、利用者証明書の発行申請書が含まれる。
【０１８２】
次に利用者証明書発行部２３は、発行申請書を読み込む（Ｓ４０２）。
Ｓ４０３〜Ｓ４０５の各ステップはそれぞれ、図１８のＳ３０４〜Ｓ３０６の各ステップと同様である。尚、ルート認証局が、中間認証局に対して、中間認証局の認証局証明書を発行する処理も図１９で説明した処理と同様の処理となる。その場合、図１９における利用者証明書は、中間認証局の認証局証明書に対応することとなる。
【０１８３】
次に、証明書の失効処理の動作フローについて説明する。図２０は、証明書の失効処理の詳細を図解したフローチャートの一例である。尚、図２０においては、証明書管理情報３２の「認証局世代番号」の初期値は「0」として説明する。
【０１８４】
図２０において先ず、証明書失効部２６は、失効申請を受信する（Ｓ５０１）。失効申請は、例えば登録局や認証局管理者などから受信する。そして証明書失効部２６は、失効申請で失効の申請を指定された証明書を対象証明書として認識する。尚、例えば、失効申請においては、対象証明書のシリアル番号が含まれる。
【０１８５】
次に証明書失効部２６は、対象証明書を、証明書管理情報３２から抽出する（Ｓ５０２）。具体的には、証明書失効部２６は証明書管理情報３２から対象証明書のエントリを抽出する。例えば、失効申請に対象証明書のシリアル番号が指定されている場合、証明書管理情報３２のエントリのうち、指定されたシリアル番号と等しい「シリアル番号」のエントリを、証明書失効部２６は抽出する。
【０１８６】
次に証明書失効部２６は、対象証明書が失効されているか否かを判定する（Ｓ５０３）。具体的には証明書失効部２６は、Ｓ５０２で抽出したエントリの「失効」の値が「true」か否かを判定する。対象証明書が失効されている、すなわち、Ｓ５０２で抽出したエントリの「失効」の値が「true」であると判定された場合（Ｓ５０３でＹｅｓ）、処理はＳ５０６に遷移する。一方、対象証明書が失効されていない、すなわち、Ｓ５０２で抽出したエントリの「失効」の値が「false」であると判定された場合（Ｓ５０３でＮｏ）、処理はＳ５０４に遷移する。
【０１８７】
Ｓ５０４において証明書失効部２６は、対象証明書は有効期間外であるかを判定する（Ｓ５０４）。具体的には例えば証明書失効部２６は、現在の日時（Ｓ５０４の処理日時）が、Ｓ５０２で抽出したエントリの「有効期間」の「開始日」以降であり、且つ、「満了日」以前であるか否かを判定する。対象証明書が有効期間外である、すなわち、現在の日時が、Ｓ５０２で抽出したエントリの「開始日」より前か又は「満了日」より後であると判定された場合（Ｓ５０４でＹｅｓ）、処理はＳ５０６に遷移する。一方、対象証明書は有効期間内である、すなわち、現在の日時が、Ｓ５０２で抽出したエントリの「開始日」以降であり、且つ、「満了日」以前であると判定された場合（Ｓ５０４でＮｏ）、処理はＳ５０５に遷移する。
【０１８８】
Ｓ５０５において証明書失効部２６は、対象証明書の失効処理を行う（Ｓ５０５）。具体的には例えば証明書失効部２６は、Ｓ５０２で抽出したエントリの「失効」に「true」を設定し、「失効日時」に現在の時刻（Ｓ５０５の処理時刻）を設定し、「失効理由」に失効の理由を設定する。
【０１８９】
次に証明書失効部２６は、対象証明書が認証局証明書であるか否かを判定する（Ｓ５０６）。具体的には例えば証明書失効部２６は、Ｓ５０２で抽出したエントリの「証明書タイプ」が「ルートＣＡ」であるか、または「中間ＣＡ」であるかを判定する。対象証明書が認証局証明書ではない、すなわち、Ｓ５０２で抽出したエントリの「証明書タイプ」が「ルートＣＡ」でも「中間ＣＡ」でもないと判定された場合（Ｓ５０６でＮｏ）、処理は終了する。一方、対象証明書が認証局証明書である、すなわち、Ｓ５０２で抽出したエントリの「証明書タイプ」が「ルートＣＡ」であるか、または「中間ＣＡ」であると判定された場合（Ｓ５０６でＹｅｓ）、処理はＳ５０７に遷移する。
【０１９０】
Ｓ５０７において証明書失効部２６は、対象証明書の認証局世代番号が１以上であるか否かを判定する（Ｓ５０７）。具体的には例えば証明書失効部２６は、Ｓ５０２で抽出したエントリの「認証局世代番号」が「1」以上であるか否かを判定する。対象証明書の認証局世代番号が１未満である、すなわち、Ｓ５０２で抽出したエントリの「認証局世代番号」が「1」未満であると判定された場合（Ｓ５０７でＮｏ）、処理は終了する。一方、対象証明書の認証局世代番号が１以上である、すなわち、Ｓ５０２で抽出したエントリの「認証局世代番号」が「1」以上であると判定された場合（Ｓ５０７でＹｅｓ）、処理はＳ５０８に遷移する。
【０１９１】
Ｓ５０８において証明書失効部２６は、対象証明書の認証局世代番号をデクリメント（-1）した旧認証局証明書を新たな対象証明書として認識する（Ｓ５０８）。そして処理はＳ５０２に遷移し、証明書失効部２６は、Ｓ５０８で新たに認識された対象証明書を、証明書管理情報３２から抽出する。すなわち、例えば証明書失効部２６は、証明書管理情報３２において、「認証局世代番号」が、対象証明書の認証局世代番号より１小さい値と一致するエントリであって、「証明書タイプ」が「ルートＣＡ」または「中間ＣＡ」であるエントリを抽出する。以降Ｓ５０３からの処理が実行される。
【０１９２】
次に、失効リスト発行処理の動作フローについて、図２１及び図２２を参照して説明する。図２１は、失効リスト発行処理の詳細を図解したフローチャート（前半）の一例である。図２２は、失効リスト発行処理の詳細を図解したフローチャート（後半）の一例である。
【０１９３】
図２１において、先ず証明書失効部２６は、制御用の変数であるループカウンタの値を「0」に設定する（Ｓ６０１）。
【０１９４】
次に失効リスト発行部２５は、対応する認証局世代番号がループカウンタの値と等しい失効リストについて、発行禁止の設定がなされているか否かを判定する（Ｓ６０２）。すなわち失効リスト発行部２５は、認証局管理情報３１の「認証局世代番号」がループカウンタの値と等しいエントリのうち、最も「項番」の大きいエントリの「失効リスト許可」が「true」か否かを判定する。認証局管理情報３１の「認証局世代番号」がループカウンタの値と等しいエントリのうち、最も「項番」の大きいエントリの「失効リスト許可」が「false」であると判定された場合（Ｓ６０２でＹｅｓ）、処理は、図２２のＳ６１３に遷移する。一方、認証局管理情報３１の「認証局世代番号」がループカウンタの値と等しいエントリのうち、最も「項番」の大きいエントリの「失効リスト許可」が「true」であると判定された場合（Ｓ６０２でＮｏ）、処理はＳ６０３に遷移する。
【０１９５】
Ｓ６０３において、失効リスト発行部２５は、認証局世代番号がループカウンタの値と等しく、且つ最新の認証局証明書が失効しているか否かを判定する（Ｓ６０３）。すなわち失効リスト発行部２５は先ず、認証局管理情報３１の「認証局世代番号」がループカウンタの値と等しいエントリのうち、最も「項番」の大きいエントリの「証明書管理情報での項番」を参照する。そして、失効リスト発行部２５は、証明書管理情報３２において、参照した「証明書管理情報での項番」と一致するエントリを抽出し、抽出したエントリの「失効」が「true」か否かを判定する。抽出したエントリの「失効」が「true」である場合、失効リスト発行部２５は、認証局世代番号がループカウンタの値と等しく且つ最新の認証局証明書は、失効していると判定する。一方、抽出したエントリの「失効」が「false」である場合、失効リスト発行部２５は、認証局世代番号がループカウンタの値と等しく且つ最新の認証局証明書は、失効していないと判定する。
【０１９６】
Ｓ６０３において、認証局世代番号がループカウンタの値と等しく且つ最新の認証局証明書が、失効していると判定された場合（Ｓ６０３でＹｅｓ）、処理は、図２２のＳ６１３に遷移する。一方、認証局世代番号がループカウンタの値と等しく且つ最新の認証局証明書が、失効していないと判定された場合（Ｓ６０３でＮｏ）、処理はＳ６０４に遷移する。
【０１９７】
Ｓ６０４において、失効リスト発行部２５は、認証局世代番号がループカウンタの値と等しく、且つ最新の認証局証明書は、有効期限内であるか否かを判定する（Ｓ６０４）。すなわち失効リスト発行部２５は先ず、認証局管理情報３１の「認証局世代番号」がループカウンタの値と等しいエントリのうち、最も「項番」の大きいエントリの「証明書管理情報での項番」を参照する。次に、失効リスト発行部２５は、証明書管理情報３２において、参照した「証明書管理情報での項番」と一致するエントリを抽出する。そして、失効リスト発行部２５は、現在の日時（Ｓ６０４の処理日時）が、抽出したエントリの「開始日」以降であり、且つ「満了日」以前であるか否かを判定する。現在の日時が、抽出したエントリの「開始日」以降であり、且つ「満了日」以前である場合、失効リスト発行部２５は、認証局世代番号がループカウンタの値と等しく且つ最新の認証局証明書は、有効期限内であると判定する。一方、現在の日時が、抽出したエントリの「開始日」より前か又は「満了日」より後である場合、失効リスト発行部２５は、認証局世代番号がループカウンタの値と等しく且つ最新の認証局証明書は、有効期限外であると判定する。
【０１９８】
Ｓ６０４において、認証局世代番号がループカウンタの値と等しく且つ最新の認証局証明書が、有効期限外であると判定された場合（Ｓ６０４でＮｏ）、処理は、図２２のＳ６１３に遷移する。一方、認証局世代番号がループカウンタの値と等しく且つ最新の認証局証明書が、有効期限内であると判定された場合（Ｓ６０４でＹｅｓ）、処理はＳ６０５に遷移する。
【０１９９】
Ｓ６０５において、失効リスト発行部２５は、証明書管理情報３２において、「失効」が「true」であるエントリを一つ抽出する（Ｓ６０５）。
【０２００】
次に失効リスト発行部２５は、Ｓ６０５で抽出したエントリの証明書は有効期限内か否かを判定する（Ｓ６０６）。すなわち失効リスト発行部２５は、現在の日時（Ｓ６０６の処理日時）が、Ｓ６０５で抽出したエントリの「開始日」以降であり、且つ「満了日」以前であるか否かを判定する。Ｓ６０５で抽出したエントリの証明書は、有効期限外であると判定された場合（Ｓ６０６でＮｏ）、処理はＳ６０５に遷移する。一方、Ｓ６０５で抽出したエントリの証明書は、有効期限内であると判定された場合（Ｓ６０６でＹｅｓ）、処理はＳ６０７に遷移する。
【０２０１】
Ｓ６０７において、失効リスト発行部２５は、Ｓ６０５で抽出したエントリの証明書が失効日時に達したか否かを判定する。すなわち失効リスト発行部２５は、現在の日時（Ｓ６０７の処理日時）が、Ｓ６０５で抽出したエントリの「失効日時」以降か否かを判定する。Ｓ６０５で抽出したエントリの証明書は、失効日時に達していないと判定された場合（Ｓ６０７でＮｏ）、処理はＳ６０５に遷移する。一方、Ｓ６０５で抽出したエントリの証明書は、失効日時に達したと判定された場合（Ｓ６０７でＹｅｓ）、処理はＳ６０８に遷移する。
【０２０２】
Ｓ６０８において、失効リスト発行部２５は、Ｓ６０５で抽出したエントリの証明書の認証局世代番号がループカウンタ以下であるか否かを判定する（Ｓ６０８）。すなわち失効リスト発行部２５は、Ｓ６０５で抽出したエントリの「認証局世代番号」の値がループカウンタの値以下であるか否かを判定する。Ｓ６０５で抽出したエントリの証明書の認証局世代番号がループカウンタより大きいと判定された場合（Ｓ６０８でＮｏ）、処理はＳ６０５に遷移する。一方、Ｓ６０５で抽出したエントリの証明書の認証局世代番号がループカウンタ以下であると判定された場合（Ｓ６０８でＹｅｓ）、処理は、図２２のＳ６０９に遷移する。
【０２０３】
Ｓ６０９において、失効リスト発行部２５は、対象失効リストに記載する無効証明書のリストとして、Ｓ６０５で抽出したエントリの証明書の情報を追加する（Ｓ６０９）。対象失効リストに追加するＳ６０５で抽出したエントリの証明書の情報としては、例えば、そのエントリの「シリアル番号」、「失効日時」、「失効理由」の値等がある。
【０２０４】
次に、失効リスト発行部２５は、証明書管理情報３２において「失効」が「true」であるエントリをすべて抽出したか否かを判定する（Ｓ６１０）。証明書管理情報３２において「失効」が「true」であるエントリの何れかを未だＳ６０５で抽出していないと判定された場合（Ｓ６１０でＮｏ）、処理は、図２１のＳ６０５に遷移する。一方、証明書管理情報３２において「失効」が「true」であるエントリを全てＳ６０５で抽出済みであると判定された場合（Ｓ６１０でＹｅｓ）、処理はＳ６１１に遷移する。
【０２０５】
Ｓ６１１において、失効リスト発行部２５は、認証局世代番号がループカウンタの値と等しく、且つ最新の認証局証明書を特定する。そして失効リスト発行部２５は鍵管理部２４に対して、対象失効リストに特定した認証局証明書と同じ署名アルゴリズムにてその認証局秘密鍵の電子署名を付与するように鍵管理部２４へ指示する（Ｓ６１１）。
【０２０６】
次に、失効リスト発行部２５は、Ｓ６１１で発行された失効リストの情報を失効リスト管理情報３３に追加する（Ｓ６１２）。
【０２０７】
次に失効リスト発行部２５は、ループカウンタを１インクリメントする（Ｓ６１３）。
次に失効リスト発行部２５は、直近に発行された認証局証明書の認証局世代番号がループカウンタよりも小さいか否かを判定する（Ｓ６１４）。すなわち失効リスト発行部２５は、認証局管理情報３１において「項番」が最も大きいエントリの「認証局世代番号」の値が、ループカウンタより小さいか否かを判定する。直近に発行された認証局証明書の認証局世代番号がループカウンタ以上であると判定された場合（Ｓ６１４でＮｏ）、処理は、図２１のＳ６０２に遷移する。一方、直近に発行された認証局証明書の認証局世代番号がループカウンタより小さいと判定された場合（Ｓ６１４でＹｅｓ）、処理は終了する。
【０２０８】
次に、失効リストの出力先の重複回避制御の動作フローについて説明する。図２３は、失効リストの出力先の重複回避制御処理の詳細を図解したフローチャートの一例である。
【０２０９】
図２３において、先ず失効リスト発行部２５は、失効リストタイプの設定要求を受信する（Ｓ７０１）。設定要求は、例えば所定の入出力装置を介して認証局管理者から入力される。なお図２３では、設定要求の対象となる失効リストを対象失効リストと記す。
【０２１０】
次に失効リスト発行部２５は、失効リストタイプの設定要求において、ＬＤＡＰディレクトリサーバ上の出力先ディレクトリが新規入力または変更されたか否かを判定する（Ｓ７０２）。失効リストタイプの設定要求において、出力先ディレクトリが新規入力も変更もされていないと判定された場合（Ｓ７０２でＮｏ）、処理はＳ７０７に遷移する。一方、失効リストタイプの設定要求において、出力先ディレクトリが新規入力または変更されたと判定された場合（Ｓ７０２でＹｅｓ）、処理はＳ７０３に遷移する。
【０２１１】
次に失効リスト発行部２５は、対象失効リストと世代の異なる全ての失効リストの失効リスト出力先ディレクトリを抽出する（Ｓ７０３）。すなわち失効リスト発行部２５は先ず、認証局管理情報３１において、「認証局世代番号」が対象失効リストの認証局世代番号と異なる全てのエントリを選択する。次に失効リスト発行部２５は、選択したエントリの「失効リストタイプ設定」カラムのうち、対象失効リストのタイプと同じ失効リストタイプのカラムを全て抽出する。そして、失効リスト発行部２５は、選択した全てのカラムに設定されている設定データの、「失効リスト出力先ディレクトリ」の値を抽出する。
【０２１２】
次に失効リスト発行部２５は、対象失効リストの出力先ディレクトリの値が、対象失効リストと世代の異なる全ての失効リストの失効リスト出力先ディレクトリと異なるか否かを判定する（Ｓ７０４）。すなわち失効リスト発行部２５は、対象失効リストの出力先ディレクトリの値が、Ｓ７０３で抽出した全ての「失効リスト出力先ディレクトリ」の値のいずれとも異なるか否かを判定する。対象失効リストの出力先ディレクトリの値が、対象失効リストと世代の異なる何れかの失効リストの失効リスト出力先ディレクトリと一致すると判定した場合（Ｓ７０４でＮｏ）、失効リスト発行部２５はエラー処理を行う（Ｓ７０６）。エラー処理では、失効リスト発行部２５は例えば、所定の出力装置を介して、指定された出力先が他の世代の失効リストの出力先と重複している旨を認証局管理者に対して表示する処理を行う。そして処理はＳ７０７に遷移する。
【０２１３】
一方Ｓ７０４において、対象失効リストの出力先ディレクトリの値が、対象失効リストと世代の異なる全ての失効リストの失効リスト出力先ディレクトリのうちのいずれとも異なると判定した場合（Ｓ７０４でＹｅｓ）、失効リスト発行部２５は以下の処理を行う。すなわち失効リスト発行部２５は、設定要求により指定された出力先ディレクトリの情報を認証局管理情報３１に格納する（Ｓ７０５）。具体的には失効リスト発行部２５は先ず、認証局管理情報３１において、「認証局世代番号」が対象失効リストの認証局世代番号と一致するエントリを選択する。次に失効リスト発行部２５は、選択したエントリの「失効リストタイプ設定」カラムのうち、対象失効リストのタイプと同じ失効リストタイプのカラムを抽出する。そして、失効リスト発行部２５は、選択したカラムに設定されている設定データの、「失効リスト出力先ディレクトリ」の値を、設定要求において指定された出力先ディレクトリに設定する。
【０２１４】
次に失効リスト発行部２５は、失効リストタイプの設定要求において、認証局サーバのローカルファイルシステム上の出力先ファイルが新規入力または変更されたか否かを判定する（Ｓ７０７）。失効リストタイプの設定要求において、出力先ファイルが新規入力も変更もされていないと判定された場合（Ｓ７０７でＮｏ）、処理は終了する。一方、失効リストタイプの設定要求において、出力先ファイルが新規入力または変更されたと判定された場合（Ｓ７０７でＹｅｓ）、処理はＳ７０８に遷移する。
【０２１５】
次に失効リスト発行部２５は、対象失効リストと世代の異なる全ての失効リストの失効リスト出力先ファイルを抽出する（Ｓ７０８）。すなわち失効リスト発行部２５は先ず、認証局管理情報３１において、「認証局世代番号」が対象失効リストの認証局世代番号と異なる全てのエントリを選択する。次に失効リスト発行部２５は、選択したエントリの「失効リストタイプ設定」カラムのうち、対象失効リストのタイプと同じ失効リストタイプのカラムを全て抽出する。そして、失効リスト発行部２５は、選択した全てのカラムに設定されている設定データの、「失効リスト出力先ファイル」の値を抽出する。
【０２１６】
次に失効リスト発行部２５は、対象失効リストの出力先ファイルの値が、対象失効リストと世代の異なる全ての失効リストの失効リスト出力先ファイルと異なるか否かを判定する（Ｓ７０９）。すなわち失効リスト発行部２５は、対象失効リストの出力先ファイルの値が、Ｓ７０８で抽出した全ての「失効リスト出力先ファイル」の値のいずれとも異なるか否かを判定する。対象失効リストの出力先ファイルの値が、対象失効リストと世代の異なる何れかの失効リストの失効リスト出力先ファイルと一致すると判定した場合（Ｓ７０９でＮｏ）、失効リスト発行部２５はエラー処理を行う（Ｓ７１１）。エラー処理では、失効リスト発行部２５は例えば、所定の出力装置を介して、指定された出力先が他の世代の失効リストの出力先と重複している旨を認証局管理者に対して表示する処理を行う。そして処理は終了する。
【０２１７】
一方Ｓ７０９において、対象失効リストの出力先ファイルの値が、対象失効リストと世代の異なる全ての失効リストの失効リスト出力先ファイルのうちのいずれとも異なると判定した場合（Ｓ７０９でＹｅｓ）、失効リスト発行部２５は以下の処理を行う。すなわち失効リスト発行部２５は、設定要求により指定された出力先ファイルの情報を認証局管理情報３１に格納する（Ｓ７１０）。具体的には失効リスト発行部２５は先ず、認証局管理情報３１において、「認証局世代番号」が対象失効リストの認証局世代番号と一致するエントリを選択する。次に失効リスト発行部２５は、選択したエントリの「失効リストタイプ設定」カラムのうち、対象失効リストのタイプと同じ失効リストタイプのカラムを抽出する。そして、失効リスト発行部２５は、選択したカラムに設定されている設定データの、「失効リスト出力先ファイル」の値を、設定要求において指定された出力先ファイルに設定する。そして処理は終了する。
【０２１８】
次に、認証局装置１０のハードウェア構成について説明する。図２４は、実施形態に係る認証局装置のハードウェア構成の一例を示す。
【０２１９】
図２４において、認証局装置１０は、ＣＰＵ（Central Processing Unit）６０１、メモリ６０２、記憶装置６０３、読取装置６０４、通信インターフェース６０５、及び入出力装置６０６を含む。ＣＰＵ６０１、メモリ６０２、記憶装置６０３、読取装置６０４、通信インターフェース６０５、及び入出力装置６０６はバスを介して接続される。
【０２２０】
ＣＰＵ６０１は、メモリ６０２を利用して上述のフローチャートの手順を記述したプログラムを実行することにより、認証局証明書発行部２２、利用者証明書発行部２３、及び鍵管理部２４の一部または全部の機能を提供する。またＣＰＵ６０１は、失効リスト発行部２５、及び証明書失効部２６の一部または全部の機能を提供する。
【０２２１】
メモリ６０２は、例えば半導体メモリであり、ＲＡＭ（Random Access Memory）領域およびＲＯＭ（Read Only Memory）領域を含んで構成される。記憶装置６０３は、例えばハードディスクである。なお、記憶装置６０３は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置６０３は、外部記録装置であってもよい。記憶装置６０３は記憶部２１の一部または全部の機能を提供する。
【０２２２】
読取装置６０４は、ＣＰＵ６０１の指示に従って着脱可能記憶媒体６５０にアクセスする。着脱可能記憶媒体６５０は、たとえば、半導体デバイス（ＵＳＢメモリ等）、磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ−ＲＯＭ、ＤＶＤ等）などにより実現される。尚、読取装置６０４は認証局装置１０に含まれなくてもよい。
【０２２３】
通信インターフェース６０５は、ＣＰＵ６０１の指示に従ってネットワークを介して、管理者端末１１及び登録局装置１２と通信する。
【０２２４】
入出力装置６０６は、認証局管理者からの種々の指示を受け付け、またエラー情報等を表示する。
【０２２５】
実施形態のプログラムは、例えば、下記の形態で認証局装置１０に提供される。
（１）記憶装置６０３に予めインストールされている。
（２）着脱可能記憶媒体６５０により提供される。
（３）プログラムサーバ（図示せず）から通信インターフェース６０５を介して提供される。
【０２２６】
さらに、実施形態の認証局装置１０の一部は、ハードウェアで実現してもよい。或いは、実施形態の認証局装置１０は、ソフトウェアおよびハードウェアの組み合わせで実現してもよい。
【０２２７】
さらに、鍵管理部２４の機能は、認証局装置１０にネットワーク又はバス等を介して接続された装置のＣＰＵにより実現されてもよい。鍵管理部２４の機能は、外部からの攻撃に対する耐タンパー性を有するハードウェアまたは、そのハードウェアに搭載されたＣＰＵにより実現されてもよい。具体的には例えば、鍵管理部２４の機能は、認証局装置１０に接続されたＨＳＭ（Hardware Security Module）により実現されてもよい。
【０２２８】
また、記憶部２１の機能は、認証局装置１０にネットワーク又はバス等を介して接続された記憶装置により実現されてもよい。
【０２２９】
また、本実施形態では、認証局秘密鍵に対応する公開鍵は、認証局秘密鍵と同様に公開鍵も鍵管理部２４の同一記憶領域にセットで記憶される。また秘密鍵は記憶領域から取り出すことはできず、記憶領域内に保持した状態で暗号/署名処理が行われる。
【０２３０】
尚、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０２３１】
１      秘密鍵保持部
２      発行制御部
３      失効リスト発行部
４      第１記憶部
５      失効処理部
６      第２記憶部
７      鍵生成制御部
８      第３記憶部
９      失効リスト出力設定部
１０    認証局装置
１１    管理者端末
１２    登録局装置
２１    記憶部
２２    認証局証明書発行部
２３    利用者証明書発行部
２４    鍵管理部(HSM)
２５    失効リスト発行部
２６    証明書失効部
３１    認証局管理情報
３２    証明書管理情報
３３    失効リスト管理情報
３４    強度情報
６０１  ＣＰＵ
６０２  メモリ
６０３  記憶装置
６０４  読取装置
６０５  通信インターフェース
６０６  入出力装置
６５０  着脱可能記憶媒体
【図１】
2016032247.tif 000003
【図２】
2016032247.tif 000004
【図３】
2016032247.tif 000005
【図４】
2016032247.tif 000006
【図５】
2016032247.tif 000007
【図６】
2016032247.tif 000008
【図１４】
2016032247.tif 000009
【図１６】
2016032247.tif 000010
【図１８】
2016032247.tif 000011
【図１９】
2016032247.tif 000012
【図２０】
2016032247.tif 000013
【図２１】
2016032247.tif 000014
【図２２】
2016032247.tif 000015
【図２３】
2016032247.tif 000016
【図２４】
2016032247.tif 000017
【図７】
2016032247.tif 000018
【図８】
2016032247.tif 000019
【図９】
2016032247.tif 000020
【図１０】
2016032247.tif 000021
【図１１】
2016032247.tif 000022
【図１２】
2016032247.tif 000023
【図１３】
2016032247.tif 000024
【図１５】
2016032247.tif 000025
【図１７】
2016032247.tif 000026
【手続補正書】
【提出日】平成27年6月22日(2015.6.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
世代に応じて暗号強度が異なる複数の世代の暗号方式のそれぞれに対応した複数の秘密鍵を保持する秘密鍵保持部と、
発行指示を取得した場合、最も暗号強度が高い前記世代の暗号方式に対応する第１秘密鍵を用いて公開鍵証明書の発行を行うように制御する発行制御部と、
を備えることを特徴とする認証局装置。
【請求項２】
前記発行制御部は、前記複数の世代の暗号方式のうち最新の世代の暗号方式に対応する第１秘密鍵を用いて前記公開鍵証明書を発行し、該第１秘密鍵とは異なる第２秘密鍵を用いた前記公開鍵証明書の発行を行わないように制御を行う
ことを特徴とする請求項１に記載の認証局装置。
【請求項３】
前記認証局装置は、さらに、
前記複数の秘密鍵のうちの何れかの秘密鍵を用いて発行された公開鍵証明書の失効情報を含む失効リストの発行を、該何れかの秘密鍵を用いて行う失効リスト発行部
を備え、
前記失効リスト発行部は、取得した前記失効情報の発行の停止要求に応じて、前記何れかの秘密鍵を用いて発行された公開鍵証明書の失効リストの発行を停止する
ことを特徴とする請求項１または２に記載の認証局装置。
【請求項４】
前記最も暗号強度が高い世代の暗号方式を用いて生成された失効リストは、該最も暗号強度が高い世代とは異なる世代の暗号方式を用いて発行された公開鍵証明書の失効情報を含む
ことを特徴とする請求項１〜３のうちいずれか１項に記載の認証局装置。
【請求項５】
さらに、
前記暗号方式の世代を示す情報と、該世代を示す情報により示される世代の暗号方式を用いて生成した公開鍵証明書を対応付けた世代情報を記憶する第１記憶部と、
前記認証局装置の正当性を保証するための公開鍵証明書である認証局証明書が失効した場合、前記世代情報に基いて、失効した該認証局証明書の生成に用いられた暗号方式よりも、暗号強度が弱い暗号方式を用いて生成した認証局証明書を失効させる失効処理部と、
を備えることを特徴とする請求項１〜４のうちいずれか１項に記載の認証局装置。
【請求項６】
さらに、
前記複数の秘密鍵の各々の強度を示す情報を記憶する第２記憶部と、
前記第１秘密鍵の生成の際に、該第１秘密鍵の強度が、該第１秘密鍵とは異なる秘密鍵の強度よりも高い場合に、前記第１秘密鍵を生成するように制御する鍵生成制御部と、
を備えることを特徴とする請求項１〜５のうちいずれか１項に記載の認証局装置。
【請求項７】
さらに、
前記複数の失効リストの各々の出力先を示す出力先情報を記憶する第３記憶部と、
前記複数の失効リストのうちの何れかの失効リストである第１失効リストの出力先を示す第１出力先を含む設定要求を受信すると、受信した該設定要求に含まれる該第１出力先が、該第１失効リストとは異なる世代の失効リストの前記出力先情報が示す出力先と異なる場合、前記第１失効リストの出力先を第１出力先に設定する、失効リスト出力先設定部
を備えることを特徴とする請求項３に記載の認証局装置。
【請求項８】
コンピュータに、
発行指示を取得した場合、世代に応じてセキュリティ強度が異なる複数の世代の暗号方式のそれぞれに対応した複数の秘密鍵のうち、最も暗号強度が高い前記世代の暗号方式に対応する秘密鍵を用いて公開鍵証明書の発行を行うように制御する
処理を実行されることを特徴とする認証局プログラム。
【請求項９】
発行指示を取得した場合、世代に応じてセキュリティ強度が異なる複数の世代の暗号方式のそれぞれに対応した複数の秘密鍵のうち、最も暗号強度が高い前記世代の暗号方式に対応する秘密鍵を用いて公開鍵証明書の発行を行うように制御する
ことを特徴とする認証局運用方法。