(57)【要約】【課題】  デバイスが暗復号器として動作し、暗号化された情報はネットワーク接続された外部ストレージに格納されるが、デバイスが故障した場合、データにアクセスできなくなってしまう。【解決手段】  本発明は、暗復号器に、乱数を生成するための乱数生成手段と、前記乱数生成手段で生成した乱数を第一の公開鍵で暗号化するための第一の乱数暗号化手段と、前記乱数を第二の公開鍵で暗号化するための第二の乱数暗号化手段と、前記乱数を暗号鍵としてユーザから受け取ったデータを共通鍵暗号化するデータ暗号化手段と、前記第一の乱数暗号化手段ならびに前記第二の乱数暗号化手段ならびに前記データ暗号化手段で生成した暗号化データを外部記憶装置に格納するためのデータ格納手段を持たせたものである。【選択図】  図１
2006166094.tif 000002
【特許請求の範囲】
【請求項１】
乱数を生成するための乱数生成手段と、前記乱数生成手段で生成した乱数を第一の公開鍵で暗号化するための第一の乱数暗号化手段と、前記乱数を第二の公開鍵で暗号化するための第二の乱数暗号化手段と、前記乱数を暗号鍵としてユーザから受け取ったデータを共通鍵暗号化するデータ暗号化手段と、前記第一の乱数暗号化手段ならびに前記第二の乱数暗号化手段ならびに前記データ暗号化手段で生成した暗号化データを外部記憶装置に格納するためのデータ格納手段を持つことを特徴とする暗復号装置。
【請求項２】
前記請求項１の暗復号装置であって、自身に格納されている公開鍵が更新された際に、外部記憶装置に格納されている更新以前の公開鍵を用いて暗号化したデータを、更新後の公開鍵を用いて暗号化したデータに更新するための暗号化データ更新手段を持つことを特徴とする請求項１の暗復号装置。
【請求項３】
前記請求項１の暗復号装置であって、冗長化構成を形成する相手の暗復号装置の公開鍵が更新されたかどうかを判断する公開鍵更新判断手段を持ち、前記公開鍵更新判断手段において相手の公開鍵が更新されていると判断された場合には、自機に登録されている冗長化構成を形成する相手の公開鍵を更新する登録更新手段を持つことを特徴とする請求項１の暗復号装置。
【請求項４】
第一の暗復号装置からデータを取得する第一データ取得手段と、第二の暗復号装置からデータを取得する第二データ取得手段とを持ち、前記第一のデータ取得手段によるデータの取得が成功したかどうかを判断するデータ取得判断手段とを持ち、前記データ取得判断手段によってデータ取得に失敗したと判断された場合には、第二データ取得手段によるデータ取得を試みることを特徴とするデータアクセス装置。
【請求項５】
前記請求項１から３のいずれかの暗復号装置を少なくとも二台と、前記請求項４のデータアクセス装置と、ネットワークストレージとを含むことを特徴とする、データ暗号化システム。
【請求項６】
乱数を生成するための乱数生成ステップと、前記乱数生成ステップで生成した乱数を第一の公開鍵で暗号化するための第一の乱数暗号化ステップと、前記乱数を第二の公開鍵で暗号化するための第二の乱数暗号化ステップと、前記乱数を暗号鍵としてユーザから受け取ったデータを共通鍵暗号化するデータ暗号化ステップと、前記第一の乱数暗号化手段ならびに前記第二の乱数暗号化手段ならびに前記データ暗号化手段で生成した暗号化データを外部記憶装置に格納するためのデータ格納ステップを持つことを特徴とする暗復号装置の制御方法。
【請求項７】
前記請求項６の暗復号装置の制御方法であって、自身に格納されている公開鍵が更新された際に、外部記憶装置に格納されている更新以前の公開鍵を用いて暗号化したデータを、更新後の公開鍵を用いて暗号化したデータに更新するための暗号化データ更新ステップを持つことを特徴とする請求項６の暗復号装置の制御方法。
【請求項８】
前記請求項６の暗復号装置であって、冗長化構成を形成する相手の暗復号装置の公開鍵が更新されたかどうかを判断する公開鍵更新判断ステップを持ち、前記公開鍵更新判断ステップにおいて相手の公開鍵が更新されていると判断された場合には、自機に登録されている冗長化構成を形成する相手の公開鍵を更新する登録更新ステップを持つことを特徴とする請求項６の暗復号装置の制御方法。
【請求項９】
第一の暗復号装置からデータを取得する第一データ取得ステップと、第二の暗復号装置からデータを取得する第二データ取得ステップとを持ち、前記第一のデータ取得ステップによるデータの取得が成功したかどうかを判断するデータ取得判断ステップとを持ち、前記データ取得判断ステップによってデータ取得に失敗したと判断された場合には、第二データ取得ステップによるデータ取得を試みることを特徴とするデータアクセス装置の制御方法。
【請求項１０】
乱数を生成するための乱数生成ステップと、前記乱数生成ステップで生成した乱数を第一の公開鍵で暗号化するための第一の乱数暗号化ステップと、前記乱数を第二の公開鍵で暗号化するための第二の乱数暗号化ステップと、前記乱数を暗号鍵としてユーザから受け取ったデータを共通鍵暗号化するデータ暗号化ステップと、前記第一の乱数暗号化手段ならびに前記第二の乱数暗号化手段ならびに前記データ暗号化手段で生成した暗号化データを外部記憶装置に格納するためのデータ格納ステップを持つことを特徴とする暗復号装置の制御方法を含む、コンピュータで読み取り可能な記憶媒体。
【請求項１１】
前記請求項６の暗復号装置の制御方法であって、自身に格納されている公開鍵が更新された際に、外部記憶装置に格納されている更新以前の公開鍵を用いて暗号化したデータを、更新後の公開鍵を用いて暗号化したデータに更新するための暗号化データ更新ステップを持つことを特徴とする請求項６の暗復号装置の制御方法を含む、コンピュータで読み取り可能な記憶媒体。
【請求項１２】
前記請求項６の暗復号装置であって、冗長化構成を形成する相手の暗復号装置の公開鍵が更新されたかどうかを判断する公開鍵更新判断ステップを持ち、前記公開鍵更新判断ステップにおいて相手の公開鍵が更新されていると判断された場合には、自機に登録されている冗長化構成を形成する相手の公開鍵を更新する登録更新ステップを持つことを特徴とする請求項６の暗復号装置の制御方法を含む、コンピュータで読み取り可能な記憶媒体。
【請求項１３】
第一の暗復号装置からデータを取得する第一データ取得ステップと、第二の暗復号装置からデータを取得する第二データ取得ステップとを持ち、前記第一のデータ取得ステップによるデータの取得が成功したかどうかを判断するデータ取得判断ステップとを持ち、前記データ取得判断ステップによってデータ取得に失敗したと判断された場合には、第二データ取得ステップによるデータ取得を試みることを特徴とするデータアクセス装置の制御方法を含む、コンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は暗復号装置に関し、中でも特に暗復号装置の冗長構成に関するものである。
【背景技術】
【０００２】
オフィス環境におけるセキュリティ向上策のひとつとして暗号の利用が考えられるが、各ユーザが公開鍵ペアを利用するためには、鍵の配布等のためにPKI(公開鍵インフラストラクチャ)の整備が必要である。
【０００３】
このため、PKI基盤がオフィス環境に浸透し一般化するまでの期間においては、オフィス環境における暗号鍵としては、MFPデバイスに埋め込まれた公開鍵ペアが使われると予想される。
【０００４】
クライアントからストレージにデータを格納する際に、途中暗復号機能を持つモジュールあるいは装置によって暗号化して格納し、取り出す際には暗復号装置によって復号することについては、例えば次のような方法が開示されている。（例えば特許文献１参照）
図２は、上記文献１に示された方法のうち、暗号化復号化に関する部分を説明するための概念図である。
【０００５】
図２において、２０１はクライアントPC、２１１は暗復号機能を持つ複写機、２２１はネットワークストレージである。
【０００６】
複写機２１１には、その複写機を使用可能なユーザがあらかじめ登録されており、ユーザ認証の上で、使えるようになっているものとする。
【０００７】
また、複写機２１１は暗復号機能を持ち、クライアントPC２０１がネットワークストレージ２２１にデータを格納しようとする際には、一旦複写機２１１がそのデータを受け取り、暗号化操作を施した上でネットワークストレージ２２１に書き込むものとする。
【０００８】
また、クライアントPC２０１から、ネットワークストレージ２２１上のデータを読み出したい旨、複写機２１１に対して要求があった際には、複写機２２１が暗号化されたデータをネットワークストレージ２２１から読み出した上で復号処理を行い、復号化されたデータをクライアントPC２０１に戻すものとする。
【特許文献１】特開2001-356947
【発明の開示】
【発明が解決しようとする課題】
【０００９】
このような環境においては、デバイスが暗復号器として動作し、暗号化された情報はネットワーク接続された外部ストレージに格納されるが、デバイスが故障した場合、データにアクセスできなくなってしまうという課題がある。
【００１０】
また、特許ではないが実際の製品の中には、暗復号器の中には二台の暗復号器をイーサネット（登録商標）上のIPSecなどのセキュアな手段で接続することにより、二台の暗復号器間で暗号鍵を同期することにより冗長構成を形成する機能があるものもある。ただ、そのような方式では、暗復号化装置間で共通鍵を交換する必要があり、そのためのモジュールあるいは装置も必要である。
【課題を解決するための手段】
【００１１】
上述した課題を解決するために、本発明は、暗復号器に、乱数を生成するための乱数生成手段と、前記乱数生成手段で生成した乱数を第一の公開鍵で暗号化するための第一の乱数暗号化手段と、前記乱数を第二の公開鍵で暗号化するための第二の乱数暗号化手段と、前記乱数を暗号鍵としてユーザから受け取ったデータを共通鍵暗号化するデータ暗号化手段と、前記第一の乱数暗号化手段ならびに前記第二の乱数暗号化手段ならびに前記データ暗号化手段で生成した暗号化データを外部記憶装置に格納するためのデータ格納手段を持たせたものである。
【発明の効果】
【００１２】
本発明によれば、複数台の暗復号装置が冗長化構成をすることが可能になり、一台の暗復号装置が故障あるいは電源断で使用できなくなったとしても、他の暗復号装置からデータを読み書きすることが可能になる。
【００１３】
なおかつ、複数の暗復号装置間でデータを暗号化するための共通鍵を同期する必要がなく、共通鍵を管理したり同期したりするための特別な装置が必要ないという特徴がある。
【発明を実施するための最良の形態】
【００１４】
（実施例１）
一台の暗復号器が故障しても、他の暗復号器が代わりに暗復号機能を提供できるように構成する。以下、その実施方法について、詳細に説明する。
【００１５】
本実施例では、オフィスに必ず置かれている装置として複写機をとりあげ、複写機に暗復号機能を持たせた実施例について説明する。
【００１６】
図１は、本実施例における、ユーザPC、暗復号器としての複写機および暗号化されたデータを格納するためのネットワークストレージ間の関係を示す図である。
【００１７】
図１において、１０１はユーザPC、１１１と１１２は暗復号機能を持つ複写機、１２１はネットワークストレージである。複写機１１１および１１２にはその複写機を使用可能なユーザのユーザ登録があらかじめなされているものとする。図１においては、複写機１１１にはユーザとしてユーザAとユーザBが、複写機１１２にはユーザA、ユーザBおよびユーザDがそれぞれ登録されている。
【００１８】
また、複写機１１１および１１２は、それぞれの複写機に割り当てられた公開鍵秘密鍵ペア(以下、公開鍵ペアあるいは鍵ペアと略称で記載する場合がある)を保持しているものとする。図１の実施例においては、複写機１１１は公開鍵P1と秘密鍵S1を、複写機１１２は公開鍵P2と秘密鍵S2を、それぞれ保持している。秘密鍵S1およびS2は、管理者がセキュアな手法によって複写機１１１および１１２にそれぞれインストールするものとし、一般ユーザは、それらの値を知ることはないものとする。
【００１９】
さらに、複写機１１１と１１２は、管理者によって、この二台の複写機で冗長化構成を組むように設定されており、そのために複写機１１１も複写機１１２の公開鍵P2を、複写機１１２は複写機１１１の公開鍵P1を、それぞれ保持しているものとする。
【００２０】
複写機１１１および１１２は、ネットワークインタフェースをそれぞれ二つずつ備え、片方をユーザPC側のサブネットに接続し、もう片方をネットワークストレージ側のサブネットに接続する構成を採っても良いし、あるいは、ネットワークインタフェースは、ひとつだけであっても良い。
【００２１】
ネットワークインタフェースがひとつだけである場合には、本実施例におけるシステムの配置例は、図３のようになる。
【００２２】
図３においては、ユーザPC１０１と複写機１１１および１１２、さらにネットワークストレージ１２１が、同じネットワーク３０１に接続されている。
【００２３】
この配置においては、クライアントPC１０１からネットワークストレージ１２１に直接アクセスできてしまうように思えるが、格納されているデータは後ほど述べるように暗号化されているので、抜き出したところで意味のあるものではない。
【００２４】
図４は、複写機の内部構成を示したものであり、本発明の複写機１１１および１１２のコントローラも同様の構成を取るものである。
【００２５】
図４において、４００はコンピュータ全体である。複写機４００は、ＲＯＭ４０２あるいは例えばハードディスクなどの大規模記憶装置４１１に記憶されたソフトウェアを実行するＣＰＵ４０１を備え、システムバス４０４に接続される各デバイスを総括的に制御する。
【００２６】
４０３はＲＡＭで、ＣＰＵ４０１の主メモリ、ワークエリア等として機能する。４０５は外部入力コントローラ（ＰＡＮＥＬＣ）で、複写機に備えられた各種ボタンあるいはタッチパネル４０９等からの指示入力を制御する。４０６はディスプレイコントローラ（ＤＩＳＰＣ）で、表示モジュール（ＤＩＳＰＬＡＹ）４１０の表示を制御する。
【００２７】
４０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ３０４を介して、他のネットワーク機器あるいはファイルサーバ等と双方向にデータをやりとりする。
【００２８】
なお、複写機には当然のことながら、上記で説明したモジュールあるいはコンポーネントの他に、印刷物を読み込むためのスキャナ部と印刷物を出力するためのプリンタ部が存在するが、本発明には直接は関係しないため、図示を省略してある。
【００２９】
次に図５および図６を使って、複写機１１１あるいは１１２がクライアントPCから受け取ったデータを暗号化してネットワークストレージ１２１に書き込む動作について説明する。
【００３０】
図５は、複写機１１１あるいは１１２が、ネットワークストレージに暗号化データを書き込む際の手順を示すフローチャートである。
【００３１】
今仮にユーザAが複写機１１１にアクセスし、複写機１１１の暗号化機能を用いてネットワークストレージ１２１に格納するデータを暗号化しようとしているものとする。
【００３２】
クライアントPC１０１が複写機１１１に対してデータ書き込みを依頼すると、複写機１１１のユーザ認証手段(不図示)が起動し、クライアントPCのユーザが正しいユーザであると認識した後、図５のデータ書き込み手順が起動する。
【００３３】
以下、データ書き込み手順について説明するが、手順はROM４０２あるいはHD４１１に格納されたプログラムをCPU４０１が実行することによって進行する。
【００３４】
データ書き込み手順においては、まずステップ５０１において乱数が生成され、その値をRAM４０３にテンポラリ情報として格納する。
【００３５】
次にステップ５０２において、自デバイスの公開鍵P1を使って、先ほどステップ５０１で生成した乱数を公開鍵暗号アルゴリズムによって暗号化し、これを後ほどヘッダ部として書き出す情報の一部としてRAM４０３に格納する。続くステップ５０３において、冗長化構成のペアである複写機１１２の公開鍵P2を使って、先ほどステップ５０１で生成した乱数を暗号化し、これもRAM４０３に後ほどヘッダ部として書き出す情報の一部として格納する。
【００３６】
この時点で、RAM４０３上に格納されたヘッダ部のデータは、図６の６０１のような形になっている。図６の６０１において、Easymは公開鍵暗号化を示し、Easym( P1, Rnd )は、ステップ５０１で生成した乱数Rndを公開鍵P1で公開鍵暗号化した値を示す。同様に、Easym( P1, Rnd )は、ステップ５０１で生成した乱数Rndを公開鍵P2で公開鍵暗号化した値を示す。
【００３７】
再び図５に戻って説明を続ける。
【００３８】
続くステップ５０４において、クライアントPCから受け取った書き込みデータを、先ほどステップ５０１で生成した乱数を暗号鍵として、例えばAESなどの共通鍵暗号を用いて暗号化し、RAM４０３に後ほど暗号化データ部として書き出す情報として格納する。
【００３９】
この時点で、RAM４０３上に格納された暗号化されたデータ部のデータは、図６の６０２のような形になっている。図６の６０２において、Esymは共通鍵暗号化を支援し、Esym( Rnd, Data )は、ステップ５０１で生成した乱数Rndを使って、クライアントPC１０１から受信したデータを暗号化することを示す。
【００４０】
続くステップ５０５において、NIC４０８を制御し、先ほどステップ５０２、５０３および５０４でRAM４０３に格納した、図６に示したヘッダ部データおよび暗号化データを、ネットワークストレージ１２１のしかるべきフォルダに格納する。
【００４１】
上記図５および図６の説明では、ヘッダ部と暗号化データ部を最後にまとめて書き込むようにしたが、ヘッダ部のデータが揃った時点(ステップ５０３完了時点)でヘッダ部だけを先にネットワークストレージ１２１に書き込み、その後、ユーザPC１０１からデータの一部を順次受け取りながら、その一部ごとに暗号化を行うとともに、順次ネットワークストレージ１２１に書き込むように、ストリーム的な制御を行って、パフォーマンスを上げることができることは言うまでも無い。
【００４２】
図７は、図１に示したユーザPC１０１、複写機１１１および１１２、さらにネットワークストレージ１２１が、システム全体としてどのように動作するのかを示すシーケンス図である。
【００４３】
クライアントPCには、複写機１１１と１１２が、片方が故障時にはもう一方が代替機として動作可能なことがあらかじめに登録されており、一方にアクセスした際に問題なく読み出せなかった場合には、自動的にもう一台のデバイス経由でアクセスを試みるように構成されているものとする。
【００４４】
クライアントPCが、ネットワークストレージに格納された暗号化データを読み出す際には、まずシーケンス７１１において自PCに登録されている設定情報にアクセスし、復号機能を持つ複写機のリストを取得する。
【００４５】
ここでは、リストの第一番目と第二番目に、複写機１１１と１１２がそれぞれ登録されていたものとして説明を続ける。
【００４６】
続くシーケンス７１２において、クライアントPC１０１は、リストの第一番目に登録されていた複写機１１１に対して、データの読み出し要求を発する。
もしここで複写機１１１が故障していたか、あるいは電源が落とされていた場合には応答が無いので、読み出しができないことがわかる。
【００４７】
そこで、クライアントPC１１１は、シーケンス７１３において、先ほどのシーケンス７１１で取得した設定情報の中からリストの二番目に登録されている複写機１１２に対して、データの読み出し要求を発する。
【００４８】
シーケンス７１３に呼応する形で、複写機１１２においては、ネットワークストレージ１２１に対してデータの読み出しおよび後述するデータの復号化処理が行われる。
【００４９】
複写機１１２において暗号化データが復号された後、シーケンス７１３のデータ読み出し要求と対になる形で、シーケンス７１６において複写機１１２からクライアントPC１０１に対して、復号されたデータが送られる。
【００５０】
図８は、クライアントPC１０１における暗号化データの読み出し手順を示したフローチャートであり、図７のシーケンス図におけるクライアントPC１０１の動作に相当する。
【００５１】
クライアントPCが、ネットワークストレージに格納された暗号化データを読み出す際には、まずステップ８０１において自PCに登録されている設定情報にアクセスし、復号機能を持つ複写機のリストを取得する。これは図７におけるシーケンス７１１に相当する。
【００５２】
ここでは、リストの第一番目と第二番目に、複写機１１１と１１２がそれぞれ登録されていたものとして説明を続ける。
【００５３】
続くステップ８０２において、リストの第一番目に登録されていた複写機１１１に対して、データの読み出し要求を発する。これは図７におけるシーケンス７１２に相当する。
【００５４】
続くステップ８０３において、正しくデータが取得できたかどうかを判断する。具体的には、データ取得までのタイムアウト時間を設定し、もし第一の複写機が故障していたか、あるいは電源が落とされていた場合には応答が無いので、読み出しができなくてタイムアウトが発生した場合には、取得失敗と判断するものとする。
【００５５】
もしステップ８０３において、正しくデータが取得できたと判断された場合には、処理を終了する。
【００５６】
一方、ステップ８０３において、正しくデータが取得できなかったと判断された場合には、ステップ８１４に進み、ステップ８０１で取得した設定情報のうち、リストの二番目に記載されている複写機１１２に対してアクセスを試みる。これは図７のシーケンス７１３に相当する。
【００５７】
図９は、複写機における暗号化されたデータの読み出し手順を示したフローチャートであり、図７のシーケンス図における複写機１１２の動作に相当する。
【００５８】
複写機が暗号化されたデータを読み出す際には、まずステップ９０１において、ネットワークストレージに格納されているデータのうち、ヘッダ部６０１を読み出す。
【００５９】
続くステップ９０２において、ROM４０２あるいはHD４１１に格納されている秘密鍵を用いて、暗号化された乱数を復号化する。
【００６０】
続くステップ９０３において、NIC４０８を制御してデータ部６０２を読み出す。
【００６１】
続くステップ９０４において、先ほどのステップ９０２で得られた乱数をデータ部を復号するための共通鍵として、データ部を復号する。
【００６２】
上記で説明した本発明に係る複写機のプログラムは、外部からインストールされるプログラムによって、複写機１１１あるいは複写機１１２によって遂行されても良い。その場合、そのプログラムはＣＤ−ＲＯＭやフラッシュメモリやフロッピー（登録商標）ディスクなどの記憶媒体により、あるいは電子メールやパソコン通信などのネットワークを介して、外部の記憶媒体からプログラムを含む情報群を複写機１１１あるいは複写機１１２上にロードすることにより、複写機１１１あるいは複写機１１２に供給される場合でも本発明は適用されるものである。
【００６３】
図１３は、記憶媒体の一例であるＣＤ−ＲＯＭのメモリマップを示す図である。９９９９はディレクトリ情報を記憶してある領域で、以降のインストールプログラムを記憶してある領域９９９８および印刷クライアントあるいはネットワークプリンタの制御プログラムを記憶してある領域９９９７の位置を示している。９９９８は、インストールプログラムを記憶してある領域である。９９９７は、複写機１１１の制御プログラムを記憶してある領域である。本発明の複写機の制御プログラムが複写機１１１あるいは複写機１１２にインストールされる際には、まずインストールプログラムを記憶してある領域９９９８に記憶されているインストールプログラムがシステムにロードされ、ＣＰＵ４０１によって実行される。次に、 ＣＰＵ４０１によって実行されるインストールプログラムが、デバイス制御プログラムを記憶してある領域９９９７から印刷クライアントあるいはネットワークプリンタの制御プログラムを読み出して、ＲＯＭ４０２の内容を書き換えるか、あるいは大規模記憶装置４１１にインストールする。この場合、ＲＯＭ４０２は単純なマスクＲＯＭではなく、フラッシュＲＯＭなどの書き換え可能がＲＯＭである必要がある。
【００６４】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダなど）から構成されるシステムあるいは統合装置に適用しても、ひとつの機器からなる装置に適用してもよい。
【００６５】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００６６】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６７】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００６８】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００７０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【００７１】
（実施例２）
暗復号器としての複写機が保持している公開鍵秘密鍵ペアは、万が一に備えて定期的に交換することが望ましい。
【００７２】
鍵ペアを交換した場合には、ストレージ上の暗号化データはそのままでは復号できなくなってしまうので、鍵交換に伴うデータの変更が必要である。
【００７３】
さらに、冗長化構成を形成する二台の複写機の間で、相手の公開鍵が変更されたことを検知して、自機に登録されている相手の公開鍵の値を変更することも必要になる。
【００７４】
以下、これらの動作と手順について説明する。
【００７５】
今、図１の複写機１１１に登録されている公開鍵ペアP1およびS1を、それぞれP3およびS3に更新するものとする。
【００７６】
この作業は、複写機１１１の管理者が、セキュアな手段によって行う。
【００７７】
図１０は、複写機に登録されている公開鍵ペアが更新された場合の、ストレージ１２１上の暗号化データの更新手順を示すフローチャートである。
【００７８】
鍵が更新されようとする場合には、まずステップ１００１において、ストレージ１２１上のデータからヘッダ部６０１を読み出す。ヘッダ部６０１の中から、自機の公開鍵で暗号化された部分と冗長化構成を形成するペアとなる複写機の公開鍵で暗号化された部分を分離し、それぞれRAM４０３に格納しておく。
【００７９】
続くステップ１００２において、先ほどのステップ１００１でRAM４０３に格納した自機の公開鍵で暗号化された部分を更新前の秘密鍵S1を用いて復号し、乱数Rndを取り出す。
【００８０】
続くステップ１００３において、更新後の公開鍵P1を用いて先ほどのステップ１００２で取り出した乱数Rndを公開鍵暗号化する。
【００８１】
続くステップ１００４において、先ほどのステップ１００３で暗号化したRndおよび先ほどのステップ１００１においてRAM４０３に格納した冗長化構成を形成するペアとなる複写機の公開鍵で暗号化された部分を合わせてストレージ１２１上の対応データのヘッダ部として格納する。
【００８２】
以上の動作を、ストレージ１２１上の暗号化された全てのデータファイルに対して行う。
【００８３】
全てのデータファイルに対するヘッダ部更新動作が終了したら、更新前の公開鍵秘密鍵ペアは、破棄しても良い。
【００８４】
図１１は、図１０で説明した暗号化データ更新作業が終了した後の、ストレージ上のデータファイルの様子を示した図である。
【００８５】
図６と比較すると、更新前の公開鍵P1で暗号化されていた部分が、更新後の公開鍵P3で暗号化されるように変更されていることがわかる。
【００８６】
暗号化データ部６０２は、共通鍵Rndで暗号化されていることに変わりは無いから、この部分を再暗号化する必要は無い。
【００８７】
図１２は、冗長化構成を形成する二台の複写機のうち、一方の公開鍵秘密鍵ペアが更新された場合に、もう一方の複写機が相手の公開鍵が変更されたことを検知して、登録されている相手の公開鍵の値を自動変更する手順を示したフローチャートである。
【００８８】
以下、複写機に登録されている公開鍵は、RPCなどの手段によって、他のノードから取得可能なように構成されているものとして説明を行う。
【００８９】
冗長構成を構成する他の複写機に登録されている公開鍵の更新をチェックするには、まずステップ１２０１において、RPC等の手段を用いて、冗長構成を構成する相手の公開鍵を取得する。
【００９０】
続くステップ１２０２で、取得した公開鍵と、自機に登録されている冗長構成を形成する相手の公開鍵を比較し、取得した公開鍵が更新されたものであるかどうかをチェックする。
【００９１】
もし更新されていると判断した場合には、ステップ１２０３に進み、自機に登録されている冗長構成を形成する相手の公開鍵を、ステップ１２０１で取得した公開鍵の値で上書きする。
【００９２】
ステップ１２０３の処理が終了した後、あるいは一方ステップ１２０２において、更新されていないと判断された場合には、ともにステップ１２０４に進み、あらかじめ定められた一定期間の間、待機する。
【００９３】
待機が終了したら、ステップ１２０１に戻って、処理を続ける。
【００９４】
なお、図１２で示した手順では、ポーリングによって相手側複写機の鍵の更新を検知したが、冗長化構成を形成する二台の複写機が相手に対してそれぞれ自分の存在を登録しておき、公開鍵が変更された場合には、登録情報に基づいて公開鍵の変更を相手方に通知するというイベント通知方法によっても、同じ効果を得ることができる。
【００９５】
あるいは、公開鍵は頻繁に更新されるものではないため(更新の頻度はセキュリティポリシーに依存するが、現実的な目安としては、数年に一度程度であり、短くても一週間に一度程度である)、複写機を起動した際に、ステップ１２０１から１２０３の手順を実行するということでも良い。
【図面の簡単な説明】
【００９６】
【図１】暗復号装置の冗長構成を示す図。
【図２】従来技術における不具合の発生の様子を示す図。
【図３】実施例におけるネットワーク上のノード配置を示す図。
【図４】実施例の複写機の内部構成を示す図。
【図５】実施例における暗復号器のデータ書き込み動作を示すフローチャート。
【図６】実施例におけるネットワークストレージ上の暗号化データの構成を示す図。
【図７】実施例におけるシステム全体の動作を示すシーケンスチャート。
【図８】実施例におけるクライアントPCのデータ読み出し動作を示すフローチャート。
【図９】実施例における暗復号器のデータ読み出し動作を示すフローチャート。
【図１０】実施例における暗復号器の鍵更新時のデータ更新動作を示すフローチャート。
【図１１】実施例における暗復号器の鍵更新後のデータ構成を示す図。
【図１２】実施例における鍵更新の自動チェック動作を示すフローチャート。
【図１３】本発明のソフトウェアの記憶媒体におけるメモリマップを示す図。
【符号の説明】
【００９７】
１０１  クライアントPC
１１１、１１２  暗復号器としての複写機
１２１  ネットワークストレージ
４０１  CPU
４０３  RAM(一時記憶装置)
５０１  乱数生成手段
５０２  第一の乱数暗号化手段
５０３  第二の乱数暗号化手段
５０４  データ暗号化手段
５０５  データ格納手段
８０２  第一データ取得手段
８０３  データ獲得判断手段
８０４  第二データ取得手段
１００３  暗号化データ更新手段
１２０２  公開鍵更新判断手段
１２０３  登録更新手段
【図１】
2006166094.tif 000003
【図２】
2006166094.tif 000004
【図３】
2006166094.tif 000005
【図４】
2006166094.tif 000006
【図５】
2006166094.tif 000007
【図６】
2006166094.tif 000008
【図７】
2006166094.tif 000009
【図８】
2006166094.tif 000010
【図９】
2006166094.tif 000011
【図１０】
2006166094.tif 000012
【図１１】
2006166094.tif 000013
【図１２】
2006166094.tif 000014
【図１３】
2006166094.tif 000015