(57)【要約】【課題】情報処理装置がデバイスに装着される毎に、デバイスに供給する秘密情報を更新可能にして、秘密情報の漏洩や不正使用を軽減する。【解決手段】ネットワークプリントサーバ１５００は、ＤｅｖｉｃｅＩＤ一時保存部１５０９内及びＤｅｖｉｃｅＩＤ格納部１５１０内の両デバイスＩＤが不一致であった場合は、秘密情報（秘密鍵と公開鍵）を新たに作成し、公開鍵をサーバコンピュータ１７００に転送すると共に、格納した秘密鍵をプリンタコントローラ１６００に転送する。クライアントコンピュータ１８００は、公開鍵をコンピュータ１７００から取得し、それを使って印刷データを暗号化してプリンタ１０００に転送する。コントローラ１６００は、暗号化された印刷データをサーバ１５００から取得した秘密鍵で復号化して印刷を実行する。【選択図】図２
2008153892.tif 000002
【特許請求の範囲】
【請求項１】
デバイスに装着可能な情報処理装置であって、
秘密情報を格納する格納手段と、
デバイスに装着された状態で、秘密情報を作成する秘密情報作成手段と、
前記秘密情報作成手段により秘密情報が作成された場合に、前記格納手段に格納されている秘密情報を、前記秘密情報作成手段により作成された秘密情報に更新する秘密情報更新手段と、
前記格納手段に格納されている、前記秘密情報更新手段により更新された秘密情報を、前記情報処理装置が装着されているデバイスに転送する秘密情報転送手段とを有することを特徴とする情報処理装置。
【請求項２】
デバイスに装着された状態で、該デバイスを一意に識別するための識別情報を該デバイスから取得する第１の識別情報取得手段と、前記第１の識別情報取得手段により取得された識別情報を記憶する記憶手段と、デバイスに装着された状態で、該デバイスを一意に識別するための識別情報を該デバイスから取得する第２の識別情報取得手段と、前記第２の識別情報取得手段により取得された識別情報と前記記憶手段に記憶されている識別情報との一致または不一致を判定する判定手段とを有し、前記秘密情報作成手段は、前記判定手段の判定結果に従って、秘密情報を作成するか否かを決定することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記秘密情報作成手段は、前記判定手段の判定の結果、前記第２の識別情報取得手段により取得された識別情報と前記記憶手段に記憶されている識別情報とが不一致であった場合は秘密情報を作成する一方、一致した場合は秘密情報を作成しないことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記秘密情報作成手段は、前記判定手段の判定の結果、前記第２の識別情報取得手段により取得された識別情報と前記記憶手段に記憶されている識別情報とが一致した場合であっても、前記情報処理装置が装着されているデバイスからの要求があれば、秘密情報を作成することを特徴とする請求項３記載の情報処理装置。
【請求項５】
請求項１〜４のいずれかに記載の情報処理装置が装着されるデバイスであって、
装着されている情報処理装置の前記秘密情報転送手段から転送される秘密情報を取得する秘密情報取得手段と、
外部から受信されるデータを、前記秘密情報取得手段により取得された秘密情報を用いて解読する処理手段とを有することを特徴とするデバイス。
【請求項６】
複数のデバイスと、前記複数のデバイスのうち任意のデバイスに装着可能な情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
秘密情報を格納する格納手段と、
いずれかのデバイスに装着された状態で、秘密情報を作成する秘密情報作成手段と、
前記秘密情報作成手段により秘密情報が作成された場合に、前記格納手段に格納されている秘密情報を、前記秘密情報作成手段により作成された秘密情報に更新する秘密情報更新手段と、
前記格納手段に格納されている、前記秘密情報更新手段により更新された秘密情報を、前記情報処理装置が装着されているデバイスに転送する秘密情報転送手段とを有し、
前記複数のデバイスは各々、
前記秘密情報転送手段から転送される秘密情報を取得する秘密情報取得手段と、
外部から受信されるデータを、前記秘密情報取得手段により取得された秘密情報を用いて解読する処理手段とを有することを特徴とする情報処理システム。
【請求項７】
秘密情報を格納する格納部を有する情報処理装置においてコンピュータに実行させる情報処理プログラムであって、
前記情報処理装置がデバイスに装着された状態で、秘密情報を作成する秘密情報作成モジュールと、
前記秘密情報作成モジュールにより秘密情報が作成された場合に、前記格納部に格納されている秘密情報を、前記秘密情報作成モジュールにより作成された秘密情報に更新する秘密情報更新モジュールと、
前記格納部に格納されている、前記秘密情報更新モジュールにより更新された秘密情報を、前記情報処理装置が装着されているデバイスに転送する秘密情報転送モジュールとを有することを特徴とする情報処理プログラム。
【請求項８】
請求項７記載の情報処理プログラムをコンピュータ読み取り可能に格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張カード等の情報処理装置を、プリンタ等のデバイスの拡張スロット等に装着して拡張機能等の所定機能が実現される情報処理装置、システム及びプログラム、デバイス、並びに記憶媒体に関するものである。
【背景技術】
【０００２】
従来、プリンタ等のデバイスに対して着脱可能であり、デバイスに装着されて当該デバイスとネットワークとを接続する拡張カード等の情報処理装置が知られている。この情報処理装置では、例えば、アプリケーションを起動するに当たって、デバイスに格納されているライセンスコードと情報処理装置に格納されているライセンスコードとを比較し、両者が一致する場合に、そのアプリケーションを起動する。これによって、この情報処理装置が他のデバイスに装着されて、該情報処理装置に格納されているアプリケーションが当該他のデバイスのために使用されることが防止される（下記特許文献１）。
【特許文献１】特開２００５-０３８００９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば、デバイスとしてのプリンタは、外部装置（例えばクライアントコンピュータ）から暗号化されたデータを受信する。そして、これを、暗号解読情報（例えば秘密鍵）を使用して解読することにより、上記外部装置から受信したデータを印刷できるようになる。
【０００４】
この場合、クライアントコンピュータはプリンタに暗号化したデータを送る為に、秘密鍵に対応する公開鍵を使って暗号化を行う。例えば、公開鍵は予め認証サーバに保存されており、プリンタに暗号化したデータを送りたいクライアントコンピュータは認証サーバから公開鍵を取得してデータの暗号化を行う。
【０００５】
これによりクライアントコンピュータとプリンタの間での転送路（例えばネットワーク上）で印刷データを盗み見られたり、間違って意図しないプリンタにデータを送ってしまいそこで印刷されてしまったり、という事故が発生し難くなる。
【０００６】
しかしながら、デバイスのファームウェアを変更せずに各種機能を提供する情報処理装置がデバイスに装着されるようなシステムでは、情報処理装置固有の情報はデバイス上に格納されずに、情報処理装置内に格納されるのが望ましい。
【０００７】
一方、情報処理装置が秘密鍵等の情報（以下、秘密情報と呼ぶ）を格納している場合、上記秘密情報は情報処理装置から第１のデバイス内にある不揮発性の記憶手段にコピーして第１のデバイスで使用する。例えば、第１のデバイスに情報処理装置が装着されて使用される場合である。次に、その情報処理装置を第２のデバイスに装着し直した場合、同様に第２のデバイスでも上記秘密情報を情報処理装置から第２のデバイス内の不揮発性の記憶手段にコピーして使用すると、双方のデバイスで同じ秘密情報を使用できてしまう。
【０００８】
これでは秘密情報の漏洩、秘密情報の不正使用が発生してしまうおそれがある。例えば、第１のデバイスのために用意された秘密情報が第２のデバイスに漏れてしまい、クライアントコンピュータが第１のデバイスに送ったつもりのデータが、意図しない第２のデバイスでも印刷可能になってしまう。または、今後情報処理装置が第２のデバイスのために使用される場合には、第２のデバイスのために今後使用される秘密情報が第１のデバイスにも残ってしまい、第２のデバイスに送ったはずのデータが第１のデバイスでも印刷可能になってしまう。
【０００９】
本発明の目的は、情報処理装置がデバイスに装着される毎に、デバイスに転送する秘密情報を更新可能にして、秘密情報の漏洩や不正使用を軽減することができる情報処理装置、システム及びプログラム、デバイス、並びに記憶媒体を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明の請求項１の情報処理装置は、デバイスに装着可能な情報処理装置であって、秘密情報を格納する格納手段と、デバイスに装着された状態で、秘密情報を作成する秘密情報作成手段と、前記秘密情報作成手段により秘密情報が作成された場合に、前記格納手段に格納されている秘密情報を、前記秘密情報作成手段により作成された秘密情報に更新する秘密情報更新手段と、前記格納手段に格納されている、前記秘密情報更新手段により更新された秘密情報を、前記情報処理装置が装着されているデバイスに転送する秘密情報転送手段とを有することを特徴とする。
【００１１】
上記目的を達成するために本発明の請求項５のデバイスは、請求項１〜４のいずれかに記載の情報処理装置が装着されるデバイスであって、装着されている情報処理装置の前記秘密情報転送手段から転送される秘密情報を取得する秘密情報取得手段と、外部から受信されるデータを、前記秘密情報取得手段により取得された秘密情報を用いて解読する処理手段とを有することを特徴とする。
【００１２】
上記目的を達成するために本発明の請求項６の情報処理システムは、複数のデバイスと、前記複数のデバイスのうち任意のデバイスに装着可能な情報処理装置とを含む情報処理システムであって、前記情報処理装置は、秘密情報を格納する格納手段と、いずれかのデバイスに装着された状態で、秘密情報を作成する秘密情報作成手段と、前記秘密情報作成手段により秘密情報が作成された場合に、前記格納手段に格納されている秘密情報を、前記秘密情報作成手段により作成された秘密情報に更新する秘密情報更新手段と、前記格納手段に格納されている、前記秘密情報更新手段により更新された秘密情報を、前記情報処理装置が装着されているデバイスに転送する秘密情報転送手段とを有し、前記複数のデバイスは各々、前記秘密情報転送手段から転送される秘密情報を取得する秘密情報取得手段と、外部から受信されるデータを、前記秘密情報取得手段により取得された秘密情報を用いて解読する処理手段とを有することを特徴とする。
【００１３】
上記目的を達成するために本発明の請求項７の情報処理プログラムは、秘密情報を格納する格納部を有する情報処理装置においてコンピュータに実行させる情報処理プログラムであって、前記情報処理装置がデバイスに装着された状態で、秘密情報を作成する秘密情報作成モジュールと、前記秘密情報作成モジュールにより秘密情報が作成された場合に、前記格納部に格納されている秘密情報を、前記秘密情報作成モジュールにより作成された秘密情報に更新する秘密情報更新モジュールと、前記格納部に格納されている、前記秘密情報更新モジュールにより更新された秘密情報を、前記情報処理装置が装着されているデバイスに転送する秘密情報転送モジュールとを有することを特徴とする。
【００１４】
上記目的を達成するために本発明の請求項８の記憶媒体は、請求項７記載の情報処理プログラムをコンピュータ読み取り可能に格納したことを特徴とする。
【発明の効果】
【００１５】
本発明の請求項１、５〜８によれば、情報処理装置がデバイスに装着される毎に、デバイスに転送する秘密情報を更新可能にして、秘密情報の漏洩や不正使用を軽減することができる。
【００１６】
請求項２によれば、装着するデバイスが変わったか否かを判断して、必要な場合にだけ秘密情報を更新することができる。
【００１７】
請求項３によれば、前回に装着したデバイスと異なるデバイスに装着された場合に秘密情報を更新して、古い秘密情報を用いた処理の実現を不能にすることができる。
【００１８】
請求項４によれば、最新の秘密情報にて処理を行え、安全性を高めることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面を参照して説明する。
【００２０】
プリンタや複合機のようなデバイスでは、情報処理装置としての拡張カードを装着することによって機能を拡張して動作することが可能なものがある。その場合、各種拡張カードに対応してデバイスが動作する必要があるが、プリンタや複合機のようなデバイスではユーザＩ／Ｆが十分でない。そのため、拡張カードに対応したファームウェアへの変更や、ＰＣ（パーソナルコンピュータ）のように拡張カードドライバのインストール等の作業をユーザまたはサービスマンに強いるのは好ましくない。デバイス側のファームウェアの変更をせずとも各種拡張カードに対応するためには、デバイス側はどのような拡張カードが装着されても同じ方法で拡張カードにアクセスし、拡張カード固有の情報は全て拡張カード側で保持するのが望ましい。
【００２１】
本発明は、上記のように拡張カード上に秘密鍵等の秘密の情報（以下「秘密情報」と称する）を保持するシステムにおいて、拡張カードを装着したデバイスでのみ秘密情報の使用を可能として他のデバイスによる同じ秘密情報の使用を防止するものである。
【００２２】
以下、情報処理装置としての拡張カードとして、ネットワークプリントサーバと呼ばれるネットワークカードを例に挙げて説明するが、拡張カードが提供する機能に関して本発明は何ら限定するものではない。
【００２３】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係る情報処理装置を含むプリンタのハードウェア構成を説明するブロック図である。
【００２４】
本実施の形態では、情報処理装置としてのネットワークプリントサーバ１５００が、デバイスとしてのプリンタコントローラ１６００に着脱自在に構成される。本実施の形態で説明する情報処理システムにおいては、プリンタコントローラ１６００は、同様の構成のものが複数存在し、ネットワークプリントサーバ１５００は、任意のプリンタコントローラ１６００に装着可能である。そして、プリンタコントローラ１６００にネットワークプリントサーバ１５００が装着されたものが、プリンタ１０００となる。従って、プリンタ１０００は、ネットワークプリントサーバ１５００とプリンタコントローラ１６００という、異なる制御系を司る２つの機器で構成される。
【００２５】
ネットワークプリントサーバ１５００において、ネットワークプリントサーバ用のＣＰＵ１が、書き換え可能な不揮発性のＦｌａｓｈＲＯＭ３に記憶された制御プログラムに基づいて動作する。
【００２６】
ＣＰＵ１は、システムバス４に接続されるネットワークコントローラ（ＬＡＮＣ）５を介してローカルエリアネットワーク（ＬＡＮ）２０００に接続される。ＣＰＵ１は、所定のネットワーク通信プロトコルを用いて、図３に示すサーバコンピュータ１７００やクライアントコンピュータ１８００等の複数の外部装置から送られる印刷データやプリンタ制御命令等の各種データ送受信要求を統括的に制御する。また、ＣＰＵ１は、拡張インターフェイスコントローラ（ＥＸＰＣ）７、専用の拡張インターフェイス１７を介して接続されるプリンタコントローラ１６００に対して適切なデータ転送制御も行う。
【００２７】
ＦｌａｓｈＲＯＭ３には、図４、図５のフローチャートで示されるような本発明の処理の一部を行うプログラム（オペレーティングシステム）やそのプログラムの一部である秘密情報作成機能、及びそこで作成される秘密鍵と公開鍵の情報も記憶されている。ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＬＥＤ６は、ネットワークプリントサーバ１５００の動作状態を示す表示部として用いられている。ＬＥＤ６は、例えばＬＡＮＣ５とＬＡＮ２０００の電気的な接続状態（ＬＩＮＫ）、及び、ネットワーク通信モード（１０Ｂａｓｅや１００Ｂａｓｅ、全二重、半二重）等の各種動作状態をＬＥＤ６自身の点滅パターンや色で示すことが可能である。
【００２８】
さらに、ネットワークプリントサーバ１５００とプリンタコントローラ１６００を繋ぐ拡張インターフェイス１７は、図示しないコネクタ及び後述する図２で説明する拡張Ｉ／Ｆ  Ｐｈｙ（フィジカルレイヤ）２０で構成されている。また、拡張インターフェイス１７は、ネットワークプリントサーバ１５００を着脱可能にできるようになっている。すなわち、プリンタ１０００（プリンタコントローラ１６００）と同じハード構成を持つ別のプリンタであれば、ネットワークプリントサーバ１５００を当該別のプリンタに装着することも可能な構成である。別の見方をすれば、この拡張インターフェイス１７の構成を採用すれば、ネットワークプリントサーバ１５００以外の様々な機能を持たせた拡張カード等の情報処理装置をプリンタ１０００（プリンタコントローラ１６００）に接続（装着）可能である。
【００２９】
プリンタコントローラ１６００において、プリンタコントローラ用のＣＰＵ８が設けられる。ＲＯＭ９には、制御プログラムやリソースデータ（資源情報）が記憶される。ディスクコントローラ（ＤＫＣ）１５を介して接続された外部メモリ１０には、制御プログラムやリソースデータ等が記憶される。ＣＰＵ８は、ＲＯＭ９あるいは外部メモリ１０に記憶された制御プログラムやリソースデータに基づいて、システムバス１１に接続される各種デバイスとのアクセスを統括的に制御する。
【００３０】
プリンタコントローラ１６００には、拡張インターフェイスコントローラ（ＥＸＰＣ）１３及び拡張インターフェイス１７を介してネットワークプリントサーバ１５００が接続される。ＣＰＵ８は、ネットワークプリントサーバ１５００から受信される印刷データを基に、ラスタコントローラ１２によって出力画像情報を生成し、プリンタエンジン１６に対して画像信号を出力する。
【００３１】
ＲＡＭ１４は、ＣＰＵ８の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００３２】
システムバス１１には、さらに、操作パネル１８、プリンタエンジン１６が接続されている。操作パネル１８には、プリンタ１０００の動作モード等の設定や印刷データの取り消し等の操作を行うためのボタン及びプリンタ１０００の動作状態を示す液晶パネルやＬＥＤ等の表示部が配されている。プリンタエンジン１６は、既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華（熱転写）方式等が挙げられる。
【００３３】
図２は、本実施の形態におけるプリンタの機能ブロックを示すブロック図である。この図では、制御機器であるネットワークプリントサーバ１５００及びプリンタコントローラ１６００の記憶デバイスに記憶されたソフトウェアや各種機能ブロックがモデルで示されている。ここでは、特に、前述の拡張インターフェイス１７に関連したモデルを詳しく説明する。
【００３４】
プリンタコントローラ１６００は、拡張Ｉ／Ｆ（Ｐｈｙ）２０を有し、ネットワークプリントサーバ１５００と物理的に結合される。プリンタコントローラ１６００のオペレーティングシステム１６０１には、拡張Ｉ／Ｆ（Ｌ２）１６０２と拡張Ｉ／Ｆ（Ｌ３／Ｌ４）１６０３がある。これらは、それぞれ、ネットワークプリントサーバ１５００のオペレーティングシステム１５０１上の拡張Ｉ／Ｆ（Ｌ２）１５０２と拡張Ｉ／Ｆ（Ｌ３／Ｌ４）１５０３に対応している。
【００３５】
プリンタコントローラ１６００はアプリケーション１６０５を有し、ネットワークプリントサーバ１５００はアプリケーション１５０４を有する。上記した拡張Ｉ／Ｆ２０、拡張Ｉ／Ｆ１６０２、拡張Ｉ／Ｆ１６０３、拡張Ｉ／Ｆ１５０２、拡張Ｉ／Ｆ１５０３を使用して、アプリケーション１６０５とアプリケーション１５０４との間で双方向にデータがやりとりされる。
【００３６】
ネットワークプリントサーバ１５００は、ＬＡＮＩ／Ｆ１５０６を有する。オペレーティングシステム１５０１には、ＬＡＮ  Ｍａｃ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）１５０５が含まれる。オペレーティングシステム１６０１にはさらに、ＴＣＰ／ＩＰ／Ｅｔｈｅｒｎｅｔ（登録商標）１６０４が含まれる。ＴＣＰ／ＩＰ／Ｅｔｈｅｒｎｅｔ(登録商標)１６０４は、拡張Ｉ／Ｆ（Ｌ２）１６０２と拡張Ｉ／Ｆ（Ｐｈｙ）２０とを介して、ＬＡＮＭａｃ１５０５、ＬＡＮＩ／Ｆ１５０６を使用して、ＬＡＮ２０００に対するアクセスを制御する。このようにして、アプリケーション１６０５及びプリンタコントローラ１６００（＝プリンタ１０００）のユーザに対してアクセスを提供する。
【００３７】
これにより、アプリケーション１６０５は、ＬＡＮ２０００を介して、後述するサーバコンピュータ１７００やクライアントコンピュータ１８００等の外部装置（図３参照）と通信を行うことができる。
【００３８】
ＬＡＮＭａｃ１５０５、ＬＡＮＩ／Ｆ１５０６は、ローカルエリアネットワークプロトコルのレイヤ２、レイヤ１の機能を提供するものであり、ネットワークプリントサーバ１５００特有の機能である。例えば、ネットワークプリントサーバ１５００が無線ＬＡＮ（ＷＬＡＮ）を使用するネットワークプリントサーバであった場合は、ＬＡＮＭａｃ１５０５、ＬＡＮＩ／Ｆ１５０６は、それぞれ無線ＬＡＮを実現する為のものとなる。一方、ネットワークプリントサーバ１５００が、ＬＡＮプロトコルを使用しない拡張カードであるならば、ＬＡＮＭａｃ１５０５、ＬＡＮＩ／Ｆ１５０６の部分には、さらに違う機能ブロックが搭載されることになる。
【００３９】
ネットワークプリントサーバ１５００の秘密情報格納部（秘密鍵／公開鍵）１５０７は、秘密情報作成部１５０８で自動的に作成し保持される秘密情報である。ネットワークプリントサーバ１５００の秘密情報格納部１５０７には、“秘密鍵”及び“公開鍵”が格納される。これら秘密鍵及び公開鍵は、秘密情報作成部１５０８で自動的に作成し保持される秘密情報である。プリンタコントローラ１６００の秘密情報格納部１６０６には、“秘密鍵”が格納される。
【００４０】
アプリケーション１６０５は、秘密情報格納部１５０７にある“秘密鍵”をネットワークプリントサーバ１５００から取得する。すなわち、拡張Ｉ／Ｆ２０、拡張Ｉ／Ｆ１６０２、拡張Ｉ／Ｆ１６０３、拡張Ｉ／Ｆ１５０２、拡張Ｉ／Ｆ１５０３、アプリケーション１５０４を介して“秘密鍵”を取得し、秘密情報格納部１６０６に保存しておく。秘密情報格納部１６０６は、プリンタ１０００の電源が落とされても情報が消えないように、図示しない不揮発性の記憶装置上に存在する。
【００４１】
プリンタコントローラ１６００のＤｅｖｉｃｅＩＤ１６０７は、当該プリンタコントローラ１６００乃至プリンタ１０００を一意に識別するための識別情報である（以下「デバイスＩＤ」とも称する）。
【００４２】
ＤｅｖｉｃｅＩＤ１６０７は、プリンタ１０００（プリンタコントローラ１６００）の出荷時において各々に付与されている。後述する処理により、ＤｅｖｉｃｅＩＤ１６０７がプリンタコントローラ１６００からネットワークプリントサーバ１５００に渡されたものが、ＤｅｖｉｃｅＩＤ一時保存部１５０９に一時保存され、その後、ＤｅｖｉｃｅＩＤ格納部１５１０に格納される。
【００４３】
ＤｅｖｉｃｅＩＤ格納部１５１０、秘密情報格納部１５０７は、いずれも不揮発な記憶装置である前述のＦｌａｓｈＲＯＭ３上に存在するが、ＤｅｖｉｃｅＩＤ一時格納部１５０９は前述のＲＡＭ２上に存在する（図１参照）。
【００４４】
図３は、本実施の形態における情報処理システムの全体構成を示す図である。このシステムは、プリンタ１０００、及びこれにＬＡＮ２０００で接続されるサーバコンピュータ１７００やクライアントコンピュータ１８００等の外部装置で構成される。上述したように、プリンタコントローラ１６００は複数存在し得る。
【００４５】
詳細は、図４、図５で後述するが、ネットワークプリントサーバ１５００で自動的に作成される“公開鍵”がネットワークプリントサーバ１５００からサーバコンピュータ１７００に転送される。また、サーバコンピュータ１７００に転送された公開鍵が、クライアントコンピュータ１８００によって取得される。さらに、クライアントコンピュータ１８００が、取得した公開鍵を使って暗号化した印刷データをネットワークプリントサーバ１５００宛てに転送する。さらに、プリンタコントローラ１６００は、ネットワークプリントサーバ１５００で自動的に作成される“秘密鍵”をネットワークプリントサーバ１５００から取得する。そして、プリンタコントローラ１６００が、取得した秘密鍵を用いて、上記暗号化された印刷データを復号化して印刷処理（所定機能）を実行する。
【００４６】
図４は、秘密情報の更新に関連する処理のフローチャートである。図５は、印刷実行に関連する処理のフローチャートである。
【００４７】
図４の処理は、ネットワークプリントサーバ１５００及びプリンタコントローラ１６００の各ＣＰＵ１、８によって並行して実行される。図５の処理は、ネットワークプリントサーバ１５００及びプリンタコントローラ１６００に加え、サーバコンピュータ１７００、クライアントコンピュータ１８００によって並行して実行される。図４、図５の最上部には、各ステップで動作する主な主体が付記されている。
【００４８】
これらの各ステップに対応する制御手順は、ネットワークプリントサーバ１５００のＦｌａｓｈＲＯＭ３、プリンタコントローラ１６００のＲＯＭ９（図１参照）に記憶されている。また、サーバコンピュータ１７００、クライアントコンピュータ１８００においては、不図示の記憶装置に記憶されている。
【００４９】
図４において、まず、ステップＳ５０１で、プリンタ１０００に電源が投入されると、プリンタコントローラ１６００及びそれに装着されたネットワークプリントサーバ１５００にも電力が供給される。
【００５０】
次に、ステップＳ５０２では、プリンタコントローラ１６００は、電源投入後に必要な初期化処理を行う。例えばＲＡＭ１４のワークエリアをクリアしたり、プリンタエンジン１６の初期化動作を行ったり、プリンタ１０００全体の異常が発生していないかを確認したりする。さらには拡張インターフェイス１７を使ってネットワークプリントサーバ１５００と通信し、さらにＬＡＮ２０００を経由してネットワーク通信を行う為の初期化を行う。
【００５１】
また、このステップＳ５０２では、ネットワークプリントサーバ１５００側でも電源投入後に必要な初期化処理を行う。ネットワークプリントサーバ１５００は、拡張インターフェイスを使ってプリンタコントローラ１６００と通信する為の初期化処理や、ＬＡＮ２０００を使ったネットワーク通信をプリンタコントローラ１６００に提供する為の初期化処理等を行う。
【００５２】
また、ステップＳ５０２の初期化処理では、プリンタコントローラ１６００は、プリンタコントローラ１６００の拡張インターフェイス１７に拡張カードが装着されているかどうかを図示しない方法で確認する。拡張カードが装着されていれば、さらにその拡張カードがネットワークプリントサーバ１５００であるかも確認する。例えば、拡張カードから拡張インターフェイス１７を経由してその拡張カードの持つ機能を示す情報を取得する等して確認する。ここで拡張カードが装着されていない、または、拡張カードがネットワークプリントサーバ１５００で無い場合、続くステップＳ５０３からの処理は行わない。
【００５３】
前記ステップＳ５０２の初期化処理において、プリンタコントローラ１６００にネットワークプリントサーバ１５００が装着されていると分かった場合は、ステップＳ５０３に進む。ステップＳ５０３では、プリンタコントローラ１６００は、格納しているデバイスＩＤ（図２に示すＤｅｖｉｃｅＩＤ１６０７）を拡張インターフェイス１７を経由してネットワークプリントサーバ１５００に転送する。
【００５４】
続くステップＳ５０４では、ネットワークプリントサーバ１５００はプリンタコントローラ１６００から転送されたデバイスＩＤを受け取り、これをＤｅｖｉｃｅＩＤ一時保存部１５０９に一旦格納する。次に、ネットワークプリントサーバ１５００は、ＤｅｖｉｃｅＩＤ一時保存部１５０９に格納したデバイスＩＤとＤｅｖｉｃｅＩＤ格納部１５１０に既に保存されているデバイスＩＤとを比較する（ステップＳ５０５、Ｓ５０６）。
【００５５】
この両デバイスＩＤの比較処理によって、ネットワークプリントサーバ１５００は、現在、自身が装着されているプリンタコントローラ１６００が、前回に自身が装着されていたものと同一のものであるかどうかを判別できる。
【００５６】
ここで、詳細な説明は行わないが、ネットワークプリントサーバ１５００が工場から出荷される際には、ＤｅｖｉｃｅＩＤ格納部１５１０にはどんなプリンタコントローラが持つデバイスＩＤとも一致しない値が格納されている。該一致しない値とは、例えば、全ての値が“０”や“１”等の値である。また、不図示の初期化方法を使って、ＤｅｖｉｃｅＩＤ格納部１５１０の格納値を工場出荷時と同じ値に初期化可能であることは説明するまでもない。
【００５７】
ステップＳ５０６の判別の結果、両デバイスＩＤが一致しなかった場合は、電源を遮断している最中に前回とは違うプリンタコントローラ１６００にネットワークプリントサーバ１５００が装着し直された場合である。あるいは、ネットワークプリントサーバ１５００が工場から出荷されて初めてプリンタコントローラ１６００に接続された場合である。一方、両デバイスＩＤが一致した場合は、前と同じプリンタコントローラ１６００にネットワークプリントサーバ１５００が装着された場合である。
【００５８】
従って、デバイスＩＤが一致した場合は、ネットワークプリントサーバ１５００は、鍵の更新を行わないと判断し（ステップＳ５０７）、ステップＳ５１０に進む。すなわち、秘密情報の作成、更新は行わない。
【００５９】
一方、デバイスＩＤが不一致であった場合は、ネットワークプリントサーバ１５００は、秘密情報作成部１５０８を使って、秘密情報（“秘密鍵”と“公開鍵”）を自動的に新たに作成し、これらを秘密情報格納部１５０７に格納する（ステップＳ５０８）。この時、秘密情報作成部１５０８によって作成した秘密情報を秘密情報格納部１５０７に格納されていた既存の秘密情報に上書きして格納して、秘密情報を更新する。
【００６０】
ここで、秘密情報（“秘密鍵”と“公開鍵”）を作成する時のシード（種）となる情報としては、前述のプリンタコントローラ１６００から転送されてくるデバイスＩＤを使っても良い。もしくは、時刻情報をプリンタコントローラ１６００から取得し、その時刻情報が不正な値（２１００年等の未来の年、あるいは２００６年より前の年を示す値である等）では無いと判断した場合にその時刻情報を使ってもよい。シードとして何を採用したとしても、本発明の作用効果に変わりは無い。
【００６１】
次に、ネットワークプリントサーバ１５００は、ステップＳ５０８で作成した秘密情報のうち“公開鍵”を、ＬＡＮ２０００に接続されているサーバコンピュータ１７００（図３参照）に転送する（ステップＳ５０９）。ここで、公開鍵の実際の転送及びサーバコンピュータ１７００での格納の処理は、後述する図５のステップＳ５２１〜Ｓ５２４でなされる。すなわち、ステップＳ５０９の処理において、図５の処理がステップＳ５２１から開始される。
【００６２】
次に、ステップＳ５１０では、ネットワークプリントサーバ１５００は、ＤｅｖｉｃｅＩＤ一時保存部１５０９に格納されているデバイスＩＤを、ＤｅｖｉｃｅＩＤ格納部１５１０に格納する。従って、現時点でＤｅｖｉｃｅＩＤ格納部１５１０に格納されている値が、現在装着しているプリンタコントローラ１６００から得たデバイスＩＤに更新されることになる。なお、このようなＤｅｖｉｃｅＩＤ格納部１５１０内のデバイスＩＤの更新処理を行う時期は、この時期に限定されるものではない。すなわち、両デバイスＩＤの比較処理が済んだ後であって且つ、現在装着しているプリンタコントローラ１６００から当該ネットワークプリントサーバ１５００が取り外される前であれば、どのタイミングで行うようにしてもよい。
【００６３】
次に、ネットワークプリントサーバ１５００は、前記ステップＳ５０８で作成した秘密情報のうち“秘密鍵”を、プリンタコントローラ１６００に転送する（ステップＳ５１１）。プリンタコントローラ１６００は、ネットワークプリントサーバ１５００から転送された“秘密鍵”を、秘密情報格納部１６０６に格納する（ステップＳ５１２）。なお、“秘密鍵”の転送は、プリンタコントローラ１６００からの“秘密鍵”の取得要求があってから行うようにしても良い（後述する図５のステップＳ５２９、Ｓ５３０）。
【００６４】
ここで説明している、“秘密鍵”をネットワークプリントサーバ１５００から取り出してプリンタコントローラ１６００に転送する行為は、一見、セキュリティ上問題がある様に思われる。しかし、本発明のプリンタコントローラ１６００とネットワークプリントサーバ１５００は、前述した専用の拡張インターフェイス１７を使って接続されている。従って、悪意のある第３者が拡張インターフェイス１７を解析して同じＩ／Ｆを作り出さない限り“秘密鍵”が盗みだされる事は無い。従ってセキュリティ上の問題となる可能性は低いと考えられる。
【００６５】
次に、図５のフローチャートを用いて、“公開鍵”がサーバコンピュータ１７００に渡される過程や、クライアントコンピュータ１８００が、その“公開鍵”を使って暗号化した印刷データをプリンタ１０００に転送して印刷をさせるまでの流れを説明する。
【００６６】
まず、ステップＳ５２１では、ネットワークプリントサーバ１５００は、秘密情報格納部１５０７に格納した“公開鍵”のコピーをサーバコンピュータ１７００に転送するに先立って、サーバコンピュータ１７００の認証を行う。すなわち、サーバコンピュータ１７００が信頼できる（自分の意図している）サーバコンピュータであるかどうかを確認する。そのために、まず、ネットワークプリントサーバ１５００は図示しないサーバ証明書をサーバコンピュータ１７００から取得する。そして、取得したサーバ証明書を使ってサーバコンピュータ１７００が信頼できるかどうかを確認する（ステップＳ５２２）。そして、信頼できない場合は本処理を終了する。
【００６７】
一方、サーバコンピュータ１７００が信頼できると判断した場合は、ネットワークプリントサーバ１５００は、秘密情報格納部１５０７に格納してある“公開鍵”のコピーをサーバコンピュータ１７００に転送する（ステップＳ５２３）。“公開鍵”のコピーを受信したサーバコンピュータ１７００は、図示しない不揮発性の記憶装置にこの“公開鍵”を格納する（ステップＳ５２４）。
【００６８】
ところで、クライアントコンピュータ１８００がセキュアな印刷を行う為（印刷データをプリンタ１０００に安全に転送する為）には、印刷データを暗号化するための“公開鍵”が必要である。“公開鍵”はネットワークプリントサーバ１５００によって作成されてサーバコンピュータ１７００に転送されているので、クライアントコンピュータ１８００は、サーバコンピュータ１７００から“公開鍵”を取得する必要がある。
【００６９】
クライアントコンピュータ１８００がセキュアな印刷を行う際に、図５の処理がステップＳ５２５から開始される。まず、クライアントコンピュータ１８００は、サーバコンピュータ１７００に認証要求を転送して、自分の認証をサーバコンピュータ１７００に行ってもらう（ステップＳ５２５）。サーバコンピュータ１７００はその認証要求に従ってクライアントコンピュータ１８００を認証し、認証がＯＫであるかを判断する（ステップＳ５２６）。認証がＯＫでなければ本処理は終了する。 認証がＯＫの場合には、クライアントコンピュータ１８００は“公開鍵”をサーバコンピュータ１７００から取得する（ステップＳ５２６、Ｓ５２７）。
【００７０】
クライアントコンピュータ１８００は、ステップＳ５２７で“公開鍵”を取得できた場合は、それを使って、これから印刷させたい印刷データを暗号化する（ステップＳ５２８）。そして、該暗号化した印刷データを、プリンタ１０００に転送する（ステップＳ５２９）。暗号化された印刷データは、ネットワークプリントサーバ１５００を経由してプリンタコントローラ１６００に届く。
【００７１】
プリンタコントローラ１６００は、暗号化された印刷データをクライアントコンピュータ１８００から受け取ると、ネットワークプリントサーバ１５００から、“秘密鍵”を取得し、秘密情報格納部１６０６に格納する（ステップＳ５３０）。この“秘密鍵”は、図４のステップＳ５０８でネットワークプリントサーバ１５００が作成したものである。次に、プリンタ１０００（プリンタコントローラ１６００）は、格納した“秘密鍵”を使用し、上記暗号化された印刷データを復号化し、復号化後の印刷データに基づいて印刷を実行する（ステップＳ５３１）。
【００７２】
なお、“秘密鍵”を作成後直ちにプリンタコントローラ１６００に転送する処理（ステップＳ５１１、Ｓ５１２）を廃止し、前記ステップＳ５３０の処理でのみ転送がなされるようにしてもよい。すなわち、クライアントコンピュータ１８００からの印刷要求があってから、“秘密鍵”の転送がなされるようにしてもよい。
【００７３】
本実施の形態によれば、ネットワークプリントサーバ１５００は、プリンタコントローラ１６００に装着された状態で、秘密情報を作成し、秘密情報格納部１５０７に格納することで、秘密情報を更新する。秘密情報の作成・更新は、ネットワークプリントサーバ１５００がプリンタコントローラ１６００に装着される毎に行われる。これにより、プリンタコントローラ１６００は、秘密情報を、ネットワークプリントサーバ１５００が装着された状態でのみ参照（取得）できる。しかも、秘密情報は、実質的に、ネットワークプリントサーバ１５００が装着されたプリンタコントローラ１６００固有のものとなる。すなわち、秘密情報は、ネットワークプリントサーバ１５００が接続（装着）されるプリンタコントローラ１６００毎に自動的に切り替わることになる。
【００７４】
仮に、ネットワークプリントサーバ１５００を他のプリンタコントローラ１６００に装着し直した場合、ネットワークプリントサーバ１５００を外された元のプリンタコントローラ１６００側でも古い秘密情報が残ることになる。しかし、当該元のプリンタコントローラ１６００は、この古い秘密情報を用いたとしても、暗号化されたデータの印刷等はできない。従って、転送路におけるクライアントコンピュータがプリンタコントローラ１６００に送信する暗号化されたデータの安全性が高まる。また、誤操作による情報（＝暗号化されたデータ）の漏洩等が起こる確率も低くなる。従って、実質的に、秘密情報の漏洩の軽減となる。
【００７５】
よって、ネットワークプリントサーバ１５００がプリンタコントローラ１６００に装着される毎に、秘密情報を更新して、秘密情報の漏洩や不正使用を軽減することができる。
【００７６】
本実施の形態によればまた、ネットワークプリントサーバ１５００は、ＤｅｖｉｃｅＩＤ一時保存部１５０９に格納したデバイスＩＤとＤｅｖｉｃｅＩＤ格納部１５１０に既に保存されているデバイスＩＤの両デバイスＩＤの一致／不一致を判別する。そして、両デバイスＩＤが不一致である場合にだけ、秘密情報を新たに作成する。これにより、前回にネットワークプリントサーバ１５００が装着されたプリンタコントローラ１６００に残存している古い秘密情報を用いた処理の実現を不能にすることができる。それだけでなく、装着するデバイスが変わったか否かを判断して、必要な場合にだけ秘密情報を更新することができ、無駄な処理を省くことができる。
【００７７】
（第２の実施の形態）
第１の実施の形態では、ＤｅｖｉｃｅＩＤ一時保存部１５０９に格納したデバイスＩＤとＤｅｖｉｃｅＩＤ格納部１５１０に既に保存されているデバイスＩＤとが一致している場合は、秘密情報の作成は行われなかった（図４のステップＳ５０７）。
【００７８】
これに対して、本発明の第２の実施の形態では、両デバイスＩＤが一致した場合であっても、プリンタコントローラ１６００から要求があれば、秘密情報の作成を行うようにする。
【００７９】
図６は、本実施の形態における、秘密情報の更新に関連する処理のフローチャートの一部を示す図である。本実施の形態においては、図４の処理に、ステップＳ６０１の処理を追加する。
【００８０】
すなわち、ステップＳ５０６において、上記両デバイスＩＤが一致した場合は、ネットワークプリントサーバ１５００は、自身が装着されているプリンタコントローラ１６００から、秘密情報の作成要求があるか否かを判別する（ステップＳ６０１）。その判別の結果、秘密情報の作成要求がない場合は、前記ステップＳ５０７に進む。一方、秘密情報の作成要求があった場合は、前記ステップＳ５０８に進んで、秘密情報（“秘密鍵”と“公開鍵”）の自動作成、及び自動作成した秘密情報を秘密情報格納部１５０７に格納する処理を実行する。
【００８１】
ここで、秘密情報の作成要求は、プリンタコントローラ１６００において、ユーザの指示により発行される。あるいは、クライアントコンピュータ１８００からの印刷要求があった度に発行されるようにしてもよい。
【００８２】
本実施の形態によれば、第１の実施の形態の効果に加えて、最新の秘密情報にて処理を行え、安全性を高めることができる。
【００８３】
なお、上記各実施の形態では、ネットワークプリントサーバ１５００はプリンタ１０００と拡張インターフェイス１７によって接続されていた。しかし、これに限られない。すなわち、マルチファンクションプリンタ（通称「ＭＦＰ」）と呼ばれるコピーやファクシミリの機能が同時に搭載された複合機で、ネットワークプリントサーバ１５００等の拡張カードが拡張インターフェイス１７に接続される形態であってもよい。この場合であっても、本発明を適用でき、同様の効果を奏する。
【００８４】
また、上記各実施の形態では、デバイスとしてプリンタコントローラ１６００を例示し、所定機能として印刷機能処理を例示したが、これらに限るものではない。例えば、コピー、ファクシミリ、ファイル変換、画面表示等、各種の機能を有するデバイス及びその機能処理に本発明を適用可能である。
【００８５】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【００８６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８７】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００８８】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８９】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【００９０】
【図１】本発明の第１の実施の形態に係る情報処理装置を含むプリンタのハードウェア構成を説明するブロック図である。
【図２】本実施の形態におけるプリンタの機能ブロックを示すブロック図である。
【図３】本実施の形態における情報処理システムの全体構成を示す図である。
【図４】秘密情報の更新に関連する処理のフローチャートである。
【図５】印刷実行に関連する処理のフローチャートである。
【図６】本実施の形態における、秘密情報の更新に関連する処理のフローチャートの一部を示す図である。
【符号の説明】
【００９１】
１  ＣＰＵ（秘密情報更新手段、識別情報取得手段、判定手段、秘密情報転送手段）
８  ＣＰＵ（秘密情報取得手段、処理手段）
１５００  ネットワークプリントサーバ（情報処理装置）
１５０７  秘密情報格納部（格納部、格納手段）
１５０８  秘密情報作成部（秘密情報作成手段）
１５１０  ＤｅｖｉｃｅＩＤ格納部（記憶手段）
１６００  プリンタコントローラ（デバイス）
１６０７  ＤｅｖｉｃｅＩＤ（識別情報）
【図１】
2008153892.tif 000003
【図２】
2008153892.tif 000004
【図３】
2008153892.tif 000005
【図４】
2008153892.tif 000006
【図５】
2008153892.tif 000007
【図６】
2008153892.tif 000008