(57)【要約】【課題】デジタル証明書を適切に管理する管理技術を提供する。【解決手段】第１の記憶手段に記憶されているデータのうち、状態情報が「変更中」の記憶領域のデータと、状態情報が「使用中」の記憶領域のデータであって当該データが「変更中」の状態情報を有する記憶領域のデータからの変更ではないデータを所定の登録領域に登録する登録手段と、登録されたデータに含まれるペア情報がペア情報以外のデータと整合するか否かを判断する判断手段と、整合しない場合は、ペア情報、ペア情報以外のデータ及び登録されていないデータのうち１以上のデータを所定条件に従って修正あるいは登録する修正手段と、登録されているデータのうち他のデータと整合しないデータを削除する削除手段と、登録されているデータを「使用中」の状態情報と対応付けて第２の記憶手段へ書き込む書込手段とを備える。【選択図】図５
2009212894.tif 000002
【特許請求の範囲】
【請求項１】
データと該データを記憶する記憶領域の状態を示す状態情報とを対応付けて記憶する第１の記憶手段であって、前記データは、デジタル証明書、秘密鍵およびデジタル証明書と秘密鍵の組み合わせを定義するペア情報を含み、前記状態情報は、前記記憶領域が有効なデータを記憶している状態であることを示す「使用中」と、前記記憶領域がデータを記憶している状態であって当該データの変更後のデータを他の領域に記憶する処理が実行されている状態にあることを示す「変更中」と、を含む第１の記憶手段と、
前記第１の記憶手段に記憶されているデータのうち、状態情報が「変更中」の記憶領域のデータと、状態情報が「使用中」の記憶領域のデータであって状態情報が「変更中」の記憶領域のデータから変更されたものではないデータと、を登録する登録手段と、
前記登録手段により登録されたデータに含まれるペア情報が、前記登録手段により登録されたデータに含まれるペア情報以外のデータと整合するか否かを判断する判断手段と、
前記判断手段により前記ペア情報が前記ペア情報以外のデータと整合しないと判断された場合は、前記ペア情報、前記ペア情報以外のデータ及び前記第１の記憶手段に記憶されているデータのうち所定条件に合致するデータを修正あるいは登録する修正手段と、
前記登録されているデータのうち他のデータと整合しないデータを削除する削除手段と、
前記登録されているデータを「使用中」の状態情報と対応付けて第２の記憶手段へ書き込む書込手段と
を備えることを特徴とするデジタル証明書管理装置。
【請求項２】
前記修正手段は、
前記判断手段により前記ペア情報が前記ペア情報以外のデータと整合しないと判断された場合において、前記ペア情報の記憶領域の状態情報が「変更中」の場合は、前記ペア情報に整合するデータを前記第１の記憶手段に記憶されたデータの中から特定して登録することを特徴とする請求項１記載のデジタル証明書管理装置。
【請求項３】
前記修正手段は、
前記判断手段により前記ペア情報が前記ペア情報以外のデータと整合しないと判断された場合において、前記ペア情報の記憶領域の状態情報が「使用中」の場合は、前記ペア情報が前記ペア情報以外のデータと整合するように、前記ペア情報を修正することを特徴とする請求項１記載のデジタル証明書管理装置。
【請求項４】
前記削除手段は、
前記所定の登録領域に登録されているデータがデジタル証明書の場合には、当該デジタル証明書とペアになる秘密鍵が登録されていない場合または当該デジタル証明書がペア情報に定義されていない場合には、当該デジタル証明書を削除することを特徴とする請求項１記載のデジタル証明書管理装置。
【請求項５】
前記削除手段は、
前記所定の登録領域に登録されているデータが秘密鍵の場合には、前記秘密鍵とペアになるデジタル証明書が登録されていない場合または前記秘密鍵がペア情報に定義されていない場合には、前記秘密鍵を削除することを特徴とする請求項１記載のデジタル証明書管理装置。
【請求項６】
前記第１の記憶手段は、前記状態情報として、前記記憶領域がデータを記憶していない状態を示す「未使用」と、無効なデータを記憶している状態を示す「使用済」とをさらに含むことを特徴とする請求項１記載のデジタル証明書管理装置。
【請求項７】
データと該データを記憶する記憶領域の状態を示す状態情報とを対応付けて記憶する第１の記憶手段であって、前記データは、デジタル証明書、秘密鍵およびデジタル証明書と秘密鍵の組み合わせを定義するペア情報を含み、前記状態情報は、前記記憶領域が有効なデータを記憶している状態であることを示す「使用中」と、前記記憶領域がデータを記憶している状態であって当該データの変更後のデータを他の領域に記憶する処理が実行されている状態にあることを示す「変更中」と、を含む第１の記憶手段を備えるデジタル証明書管理装置におけるデジタル証明書管理方法であって、
前記第１の記憶手段に記憶されているデータのうち、状態情報が「変更中」の記憶領域のデータと、状態情報が「使用中」の記憶領域のデータであって状態情報が「変更中」の記憶領域のデータから変更されたものではないデータと、を登録するステップと、
前記登録されたデータに含まれるペア情報が、前記登録手段により登録されたデータに含まれるペア情報以外のデータと整合するか否かを判断するステップと、
前記ペア情報が前記ペア情報以外のデータと整合しないと判断された場合は、前記ペア情報、前記ペア情報以外のデータ及び前記第１の記憶手段に記憶されているデータのうち所定条件に合致するデータを修正あるいは登録するステップと、
前記登録されているデータのうち他のデータと整合しないデータを削除するステップと、
前記登録されているデータを「使用中」の状態情報と対応付けて第２の記憶手段へ書き込むステップと
を備えることを特徴とするデジタル証明書管理方法。
【請求項８】
データと該データを記憶する記憶領域の状態を示す状態情報とを対応付けて記憶する第１の記憶手段であって、前記データは、デジタル証明書、秘密鍵およびデジタル証明書と秘密鍵の組み合わせを定義するペア情報を含み、前記状態情報は、前記記憶領域が有効なデータを記憶している状態であることを示す「使用中」と、前記記憶領域がデータを記憶している状態であって当該データの変更後のデータを他の領域に記憶する処理が実行されている状態にあることを示す「変更中」と、を含む第１の記憶手段を備えるコンピュータを、
前記第１の記憶手段に記憶されているデータのうち、状態情報が「変更中」の記憶領域のデータと、状態情報が「使用中」の記憶領域のデータであって状態情報が「変更中」の記憶領域のデータから変更されたものではないデータと、を登録する登録手段と、
前記登録されたデータに含まれるペア情報が、前記登録手段により登録されたデータに含まれるペア情報以外のデータと整合するか否かを判断する判断手段と、
前記ペア情報が前記ペア情報以外のデータと整合しないと判断された場合は、前記ペア情報、前記ペア情報以外のデータ及び前記第１の記憶手段に記憶されているデータのうち所定条件に合致するデータを修正あるいは登録する修正手段と、
前記登録されているデータのうち他のデータと整合しないデータを削除する削除手段と、
前記登録されているデータを「使用中」の状態情報と対応付けて第２の記憶手段へ書き込む書込手段と
して機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の記憶装置に記憶されるデータを管理する技術に関し、特に、所定の記憶装置に記憶されるデジタル証明書を管理する技術に関する。
【背景技術】
【０００２】
近年、通信ネットワークの発達に伴い、ネットワークセキュリティに対する要求が高まっている。例えば、インターネット等を通じて文書や画像などのデジタルデータをやりとりする際には、通信途中で第三者にそのデータを盗み見られたり改ざんされたりしないよう、当該データを暗号化して送信する場合が増えている。かかる暗号化に関する技術は、例えば、特開２００３−２８８００９号公報（特許文献１）などに記載されている。
【特許文献１】特開２００３−２８８００９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上述したデータの暗号化に関する技術をベースに、ネットワークセキュリティにおけるデータの信頼性や通信相手の認証に関する技術として、デジタル証明書が提案されている。デジタル証明書は、証明書の所有者のＩＤを検査するデジタル文書であり、例えば所定の認証局によってユーザやサーバに対して発行されるものである。デジタル証明書の例としては、例えば、サーバ等のデバイスを識別するためのデバイス証明書やユーザを識別するためのユーザ証明書がある。前者のデバイス証明書は、ＳＳＬ（Secure Socket Layer）などの通信プロトコルを使用したセキュアな通信の際に使用したりすることができ、後者のユーザ証明書は、同様にセキュリティで保護された電子メールの送信等に使用することができる。
【０００４】
ここで、このようなデジタル証明書を使用する場合、ネットワークセキュリティという観点からは、かかるデジタル証明書の取得や有効期限等に応じた更新等を適切に管理することが重要となる。しかしながら、従来のデジタル証明書の管理技術には、例えば以下に述べるような問題があった。
【０００５】
例えば、デジタル証明書の管理には、既知のファイルシステムを用いることができるが、このファイルシステムを用いた管理では、データの変更中に何らかの異常が発生し、これによりデータの一部消失またはデータ間の矛盾等が生じた場合に、これらを検出する仕組みが設けられていなかった。従って、デジタル証明書の更新中に、例えば、電源OFFなどが生じた場合には、デジタル証明書の整合性を維持することができず、デジタル証明書を適切に管理することができない場合があった。
【０００６】
そこで、本願発明は、デジタル証明書の整合性を維持することによってデジタル証明書を適切に管理することができるデジタル証明書の管理技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明は、データと該データを記憶する記憶領域の状態を示す状態情報とを対応付けて記憶する第１の記憶手段であって、前記データは、デジタル証明書、秘密鍵およびデジタル証明書と秘密鍵の組み合わせを定義するペア情報を含み、前記状態情報は、前記記憶領域が有効なデータを記憶している状態であることを示す「使用中」と、前記記憶領域がデータを記憶している状態であって当該データの変更後のデータを他の領域に記憶する処理が実行されている状態にあることを示す「変更中」と、を含む第１の記憶手段と、前記第１の記憶手段に記憶されているデータのうち、状態情報が「変更中」の記憶領域のデータと、状態情報が「使用中」の記憶領域のデータであって状態情報が「変更中」の記憶領域のデータから変更されたものではないデータと、を登録する登録手段と、前記登録手段により登録されたデータに含まれるペア情報が、前記登録手段により登録されたデータに含まれるペア情報以外のデータと整合するか否かを判断する判断手段と、前記判断手段により前記ペア情報が前記ペア情報以外のデータと整合しないと判断された場合は、前記ペア情報、前記ペア情報以外のデータ及び前記第１の記憶手段に記憶されているデータのうち所定条件に合致するデータを修正あるいは登録する修正手段と、前記登録されているデータのうち他のデータと整合しないデータを削除する削除手段と、前記登録されているデータを「使用中」の状態情報と対応付けて第２の記憶手段へ書き込む書込手段とを備えることを特徴とする。
【０００８】
好適には、前記修正手段は、前記判断手段により前記ペア情報が前記ペア情報以外のデータと整合しないと判断された場合において、前記ペア情報の記憶領域の状態情報が「変更中」の場合は、前記ペア情報に整合するデータを前記第１の記憶手段に記憶されたデータの中から特定して登録する。
【０００９】
好適には、前記修正手段は、前記判断手段により前記ペア情報が前記ペア情報以外のデータと整合しないと判断された場合において、前記ペア情報の記憶領域の状態情報が「使用中」の場合は、前記ペア情報が前記ペア情報以外のデータと整合するように、前記ペア情報を修正する。
【００１０】
好適には、前記削除手段は、前記所定の登録領域に登録されているデータがデジタル証明書の場合には、当該デジタル証明書とペアになる秘密鍵が登録されていない場合または当該デジタル証明書がペア情報に定義されていない場合には、当該デジタル証明書を削除する。
【００１１】
好適には、前記削除手段は、前記所定の登録領域に登録されているデータが秘密鍵の場合には、前記秘密鍵とペアになるデジタル証明書が登録されていない場合または前記秘密鍵がペア情報に定義されていない場合には、前記秘密鍵を削除する。
【００１２】
好適には、前記第１の記憶手段は、前記状態情報として、前記記憶領域がデータを記憶していない状態を示す「未使用」と、無効なデータを記憶している状態を示す「使用済」とをさらに含む。
【００１３】
また、本発明は、データと該データを記憶する記憶領域の状態を示す状態情報とを対応付けて記憶する第１の記憶手段であって、前記データは、デジタル証明書、秘密鍵およびデジタル証明書と秘密鍵の組み合わせを定義するペア情報を含み、前記状態情報は、前記記憶領域が有効なデータを記憶している状態であることを示す「使用中」と、前記記憶領域がデータを記憶している状態であって当該データの変更後のデータを他の領域に記憶する処理が実行されている状態にあることを示す「変更中」と、を含む第１の記憶手段を備えるデジタル証明書管理装置におけるデジタル証明書管理方法であって、前記第１の記憶手段に記憶されているデータのうち、状態情報が「変更中」の記憶領域のデータと、状態情報が「使用中」の記憶領域のデータであって状態情報が「変更中」の記憶領域のデータから変更されたものではないデータと、を登録するステップと、前記登録されたデータに含まれるペア情報が、前記登録手段により登録されたデータに含まれるペア情報以外のデータと整合するか否かを判断するステップと、前記ペア情報が前記ペア情報以外のデータと整合しないと判断された場合は、前記ペア情報、前記ペア情報以外のデータ及び前記第１の記憶手段に記憶されているデータのうち所定条件に合致するデータを修正あるいは登録するステップと、前記登録されているデータのうち他のデータと整合しないデータを削除するステップと、前記登録されているデータを「使用中」の状態情報と対応付けて第２の記憶手段へ書き込むステップとを備えることを特徴とする。
【００１４】
また、本発明は、データと該データを記憶する記憶領域の状態を示す状態情報とを対応付けて記憶する第１の記憶手段であって、前記データは、デジタル証明書、秘密鍵およびデジタル証明書と秘密鍵の組み合わせを定義するペア情報を含み、前記状態情報は、前記記憶領域が有効なデータを記憶している状態であることを示す「使用中」と、前記記憶領域がデータを記憶している状態であって当該データの変更後のデータを他の領域に記憶する処理が実行されている状態にあることを示す「変更中」と、を含む第１の記憶手段を備えるコンピュータを、前記第１の記憶手段に記憶されているデータのうち、状態情報が「変更中」の記憶領域のデータと、状態情報が「使用中」の記憶領域のデータであって状態情報が「変更中」の記憶領域のデータから変更されたものではないデータと、を登録する登録手段と、前記登録されたデータに含まれるペア情報が、前記登録手段により登録されたデータに含まれるペア情報以外のデータと整合するか否かを判断する判断手段と、前記ペア情報が前記ペア情報以外のデータと整合しないと判断された場合は、前記ペア情報、前記ペア情報以外のデータ及び前記第１の記憶手段に記憶されているデータのうち所定条件に合致するデータを修正あるいは登録する修正手段と、前記登録されているデータのうち他のデータと整合しないデータを削除する削除手段と、前記登録されているデータを「使用中」の状態情報と対応付けて第２の記憶手段へ書き込む書込手段として機能させることを特徴とするコンピュータプログラムである。
【００１５】
また、本発明のプログラムは、本発明の情報処理方法の各工程をコンピュータ上で実行させることを特徴とする。この場合のプログラムは、コンピュータによって読み取り可能な、ＣＤ−ＲＯＭ、磁気ディスク、半導体メモリ及び通信ネットワークなどの各種の媒体を通じてコンピュータにインストールまたはロードすることができる。また、コンピュータプログラムが、ＰＣカードやオプションボードに記録されて流通する場合も含む。
【００１６】
なお、本明細書において、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、１つの手段が有する機能が２つ以上の物理的手段により実現されても、２つ以上の手段の機能が１つの物理的手段により実現されてもよい。
【発明の効果】
【００１７】
本発明によれば、デジタル証明書の更新処理中に異常が発生した場合であっても、デジタル証明書が更新処理前の状態に復帰されるので、デジタル証明書の整合性を維持することが可能になる。
【発明を実施するための最良の形態】
【００１８】
以下、図を参照しつつ本発明にかかるデジタル証明書管理装置について詳細に説明する。
【００１９】
（１）デジタル証明書の管理装置の概要
【００２０】
図１〜図３を用いて、本実施形態に係るデジタル証明書管理装置の構成について説明する。
【００２１】
図１は、本実施形態に係るデジタル証明書管理装置の機能構成を示すブロックダイアグラムである。同図に示すように、デジタル証明書管理装置１は、本発明における主な構成として、デジタル証明書管理装置１の動作全体を制御する制御手段１１と、デジタル証明書の管理に必要な情報を記憶するための記憶手段１２とを主に備える。
【００２２】
制御手段１２は、データ登録手段１１１、整合性判断手段１１２、修正・削除手段１１３及びデータ書込手段１１４を主に備える。記憶手段１２の構成については、図３を用いて後述する。
【００２３】
図２は、本実施形態に係るデジタル証明書管理装置１のハードウェア構成を示すブロック図である。すなわち、デジタル証明書管理装置１は、図２に示すようなコントローラとしてのＣＰＵ１０１、記憶装置としてのＲＯＭ１０２、ＲＡＭ１０３及び外部記憶装置１０４、入力インタフェース１０５、出力インタフェース１０６、および通信インタフェース１０７等を備える汎用のコンピュータを適用することができる。なお、デジタル証明書管理装置１は、例えば、プリンタ、スキャナー、コピー機、ＦＡＸ機またはこれらの機能を全て備えた多機能周辺装置（MFP: Multifunction peripheral）に接続されるか、または一部に組み込まれていてもよい。また、証明書データ管理装置１は、単一のコンピュータより構成されるものであっても、ネットワーク上に分散した複数のコンピュータより構成されるものであってもよい。証明書データ管理装置１は、ＣＰＵ１０１が、例えば外部記憶装置１０４からＲＡＭ１０３にロードされた所定のプログラム（本発明にかかるデジタル証明書管理処理の内容を規定したプログラム）を実行することにより、図１に示す各種機能実現手段として証明書データ管理装置１を機能させることができる。
【００２４】
図３は、本実施形態に係るデジタル証明書管理装置１の記憶手段１２のデータ構成の一例を示す図である。
【００２５】
本実施形態では、記憶手段１２が、セクタ単位でデータの消去が可能なフラッシュメモリ（flash memory）１０２によって構成される場合を例に説明する。ただし、記憶手段１２の構成はフラッシュメモリに限られない。
【００２６】
記憶手段１２は、複数のセクタ（記憶領域）を備えており、各セクタは、当該セクタの状態を示す状態情報を格納する「セクタ状態領域」（未使用、使用中、変更中のいずれかが格納される）と、複数の「データブロック」を記憶領域として備えている。各データブロックには、デジタル証明書管理装置１の管理対象であるデジタル証明書や秘密鍵のほか、デジタル証明書と秘密鍵との組み合わせを定義する情報（以下、これを「鍵ペア情報」という。）などが格納される。図３では、一例として、データブロック０に鍵ペア情報が格納され、データブロックＮに鍵ペア以外の情報が格納されている。
【００２７】
鍵ペア情報が格納されるデータブロック０は、データブロックの状態を示す状態情報を格納する「ブロック状態領域」（未使用、使用中、変更中、使用済のいずれかが格納される）、格納しているデータの種別を格納する「データ種別領域」（例えば、鍵ペア情報、ルート/中間ＣＡ証明書（認証局のデジタル証明書）、自己署名証明書、デジタル証明書、秘密鍵、秘密鍵ＣＳＲ（Certificate Signing Request：証明書署名要求）の何れかが格納される）、及び鍵ペアの内容（どの証明書と秘密鍵がペアになっているかを示す情報）を格納する複数の「鍵ペア情報領域」を記憶領域として備える。
【００２８】
データブロック０の各鍵ペア情報領域は、さらに、複数の記憶領域を備える。例えば、鍵ペア情報領域０は、鍵ペア情報領域の状態を示す状態情報を格納する「鍵ペア状態領域」（未使用、使用中、変更中、使用済のうちいずれかが格納される）、デジタル証明書の利用目的を格納する「利用目的領域」（例えば、利用目的未定またはＷＥＢサーバ用といったデータが格納される）、デジタル証明書を格納しているデータブロックの番号を格納する「証明書番号領域」、デジタル証明書のペアになる秘密鍵を格納するデータブロックの番号を格納する「秘密鍵番号領域」、デジタル証明書の種類を格納する「証明書種別領域」（例えば、自己署名証明書やＣＡ署名証明書などが格納される）、及びデータサイズとデータの整合性を判断するためのチェックサムを格納する「チェックサム領域」を備える。
【００２９】
一方、鍵ペア以外の情報が格納されるデータブロックＮは、上述したブロック状態領域やデータ種別領域に加えて、データサイズとデータの整合性を判断するためのチェックサムを格納する「チェックサム領域」、データブロックＮのデータが他のデータブロックのデータからの変更に該当する場合には、変更前のデータを格納しているデータブロックの番号を格納する「変更前情報領域」、データのサイズを格納する「データサイズ領域」、及びデータ（デジタル証明書、秘密鍵など）を格納する「データ領域」を備える。
【００３０】
なお、本実施形態に係る記憶手段１２が採用するフラッシュメモリは、所定の記憶領域単位すなわちセクタ単位でデータの消去が可能な構成である。例えば、初期値が１の場合には、ビット単位で値を１から０にいったん変更すると、セクタ単位でしか値を１に戻すことができない。なお、同一領域内においてビット単位で値を１から０に変更することは随時可能である。そこで、セクタ状態領域、データブロック状態領域および鍵ペア状態領域における各状態情報（未使用、使用中、変更中、使用済）については、処理工程に応じて当該領域中の任意のビットを１から０に書きかえて組み合わせを変更し、同一領域内で複数の状態情報を保持するように構成している。
【００３１】
（２）デジタル証明書の管理処理における各記憶領域の状態情報
【００３２】
ここで、本発明に係るデジタル証明書の管理処理にて使用される「状態情報（ステータス）」について詳しく説明する。上述したように、本発明に係るデジタル証明書の管理処理では、セクタの状態については「未使用」「使用中」及び「変更中」の３つの状態情報を用いて、また、データブロック及び鍵ペア情報の各状態については、「未使用」「使用中」「変更中」及び「使用済」の４つの状態情報を用いてそれぞれ管理している。
【００３３】
「未使用」は、該当記憶領域（セクタ、データブロックまたは鍵ペア情報）が未だ使用されていない状態、換言すれば、該当領域にはデータが未だ格納されていない状態を示している。
【００３４】
「使用中」は、該当記憶領域（セクタ、データブロックまたは鍵ペア情報）が使用されている状態、換言すれば、該当領域に有効なデータが格納されている状態を示している。
【００３５】
「使用済」は、該当記憶領域（データブロックまたは鍵ペア情報）の使用が済んだ状態、換言すれば、該当領域に無効なデータが格納されている状態（データが削除された状態）を示している。
【００３６】
「変更中」は、該当記憶領域がデータを記憶している状態であって当該データの変更後のデータを他の領域に記憶する処理が実行されている状態にあることを示す。すなわち、該当記憶領域は、他の記憶領域に記憶されるデータの変更元となるデータを記憶しており、このデータは、他の記憶領域に変更後のデータが記憶される前は有効であるが、他の記憶領域に変更後のデータが記憶されると無効になる。本実施形態におけるデータの変更は、デジタル証明書の通常の処理において同一なデータとして取り扱われるデータが２つの記憶領域に記憶される場合に発生し、変更元のデータと変更後のデータの内容が異なる場合のみならず、変更元のデータと変更後のデータの内容が実質的に同じ場合も含まれる。例えば、古いデジタル証明書を新しいデジタル証明書に変更する場合は、変更元のデータと変更後のデータの内容は異なる。一方、秘密鍵ＣＳＲを秘密鍵に変更するような場合、変更後のデータ（秘密鍵）は変更元のデータ（秘密鍵ＣＳＲ）のコピーであるので、両者は実質的に同じ内容になる。
【００３７】
図４は、本実施形態に係るデジタル証明書の新規登録/更新処理の主な流れを示すフローチャートである。なお、図４中「ブロック」とあるのは、データブロックの略である。以下、既存のデータの変更後のデータ（新しいデータ）を他の領域に記憶する処理について説明をする。
【００３８】
デジタル証明書管理装置１における制御手段１１は、任意の１のセクタについて「未使用」状態のデータブロックが存在するか否か（すなわち、空き領域があるか否か）をチェックし（Ｓ１０１）、「未使用」状態のデータブロックが存在しないと判断した場合は（Ｓ１０１；Ｎｏ）、セクタを他のセクタに切り替える（Ｓ１０２）。
【００３９】
一方、「未使用」状態のデータブロックが存在すると判断した場合（はＳ１０１；Ｙｅｓ）、制御手段１１は、変更前のデータが格納されているデータブロックを所定の要件に従って特定し、この特定したデータブロックのブロック状態領域に「変更中」を設定する（Ｓ１０３）。そして、制御手段１１は、「未使用」のデータブロックのブロック状態領域に「使用中」を設定し、データ領域に新たなデータを書き込み、変更前情報領域に変更前のデータが格納されているブロックのブロック番号を書き込む（Ｓ１０４）。制御手段１１は、データを書き込むと、変更前のデータが格納されているデータブロックのブロック状態領域に「使用済」を設定する（Ｓ１０５）。
【００４０】
以上によれば、新たなデータ（変更後のデータ）が格納されているデータブロックのブロック状態は「未使用」から「使用中」となり、変更前のデータが格納されているデータブロックのブロック状態は「使用中」から「使用済」となる。その結果、デジタル証明書の通常処理においては、「使用中」のデータブロック（新たなデータ）が参照され、「使用済」のデータブロック（変更前のデータ）は参照されない。
【００４１】
このようにして、デジタル証明書の登録/更新処理では、処理工程に応じて「未使用、使用中、変更中、使用済」の４つの状態情報が設定され、これらの状態情報は、後述するデジタル証明書の管理処理において参照される。
【００４２】
なお、新たに登録するデータが、すでに記憶されているデータからの変更を伴わない場合には、「未使用」のデータブロックのブロック状態を「使用中」に設定してデータを追加することにより、データの登録が終了する。
【００４３】
（３）デジタル証明書の管理処理
【００４４】
以下、図５及び図６を用いて、デジタル証明書管理装置１の制御手段１１において実行されるデジタル証明書の管理処理を説明する。図５は、制御手段１１において実行されるデジタル証明書の管理処理の主な流れを示すフローチャートである。図６は、制御手段１１において実行されるデータブロックの読込処理及びデータの登録処理の詳細を示すフローチャートである。なお、後述するフローチャートにおける各工程（符号が付与されていない部分的な工程を含む）は処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００４５】
以下に説明するように、本発明にかかるデジタル証明書の管理処理では、異常が発生した場合には、原則的に「変更中」と「使用中」のデータを使って（例外的に「使用済」のデータを使う）、デジタル証明書管理装置を異常が発生する前の状態に戻すものであり、かつ、状態情報が「変更中」の記憶領域に記憶され他データを他の状態情報の記憶領域に記憶されたデータよりも優先するというルール（以下、「『変更中』優先ルール」という。）に従って処理を実行するものである。この「変更中」優先ルールによれば、例えば、同じデータについて「変更中」と「使用中」が両方存在する場合は、「変更中」のデータが優先的に登録される。また、鍵ペア情報と他のデータが整合しない場合に、鍵ペア情報が「変更中」の場合は、鍵ペア情報の内容が優先的に維持され、他のデータについて修正変更等が行われる。
【００４６】
図５に示すデジタル証明書の管理処理は、図４に示すようなデジタル証明書管理装置１におけるデータの登録/更新処理時に異常が発生する等して、デジタル証明書管理装置１が再起動されることにより開始される。まず、制御手段１１は、使用する２つのセクタ（記憶領域）の状態を所定の要件に基づいてチェックし、チェック結果に応じて３つの処理に分岐する（Ｓ２０１）。ここでは、第１の記憶領域としてセクタＮ、第２の記憶領域としてセクタＭを例に説明をする。制御手段１１は、セクタＮ及びＭのセクタ状態領域に、「使用中」と「未使用」が格納されている場合には（Ｓ２０１：「使用中＆未使用」）、「使用中」のセクタを選択する（Ｓ２０２）。
【００４７】
一方、セクタＮ及びＭのセクタ状態領域に、「使用中」と「変更中」または「未使用」と「変更中」が格納されている場合には（Ｓ２０１：「使用中＆変更中」、「未使用＆変更中」）、制御手段１１は、「変更中」優先ルールに従い「変更中」のセクタを選択し、「変更中」でないセクタのデータを消去するとともに、当該セクタのセクタ状態領域に「未使用」を設定する（Ｓ２０３）。
【００４８】
なお、セクタＮ及びＭのセクタ状態領域に格納されているデータが、上記いずれのケースにもあてはまらない場合には、制御手段１１は、２つのセクタＮ、Ｍをそれぞれ初期化し、工場出荷時の状態に戻す（Ｓ２０３）。
【００４９】
次に、制御手段１１は、Ｓ２０２またはＳ２０３にて選択したセクタについて、データ登録処理を開始する（Ｓ２０４）。データ登録処理は、選択したセクタの全てのデータブロックについて行われる。
【００５０】
図６は、データ登録処理の詳細を示すフローチャートである。制御手段１１から呼び出されたデータ登録手段１１１は、セクタから任意の１のデータブロック（以下、「対象データブロック」という。）を読みこみ、この読みこんだデータブロックのブロック状態を所定の要件に基づいて判断し、その判断結果に応じて３つの処理に分岐する（Ｓ３０１）。
【００５１】
すなわち、ブロック状態領域に「変更中」が格納されている場合は（Ｓ３０１；変更中）、対象データブロックのデータブロック番号と、「変更中」のデータがあった旨を、例えばＲＡＭ１０３上の所定の記憶領域（以下、「データ登録領域」という）に登録する（Ｓ３０２）。
【００５２】
一方、データ登録手段１１１は、ブロック状態領域に「使用中」が格納されている場合は（Ｓ３０１；使用中）、次の処理へ進み、ブロック状態領域に「変更中」及び「使用中」以外のデータが格納されている場合は、対象データブロックについての登録処理を終了する（Ｓ３０１；その他）。
【００５３】
次にデータ登録手段１１１は、対象データブロックのデータ種別をチェックし、そのチェックの結果に応じて３つの処理に分岐する（Ｓ３０３）。すなわち、データ登録手段１１１は、対象データブロックのデータ種別領域に「鍵ペア情報」が格納されている場合は（Ｓ３０３；鍵ペア）、鍵ペア情報の登録処理へ分岐し、対象データブロックのデータ種別領域に「鍵ペア以外の情報」が格納されている場合は（Ｓ３０３；鍵ペア以外の情報）、鍵ペア以外の情報の登録処理へ分岐する。なお、「鍵ペア以外の情報」とは、例えば、ルート／中間ＣＡ証明書、自己署名証明書、デバイス証明書、秘密鍵、秘密鍵（ＣＳＲ）などである。
【００５４】
一方、データ登録手段１１１は、対象データブロックのデータ種別領域に「鍵ペア情報」及び「鍵ペア以外の情報」以外のデータが格納されている場合は（Ｓ３０３；その他）、対象データブロックのブロック状態領域に「使用済」を設定し（Ｓ３０７）、対象データブロックについての登録処理を終了する。
【００５５】
次に、「鍵ペア情報以外の情報」の登録処理（Ｓ３０３；鍵ペア以外の情報）ついて説明する。まず、データ登録手段１１１は、チェックサムデータをチェックすることにより、対象データブロックのデータが正常か否かを判断する（Ｓ３０４）。
【００５６】
データ登録手段１１１は、チェックサムデータに基づいて対象データブロックのデータが正常であると判断した場合は（Ｓ３０４；Ｙｅｓ）、次の処理へ移行し、一方、対象データブロックのデータが異常であると判断した場合は（Ｓ３０４；Ｎｏ）、対象データブロックのブロック状態領域に「使用済」を設定し（Ｓ３０７）、対象データブロックについての登録処理を終了する。
【００５７】
一方、チェックサムによるチェックの結果、対象データブロックのデータが正常であると判断した場合（Ｓ３０４；Ｙｅｓ）、データ登録手段１１１は、次に、対象データブロックの変更前情報領域をチェックすることにより対象データブロックのデータが他のデータブロックのデータからの変更であるか否かを判断する（Ｓ３０５）。具体的には、データ登録手段１１１は、対象データブロックの変更前情報領域に格納されているデータブロック番号が、Ｓ３０２にて登録した「変更中」のデータブロック番号と一致する場合は、対象データブロックのデータが他のデータブロックのデータからの変更であると判断し、「変更中」優先ルールに従い、対象データブロックのデータはエラーとして、そのブロック状態領域に「使用済」を設定し（Ｓ３０７）、対象データブロックについての登録処理を終了する。
【００５８】
一方、データ登録手段１１１は、対象データブロックの変更前情報領域に格納されているデータブロック番号が、Ｓ３０２にて登録した「変更中」のデータブロック番号と一致しない場合は（Ｓ３０５；Ｙｅｓ）、対象データブロックのデータに対応する変更中のデータが存在しないと判断し、次の処理へ進む。
【００５９】
変更前情報領域によるチェックの結果、対象データブロックのデータに対応する変更中のデータが存在しないと判断した場合（Ｓ３０５；Ｙｅｓ）、データ登録手段１１１は、対象データブロックのデータをデータ登録領域に登録する（Ｓ３０６）。
【００６０】
次に、Ｓ３０３でデータ種別が「鍵ペア情報」であると判断した場合の処理について説明する。データ登録手段１１１は、対象データブロックのデータ種別領域に「鍵ペア情報」が格納されている場合（Ｓ３０３；鍵ペア）、鍵ペア情報を登録するまで、または、鍵ペア情報がなくなるまで、後述する鍵ペア情報の登録処理を実行する（Ｓ３０８）。
【００６１】
具体的には、データ登録手段１１１は、対象データブロック中の任意の１の鍵ペア情報（以下、「対象鍵ペア情報」という。）について、鍵ペア状態領域をチェックし、そのチェック結果に応じて３つの処理に分岐する（Ｓ３０９）。
【００６２】
まず、データ登録手段１１１は、対象鍵ペア情報の鍵ペア状態領域に「変更中」が格納されている場合は（Ｓ３０９；変更中）、データ登録領域に「変更中」のデータがあった旨を記憶する（Ｓ３１１）。
【００６３】
一方、データ登録手段１１１は、対象鍵ペア情報の鍵ペア状態領域に「使用中」が格納されている場合は（Ｓ３０９；使用中）、次の処理へ進む。
【００６４】
そして、対象鍵ペア情報の鍵ペア状態領域に「変更中」及び「使用中」以外のデータが格納されている場合は（Ｓ３０９；その他）、データ登録手段１１１は、対象鍵ペア情報についての鍵ペア情報登録処理を終了する。この場合、鍵ペア情報は登録されていないので（Ｓ３１５：Ｎｏ）、データ登録手段１１１は、次の鍵ペア情報について鍵ペア情報の登録処理を実行する。
【００６５】
対象鍵ペア情報の鍵ペア状態が「変更中」または「使用中」である場合は、データ登録手段１１１は、対象鍵ペア情報のチェックサムデータをチェックすることにより、鍵ペア情報が正常なデータであるか否かを判断する（Ｓ３１２）。そして、チェックサムデータに基づいて対象鍵ペア情報が正常であると判断した場合は（Ｓ３１２；Ｙｅｓ）、データ登録手段１１１は、対象鍵ペア情報をデータ登録領域に登録する（Ｓ３１３）。対象鍵ペア情報をデータ登録領域に登録すると、データ登録手段１１１は、鍵ペア情報の登録処理のループを抜ける（Ｓ３１５；Ｙｅｓ）。
【００６６】
一方、チェックサムデータに基づいて対象鍵ペア情報が異常であると判断した場合は（Ｓ３１２；Ｎｏ）、データ登録手段１１１は、対象鍵ペア情報の鍵ペア状態領域に「使用済」を設定し（Ｓ３１４）、対象鍵ペア情報についての登録処理を終了する。この場合、対象鍵ペア情報は登録されないので、次の鍵ペア情報について鍵ペア情報の登録処理を続行する（Ｓ３１５；Ｎｏ）。
【００６７】
図５に戻り、データ登録手段１１１は、選択したセクタについて読み込むデータがなくなると、データの登録処理のループを抜け、登録した鍵ペア情報と他のデータ間の整合性を判断する整合性判断処理へ進む。
【００６８】
以上述べたように、データ登録処理では、２つのデータブロックまたは２つの鍵ペア情報領域が「変更中」と「使用中」の対応関係にある場合には、「変更中」の記憶領域を優先してデータを登録するように構成されている。従って、変更前のデータと変更後のデータが存在する場合には、変更前のデータが無効（使用済）になっていないことを条件に、変更前のデータが登録される。
【００６９】
整合性判断手段１１２は、データ登録手段１１１によってデータ登録領域に登録された鍵ペア情報と他のデータ間の整合性を所定の要件に基づいて判断する（Ｓ２０７）。
【００７０】
具体的には、整合性判断手段１１２は、登録した鍵ペア情報にペアとして定義されているデバイス証明書と秘密鍵が、データ登録領域にそれぞれ登録されている場合は、所定の要件を満たすとして鍵ペア情報は整合性があると判断し（Ｓ２０７；Ｙｅｓ）、この鍵ペア情報を確定する（Ｓ２０８）。例えば、登録された鍵ペア情報に、データブロック１（デジタル証明書）とデータブロック２（秘密鍵）がペアとして登録されている場合において、データ登録領域にデータブロック１（デジタル証明書）とデータブロック２（秘密鍵）のデータが登録されている場合は、登録した鍵ペア情報は整合性があると判断される。
【００７１】
一方、整合性判断手段１１２は、登録した鍵ペア情報にペアとして定義されているデバイス証明書と秘密鍵のうち両方または片方が、データ登録領域に存在しない場合は、所定の要件を満たさないとして登録した鍵ペア情報は整合性がないと判断する（Ｓ２０７；Ｎｏ）。例えば、登録された鍵ペア情報に、データブロック１（デジタル証明書）とデータブロック２（秘密鍵）がペアとして登録されている場合に、データ登録領域にデータブロック１（デジタル証明書）しか登録されていない場合は、登録した鍵ペア情報は整合性がないと判断される。
【００７２】
整合性判断手段１１２は、整合性の判断を終えると、判断結果を修正・削除手段１１３に引き渡す。修正・削除手段１１３は、鍵ペア情報は整合性があるとする判断結果を引き継いだ場合は（Ｓ２０７；Ｙｅｓ）、その鍵ペア情報を確定し、一方、鍵ペア情報は整合性がないとする判断結果を引き継いだ場合は（Ｓ２０７；Ｎｏ）、鍵ペア状態領域の状態情報に基づいて、鍵ペア情報と鍵ペア情報以外のデータについて修正、登録、削除を実行する。
【００７３】
鍵ペア情報には整合性がない場合、修正・削除手段１１３は、鍵ペア状態領域に「変更中」が格納されているか否かをチェックし、鍵ペア状態領域に「変更中」が格納されている場合は（Ｓ２０９；Ｙｅｓ）、「変更中」優先ルールに従い、セクタから「使用済」のデータを読み出して登録するか否かを検討する。すなわち、修正・削除手段１１３は、登録した鍵ペア情報にペアとして定義されているデバイス証明書と秘密鍵のうちデータ登録領域に登録されていないデータが、「使用済」のデータブロックに存在する場合は、当該「使用済」のデータブロックのデータを「使用中」の状態でデータ登録領域に登録するとともに、鍵ペア情報を正常な鍵ペアとして確定する。例えば、登録された鍵ペア情報に、データブロック１（デジタル証明書）とデータブロック２（秘密鍵）がペアとして登録されている場合に、データブロック１（デジタル証明書）とデータブロック２（秘密鍵）が「使用済」の状態でセクタＮに記憶されている場合には、データブロック１（デジタル証明書）とデータブロック２（秘密鍵）がペアとして成立することを条件に、データブロック１（デジタル証明書）とデータブロック２（秘密鍵）を「使用中」の状態で登録し、鍵ペア情報を確定する。
【００７４】
一方、修正・削除手段１１３は、鍵ペア状態領域に「変更中」が格納されていない場合は（Ｓ２０９；Ｎｏ）、データ登録領域に登録されているデータに基づいて鍵ペア情報を修正し、この修正した鍵ペア情報を確定する（Ｓ２１１）。具体的には、修正・削除手段１１３は、データ登録領域からペアとして成立するデジタル証明書と秘密鍵のデータを特定し、この特定したデジタル証明書と秘密鍵のデータをペアとして定義するように鍵ペア情報を修正する。例えば、登録された鍵ペア情報に、データブロック３（デジタル証明書）とデータブロック４（秘密鍵）がペアとして登録されている場合に、データ登録領域にはデータブロック３（デジタル証明書）とデータブロック４（秘密鍵）の両方または片方が登録されておらず、かわりにデータブロック１（デジタル証明書）とデータブロック２（秘密鍵）が登録されている場合には、データブロック１（デジタル証明書）とデータブロック２（秘密鍵）がペアとして成立することを条件に、データブロック１（デジタル証明書）とデータブロック２（秘密鍵）をペアとする内容に鍵ペア情報を修正して、修正後の鍵ペア情報を確定する。
【００７５】
修正・削除手段１１３は、鍵ペア情報の確定が終わると、不要データの削除処理を行う。不要データの削除処理は、データ登録領域に登録されている鍵ペア情報以外のデータについて、他のデータとの整合性を所定の要件に基づいて判断し、他のデータとの整合性がないと判断した場合は、当該データを不要なデータと判断して、そのブロック状態領域に「使用済」を設定する（Ｓ２１２）。
【００７６】
整合性の判断処理における所定の要件には、例えば、対象となるデータのペアが存在しない場合や、ペアが存在する場合でもペアとして鍵ペア情報に定義されていない場合などが該当する。従って、デジタル証明書が登録されているが、当該デジタル証明書に対応する秘密鍵が登録されていないような場合には、修正・削除手段１１３は、デジタル証明書の整合性が維持されていないと判断し、デジタル証明書のブロック状態領域に「使用済」を設定する。
【００７７】
修正・削除手段１１３は、データの修正および削除を終えると、データ書込手段１１４に処理を引き継ぐ。データ書込手段１１４は、データ登録領域を参照して「変更」があったか否かをチェックし（Ｓ２１３）、「変更」があったことを示すデータが記憶されている場合は（Ｓ２１３；Ｙｅｓ）、セクタを切り替えてデータの書き込み処理を実行する（Ｓ２１４）。
【００７８】
データ書込手段１１４は、Ｓ２０２及びＳ２０３にて選択されなかった「未使用」のセクタに、データ登録領域に登録されている鍵ペア情報（確定）及び鍵ペア情報以外のデータを「使用中」の状態で書き込み（すなわち、該当する鍵ペア情報領域とブロック状態領域に「使用中」を設定する）、データを読み出した元のセクタ（Ｓ２０２及びＳ２０３にて選択されたセクタ）のセクタ状態領域に「使用済」を設定する（Ｓ２１４）。
【００７９】
一方、データ登録領域に「変更」があったことを示すデータが記憶されていない場合は（Ｓ２１３；Ｎｏ）、データ書込手段１１４は、そのまま処理を終了する。
【００８０】
（４）デジタル証明書管理装置の動作例
（４−１）デバイス証明書が正常にインストールされた場合
【００８１】
以下、上述したデジタル証明書管理処理を実行するデジタル証明書管理装置１の動作について、所定の認証局から受け取ったデバイス証明書をデジタル証明書管理装置１にインストールする途中で異常が発生した場合を例に説明する。図７は、デバイス証明書のインストール前後におけるデータ構成を説明する図である。図８は、デバイス証明書のインストール前後における、各記憶領域（セクタ、データブロック及び鍵ペア情報）の状態情報の遷移を説明する図である。
【００８２】
図７に示すように、デバイス証明書のインストール前の状態では、セクタＮのデータブロック０〜３には、それぞれ「鍵ペア情報」、「自己署名証明書」、「自己署名証明書の秘密鍵」及び「秘密鍵ＣＳＲ」がそれぞれ「使用中」の状態で格納されている。また、データブロック０には、鍵ペア情報０に「データブロック１（自己署名証明書）とデータブロック２（秘密鍵）」がペアであることを示す情報が「使用中」の状態で格納されている。
【００８３】
ここで、「秘密鍵ＣＳＲ」は、所定の認証局へ提出される証明書要求（ＣＳＲ：Certificate Signing Request）に使用される秘密鍵である。本実施形態では、所定の認証局（図示せず）によって証明書要求が署名されてデジタル証明書が発行されると、秘密鍵ＣＳＲが、この発行されたデジタル証明書とペアになる「秘密鍵」に変更され他のデータブロックに登録されるように構成されている。
【００８４】
所定の認証局によってデバイス証明書が発行されると、当該デバイス証明書のインストール処理が開始される。以下に、正常にデバイス証明書のインストール処理が実行された場合の工程を示す（図８（Ａ）参照）。
（工程I）データブロック３のブロック状態領域に「変更中」を設定する。
（工程II）鍵ペア情報０の鍵ペア状態領域に「変更中」を設定する。
（工程III）データブロック４のブロック状態領域に「使用中」を設定し、データ領域に、
デバイス証明書を書き込む。
（工程IV）データブロック５のブロック状態領域に「使用中」を設定し、データ領域に、
データブロック３から読み込んだ秘密鍵ＣＳＲ（変更元のデータ）を秘密鍵（変更後のデータ）として書き込み、変更内容領域に、データブロック３のブロック番号を書き込む。
（工程V）鍵ペア情報１の鍵ペア状態領域に「使用中」を設定し、データブロック０と１
およびデータブロック４と５を、それぞれペアとして書き込む。
（工程VI）鍵ペア情報０の鍵ペア状態領域に「使用済」を設定する。
（工程VII）データブロック３のブロック状態領域に「使用済」を設定する。
【００８５】
このように正常にデバイス証明書のインストール処理が実行された場合には、鍵ペア情報、デバイス証明書及び秘密鍵の間の整合性が維持される。しかし、上記工程のどこかで電源ＯＦＦ等の異常が発生した場合には、データ間の整合性が維持されていない場合がある。従って、電源ＯＦＦ等の異常によりデジタル証明書管理装置１が再起動されると、図５に示すデジタル証明書管理処理が自動的に実行される。
（４−２）デバイス証明書インストール時に異常が発生した場合（１）
【００８６】
まず、上述したデバイス証明書のインストール（登録）工程のうち、工程IIと工程IIIの
間に異常が発生した場合について説明する（図８（Ｂ）参照）。
【００８７】
まず、制御手段１１は、セクタＮとセクタＭの状態をチェックする（Ｓ２０１）。図８（Ｂ）によれば、対象時点において、セクタＮは「使用中」、セクタＭは「未使用」である。よって、制御手段１１は、「使用中」のセクタＮを選択し（Ｓ２０２）、セクタＮについてデータ登録処理を実行する（Ｓ２０４、Ｓ２０５）。
【００８８】
データ登録手段１１１は、データブロック０からデータを読み出して、ブロック状態をチェックする（Ｓ３０１）。図８（Ｂ）によれば、データブロック０は「使用中」であるので、データ登録手段１１１は、データ種別の判別を行う（Ｓ３０３）。データブロック０のデータ種別領域には鍵ペア情報が格納されているので、鍵ペア情報の登録処理へ分岐する（Ｓ３０３、Ｓ３０８）。
【００８９】
図８（Ｂ）によれば、鍵ペア情報０の鍵ペア状態は「変更中」であるので、データ登録手段１１１は、「変更」があった旨をデータ登録領域に格納し（Ｓ３１１）、チェックサムの判定結果が正常であるとして（Ｓ３１２）、鍵ペア情報０の内容をデータ登録領域に登録する（Ｓ３１３）。これにより鍵ペア情報が登録されるので、ループを抜ける。
【００９０】
データ登録手段１１１は、データブロック１及び２について読み込み処理を実行し、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。データブロック１及び２は、他のデータブロックから変更されたデータを記憶していないので、チェックサムの判定結果（Ｓ３０４）及び変更前情報の判定結果は正常となり（Ｓ３０５）、データ登録手段１１１は、データブロック１及び２の内容をデータ登録領域に登録する（Ｓ３０６）。
【００９１】
次に、データ登録手段１１１は、データブロック３について読み込み処理を実行すると、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。データブロック３は、他のデータブロックから変更されたデータを記憶していないので、チェックサムの判定結果（Ｓ３０４）及び変更前情報の判定結果は正常となり（Ｓ３０５）、データ登録手段１１１は、データブロック３の内容をデータ登録領域に登録する（Ｓ３０６）。
【００９２】
次に、制御手段は、データブロック４について読み込み処理を実行すると、ブロック状態は「使用中」なので、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。データブロック４が、チェックサムの判定結果（Ｓ３０４）及び変更前情報の判定結果が正常である場合は（Ｓ３０５）、データ登録手段１１１は、データブロック４の内容を登録する（Ｓ３０６）。なお、処理工程IIIの途中で異常が発生した場合には、チェックサムの判定結果がエラーとなり得るので、その場合には、データブロック４のブロック状態は「使用済」に変更され、データブロック４は、登録されない。
【００９３】
次に、データ登録手段１１１は、データブロック５について読み込み処理を実行すると、ブロック状態は「使用中」なので、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。ここで、データブロック５は、他のデータブロックから変更されたデータを記憶しているので、チェックサムの判定結果（Ｓ３０４）が正常であっても、変更前情報の判定結果が異常となる（Ｓ３０５）。その結果、データブロック５のブロック状態は「使用済」に変更され、登録されない。すなわち、データブロック５の「デバイス証明書の秘密鍵」はデータブロック３の「秘密鍵ＣＳＲ」を変更したものであるから、データブロック５の「変更前情報」にはデータブロック３の情報が格納されているところ、この番号は、Ｓ３０２にて記憶されている番号（データブロック３）と一致する。そのため、変更前情報の判定処理ではエラーとなり、登録されない。なお、処理工程IVの途中で異常
が発生した場合には、チェックサムの判定結果がエラーとなるので、データブロック５のブロック状態は「使用済」に変更され、登録されない。
【００９４】
データブロック５まで読みこむと、読み込むデータがなくなったので、データ登録手段１１１は、データ登録処理を終了する。
【００９５】
次に、整合性判断手段１１２は、登録した鍵ペア情報０と、データブロック１（デジタル証明書）及びデータブロック２（秘密鍵）との整合性をチェックする（Ｓ２０７）。ここで、鍵ペア情報０には、データブロック１とデータブロック２がペアとして記録されているため、整合性判断手段１１２は、鍵ペア情報０の整合性は維持されていると判断する。
【００９６】
そして、修正・削除手段１１３は、鍵ペア情報０の整合性は維持されているので、鍵ペア情報０の内容を確定する（Ｓ２０８）。
【００９７】
次に、修正・削除手段１１３は、登録されているデータ（データブロック１〜３）間の整合性をチェックすると、整合性が維持されないデータは存在しないので、何もしない（Ｓ２１２）。
【００９８】
次に、データ書込手段１１４は、「変更」があったか否かの判断分岐では、Ｓ３１１とＳ３１３で「変更」があった旨が記憶されているため、「変更」があったと判断し、セクタ切り替え処理を実行する（Ｓ２１４）。すなわち、状態が「未使用」のセクタＭに、データ登録領域に確定登録されている鍵ペア情報と登録されているデータブロック１とデータブロック２を「使用中」の状態で書き込み、セクタＮのセクタ状態領域に「使用済」を設定する（Ｓ２１４）。
【００９９】
以上によれば、デバイス証明書のインストール中（工程IIと工程IIIの間）に異常が発生
したためセクタＮのデータ間の整合性が崩れた場合でも、本発明に係るデジタル証明書管理処理の実行によって、デバイス証明書のインストールを実行する前の状態がセクタＭに実現され、これにより、データ間の整合性が維持されることになる。
【０１００】
（４−３）デバイス証明書インストール時に異常が発生した場合（２）
【０１０１】
次に、上述したデバイス証明書のインストール工程のうち、工程Vと工程VIの間で異常
が発生した場合について説明する（図８（Ｃ）参照）。
【０１０２】
まず、制御手段１１は、セクタＮとセクタＭの状態をチェックする（Ｓ２０１）。対象時点では、セクタＮは「使用中」、セクタＭは「未使用」であるので（図８（Ｃ）参照）、制御手段１１は、「使用中」のセクタＮを選択し（Ｓ２０２）、セクタＮについてデータ登録処理を実行する（Ｓ２０４、Ｓ２０５）。
【０１０３】
データ登録手段１１１は、データブロック０を読み込み、そのブロック状態をチェックする（Ｓ３０１）。ここで、データブロック０は「使用中」であるので、データ登録手段１１１は、データ種別の判別を行い（Ｓ３０３）、データブロック０には鍵ペア情報が格納されているので、鍵ペア情報の登録処理へ分岐する（Ｓ３０３、Ｓ３０８）。
【０１０４】
図１０（Ｃ）によれば、鍵ペア情報０の鍵ペア状態は「変更中」であるので、データ登録手段１１１は、「変更」があった旨をデータ登録領域に格納し（Ｓ３１１）、チェックサムの判定結果が正常であるとして（Ｓ３１２）、鍵ペア情報０の内容をデータ登録領域に登録する（Ｓ３１３）。これにより鍵ペア情報が登録されるので、データ登録手段１１１は、ループを抜ける。なお、工程Vの段階では、鍵ペア情報１にも「使用中」の状態と
してデータが格納されているが、「変更中」の鍵ペア情報０を登録した段階で鍵ペア情報はすでに登録されているため、ループを抜ける。すなわち、「変更中」優先ルールに従い、鍵ペア情報１について処理はされない。
【０１０５】
同様に、データ登録手段１１１は、データブロック１及び２について読み込み処理を実行すると、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。データブロック１及び２は、他のデータブロックから変更されたデータを記憶していないので、チェックサムの判定結果（Ｓ３０４）及び変更前情報の判定結果は正常となり（Ｓ３０５）、データ登録手段１１１は、データブロック１及び２の内容をデータ登録領域に登録する（Ｓ３０６）。
【０１０６】
次に、データ登録手段１１１は、データブロック３について読み込み処理を実行すると、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。データブロック３は、他のデータブロックから変更されたデータを記憶していないので、チェックサムの判定結果（Ｓ３０４）及び変更前情報の判定結果は正常となり（Ｓ３０５）、データ登録手段１１１は、データブロック３の内容をデータ登録領域に登録する（Ｓ３０６）。
【０１０７】
次に、データ登録手段１１１は、データブロック４について読み込み処理を実行すると、ブロック状態は「使用中」なので、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。データブロック４は、他のデータブロックから変更されたデータを記憶していないので、チェックサムの判定結果（Ｓ３０４）及び変更前情報の判定結果が正常である場合は（Ｓ３０５）、データブロック４の内容を登録する（Ｓ３０６）。なお、処理工程IIIの途中で異常が発生した場合には、チェックサムの判定結果がエラーとなり得るので、その場合には、データブロック４のブロック状態は「使用済」に変更され、データブロック４は、登録されない。
【０１０８】
次に、データ登録手段１１１は、データブロック５について読み込み処理を実行すると、ブロック状態は「使用中」なので、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。ここで、データブロック５は、他のデータブロックから変更されたデータを記憶しているので、チェックサムの判定結果（Ｓ３０４）が正常であっても、変更前情報の判定結果が異常となる（Ｓ３０５）。その結果、データブロック５のブロック状態は「使用済」に変更され、登録されない。すなわち、データブロック５の「デバイス証明書の秘密鍵」はデータブロック３の「秘密鍵ＣＳＲ」を変更したものであるから、データブロック５の「変更前情報」にはデータブロック３の情報が格納されているところ、この番号は、Ｓ３０２にて記憶されている番号（データブロック３）と一致する。そのため、変更前情報の判定処理ではエラーとなる。なお、処理工程IVの途中で異常が発生した場合
には、チェックサムの判定結果がエラーとなるので、データブロック５のブロック状態は「使用済」に変更され、登録されない。
【０１０９】
データブロック５まで読みこむと、データ登録手段１１１は、読み込むデータがなくなったので、データブロック読み込み処理を終了する。
【０１１０】
整合性判断手段１１２は、登録したデータブロック０の鍵ペア情報０と、データブロック１（デジタル証明書）、データブロック２（秘密鍵）、データブロック３（秘密鍵ＣＳＲ）、データブロック４（デバイス証明書）との整合性をチェックする（Ｓ２０７）。ここで、鍵ペア情報０には、データブロック１とデータブロック２がペアとして記録されているところ、データブロック１及びデータブロック２は登録されており、かつ、データブロック１及びデータブロック２はペアとして成立するため、整合性は維持されていると判断する（Ｓ２０７；Ｙｅｓ）。修正・削除手段１１３は、整合性が維持されているので、この鍵ペア情報をデータ登録領域に確定登録する（Ｓ２０８）。
【０１１１】
次に、修正・削除手段１１３は、登録されているデータ（データブロック１〜４）間の整合性をチェックすると、データブロック４のデバイス証明書は、ペアになる秘密鍵が存在しないため、不要な情報として削除する（すなわち、ブロック領域に「使用済」が設定される）（Ｓ２１２）。
【０１１２】
次に、データ書込手段１１４は、「変更」があったか否かの判断分岐では、Ｓ３１１とＳ３１３で「変更」があった旨が記憶されているため、「変更」があったと判断し、セクタ切り替え処理を実行する（Ｓ２１４）。すなわち、状態が「未使用」のセクタＭに、データ登録領域に確定登録されている鍵ペア情報と登録されているデータブロック１〜３を「使用中」の状態で書き込み、セクタＮのセクタ状態領域に「使用済」を設定する（Ｓ２１４）。
【０１１３】
以上によれば、デバイス証明書のインストール中（工程Vと工程VIの間）に異常が発生
したため、データ間の整合性が崩れた場合でも、本発明に係るデジタル証明書管理処理の実行によって、デバイス証明書のインストールを実行する前の状態がセクタＭに実現され、その結果、データ間の整合性を維持することが可能になる。
【０１１４】
（４−４）デバイス証明書インストール時に異常が発生した場合（３）
【０１１５】
次に、上述したデバイス証明書のインストール工程のうち、工程VIと工程VIIの間に異常が発生した場合について説明する（図６（Ｄ）参照）。
【０１１６】
まず、制御手段１１、セクタＮとセクタＭの状態をチェックする（Ｓ２０１）。図８（Ｄ）によれば、対象時点において、セクタＮは「使用中」、セクタＭは「未使用」である。よって、制御手段１１は、「使用中」のセクタＮを選択し（Ｓ２０２）、セクタＮについてデータの登録処理を実行する（Ｓ２０４、Ｓ２０５）。
【０１１７】
データ登録手段１１１は、データブロック０のブロック状態をチェックする（Ｓ３０１）。図８（Ｄ）によれば、データブロック０は「使用中」であるので、データ登録手段１１１は、データ種別の判別を行い（Ｓ３０３）、データ種別領域には鍵ペア情報が格納されているので、鍵ペア情報の登録処理へ分岐する（Ｓ３０３、Ｓ３０８）。
【０１１８】
データ登録手段１１１は、まず、鍵ペア情報０の鍵ペア状態は「使用済」であるので、鍵ペア状態の判断において「その他」の処理に分岐する。次に、鍵ペア情報１の鍵ペア状態は「使用中」であるので、チェックサムの判定処理へ移行し、チェックサムの判定結果が正常である場合は（Ｓ３１２）、鍵ペア情報１の内容をデータ登録領域に登録する（Ｓ３１３）。これにより鍵ペア情報が登録されるので、データ登録手段１１１は、ループを抜ける。
【０１１９】
以下、データブロック１〜５の読み込み処理については、上記「（４−３）デバイス証明書インストール時に異常が発生した場合（２）」における処理と同じ結果になるので、説明を省略する。
【０１２０】
整合性判断手段１１２は、登録した鍵ペア情報１と、データブロック１（デジタル証明書）、データブロック２（秘密鍵）、データブロック３（秘密鍵ＣＳＲ）、データブロック４（デバイス証明書）との整合性をチェックする（Ｓ２０７）。ここで、鍵ペア情報１には、データブロック１とデータブロック２、データブロック４と５がペアとして記録されているところ、データブロック１及びデータブロック２は登録されているが、データブロック４と５は登録されていない。従って、整合性判断手段１１２は、鍵ペア情報の整合性は維持されていないと判断する（Ｓ２０７；Ｎｏ）。
【０１２１】
修正・削除手段１１３は、鍵ペア情報の整合性は維持されていないので、鍵ペア状態が「変更中」であるか否かを判断する（Ｓ２０９）。この場合、鍵ペア状態は「使用中」であるため（Ｓ２０９；Ｎｏ）、登録した鍵ペア情報１を登録したデータを参照して修正する（Ｓ２１１）。すなわち、登録されているデータのうちペアとして成立するデータは、データブロック１及びデータブロック２であるため、修正・削除手段１１３は、データブロック１及びデータブロック２をペアとして鍵ペア情報を確定登録する（Ｓ２０８）。
【０１２２】
次に、修正・削除手段１１３は、登録されているデータ（データブロック１〜４）間の整合性をチェックすると、データブロック４のデバイス証明書は、ペアになる秘密鍵が存在しないため、ブロック領域に「使用済」を設定する（Ｓ２1２）。
【０１２３】
次に、データ書込手段１１４は、「変更」があったか否かの判断分岐では、Ｓ３１１とＳ３１３で「変更」があった旨が記憶されているため、「変更」があったと判断し、セクタ切り替え処理を実行する（Ｓ２１４）。すなわち、データ書込手段１１４は、状態が「未使用」のセクタＭに、データ登録領域に確定登録されている鍵ペア情報と登録されているデータブロック１〜３を「使用中」の状態で書き込み、セクタＮのセクタ状態領域に「使用済」を設定する（Ｓ２１４）。
【０１２４】
以上によれば、デバイス証明書のインストール中（工程VIと工程VIIの間）に異常が発生したため、データ間の整合性が維持されていない場合でも、本発明に係るデジタル証明書管理処理の実行によって、デバイス証明書のインストールを実行する前の状態がセクタＭに実現され、その結果、データ間の整合性が自動的に維持されることになる。
（５−１）自己署名証明書が正常に更新された場合
【０１２５】
次に、上述したデバイス証明書データ管理処理を実行するデバイス証明書データ管理装置１の動作について、自己署名証明書を更新する途中で異常が発生した場合を例に説明する。図９は、自己署名証明書の更新前後におけるデータ構成を説明する図である。図１０は、自己署名証明書の更新前後における、セクタ、データブロック及び鍵ペア情報の各状態の遷移を説明する図である。
【０１２６】
図９に示すように、自己署名証明書の更新前の状態では、セクタＮのデータブロック０〜２には、それぞれ「鍵ペア情報」、「自己署名証明書」、「自己署名証明書の秘密鍵」がそれぞれ「使用中」の状態で格納されている。また、データブロック０には、鍵ペア情報０に「データブロック１（自己署名証明書）とデータブロック２（秘密鍵）」がペアであることを示す情報が「使用中」の状態で格納されている。
【０１２７】
所定の手順に従って新たな自己署名証明書が作成されると、自己署名証明書の更新処理が開始される。以下に、正常に自己署名証明書の更新処理が実行された場合の工程を示す（図１０（Ａ）参照）。
（工程I）鍵ペア情報０の鍵ペア状態領域に「変更中」を設定する。
（工程II）データブロック１のブロック状態領域に「変更中」を設定する。
（工程III）データブロック２のブロック状態領域に「変更中」を設定する。
（工程IV）データブロック３のブロック状態領域に「使用中」を設定し、データ領域に、
新たな自己署名証明書（変更後のデータ）を書き込み、変更内容領域に、データブロック１のブロック番号を書き込む。
（工程V）データブロック４のブロック状態領域に「使用中」を設定し、データ領域に、
新たな自己署名証明書の秘密鍵（変更後のデータ）を書き込み、変更内容領域に、データブロック２のブロック番号を書き込む。
（工程VI）鍵ペア情報１の鍵ペア状態領域に「使用中」を設定し、データブロック３と４
ペアとして書き込む。
（工程VII）データブロック１のブロック状態領域に「使用済」を設定する。
（工程VIII）データブロック２のブロック状態領域に「使用済」を設定する。
（工程IX）鍵ペア情報０の鍵ペア状態領域に「使用済」を設定する。
【０１２８】
このように正常に自己署名証明書の更新処理が実行された場合には、鍵ペア情報、新たな自己署名証明書及び秘密鍵の間の整合性が維持されている。しかし、上記工程のどこかで電源ＯＦＦ等の異常が発生した場合には、データ間の整合性が維持されていない場合がある。従って、電源ＯＦＦ等の異常によりデジタル証明書管理装置１が再起動されると、図５に示すデジタル証明書管理処理が自動的に実行される。
（５−２）自己署名証明書の更新時に異常が発生した場合（１）
【０１２９】
まず、上述した自己署名証明書の更新処理工程のうち、工程VIIの後であって工程VIIIの前
に異常が発生した場合について説明する（図１０（Ｂ）参照）。
【０１３０】
まず、制御手段１１は、セクタＮとセクタＭの状態をチェックすると（Ｓ２０１）、セクタＮは「使用中」、セクタＭは「未使用」であるので、「使用中」のセクタＮを選択し（Ｓ２０２）、セクタＮについてデータブロック読込処理及びデータの登録処理を実行する（Ｓ２０４、Ｓ２０５）。
【０１３１】
データ登録手段１１１は、データブロック０を読み込み、そのブロック状態をチェックする（Ｓ３０１）。ここで、データブロック０は「使用中」であるので、データ登録手段１１１は、データ種別の判別を行い（Ｓ３０３）、データブロック０には鍵ペア情報が格納されているので、鍵ペア情報の登録処理へ分岐する（Ｓ３０３、Ｓ３０８）。
【０１３２】
図１０（Ｂ）によれば、鍵ペア情報０の鍵ペア状態は「変更中」であるので、データ登録手段１１１は、「変更」があった旨をデータ登録領域に格納し（Ｓ３１１）、チェックサムの判定結果が正常であるとして（Ｓ３１２）、鍵ペア情報０の内容をデータ登録領域に登録する（Ｓ３１３）。これにより鍵ペア情報が登録されるので、ループを抜ける。
【０１３３】
データ登録手段１１１は、データブロック１について読み込み処理を実行すると、ブロック状態は「使用済」になっているので、これを読み飛ばす（Ｓ３０１；その他）。
【０１３４】
次に、データ登録手段１１１は、データブロック２について読み込み処理を実行すると、ブロック状態は「変更中」なので、データブロック２の番号と「変更」があった旨をデータ登録領域に格納する（Ｓ３０２）。そして、データ登録手段１１１は、「鍵ペア以外の情報」の処理へ分岐し（Ｓ３０３；「鍵ペア以外の情報」）、データブロック２は他のデータブロックから変更されたデータを記憶していないので、チェックサムの判定結果（Ｓ３０４）及び変更前情報の判定結果が正常となるので（Ｓ３０５；Ｙｅｓ）、データブロック４の内容を登録する（Ｓ３０６）。
【０１３５】
次に、データ登録手段１１１は、データブロック３について読み込み処理を実行すると、ブロック状態は「使用中」なので、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。データブロック３は、対応するデータが「使用済」であるので、チェックサムの判定結果（Ｓ３０４）及び変更前情報の判定結果が正常である場合は（Ｓ３０５）、データ登録手段１１１は、データブロック３の内容を登録する（Ｓ３０６）。
【０１３６】
次に、データ登録手段１１１は、データブロック４について読み込み処理を実行すると、ブロック状態は「使用中」なので、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。ここで、データブロック４は、他のデータブロックから変更されたデータを記憶しているので、チェックサムの判定結果（Ｓ３０４）が正常であっても、変更前情報の判定結果が異常となる（Ｓ３０５）。その結果、データブロック５のブロック状態は「使用済」に変更され、登録されない。
【０１３７】
データブロック４まで読みこむと、読み込むデータがなくなったので、データ登録手段１１１は、データ登録処理を終了する。
【０１３８】
次に、整合性判断手段１１２は、登録したデータブロック０の鍵ペア情報０、データブロック２（更新前の秘密鍵）及びデータブロック３（更新後の自己署名証明書）の整合性をチェックする（Ｓ２０７）。ここで、鍵ペア情報０には、データブロック１とデータブロック２がペアとして記録されているため、整合性判断手段１１２は、整合性は維持されていないと判断する（Ｓ２０７；Ｎｏ）。
【０１３９】
そして、修正・削除手段１１３は、鍵ペア情報０の状態の判断において、鍵ペア情報０の状態は「変更中」であるので（Ｓ２０９；Ｙｅｓ）、「使用済」のデータブロック１からデータ（更新前の自己署名証明書）を読みこみ、データブロック２のデータ（更新前の秘密鍵）がペアとして成立するか否かを判断する。データブロック１とデータブロック２はペアとして成立するので、修正・削除手段１１３は、データブロック１を登録し、鍵ペア情報０を確定登録する（Ｓ２１０）。
【０１４０】
次に、修正・削除手段１１３は、登録されているデータ（データブロック１〜３）間の整合性をチェックすると、データブロック３（更新後の自己署名証明書）にはペアとなるデータが存在しないため、これに「使用済」を設定する（Ｓ２１２）。
【０１４１】
次に、データ書込手段１１４は、「変更」があったか否かの判断分岐では、Ｓ３１１とＳ３１３で「変更」があった旨が記憶されているため、「変更」があったと判断し、セクタ切り替え処理を実行する（Ｓ２１４）。すなわち、データ書込手段１１４は、状態が「未使用」のセクタＭに、データ登録領域に確定登録されている鍵ペア情報と登録されているデータブロック１とデータブロック２を「使用中」の状態で書き込み、セクタＮのセクタ状態領域に「使用済」を設定する（Ｓ２１４）。
【０１４２】
以上によれば、自己署名証明書の更新中（工程VIIの後であって工程VIIIの前）に異常が発生したためセクタＮのデータ間の整合性が崩れた場合でも、本発明に係るデジタル証明書管理処理の実行によって、自己署名証明書の更新を実行する前の状態がセクタＭに実現され、これにより、データ間の整合性が維持されることになる。
（５−３）自己署名証明書の更新時に異常が発生した場合（２）
【０１４３】
まず、上述したデバイス証明書のインストール（登録）工程のうち、工程VIIIの後であって工程IXの前に異常が発生した場合について説明する（図１０（Ｂ）参照）。
【０１４４】
Ｓ２０１のセクタ状態チェックからデータブロック１の読み込み処理については、上記「（５−２）自己署名証明書の更新時に異常が発生した場合（２）」における処理と同じ結果になるので、説明を省略する。
【０１４５】
データ登録手段１１１は、データブロック２について読み込み処理を実行すると、ブロック状態は「使用済」になっているので、これを読み飛ばす（Ｓ３０１；その他）。
【０１４６】
次に、データ登録手段１１１は、データブロック３について読み込み処理を実行すると、ブロック状態は「使用中」なので、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。データブロック３は、対応するデータが「使用済」であるので、チェックサムの判定結果（Ｓ３０４）及び変更前情報の判定結果が正常である場合は（Ｓ３０５）、データ登録手段１１１は、データブロック３の内容を登録する（Ｓ３０６）。
【０１４７】
次に、データ登録手段１１１は、データブロック４について読み込み処理を実行すると、ブロック状態は「使用中」なので、データ種別の判別において「鍵ペア以外の情報」の処理へ分岐する。データブロック４は、対応するデータが「使用済」であるので、チェックサムの判定結果（Ｓ３０４）及び変更前情報の判定結果が正常である場合は（Ｓ３０５）、データ登録手段１１１は、データブロック４の内容を登録する（Ｓ３０６）。
【０１４８】
データブロック４まで読みこむと、読み込むデータがなくなったので、データ登録手段１１１は、データ登録処理を終了する。
【０１４９】
次に、整合性判断手段１１２は、登録した鍵ペア情報０、データブロック３（更新後の自己署名証明書）、データブロック４（更新後の秘密鍵）の整合性をチェックする（Ｓ２０７）。ここで、鍵ペア情報０には、データブロック１とデータブロック２がペアとして記録されているため、整合性判断手段１１２は、整合性は維持されていないと判断する（Ｓ２０７；Ｎｏ）。
【０１５０】
そして、修正・削除手段１１３は、鍵ペア情報０の状態が「変更中」か否かの判断において「変更中」であると判断し（Ｓ２０９；Ｙｅｓ）、「使用済」のデータブロック１及びデータブロック２からデータ（更新前の自己署名証明書と秘密鍵）を読みこみ、データブロック１と２のデータがペアとして成立するか否かを判断する。ここで、データブロック１とデータブロック２はペアとして成立するので、修正・削除手段１１３は、データブロック１を登録し、鍵ペア情報０を確定登録する（Ｓ２１０）。
【０１５１】
次に、登録されているデータ（データブロック１〜４）間の整合性をチェックすると、データブロック３と４は、ペアとしては成立するが、鍵ペア情報にはペアとして登録されていないため、不要なデータとして、それぞれに「使用済」を設定する（Ｓ２１２）。
【０１５２】
次に、データ書込手段１１４は、「変更」があったか否かの判断分岐では、Ｓ３１１とＳ３１３で「変更」があった旨が記憶されているため、「変更」があったと判断し、セクタ切り替え処理を実行する（Ｓ２１４）。すなわち、状態が「未使用」のセクタＭに、データ登録領域に確定登録されている鍵ペア情報と登録されているデータブロック１とデータブロック２を「使用中」の状態で書き込み、セクタＮのセクタ状態領域に「使用済」を設定する（Ｓ２１４）。
【０１５３】
以上によれば、自己署名証明書の更新中（工程VIIIの後であって工程IXの前）に異常が発生したためセクタＮのデータ間の整合性が崩れた場合でも、本発明に係るデジタル証明書管理処理の実行によって、自己署名証明書の更新を実行する前の状態がセクタＭに実現され、これにより、データ間の整合性が維持されることになる。
【０１５４】
（６）その他の実施形態
【０１５５】
本発明は上記実施形態に限定されることなく、種々に変形して適用することが可能である。例えば、上記フローチャート中の各工程（符号が付与されていない部分的な工程を含む）は、処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【０１５６】
上記実施形態では、デジタル証明書管理装置１に認証局から認証されたデバイス証明書をインストールする工程で異常が発生した場合について説明したが、本発明はこれに限られず、デジタル証明書管理装置１における他の処理（例えば、データの削除処理）において何らかの異常が発生した場合にも適用することが可能である。
【０１５７】
上記実施形態では、デジタル証明書管理装置１におけるエラー発生後の再起動時に本発明に係るデジタル証明書管理処理を実行する場合について説明したが、デジタル証明書管理処理を実行するタイミングはこれに限られない。例えば、定期的に、あるいは入力インタフェース１０５を介して入力されるユーザの指示に基づいて実行するようにしてもよい。
【０１５８】
また、上記実施形態では、記憶手段としてフラッシュＲＯＭの構造を採用したが、本発明はこれに限られず、例えば、ＥＥＰＲＯＭのような再書き込み可能な不揮発性メモリ全般に対してこれを適用することが可能である。
【０１５９】
また、上記実施形態では、データブロック及び鍵ペア情報の状態を管理するために４つの状態情報を用いたが、本発明はこれに限られず、データを記憶する記憶領域の変更元と変更後の対応関係がわかるようなものであれば、これを適用することが可能である。また、データを記憶する記憶領域の変更元と変更後の対応関係がわかる構成であれば、状態情報は４つより少なくてもよいし、また、４つよりも多くてもよい。
【図面の簡単な説明】
【０１６０】
【図１】本実施形態に係るデジタル証明書管理装置の概略構成を示すブロックダイアグラムである。
【図２】本実施形態に係るデジタル証明書管理装置のハードウェア構成を示すブロック図である。
【図３】本実施形態に係るデジタル証明書管理装置の記憶手段のデータ構成の一例を示す図である。
【図４】本実施形態に係るデジタル証明書の登録処理の主な流れを示すフローチャートである。
【図５】本実施形態に係るデジタル証明書の管理処理の主な流れを示すフローチャートである。
【図６】本実施形態に係るデータブロック読込み処理の詳細を示すフローチャートである。
【図７】デバイス証明書のインストール前後におけるデータ構成を説明する図である。
【図８】デバイス証明書のインストール前後における、セクタ、データブロック及び鍵ペアの状態を説明する図である。
【図９】自己署名証明書の更新前後におけるデータ構成を説明する図である。
【図１０】自己署名証明書の更新前後における、セクタ、データブロック及び鍵ペアの状態を説明する図である。
【符号の説明】
【０１６１】
１…デジタル証明書管理装置、１１…制御手段、１２…記憶手段、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…外部記憶装置、１０５…入力インタフェース、１０６…出力インタフェース、１０７…通信インタフェース、１１１…データ登録手段、１１２…整合性判断手段、１１３…修正・削除手段、１１４…データ書込手段
【図１】
2009212894.tif 000003
【図２】
2009212894.tif 000004
【図３】
2009212894.tif 000005
【図４】
2009212894.tif 000006
【図５】
2009212894.tif 000007
【図６】
2009212894.tif 000008
【図７】
2009212894.tif 000009
【図８】
2009212894.tif 000010
【図９】
2009212894.tif 000011
【図１０】
2009212894.tif 000012