(57)【特許請求の範囲】
【請求項１】
プリンタと印刷指示装置を有するプリントシステムであって、
秘密鍵を含み暗号化されたユーザ証明書を作成する証明書作成手段と、この証明書作成手段によって作成された前記ユーザ証明書を前記印刷指示装置へ送信する出力手段と、入力された識別情報及びパスワードをプリンタ側で予め記憶している情報に基づいて認証を行う認証手段と、前記印刷指示装置より暗号化された印刷データの受信後であって前記認証手段による前記認証が行われる前に前記暗号化された印刷データを復号化する復号手段とを有するプリンタと、
作成された前記ユーザ証明書をネットワークケーブルで接続されたプリンタから直接受信したことを認識するかまたは作成された前記ユーザ証明書を保存した補助記憶装置の接続を認識する認識手段と、印刷データをプリンタへ送信する場合に当該印刷データを共通鍵で暗号化する暗号化手段と、暗号化された前記印刷データ、前記共通鍵、及び前記ユーザ証明書より作成された電子署名をパッケージするパッケージ手段と、このパッケージ手段によってパッケージされた前記印刷データ、前記共通鍵、及び前記電子署名をプリンタへ送信するパッケージ送信手段とを有する前記印刷指示装置と、
を備えるプリントシステム。
【請求項２】
入力された識別情報及びパスワードが予め記憶している情報に基づいて適切かを判断する、第１のユーザログイン手段と、
前記認識手段によって前記ユーザ証明書の受信または前記補助記憶装置の接続を認識した場合に、識別情報とパスワードの入力を要求する第２のユーザログイン手段と、
この第２のユーザログイン手段によって前記識別情報及び前記パスワードが入力された場合に前記ユーザ証明書を保存する保存手段と、をさらに有し、
前記証明書作成手段は、前記第１のユーザログイン手段によって前記識別情報及び前記パスワードが適切である場合に、前記証明書作成手段による秘密鍵を含み暗号化されたユーザ証明書を作成する請求項１記載のプリントシステム。
【請求項３】
前記証明書作成手段は、デバイス証明書の公開鍵を作成し、
前記出力手段は、前記証明書作成手段によって作成された前記ユーザ証明書及び前記公開鍵を前記印刷指示装置へ送信し、
前記暗号化手段は、前記共通鍵を前記公開鍵により暗号化し、
前記パッケージ手段は、前記共通鍵で暗号化された前記印刷データ、前記公開鍵より暗号化された前記共通鍵、及び前記ユーザ証明書より作成された電子署名をパッケージし、
前記パッケージ送信手段は、前記パッケージ手段によってパッケージされた前記印刷データ、前記共通鍵、及び前記電子署名をプリンタへ送信する請求項１又は２記載のプリントシステム。
【請求項４】
プリンタに、
秘密鍵を含み暗号化されたユーザ証明書を作成する証明書作成機能と、
この証明書作成機能によって作成された前記ユーザ証明書を印刷指示装置へ送信する出力機能と、
入力された識別情報及びパスワードをプリンタ側で予め記憶している情報に基づいて認証を行う認証機能と、
暗号化された印刷データの受信後であって前記認証機能による前記認証が行われる前に前記暗号化された印刷データを復号化する復号機能と、
印刷指示装置に、
作成された前記ユーザ証明書をネットワークケーブルで接続されたプリンタから直接受信したことを認識するかまたは作成された前記ユーザ証明書を保存した補助記憶装置の接続を認識する認識機能と、
印刷データをプリンタへ送信する場合に当該印刷データを共通鍵で暗号化する暗号化機能と、
暗号化された前記印刷データ、前記共通鍵、及び前記ユーザ証明書より作成された電子署名をパッケージするパッケージ機能と、
このパッケージ機能によってパッケージされた前記印刷データ、前記共通鍵、及び前記電子署名をプリンタへ送信するパッケージ送信機能と
を実現させるためのプリントシステムに用いられるプログラム。
【請求項５】
入力された識別情報及びパスワードが予め記憶している情報に基づいて適切かを判断する、第１のユーザログイン機能と、
前記認識機能によって前記ユーザ証明書の受信または前記補助記憶装置の接続を認識した場合に、識別情報とパスワードの入力を要求する第２のユーザログイン機能と、
この第２のユーザログイン機能によって前記識別情報及び前記パスワードが入力された場合に前記ユーザ証明書を保存する保存機能と、
前記証明書作成機能は、前記第１のユーザログイン機能によって前記識別情報及び前記パスワードが適切である場合に、前記証明書作成機能による秘密鍵を含み暗号化されたユーザ証明書を作成することを実現させるための請求項４記載のプリントシステムに用いられるプログラム。
【請求項６】
前記証明書作成機能は、デバイス証明書の公開鍵を作成し、
前記出力機能は、前記証明書作成機能によって作成された前記ユーザ証明書及び前記公開鍵を前記印刷指示装置へ送信し、
前記暗号化機能は、前記共通鍵を前記公開鍵により暗号化し、
前記パッケージ機能は、前記共通鍵で暗号化された前記印刷データ、前記公開鍵より暗号化された前記共通鍵、及び前記ユーザ証明書より作成された電子署名をパッケージし、
前記パッケージ送信機能は、前記パッケージ手段によってパッケージされた前記印刷データ、前記共通鍵、及び前記電子署名をプリンタへ送信することを実現させるための請求項４又は５記載のプリントシステムに用いられるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プリントシステム、プリンタ、印刷指示装置及びプリントシステムに用いられるプログラムに関する。
【背景技術】
【０００２】
プリンタで印刷データの秘密を保ったまま安全に出力する場合には、ＬＤＡＰサーバ（Lightweight Directory Access Protocol Server）に事前登録をしている。ユーザによって印刷する際には、クライアントＰＣは、ＬＤＡＰサーバよりプリンタの公開鍵を取得する。クライアントＰＣは取得した公開鍵を使用して印刷データを暗号化し、さらに、事前に作成している秘密鍵を使用してプリントデータにデジタル署名を付加する。クライアントＰＣは暗号化されデジタル署名されたプリントデータをプリンタに送信する。プリンタは、暗号化されたプリントデータを受け取ると、プリンタ内部の所定の保存領域に一時的に保存する。プリンタは、ユーザによってパスワードなどでログイン処理を認識できた場合に、ＬＤＡＰサーバからユーザログインしたユーザの公開鍵を取得する。また、プリンタは、ＬＤＡＰサーバから取得した公開鍵を使用して、デジタル署名を復号化して、署名検証を行う。プリンタは、署名検証が適正であったと判断したならば、クライアントＰＣから送信された暗号化されたプリントデータに対して、プリンタの秘密鍵を使用してプリントデータの復号化をする。プリンタは、復号化されたプリントデータを出力する。
【０００３】
しかしながら、公開鍵をプリンタやクライアントＰＣなどから取り出してＬＤＡＰサーバに登録しなければならない問題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３３４８０公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施形態が解決しようとする課題は、公開鍵をプリンタやクライアントＰＣなどから取り出してＬＤＡＰサーバに登録することなく、秘密を保ったまま安全に出力することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明におけるプリントシステムは、秘密鍵を含み暗号化されたユーザ証明書を作成する証明書作成手段と、この証明書作成手段によって作成された前記ユーザ証明書を前記印刷指示装置へ送信する出力手段と、入力された識別情報及びパスワードをプリンタ側で予め記憶している情報に基づいて認証を行う認証手段と、前記印刷指示装置より暗号化された印刷データの受信後であって前記認証手段による前記認証が行われる前に前記暗号化された印刷データを復号化する復号手段とを有するプリンタと、作成された前記ユーザ証明書をネットワークケーブルで接続されたプリンタから直接受信したことを認識するかまたは作成された前記ユーザ証明書を保存した補助記憶装置の接続を認識する認識手段と、印刷データをプリンタへ送信する場合に当該印刷データを共通鍵で暗号化する暗号化手段と、暗号化された前記印刷データ、前記共通鍵、及び前記ユーザ証明書より作成された電子署名をパッケージするパッケージ手段と、このパッケージ手段によってパッケージされた前記印刷データ、前記共通鍵、及び前記電子署名をプリンタへ送信するパッケージ送信手段とを有する前記印刷指示装置と、を備える
【図面の簡単な説明】
【０００７】
【図１】実施形態における、システム全体を示す構成図である。
【図２】実施形態における、クライアントＰＣのハードウエア構成を示すブロック図である。
【図３】実施形態における、プリンタのハードウエア構成を示すブロック図である。
【図４】第１の実施形態における、ネットワーク経由でユーザ証明書の登録に関するクライアントのＰＣのフローチャートである。
【図５】第１の実施形態における、ネットワーク経由でユーザ証明書の登録に関するプリンタのフローチャートである。
【図６】第１の実施形態における、プリント出力処理に関するクライアントＰＣのフローチャートである。
【図７】第１の実施形態における、プリント出力処理に関するプリンタのフローチャートである。
【図８】第２の実施形態における、ＵＳＢメモリを用いたユーザ証明書の登録に関するプリンタのフローチャートである。
【図９】第２の実施形態における、ＵＳＢメモリを用いたユーザ証明書の登録に関するクライアントのＰＣのフローチャートである。
【発明を実施するための形態】
【０００８】
（第１の実施形態）
以下に添付図面を参照して、第１の実施形態を説明する。
【０００９】
図１は、第１の実施形態における、システム全体を示す構成図である。複数のクライアントＰＣ（パーソナルコンピュータ）１と、一つのプリンタ２とが、ネットワークケーブル３によって接続している。なお、クライアントＰＣ１は、印刷指示装置でもある。ネットワークケーブル３はセキュアなパスになっている。
【００１０】
図２は、第１の実施形態における、クライアントＰＣのハードウエア構成を示すブロック図である。クライアントＰＣ１は、クライアントＰＣコントローラであるクライアントＰＣのＣＰＵ（中央制御装置）1１と、各種のプログラムなどを記憶しているＲＯＭ（リードオンリーメモリ）１２と、各種の可変データや画像データなどを一時的に記憶しているＲＡＭ（ランダムアクセスメモリ）１３と、ネットワークケーブル３を介して外部からのデータを入力したり外部へデータを出力したりする外部インターフェース（外部Ｉ／Ｆ）１４を有している。また、クライアントＰＣ１は、各種の情報を表示する表示器１５と表示器１５に接続している表示器制御回路１６と、各種データを入力する入力装置であるキーボード１７とキーボード１７に接続しているキーボード制御回路１８等を有している。さらにクライアントＰＣ１は、バス１９を有し、クライアントＰＣのＣＰＵ１１はバス１９を介してＲＯＭ１２，ＲＡＭ１３,外部Ｉ/Ｆ１４，表示器制御回路１６及びキーボード制御回路１８と接続している。以降クライアントＰＣのＣＰＵ１１をＣＰＵ１１と称する。
【００１１】
次に、第１の実施形態における、プリンタのハードウエア構成について、図３を用いて説明をする。プリンタ２は、プリンタコントローラであるプリンタＣＰＵ（中央制御装置）２１と、各種のプログラムなどを記憶しているＲＯＭ（リードオンリーメモリ）２２と、各種の可変データや画像データなどを一時的に記憶しているＲＡＭ（ランダムアクセスメモリ）２３と、ネットワークケーブル３を介して外部からのデータを入力したり外部へデータを出力したりする、外部インターフェース（外部Ｉ／Ｆ）２４を有している。また、プリンタ２は、プリントデータを出力するプリンタエンジン２５とプリンタエンジン２５に接続しているプリンタインターフェース（プリンタＩ/Ｆ）２６と、原稿などを読取るスキャナエンジン２７と、スキャナエンジン２７に接続しているスキャナインターフェース（スキャナＩ/Ｆ）２８を有している。プリンタエンジン２５及びスキャナエンジン２７は周知の技術であるので、その中身については説明を省略する。また、プリンタ２は、各種データを入力する入力装置であるキーユニット２９とキーユニット２９に接続しているキーユニット制御回路３０と、各種の情報を表示する表示器３１と表示器３１に接続している表示器制御回路３２等を有している。さらにプリンタ２は、バス３３を有し、プリンタのＣＰＵ２１はバス３３を介してＲＯＭ２２，ＲＡＭ２３,外部Ｉ/Ｆ２４，プリンタＩ/Ｆ２６, スキャナＩ/Ｆ２８，表示器制御回路３２及びキーボード制御回路３０と接続している。以降プリンタ２のＣＰＵ２１をＣＰＵ２１と称する。
【００１２】
次に図４乃至図７を用いて、本第１の実施形態の作用について説明をする。
【００１３】
最初にプリンタ２側で、ユーザの識別認証を行う。プリンタ２の識別認証方法は、プリンタ２のローカルな識別認証方法、ＬＤＡＰサーバなどの外部サーバを使用する識別認識方法で行ってもよく。また、デバイス証明書として、プリンタ２に外部認証局（外部ＣＡ）が作成した証明書を入力する方法や自己発行証明書を作成する方法などを用いてもよい。これらの公知の方法はいずれを用いてもよいので、詳細な説明およびフローチャートを省略する。一方、クライアントＰＣ１側では、秘密保ったまま安全にプリント出力する当該プリンタ２のプリンタドライバをインストールする必要がある。このインストールも周知の技術であるので、詳細な説明およびフローチャートを省略する。
【００１４】
図４を用いて、ネットワーク経由でユーザ証明書の登録に関するクライアントのＰＣのフローチャートを説明する。
【００１５】
ＣＰＵ１１は、表示器制御回路１６に、ユーザ認証をするために、ユーザＩＤ及びパスワードを入力させる案内表示を表示器１５にするように指示をする（作用１０１、以降Ａ１０１と省略する）。ＣＰＵ１１は、ユーザによってユーザＩＤ及びパスワードが入力されたことを確認すると、ユーザ識別処理を行うためにプリンタ２へ識別情報であるユーザＩＤ及びパスワードを送信する（Ａ１０３）。プリンタ２へはセキュアなパスを使って送信をする。具体的には、ケルベロス（Ｋｅｒｂｅｒｏｓ）やＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）などが相当する。
【００１６】
ＣＰＵ１１は、Ａ１０３の処理終了から所定時間後にユーザＩＤ及びパスワードを送信したプリンタ２から直接にデータが送られてきたか否かを判断する（Ａ１０５）。すなわちＣＰＵ１１は、作成されたユーザ証明書及び公開鍵をネットワーク３に接続されたプリンタ２から直接受信したことを認識したか否かを判断する。ＣＰＵ１１はプリンタ２からデータが送られてきていないと判断した場合（Ａ１０５のＮ）、さらに所定時間経過後、ユーザＩＤ及びパスワードを送信したプリンタ２からデータが送られてきたか否かを判断する。ＣＰＵ１１は、Ａ１０３の処理終了から所定時間後にユーザＩＤ及びパスワードを送信したプリンタ２からデータが送られてきたと判断した場合（Ａ１０５のＹ）、送られてきたデータが、秘密鍵を含んだユーザ証明書と公開鍵を含んだデバイス証明書かを判断する（Ａ１０７）。すなわちＣＰＵ１１は、ユーザ証明書とデバイス証明書の公開鍵をネットワークケーブルで接続されたプリンタから直接受信したことを認識したか否かを判断する。この判断は、認識手段でもある。ＣＰＵ１１は、プリンタ２から送られてきたデータが、秘密鍵を含んだユーザ証明書と公開鍵を含んだデバイス証明書であると判断できなければ（Ａ１０７のＮ）、すなわち、ユーザ認証が失敗したならば、Ａ１０１の処理に戻る。
【００１７】
ＣＰＵ１１は、プリンタ２から送られてきたデータが、秘密鍵を含んだユーザ証明書と公開鍵を含んだデバイス証明書であると判断できたならば（Ａ１０７のＹ）、表示器制御回路１６に、ユーザ認証をするために、ユーザＩＤ及びパスワードを入力させる案内表示を表示器１５にするように指示をする（Ａ１０９）。Ａ１０９は、第２のユーザログイン手段でもある。ＣＰＵ１１は、ユーザＩＤ及びパスワードが入力されたならば、そのユーザＩＤ及びパスワードが正確であるかを判断する（Ａ１１１）。ＣＰＵ１１は、ユーザＩＤ及びパスワードが正確でないと判断したならば（Ａ１１１のＮ）、表示器制御回路１６に、エラーメッセージを表示器１５に表示するように指示し（Ａ１１３）、Ａ１０９の処理に戻る。
【００１８】
ＣＰＵ１１は、ユーザＩＤ及びパスワードが正確であると判断したならば（Ａ１１１のＹ）、すなわちＡ１０３でプリンタにお送信したユーザＩＤ及びパスワードと同一であると判断したならば、プリンタ２から受信した秘密鍵を含むユーザ証明書を復号し、クライアントＰＣ１のＲＡＭ１３の所定の領域に保存をする（Ａ１１５）。また、ＣＰＵ１１は、プリンタ２から受信したデバイス証明書の公開鍵をクライアントＰＣ１のＲＡＭ１３の所定の領域に保存をする（Ａ１１７）。Ａ１１５及びＡ１１７は保存手段でもある。
【００１９】
次に図５を用いて、ネットワーク経由でユーザ証明書の登録に関するプリンタのフローチャートを説明する。
【００２０】
プリンタ２のＣＰＵ２１は、クライアントＰＣからユーザＩＤ及びパスワードが送信されてきたか否かを判断する（Ａ１２１）。ＣＰＵ２１は、クライアントＰＣからユーザＩＤ及びパスワードが送信されてきていないと判断したならば、所定時間経過後再びＡ１２１の処理を行う。ＣＰＵ２１は、クライアントＰＣからユーザＩＤ及びパスワードが送信されてきていると判断をしたならば（Ａ１２１のＹ）、ユーザＩＤ及びパスワードが正確であるか否かを判断する（Ａ１２３）。すなわち、ＣＰＵ２１は、外部認証局が作成した証明書が入力されて保存されているデータや自己発行証明書が作成されて保存しているデータに基づいて、ユーザＩＤ及びパスワードが正確であるかを判断する。Ａ１２３は、第１のユーザログイン手段でもある。
【００２１】
ＣＰＵ２１は、クライアントＰＣ１から送られてきたユーザＩＤ及びパスワードが正確でないと判断したならば（Ａ１２３のＮ）、クライアントＰＣ１へ認証失敗の旨を送信し（Ａ１２５）、処理を終了する。
【００２２】
ＣＰＵ２１は、クライアントＰＣ１から送られてきたユーザＩＤ及びパスワードが正確であると判断したならば（Ａ１２３のＹ）、クライアントＰＣ１から送られてきたユーザＩＤとパスワードを利用して、ＰＦＸ（Ｐｅｒｓｏｎａｌ  ｉｎＦｏｒｍａｔｉｏｎ ｅＸｃｈａｎｇｅ）フォーマットのユーザ証明書を作成する（Ａ１２７）。ユーザ証明書は、ＰＦＸフォーマットのため、暗号化されているとともに、秘密鍵を含んでいる。ＣＰＵ２１は、Ａ１２７においてデバイス証明書の公開鍵も作成する。Ａ１２７は、証明書作成手段でもある。ＣＰＵ２１は、秘密鍵を含んだユーザ証明書とデバイス証明書の公開鍵を外部Ｉ／Ｆ１４を介してクライアントＰＣ１へ送信する（Ａ１２９）。Ａ１２９は、出力手段でもある。
【００２３】
次に、クライアントＰＣ１からプリンタ２へプリント出力処理に関する作用を図６及び図７を用いて説明する。図６は、プリント出力処理に関するクライアントＰＣのフローチャートである。
【００２４】
ＣＰＵ１１は、ユーザによってプリンタドライバが起動して印刷指示が発せられると、印刷データを作成する（Ａ２０１）。ＣＰＵ１１は、ワンタイム共通鍵を使用して印刷データを暗号化する（Ａ２０３）。ＣＰＵ１１は、ユーザ証明書の秘密鍵を使用してデジタル署名を付加（作成）する（Ａ２０５）。Ａ２０３とＡ２０５の順番を入れ替えてもよい。ＣＰＵ１１は、デバイス証明書の公開鍵を使用してワンタイム共通鍵を暗号化する（Ａ２０７）。ＣＰＵ１１は、暗号化された印刷データと秘密鍵で作成されたデジタル署名と公開鍵で暗号化されたワンタイム共通鍵をパッケージする（Ａ２０９）。Ａ２０９は、パッケージ手段でもある。Ａ２０３において暗号化された印刷データと、Ａ２０５において作成されたデジタル署名と、Ａ２０７において暗号化された共通鍵及びＡ２０９においてパッケージされたデータは、ＲＡＭ１３のそれぞれ異なる所定の領域に保存されている。ＣＰＵ２１は、パッケージされたデータをプリンタ２へ送信する（Ａ２１１）。Ａ２１１は、パッケージ送信手段でもある。
【００２５】
次に図７を用いて、プリント出力処理に関するプリンタのフローチャートを説明する。
【００２６】
プリンタのＣＰＵ２１は、クライアントＰＣ１からデータを受信したか否かを判断するとともに受信したデータがパッケージ化されたデータであるか否かを判断する（Ａ２２１）。Ａ２２１は、パッケージ受信手段を含む。ＣＰＵ２１は、クライアントＰＣ１からパッケージ化されたデータが送信されてきていないと判断したならば（Ａ２２１のＮ）、所定時間経過後、再びＡ２２１の処理を実行する。ＣＰＵ２１は、クライアントＰＣ１からパッケージ化されたデータが送信されてきていると判断（認識）したならば（Ａ２２１のＹ）、ユーザ証明書の公開鍵を使用して、デジタル署名を検証する（Ａ２２３）。ＣＰＵ２１は、検証したデジタル署名が適正か否かを判断する（Ａ２２５）。
【００２７】
ＣＰＵ２１は、検証したデジタル署名が適正であると判断したならば（Ａ２２５のＹ）、デバイス証明書の秘密鍵を使用して、ワンタイム共通鍵を復号する（Ａ２２７）。次に、ＣＰＵ２１は、ワンタイム共通鍵を使用して、印刷データを復号する（Ａ２２９）。Ａ２２９は、印刷データ復号手段でもある。ＣＰＵ２１は、復号された印刷データが適切であるか否かを判断する（Ａ２３１）。ＣＰＵ２１は、復号された印刷データが適切であると判断したならば（Ａ２３１のＹ）、表示制御回路３２に、表示器３１へユーザＩＤ及びパスワードを入力させる案内表示をさせる指示を出す（Ａ２３３）。この時のユーザＩＤ及びパスワードは、プリンタ２からユーザ証明書とデバイス証明書の公開鍵を受け取った際に入力したユーザＩＤとパスワードと同一である。ＣＰＵ２１は、ユーザによってキーユニット２９からユーザＩＤ及びパスワードが入力されたと判断したならば、そのユーザＩＤ及びパスワードが適切か否かを判断する（Ａ２３５）。ＣＰＵ２１は、ユーザＩＤ及びパスワードが適切でないと判断したならば（Ａ２３５のＮ）、エラーメッセージを表示器３１に出力するように、表示器制御回路３２に指示する（Ａ２３７）。また、ＣＰＵ２１は、Ａ２３３の処理に戻って、表示制御回路３２に、表示器３１へユーザＩＤ及びパスワードを入力させる案内表示をさせる指示を出す。ＣＰＵ２１は、ユーザＩＤ及びパスワードが適切であると判断したならば（Ａ２３５のＹ）、復号化された印刷データをプリンタエンジン２５でプリンタＩ/Ｆ２６を介して出力をする（Ａ２３９）。
【００２８】
ＣＰＵ２１は、検証したデジタル署名が適正でないと判断したならば（Ａ２２５のＮ）、クライアントＰＣ１から受けた印刷データを破棄（Ａ２４１）して、この処理を終了する。また、ＣＰＵ２１は、Ａ２３１において、復号された印刷データが適切でないと判断したならば（Ａ２３１のＮ）、クライアントＰＣ１から受けた印刷データを破棄（Ａ２４１）して、この処理を終了する。データを破棄する処理の際に、処理が適切でなかったに値を表示器３１に表示させるようにしてもよい。
【００２９】
（第２の実施形態）
次に第２の実施形態について説明をする。第１の実施形態では、ユーザ証明書とデバイス証明書の公開鍵はネットワークケーブル３を介して、プリンタからクライアントＰＣへ送信されていたが、第２の実施形態ではプリンタ２で作成されたユーザ証明書とデバイス証明書の公開鍵を一旦ＵＳＢメモリに保存し、ＵＳＢメモリからクライアントＰＣ１へユーザ証明書とデバイス証明書の公開鍵を保存する。その他の作用については同様であるため、システム全体の構成図及び各ハードウエアのブロック図は第１の実施形態と共通部分は説明を省略する。図２、３において、クライアントＰＣ１の外部Ｉ/Ｆ１４及びプリンタの外部Ｉ/Ｆ２４は、ネットワークケーブル３に接続されているＩ/Ｆのほかに、補助記憶装置であるＵＳＢメモリを接続するＩ/Ｆも含んでいる点が、第１の実施形態と異なる。
【００３０】
次に第２の実施形態の作用について図８及び図９を用いて説明をする。図８はＵＳＢメモリを用いたユーザ証明書の登録に関するプリンタ２のフローチャートである。図９はＵＳＢメモリを用いたユーザ証明書の登録に関するクライアントＰＣ１のフローチャートである。
【００３１】
ＣＰＵ２１は、ユーザ証明書の登録に関するアプリケーションが起動されると図８のフローチャートを起動する。ＣＰＵ２１は、表示器制御回路３２に、ユーザ認証をするために、ユーザＩＤ及びパスワードを入力させる案内表示を表示器３１にするように指示をする（Ａ１５１）。Ａ１５１は第１のユーザログイン手段でもある。ＣＰＵ２１は、ユーザＩＤ及びパスワードが入力されたか否かを判断する（Ａ１５３）。ＣＰＵ２１は、ユーザＩＤ及びパスワードが入力されていないと判断したならば（Ａ１５３のＮ）、所定時間後に再びＡ１５１の処理を行う。ＣＰＵ２１は、ユーザＩＤ及びパスワードが入力されたと判断したならば（Ａ１５３のＹ）、入力されたユーザＩＤ及びパスワードが適切か否かを判断する（Ａ１５５）。ＣＰＵ２１は、ユーザＩＤ及びパスワードが正確でないと判断したならば（Ａ１５５のＮ）、表示器制御回路３２に、エラーメッセージを表示器３１に表示するように指示する（Ａ１５７）。その後、ＣＰＵ２１は、Ａ１５１の処理に戻る。
【００３２】
ＣＰＵ２１は、ユーザＩＤ及びパスワードが正確であると判断したならば（Ａ１５５のＹ）、ユーザ証明書を作成するとともにデバイス証明書の公開鍵も作成する（Ａ１５９）。Ａ１５９は証明書作成手段でもある。ＣＰＵ２１は、秘密鍵を含んだユーザ証明書とデバイス証明書の公開鍵をクライアントＰＣ１へ送信する（Ａ１６１）。次に、ＣＰＵ２１は、外部Ｉ/Ｆ２４に接続されている図示しないＵＳＢメモリの所定の領域に秘密鍵を含むユーザ証明書とデバイス証明書の公開鍵を保存する（Ａ１６３）。また、ＣＰＵ２１は、ユーザ証明書の公開鍵をプリンタ２のＲＡＭ２３の所定の領域に保存する（Ａ１６５）。
【００３３】
次に、図９を用いてクライアントＰＣの制御を説明する。ＣＰＵ１１は、外部Ｉ/Ｆ１４にＵＳＢメモリが接続されたか否かを判断する（Ａ１７１）。すなわちＣＰＵ１１は、作成されたユーザ証明書及び公開鍵を保存したＵＳＢメモリの接続を認識したか否かを判断する。ＣＰＵ１１は、外部Ｉ/Ｆ１４にＵＳＢメモリが接続されていないと判断したならば（Ａ１７１のＮ）、所定時間経過後に再度外部Ｉ/Ｆ１４にＵＳＢメモリが接続されたか否かを判断する。ＣＰＵ１１は、外部Ｉ/Ｆ１４にＵＳＢメモリが接続されていると判断したならば（Ａ１７１のＹ）、表示器制御回路１６に、ユーザ認証をするために、ユーザＩＤ及びパスワードを入力させる案内表示を表示器１５にするように指示をする（Ａ１７３）。
【００３４】
ＣＰＵ１１は、ユーザＩＤ及びパスワードが入力されたと判断したならば、入力されたユーザＩＤ及びパスワードが適切か否かを判断する（Ａ１７５）。ＣＰＣＰＵ１１は、ユーザＩＤ及びパスワードが正確でないと判断したならば（Ａ１７５のＮ）、表示器制御回路１６に、エラーメッセージを表示器３１に表示するように指示する（Ａ１７７）。その後、ＣＰＵ１１は、Ａ１７３の処理に戻る。
【００３５】
ＣＰＵ１１は、ユーザＩＤ及びパスワードが正確であると判断したならば（Ａ１７５のＹ）、暗号化されたユーザ証明書を復号するとともにＲＡＭ１３の所定領域に保存する（Ａ１７９）。また、ＣＰＵ１１は、デバイス証明書の公開鍵をＲＡＭ１３の所定の領域に保存をする（Ａ１８１）。
【００３６】
印刷実行に関するフローチャートは、図６及び７の制御と同一であるため、説明および図示を省略する。
【００３７】
第２の実施形態において、ＵＳＢメモリをもちいて説明をしたが、これには限定されず、ユーザ証明書とデバイス証明書の公開鍵を保存できる程度の容量があればどのような補助記憶装置（ストレージデバイス）であってもよい。したがってこの補助記憶装置にはサーバのような大容量のデバイスは該当しない。
【００３８】
なお、第１の実施形態及び第２の実施形態のＡ２２１においてパッケージされたデータが送られてきた場合に当該データはＲＡＭ２３の所定の領域に保存されるが、図３で図示しなかったハードディスクに保存をする形式をもちいてもよい。
また、本実施形態においてのプリンタはスキャナ機能も含めた複合機を前提にしているが、プリンタは印刷機能のみしか有しないものであってもよい。
【００３９】
本第１の実施形態及び第２の実施形態で明らかのように、作成されたユーザ証明書及び公開鍵をネットワークケーブルで接続されたプリンタから直接受信するか、または作成されたユーザ証明書及び前記公開鍵を保存した補助記憶装置の接続を認識することによって、クライアントＰＣのＣＰＵ１１が識別情報とパスワードの入力を要求している。
【００４０】
本第１の実施形態及び第２の実施形態において、セキュアな（安全な）印刷環境を構築するために、ネットワークケーブルで接続されたプリンタから直接または補助記憶装置を介して、秘密鍵を含むユーザ証明書とデバイス証明書の公開鍵をクライアントＰＣが受け取ることができるので、事前にＬＤＡＰサーバに登録する手間が省ける利点がある。またユーザによるユーザＩＤ及びパスワードの入力よりも前に電子署名が不適切か否かを判断するので、不適切なデータを大量に送り込まれても、直ちに削除し、ＲＡＭやハードディスク記憶容量オーバーになる脆弱性の対処もできる効果がある。また、共通鍵暗号を用いるため暗号復号が早くなり、カラー画像のような大容量の印刷データを受信しても、ユーザによる印刷指示から用紙出力前の時間が短縮できる効果がある。また、プリンタが印刷データの受信後直ちに復号処理を行い、出力形態のデータに変換された段階で保存しているので、ユーザによって入力されるパスワードなどによるプリント出力指示に応じて即座に出力する利点がある。
【００４１】
本実施形態ではクライアントＰＣ及びプリンタである装置内部に実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、ＣＤ−ＲＯＭ等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。
【００４２】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲は要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４３】
１    ・・・  クライアントＰＣ（印刷指示装置）
２    ・・・  プリンタ
１１  ・・・  クライアントＰＣのＣＰＵ
１４  ・・・  クライアントＰＣの外部Ｉ/Ｆ
２１  ・・・  プリンタのＣＰＵ
２４  ・・・  プリンタの外部Ｉ/Ｆ
Ａ１０７・・・認識手段
Ａ１０９・・・第２のユーザログイン手段
Ａ１１５・・・保存手段
Ａ１１７・・・保存手段
Ａ１２３・・・第１のユーザログイン手段
Ａ１２７・・・証明書作成手段
Ａ１２９・・・出力手段
Ａ１５５・・・第１のユーザログイン手段
Ａ１５９・・・証明書作成手段
Ａ１６１・・・出力手段
Ａ１７１・・・認識手段
Ａ１７５・・・第２のユーザログイン手段
Ａ１８１・・・保存手段
Ａ１８３・・・保存手段
Ａ２０９・・・パッケージ手段
Ａ２１１・・・パッケージ送信手段
Ａ２２１・・・パッケージ受信手段
Ａ２２９・・・印刷データ復号手段
【図１】
0005637976.tif 000002
【図２】
0005637976.tif 000003
【図３】
0005637976.tif 000004
【図４】
0005637976.tif 000005
【図５】
0005637976.tif 000006
【図６】
0005637976.tif 000007
【図７】
0005637976.tif 000008
【図８】
0005637976.tif 000009
【図９】
0005637976.tif 000010