(57)【要約】【課題】  従来よりも固有鍵の定期更新処理間隔を大きくしたとしても、更新数は従来よりも増やすことができるようにする。【解決手段】  （１）デバイスは鍵ペアが1つも無い場合に鍵ペアを生成またはインストールする際、固有鍵を生成し、鍵ペアの秘密鍵を暗号化し保存する。（２）2個目以降の鍵ペアを生成またはインストール時には、（１）で作成した固有鍵により秘密鍵を暗号化し保存する。（３）デバイスの鍵ペアは、ユーザ操作や定期的処理によって削除することが可能であり、最後の１個の鍵ペアを削除するタイミングで固有鍵も削除する。【選択図】  図４
2006025215.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して暗号化通信を行う画像処理装置であって、
画像処理装置が暗号化通信を行うための機密情報を暗号化するためのキーを生成するキー生成手段と、
上記機密情報を生成または外部から入力される際に、上記キーを使用して機密情報を暗号化する機密情報暗号化手段と、
上記機密情報暗号化手段により暗号化された機密情報を保持する機密情報保持手段と、
上記保持手段により保持されている機密情報を使用する際に、上記キーにより復号化する機密情報復号化手段と、
上記保持手段により保持されている機密情報を削除する機密情報削除手段と、
上記キーを削除するキー削除手段とを有し、
機密情報を生成または外部から入力される際に、キーの存在が無ければ上記キー生成手段によりキーを生成し、
機密情報削除手段によりすべての機密情報が削除された際に、キー削除手段により上記キーを削除する
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
ネットワークに接続される画像処理装置に関する。
【背景技術】
【０００２】
暗号化通信を行うデバイスでは、暗号通信を開始する度に暗号鍵（セッション鍵と呼ぶ）を生成し、非対称暗号方式を使用してセッション鍵を相手と安全に受け渡しすることが多い。その際に使用する非対称暗号方式の公開鍵と秘密鍵（この２つの鍵を鍵ペアと呼ぶ）は事前に生成しておき、公開鍵はあらかじめ相手に配布しておくような鍵交換方法が一般的に採用されている。また、アプリケーション毎に採用する非対称暗号方式が異なることにより、複数の鍵ペアを持つ必要が発生する場合がある。このような暗号通信を行うデバイスは非対称暗号方式の鍵ペアをデバイス内に保持することになり、特に数多くの鍵ペアを保持しようとする場合、不揮発性メモリではコストがかかるためハードディスクに保存したい、という要求が当然生まれる。しかし、ハードディスクではデータを外部へ取り出しやすく解析されて鍵ペアが盗まれてしまう可能性を否定できない。そこで、鍵ペアをあるタイミングで更新することにより、万一デバイス内を解析され秘密鍵を盗まれてしまったとしても被害を最小限に抑えるような方法が一般的に使用されている。更新方法の先行技術として、保持している鍵の更新を、前記保持している鍵によって暗号化された印刷データがデバイス内に存在しない場合にのみ鍵の更新を可能とする、というものがある（例えば、特許文献１）。
【０００３】
また、さらに安全性を追求する方法として、秘密鍵はデバイスごとに異なる鍵（固有鍵と呼ぶ）によって暗号化されて、ハードディスクに保存する、というものもある。この場合、固有鍵は一般にＬＳＩ内部の不揮発性データとして保存され、外部から容易には取り出せないようにする必要がある。しかし、ＬＳＩ内部といっても解析される可能性は否定できず、やはり固有鍵も更新が頻繁であれば安全性が高くなることは言うまでもない。
【０００４】
このように、秘密にしたい鍵を頻繁に変えることは安全のために必要なことであるが、一方、頻繁に変えることはコストがかかることになる。例えば鍵ペアを変更すると、公開鍵の再配布、公開鍵証明書が必要な場合は証明書の再作成および再配布が必要となる。
【０００５】
その点、固有鍵を使用して保存する方法では、固有鍵のみを更新すればよく、鍵ペアそのものを変更するよりもコストはかからない。鍵ペアを変更せずに固有鍵を更新する場合でも、鍵ペアの秘密鍵のデータサイズは特許文献１の印刷データと比較すればはるかに小さいため、更新処理も軽くてすむ。したがって、固有鍵は頻繁に更新されるよう推奨されることが多い。
【特許文献１】特開平９−１３４２６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記従来例では、管理コストを下げるためまた不揮発性メモリの容量を下げるため、複数の鍵ペアを持つデバイスであったとしても固有鍵は唯一であるのが普通である。したがって、固有鍵の更新は頻繁に行うことは安全性の観点から重要であると考えられる。しかし、固有鍵を頻繁に更新するには以下に上げるような課題があった。
（１）デバイス内部で定期的に固有鍵を変更する場合、その固有鍵が使用されないという保証がされなければならない。つまり、保存している秘密鍵があればその全てを復号化し、新しい固有鍵で暗号化し保存する、といった処理を行う必要がある。したがって変更するタイミングによっては、ユーザがデバイスで他の作業中に固有鍵生成処理が開始されユーザの作業が中断されてしまう。
（２）（１）のように定期的に行うのではなく、ユーザの意思で更新を行えば作業が中断することは無いが、手動で固有鍵を作り直すのは手間である。
【課題を解決するための手段】
【０００７】
上記問題を解決するため、以下の手段を講じる。
（１）デバイスは鍵ペアが１つも無い場合に鍵ペアを生成またはインストールする際、固有鍵を生成し、鍵ペアの秘密鍵を暗号化し保存する。
（２）２個目以降の鍵ペアを生成またはインストール時には、（１）で作成した固有鍵により秘密鍵を暗号化し保存する。
（３）デバイスの鍵ペアは、ユーザ操作や定期的処理によって削除することが可能であり、最後の１個の鍵ペアを削除するタイミングで固有鍵も削除する。
【０００８】
これらの手段を講じることにより、以下の作用を得ることができる。
定期的に固有鍵を変更する処理は安全性から言えば必要ではあるが、なるべく更新間隔はは大きくしたい。なぜなら、ユーザの操作を中止してしまうからである。しかし安全性から言えば固有鍵の更新は頻繁である方が望ましい。その点、本発明では、
（１）全鍵ペアを更新する際に、管理者に意識させずとも固有鍵も同時に更新するため、固有鍵の更新タイミングを逃さず確実に実行できる。従って、従来よりも固有鍵の定期更新処理間隔を大きくしたとしても、更新数は従来よりも増やすことが可能である。
（２）また、手動で更新するような管理方法の場合に発生しがちな、“更新忘れ”は無くなり、確実に行うことができる。
【発明の効果】
【０００９】
本発明の効果として、以下の事項が挙げられる。
【００１０】
全鍵ペアを更新する際に、管理者に意識させずとも固有鍵も同時に更新するため、固有鍵の更新タイミングを逃さず確実に実行できる。従って、従来よりも固有鍵の定期更新処理間隔を大きくしたとしても、更新数は従来よりも増やすことが可能である。
【００１１】
手動で更新するような管理方法の場合に発生しがちな、“更新忘れ”は無くなり、確実に行うことができる。
【発明を実施するための最良の形態】
【００１２】
本発明は以下に詳述するように、ネットワークに接続され暗号通信を行うデバイスに関するものである。
【００１３】
図１は、本実施例のネットワークシステムが動作可能な構成を示す図である。
【００１４】
図１において、１１０は単機能プリンタ（以下ＳＦＰ（ＳｉｎｇｌｅＦｕｎｃｔｉｏｎＰｒｉｎｔｅｒ）と呼ぶ）、１２０は複合機（以下ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）と呼ぶ）であり、それぞれＬＡＮ１００に接続されている。  ＳＦＰ１１０、ＭＦＰ１２０はＰＣ１３０からネットワークを介して印刷ジョブを受信し印刷処理を行う。また、ＳＦＰ１１０、ＭＦＰ１２０はＰＣ１３０から設定および操作要求を受信し、要求に従った動作を行うことにより、リモートからの機器の設定および操作が可能である。１４０はファイアウォールであり、ＬＡＮ１００を外部のインタネット１５０に接続する。またＬＡＮ１００はファイアウォール１４０、インタネット１５０を介して更に別のネットワーク１６０に接続される。
【００１５】
図２は、一般的なパーソナルコンピュータの内部構成を示した図であり、図１におけるＰＣ１３０の内部構成はこのようになっている。ＰＣ２００は、ＲＯＭ２０２もしくはハードディスク（ＨＤ）２１１に記憶された、あるいはフロッピー（登録商標）ディスクドライブ（ＦＤ）２１２より供給される各種ソフトウェアを実行するＣＰＵ２０１を備え、システムバス２０４に接続される各機器を総括的に制御する。２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。２０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）２０９や不図示のポインティングデバイス等からの指示入力を制御する。２０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）２１０の表示を制御する。２０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル等を記憶するハードディスク（ＨＤ）２１１およびフロッピー（登録商標）ディスクコントローラ（ＦＤ）２１２とのアクセスを制御する。２０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ２２０を介して、ネットワークプリンタ、他のネットワーク機器あるいは他のＰＣと双方向にデータをやりとりする。
【００１６】
なお、本実施例においては、ＬＡＮ２２０は図１におけるＬＡＮ１００と同じものである。
【００１７】
図３において、３００は、本発明プログラムが稼動するＭＦＰまたはＳＦＰの内部構成の一例であり、図１における１１０、１２０と同等である。デバイス３００は、ＲＯＭ３０２もしくはハードディスク（ＨＤ）３１０に記憶された、あるいはフロッピー（登録商標）ディスクドライブ（ＦＤ）３１１より供給される各種プログラムを実行するＣＰＵ３０１を備え、システムバス３０４に接続される各機器を総括的に制御する。３０３はＲＡＭで、ＣＰＵ３０１の主メモリ、ワークエリア等として機能する。３０５はユーザインタフェースコントローラ（ＵＩＣ）で、ユーザインタフェース（ＵＩ）３０９への表示、３０９からの指示入力を制御する。ファンクションコントローラ（ＦＵＮＣＣ）３０６は各デバイス特有の機能であるファンクション（ＦＵＮＣ）３１０を実現／制御する。モノクロプリンタであればモノクロプリントエンジンコントローラとモノクロプリントエンジン、カラープリンタであればカラープリントエンジンコントローラとカラープリントエンジン、ＭＦＰであればデバイス３００は各機能のファンクションコントローラ（ＦＵＮＣＣ）３０６とファンクション（ＦＵＮＣ）３１０をそれぞれ持つ。３０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、本発明の動作を行うプログラム、種々のアプリケーション、データファイルを記憶するハードディスク（ＨＤ）３１１およびフロッピー（登録商標）ディスクコントローラ（ＦＤ）３１２とのアクセスを制御する。３０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ３２０を介して、ネットワークプリンタ、他のネットワーク機器あるいは他のＰＣと双方向にデータをやりとりする。なお、本実施例においては、ＬＡＮ３２０は図１におけるＬＡＮ１００、ＬＡＮ１９０と同じものである。
【００１８】
図４は、図１のＳＦＰ１１０、ＭＦＰ１２０において、本発明を実現するプログラムのフローチャートの一例である。まず、電源ＯＮ時に初期化処理４０１を行い、その後処理４０２において、ユーザの操作や、図１のネットワーク上のＰＣ１３０からの要求（外部要求）を待つ。外部要求が鍵ペア生成要求であった場合、処理４１０へ進み、鍵ペア削除要求であった場合は処理４２０へ進み、その他の要求の場合は処理４３０へ進み、それぞれの処理を終了した後は、再度処理４０２へ戻り、外部要求を待つ。
【００１９】
図５は、図４の処理４１０、鍵ペア生成処理の詳細を示すフローチャートである。処理５０１で、まず鍵ペアを生成し、次に処理５０２では、処理５０１で生成した鍵ペアがデバイス内で唯一であるか否か、すなわち処理５０１で生成する前まではデバイス内に鍵ペアが存在しなかったか否かを判断し、Ｙｅｓであれば処理５１０へ進む。Ｎｏであれば処理５２０へ進む。処理５１０では固有鍵を生成し、処理５１１では生成した固有鍵を不揮発性メモリへ保存し、その後処理５２０へ進む。処理５１１または処理５０２が終了後に行われる処理５２０では、処理５０１で生成した鍵ペアのうち秘密鍵を、処理５１０で生成した固有鍵、または以前にデバイス内で最初に鍵ペアを生成した際に処理５１１により保存された固有鍵によって暗号化し、処理５２１では暗号化された秘密鍵とその対をなしている公開鍵を図３の３１１ハードディスクなどの不揮発性記憶領域に保存する。その後、フローチャート５００を終了する。この実施例では、固有鍵は不揮発性メモリに保存し、鍵ペアはハードディスクに保存している。この理由は、従来技術でも述べたようにハードディスクは取り外しが不揮発性メモリよりも一般的に容易であるためである。なお、固有鍵を不揮発性メモリに保存する、というのはあくまでも一例であり、より取り外しが困難なメディアであれば良く、特に限定はされない。
【００２０】
図６は、図４の処理４２０、鍵ペア削除処理の詳細を示すフローチャートである。処理６０１で鍵ペアを削除し、処理６０２では現在デバイス内には鍵ペアが存在するか否か、すなわち処理６０１で削除した鍵ペアがデバイス内での最後の鍵ペアであったか否かを判別する。最後の鍵ペアであれば処理６１０へ進み、フローチャート６００を終了する。最後の鍵ペアでなければ処理６０２を終了後にフローチャート６００を終了する。
【００２１】
図７は、記憶媒体の一例であるＣＤ−ＲＯＭのメモリマップを示す図である。９９９９はディレクトリ情報を記憶してある領域で、以降のインストールプログラムを記憶してある領域９９９８および本発明を実現するプログラムを記憶してある領域９９９７の位置を示している。９９９８は、本発明を実現するプログラムをインストールするためのプログラムを記憶してある領域である。９９９７は、本発明を実現するプログラムを記憶してある領域である。本発明を実現するプログラムが印刷デバイス３００にインストールされる際には、まずインストールプログラムを記憶してある領域９９９８に記憶されているインストールプログラムがシステムにロードされ、ＣＰＵ３０１によって実行される。次に、ＣＰＵ３０１によって実行されるインストールプログラムが、本発明を実現するプログラムを記憶してある領域９９９７から本発明を実現するプログラムを読み出して、ハードディスク３１１に格納する。
【００２２】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダなど）から構成されるシステムあるいは統合装置に適用しても、ひとつの機器からなる装置に適用してもよい。
【００２３】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００２４】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００２５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００２６】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００２７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００２８】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【図面の簡単な説明】
【００２９】
【図１】本実施例の印刷システムの構成を示す図。
【図２】一般的なパーソナルコンピュータの内部構成を示した図。
【図３】一般的な画像形成装置の内部構成を示した図。
【図４】本発明を実現するプログラムのフローチャートの一例。
【図５】本発明を実現するプログラムのフローチャートの一例。
【図６】本発明を実現するプログラムのフローチャートの一例。
【図７】本発明のプログラムの記憶媒体におけるメモリマップの一例。
【図１】
2006025215.tif 000003
【図２】
2006025215.tif 000004
【図３】
2006025215.tif 000005
【図４】
2006025215.tif 000006
【図５】
2006025215.tif 000007
【図６】
2006025215.tif 000008
【図７】
2006025215.tif 000009