(57)【特許請求の範囲】
【請求項１】
入力データを印刷出力可能な印刷ユニット、及び、ネットワークに接続され、ネットワーク内の装置と通信可能な第一通信インタフェース、を備える印刷装置と、
前記印刷装置と前記ネットワークを介して通信可能な第二通信インタフェース、及び、利用者が操作可能なユーザインタフェース、を備える情報処理装置と、
を備える通信システムであって、
前記印刷装置は、
本人性を証明するための電子証明書を、前記第一通信インタフェースを介して、前記情報処理装置に送信する証明書提供手段と、
前記証明書提供手段により送信される前記電子証明書に記された公開鍵に関する印刷画像データを生成し、この印刷画像データを印刷ユニットに印刷出力させる印刷制御手段と、
を備え、
前記情報処理装置は、
前記印刷装置により送信される前記電子証明書を、前記第二通信インタフェースが受信すると、この電子証明書に記された公開鍵に関する表示画像データを生成し、前記表示画像データを表示装置に表示出力させる表示制御手段と、
前記表示装置が前記表示画像データを表示出力したことを条件として、前記表示出力された表示画像データに対応する電子証明書について、前記ユーザインタフェースを介して利用者からインストールの指示がなされたことを検出する検出手段と、
前記検出手段が前記インストールの指示を検出したことを条件として、前記表示装置により表示出力された表示画像データに対応する電子証明書を、自装置にインストールするインストール手段と、を備え、
前記印刷制御手段は、前記公開鍵に関する印刷画像データとして、前記電子証明書に記された公開鍵を表す印刷画像データであって、公開鍵を構成するコードから不規則に選択した所定数のコードを、未選択のコードに対して判別可能に画像表現した印刷画像データを、生成する
ことを特徴とする通信システム。
【請求項２】
前記印刷画像データと前記表示画像データとは、前記公開鍵を構成するコードの配列が同じようにされている
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記印刷制御手段は、前記公開鍵に関する印刷画像データとして、前記電子証明書に記された公開鍵を表す印刷画像データであって、公開鍵を構成するコードを、複数のコード列に区分して表現した印刷画像データを、生成する
ことを特徴とする請求項１又は請求項２記載の通信システム。
【請求項４】
前記情報処理装置は、
当該情報処理装置に、原稿が表す情報を光学的に読取可能な読取ユニットが接続されているか否かを判定するユニット判定手段と、
前記ユニット判定手段にて前記読取ユニットが接続されていると判定された場合、前記読取ユニットを介して、前記印刷装置に印刷出力された前記公開鍵に関する印刷画像データの印刷出力結果物としての原稿から、公開鍵の情報を取得する情報取得手段と、
前記ユニット判定手段にて前記読取ユニットが接続されていると判定された場合、前記印刷装置により送信される前記電子証明書を、前記第二通信インタフェースが受信すると、受信した前記電子証明書に記された公開鍵と、前記情報取得手段が取得した公開鍵の情報とを、照合し、前記受信した電子証明書が示す公開鍵と、前記情報取得手段の取得情報が示す公開鍵との同一性を判定する判定手段と、を備え、
前記インストール手段は、前記ユニット判定手段にて前記読取ユニットが接続されていると判定された場合、前記判定手段により、前記受信した電子証明書が示す公開鍵と、前記情報取得手段の取得情報が示す公開鍵とが同一である判定されたことを条件として、前記第二通信インタフェースが受信した前記電子証明書を、自装置にインストールする一方、前記ユニット判定手段にて前記読取ユニットが接続されていないと判定された場合、前記検出手段が前記インストールの指示を検出したことを条件として、前記表示装置により表示出力された表示画像データに対応する電子証明書を、自装置にインストールする
ことを特徴とする請求項１から請求項３のいずれか記載の通信システム。
【請求項５】
入力データを印刷出力可能な印刷ユニット、及び、ネットワークに接続され、ネットワーク内の装置と通信可能な通信インタフェース、を備える印刷装置であって、
本人性を証明するための電子証明書を、前記通信インタフェースを介して、前記ネットワーク内に存在するインストール先の情報処理装置に送信する証明書提供手段と、
前記証明書提供手段により送信される前記電子証明書に記された公開鍵に関する印刷画像データを生成し、この印刷画像データを印刷ユニットに印刷出力させる印刷制御手段と、
を備え、
前記印刷制御手段は、前記公開鍵に関する印刷画像データとして、前記電子証明書に記された公開鍵を表す印刷画像データであって、公開鍵を構成するコードから不規則に選択した所定数のコードを、未選択のコードに対して判別可能に画像表現した印刷画像データを、生成する
ことを特徴とする印刷装置。
【請求項６】
前記印刷装置は、ネットワークを介して通信可能な第二通信インタフェース、及び、利用者が操作可能なユーザインタフェース、を備える情報処理装置と通信可能であり、
前記情報処理装置は、
前記印刷装置により送信される前記電子証明書を、前記第二通信インタフェースが受信すると、この電子証明書に記された公開鍵に関する表示画像データを生成し、前記表示画像データを表示装置に表示出力させる表示制御手段と、
前記表示装置が前記表示画像データを表示出力したことを条件として、前記表示出力された表示画像データに対応する電子証明書について、前記ユーザインタフェースを介して利用者からインストールの指示がなされたことを検出する検出手段と、
前記検出手段が前記インストールの指示を検出したことを条件として、前記表示装置により表示出力された表示画像データに対応する電子証明書を、自装置にインストールするインストール手段と、を備えており、
前記印刷画像データと前記表示画像データとは、前記公開鍵を構成するコードの配列が同じようにされている
ことを特徴とする請求項５に記載の印刷装置。
【請求項７】
前記印刷制御手段は、前記公開鍵に関する印刷画像データとして、前記電子証明書に記された公開鍵を表す印刷画像データであって、公開鍵を構成するコードを、複数のコード列に区分して表現した印刷画像データを、生成する
ことを特徴とする請求項５又は請求項６記載の印刷装置。
【請求項８】
入力データを印刷出力可能な印刷ユニット、及び、ネットワークに接続され、ネットワーク内の装置と通信可能な通信インタフェース、を備える印刷装置のコンピュータに、
本人性を証明するための電子証明書を、前記通信インタフェースを介して、前記ネットワーク内に存在するインストール先の情報処理装置に送信する証明書提供手段と、
前記証明書提供手段により送信される前記電子証明書に記された公開鍵に関する印刷画像データとして、前記電子証明書に記された公開鍵を表し、かつ、該公開鍵を構成するコードから不規則に選択した所定数のコードを未選択のコードに対して判別可能に画像表現した印刷画像データを生成し、この印刷画像データを印刷ユニットに印刷出力させる印刷制御手段と、
しての機能を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子証明書を用いた通信を行う通信システム、及び、この通信システムを構成する印刷装置、及び、この印刷装置に用いられるプログラムに関する。
【背景技術】
【０００２】
従来より、通信システムとしては、通信先から送信されてきた情報の正当性を、予め取得した信頼のおける情報に基づいて判断することで、セキュリティの高い通信を実現するものが知られている（例えば、特許文献１参照）。また、この種の通信システムとしては、電子証明書を用いてセキュリティの高い通信を実現するものが知られている。特に、近年普及している電子証明書を用いた通信技術としては、ＳＳＬ（Secure Socket Layer）通信技術が知られている。
【０００３】
ＳＳＬ通信を実現するに際しては、まず通信に先駆けて、秘密鍵及び公開鍵のペアを生成し、公開鍵についての電子証明書を認証局（ＣＡ：Certification Authority）に発行してもらう。そして、秘密鍵と、これに対応する公開鍵についての電子証明書と、をＳＳＬ通信の対象となるサーバ装置に組み込む。
【０００４】
このように、電子証明書及び秘密鍵がサーバ装置に組み込まれた状態で、クライアント装置からサーバ装置に、ＳＳＬハンドシェイクの初期信号が送信されてくると、サーバ装置は、クライアント装置に対して自己の電子証明書を送信する。
【０００５】
クライアント装置は、電子証明書をサーバ装置から受信すると、この電子証明書の正当性を、受信した電子証明書のディジタル署名とＣＡ証明書とに基づき判断する。この場合には、認証局の電子証明書であるＣＡ証明書を拠所として、サーバ装置から受信した電子証明書の正当性を判断する。そして、電子証明書が正当なものであると判断した場合には、サーバ装置から受信した電子証明書が示す公開鍵を用いて暗号通信を行い、サーバ装置と機密に情報のやり取りを行う。
【０００６】
ところで、セキュリティの高い通信を実現するには、認証局として、サーバ装置及びクライアント装置のいずれでもない第三者を設定するのが好ましいが、認証局として、第三者を設定すると費用等もかさむことから、小規模なネットワークにおいては、認証局とサーバ装置とを、単一装置にて実現する場合も多い。
【特許文献１】特開２００５−１４１３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、認証局とサーバ装置とを、単一装置にて実現する場合、ＣＡ証明書が自己署名型となるため、安全なルートで、ＣＡ証明書を、クライアント装置に渡さないと、正当性判断の拠所となるＣＡ証明書の正当性が保障されなくなってしまう。
【０００８】
即ち、電子証明書をインストール先の装置に提供する時点で、中間者攻撃等に会うと、以後継続的に、悪意のものが正当なサーバ装置になりすますことができて、通信の安全性が保障されなくなってしまう。
【０００９】
本発明は、こうした問題に鑑みなされたものであり、電子証明書を、ネットワーク経由でインストール先の装置に送信した場合でも、伝送過程で、電子証明書が不正に改ざんされて、この電子証明書がインストールされるのを防止し、送信した電子証明書と同一内容
の電子証明書を、確実に、インストール先装置に、インストールすることができるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
かかる目的を達成するためになされた第１の構成に係る発明は、入力データを印刷出力可能な印刷ユニット、及び、ネットワークに接続され、ネットワーク内の装置と通信可能な第一通信インタフェース、を備える印刷装置と、印刷装置とネットワークを介して通信可能な第二通信インタフェース、及び、利用者が操作可能なユーザインタフェース、を備える情報処理装置と、を備える通信システムであって、印刷装置及び情報処理装置が、次のように構成されたものである。
【００１１】
即ち、この通信システムにおいて、印刷装置は、本人性を証明するための電子証明書を、第一通信インタフェースを介して、情報処理装置に送信する証明書提供手段と、証明書提供手段により送信される電子証明書に記された公開鍵に関する印刷画像データを生成し、この印刷画像データを印刷ユニットに印刷出力させる印刷制御手段と、を備える。
【００１２】
また、情報処理装置は、印刷装置により送信される上記電子証明書を、第二通信インタフェースが受信すると、この電子証明書に記された公開鍵に関する表示画像データを生成し、この表示画像データを表示装置に表示出力させる表示制御手段と、表示装置がこの表示画像データを表示出力したことを条件として、この表示出力された表示画像データに対応する電子証明書について、ユーザインタフェースを介して利用者からインストールの指示がなされたことを検出する検出手段と、検出手段がインストールの指示を検出したことを条件として、表示装置により表示出力された上記表示画像データに対応する電子証明書を、自装置にインストールするインストール手段と、を備える。
【００１３】
このように、本発明の通信システムでは、本人性を証明するための電子証明書を、印刷装置がネットワーク経由で情報処理装置に送信するが、一方で、印刷装置は、この電子証明書が示す公開鍵に関する情報を印刷出力する。また、情報処理装置は、受信した電子証明書が示す公開鍵に関する情報を表示出力する。
【００１４】
このため、ユーザは、自己所有の情報処理装置に、印刷装置の電子証明書をインストールする際、送信された電子証明書が示す公開鍵に関する印刷出力結果と、受信した電子証明書が示す公開鍵に関する表示出力結果と、を照合することにより、送信された電子証明書と、受信した電子証明書との同一性を確認することができる。
【００１５】
従って、この発明によれば、印刷装置との暗号通信の際に、正当性判断の拠所となる印刷装置の電子証明書を、送信時と同一内容で、確実に、上記情報処理装置にインストールすることができる。よって、電子証明書を、ネットワーク経由でインストール先の情報処理装置に送信した場合でも、伝送過程で、電子証明書が不正に改ざんされて、この電子証明書がインストールされるのを防止することができる。
【００１６】
尚、本発明の手法は、基本的に、電子証明書が有する公開鍵の同一性についてを確認するものであるが、公開鍵が改ざんされていなければ、公開鍵で暗号したデータが、悪意の者により解読されることはなく、電子証明書の同一性確認について、その範囲を公開鍵に絞っても、セキュリティの面では、何ら問題は、ない。
【００１７】
また、電子証明書は、情報処理装置が印刷装置との通信に用いるもので、さらに、ここでいう公開鍵に関する印刷画像データ及び公開鍵に関する表示画像データとは、公開鍵を表すデータ、又は、公開鍵を基に所定のアルゴリズムで作成された情報を内容とするデータをいう。
【００１８】
また、第２の構成に係る通信システムは、印刷制御手段が、公開鍵に関する印刷画像データとして、公開鍵のハッシュ値を表す印刷画像データを生成し、表示制御手段が、公開鍵に関する表示画像データとして、受信した電子証明書に記された公開鍵のハッシュ値を表す表示画像データを生成する構成にされたものである。
【００１９】
このように構成された通信システムによれば、ユーザは、印刷された公開鍵のハッシュ値と、表示された公開鍵のハッシュ値と、を比較する程度の少ない労力で、印刷装置から送信された電子証明書と、情報処理装置で受信した電子証明書との同一性を確認することができる。
【００２０】
また、第３の構成に係る通信システムは、入力データを印刷出力可能な印刷ユニット、及び、ネットワークに接続され、ネットワーク内の装置と通信可能な第一通信インタフェース、を備える印刷装置と、印刷装置とネットワークを介して通信可能な第二通信インタフェースを備える情報処理装置と、を備える通信システムであって、印刷装置及び情報処理装置が、次のように構成されたものである。
【００２１】
即ち、この通信システムにおいて、印刷装置は、本人性を証明するための電子証明書を、第一通信インタフェースを介して、情報処理装置に送信する証明書提供手段と、証明書提供手段により送信される電子証明書に記された公開鍵に関する印刷画像データを生成し、この印刷画像データを印刷ユニットに印刷出力させる印刷制御手段と、を備える。
【００２２】
また、情報処理装置は、原稿が表す情報を、光学的に読取可能な読取ユニットと、読取ユニットを介して、印刷装置に印刷出力された公開鍵に関する印刷画像データの印刷出力結果物としての原稿から、公開鍵の情報を取得する情報取得手段と、印刷装置の証明書提供手段により送信される電子証明書を、第二通信インタフェースが受信すると、受信した電子証明書に記された公開鍵と、情報取得手段が取得した公開鍵の情報とを、照合し、上記受信した電子証明書が示す公開鍵と、情報取得手段の取得情報が示す公開鍵との同一性を判定する判定手段と、判定手段により、上記受信した電子証明書が示す公開鍵と、情報取得手段の取得情報が示す公開鍵とが同一である判定されたことを条件として、第二通信インタフェースが受信した上記電子証明書を、自装置にインストールするインストール手段と、を備える。
【００２３】
この通信システムでは、本人性を証明するための電子証明書を、印刷装置がネットワーク経由で情報処理装置に送信するが、一方で、印刷装置は、この電子証明書が示す公開鍵を印刷する。また、情報処理装置は、読取ユニットを介して、公開鍵が印刷された原稿から、この公開鍵の情報を取得し、受信した電子証明書が示す公開鍵と、読み取った公開鍵との同一性を判定する。
【００２４】
従って、この発明によれば、印刷装置との暗号通信の際に、正当性判断の拠所となる印刷装置の電子証明書を、ネットワーク経由でインストール先の情報処理装置に送信した場合でも、伝送過程で改ざん等されることなく、確実に、正当な電子証明書を、上記情報処理装置にインストールすることができる。
【００２５】
また、第４の構成に係る発明は、入力データを印刷出力可能な印刷ユニット、及び、ネットワークに接続され、ネットワーク内の装置と通信可能な通信インタフェース、を備える印刷装置であって、本人性を証明するための電子証明書を、通信インタフェースを介して、ネットワーク内に存在するインストール先の情報処理装置に送信する証明書提供手段と、証明書提供手段により送信される電子証明書に記された公開鍵に関する印刷画像データを生成し、この印刷画像データを印刷ユニットに印刷出力させる印刷制御手段と、を備え
るものである。
【００２６】
この印刷装置によれば、インストール先の情報処理装置に提供される電子証明書に記された公開鍵についての情報を印刷することができるので、ユーザは、インストール先で受信した電子証明書の公開鍵と、印刷された公開鍵についての情報とを比較することで、受信した電子証明書の公開鍵が真正なものであるのかを確認することができる。即ち、この印刷装置によれば、第１の構成に係る通信システムを構築することができ、第１の構成に係る上述の効果を得ることができる。
【００２７】
また、印刷制御手段は、電子証明書に記された公開鍵のハッシュ値を表す印刷画像データを、上記公開鍵に関する印刷画像データとして、生成する構成にすることができる。このように構成された印刷装置によれば、情報処理装置側において、受信した電子証明書が示す公開鍵のハッシュ値を導出することで、ハッシュ値により電子証明書の同一性を判断することができる。従って、ユーザは、簡単に、その同一性を判断することができる
また、公開鍵をハッシュ値にすることなく、これを印刷する場合、印刷された公開鍵を構成する各コードと、情報処理装置にて受信された電子証明書の公開鍵を構成する各コードとを、順に照合して、両公開鍵の同一性を確認する等の作業がユーザに必要になるが、このような作業は、ユーザにとって煩わしい。従って、公開鍵をそのまま印刷する場合には、ユーザが、同一性確認の煩わしさから、実際には、印刷された公開鍵と、受信された電子証明書の公開鍵との比較を、公開鍵の先頭部分だけして、若しくは、全くせず、電子証明書をインストールしてしまうことが予想される。
【００２８】
従って、印刷制御手段は、上記公開鍵に関する印刷画像データとして、証明書提供手段により送信される電子証明書に記された公開鍵を表す印刷画像データであって、公開鍵を構成するコードから不規則（ランダム）に選択した所定数のコードを、未選択のコードに対して判別可能に画像表現した印刷画像データを、生成する構成にされるとよい。
【００２９】
印刷制御手段がこのように構成された第６の構成に係る印刷装置によれば、ランダムに所定数のコードを選択して、この選択したコードをユーザが判別することができるように、公開鍵を印刷するので、ユーザが、ランダムに選択されたコードと、これに対応する受信した電子証明書の公開鍵のコードと、を比較するように、誘導することができる。
【００３０】
また、この印刷装置によれば、ランダムに選択したコードと、それ以外のコードとを判別できるように、公開鍵を印刷するので、ユーザが、先頭から順にコードを、受信した電子証明書の公開鍵と比較する場合でも、ランダムに選択されたコードが目印となって、比較する対象を錯誤しなくて済む。また、比較すべきコードを見失う可能性を低くすることができるので、同一性確認の際の煩雑さを抑えることができる。
【００３１】
尚、具体的に、不規則（ランダム）に選択した所定数のコードを、未選択のコードに対して判別可能に画像表現した印刷画像データを、生成する方法としては、次の方法を挙げることができる。例えば、印刷画像データを生成する際、公開鍵を構成するコードから、不規則（ランダム）に所定数のコードを選択し、選択したコードに対してのみ、マーク（枠やアスタリスク等）を付すようにして、公開鍵を表す印刷画像データを生成する方法を挙げることができる。このように印刷画像データを生成すれば、選択されたコード周囲にマークが付加されてなる公開鍵を表す画像を、印刷ユニットに印刷出力させることができる。
【００３２】
また、印刷制御手段は、印刷画像データを生成する際、公開鍵を構成する各コードに対応するフォントの種類（大きさを含む）及び色の少なくとも一つを不揃いにして、公開鍵
を表す印刷画像データを生成することで、フォントの種類及び色の少なくとも一つが不揃いの公開鍵を表す画像を、印刷ユニットに印刷出力させる構成にされてもよい。
【００３３】
その他、印刷制御手段は、公開鍵に関する印刷画像データとして、証明書提供手段により送信される電子証明書に記された公開鍵を表す印刷画像データであって、公開鍵を構成するコードを、複数のコード列に区分して表現した印刷画像データを、生成する構成にされてもよい。
【００３４】
第７の構成のように、公開鍵を構成するコードを、複数のコード列に区分して表現すれば、印刷された公開鍵の各コードと、インストール先が受信した電子証明書に記された公開鍵の各コードとを、順に比較する際に、ユーザが、比較対象のコードを見失ったり、比較対象のコードを錯誤してしまうのを、抑えることができる。従って、この発明によれば、比較にかかる煩わしさを、ユーザからある程度取り除くことができる。
【００３５】
また、上述した印刷装置及び情報処理装置に係る各手段は、プログラムによりコンピュータに実現させることができる。
第８の構成に係るプログラムは、入力データを印刷出力可能な印刷ユニット、及び、ネットワークに接続され、ネットワーク内の装置と通信可能な通信インタフェース、を備える印刷装置のコンピュータに、本人性を証明するための電子証明書を、通信インタフェースを介して、ネットワーク内に存在するインストール先の情報処理装置に送信する証明書提供手段と、証明書提供手段により送信される電子証明書に記された公開鍵に関する印刷画像データを生成し、この印刷画像データを印刷ユニットに印刷出力させる印刷制御手段としての機能を実現させるためのプログラムである。このプログラムによれば、第４の構成に係る印刷装置を構成することができて、上述の効果を得ることができる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施例について、図面と共に説明する。
図１は、第一実施例の通信システム１の構成を表すブロック図である。本実施例の通信システム１は、プリンタ装置１０と、パーソナルコンピュータ（以下、単に「ＰＣ」とする。）３０と、がＴＣＰ／ＩＰネットワークＮＴに接続されてなるものである。
【００３７】
プリンタ装置１０は、所謂ディジタル複合機として構成されたものであり、ＣＰＵ１１と、作業用メモリとしてのＲＡＭ１２と、各種プログラムやデータを記憶するフラッシュメモリ（図１において「Ｆｌａｓｈ」と記載。）１３と、ネットワークＮＴに接続された通信インタフェース１５と、レーザ方式又はインクジェット方式にて用紙に入力データに基づく画像を形成する印刷部１７と、原稿載置台に載置された原稿を光学的に読み取り画像データを生成する読取部１９と、ユーザが操作可能な各種キー及び表示部を備える表示操作部２１と、を備える。このプリンタ装置１０は、ＣＰＵ１１にて各種プログラムを実行し、ＴＣＰ／ＩＰ通信機能、プリンタ機能、スキャナ機能、コピー機能等を実現する。
【００３８】
詳述すると、本実施例のプリンタ装置１０は、フラッシュメモリ１３に記録された図示しないＩＰアドレス等を示す通信設定データに従って、ネットワークＮＴ内の他の装置と通信を行う。
【００３９】
また、プリンタ装置１０は、表示操作部２１に対するユーザの操作により、読取指令が入力されると、読取部１９を制御して、原稿載置台に載置された原稿についての読取画像を表す画像データを生成し、これを一時記憶する（スキャナ機能）。そして、ＰＣ３０からの要求に応じ、通信インタフェース１５を介して、要求元のＰＣ３０に、上記生成した
画像データを、送信する。
【００４０】
また、プリンタ装置１０は、プリントサーバ機能を有し、ネットワークＮＴを通じて、ＰＣ３０からのアクセスがあると、ハンドシェイクの後、ＰＣ３０から送信されてくる印刷画像データ（所謂プリントデータ）を受信し、これを印刷部１７により印刷出力して、用紙に、印刷画像データに基づく画像を形成する。
【００４１】
その他、このプリンタ装置１０は、ＳＳＬ通信機能を有し、暗号通信用のポートへのアクセスがあると、ＳＳＬハンドシェイクを実行して、セッション鍵の取り決めをアクセス元のＰＣ３０と行い、セッション鍵が取り決められると、このセッション鍵を用いて暗号通信を行う。そして、この暗号通信により、例えば、印刷画像データを機密にＰＣ３０から受信して、これを印刷出力する。
【００４２】
尚、ＳＳＬ通信を実現するには、サーバ装置として機能するプリンタ装置１０に、当該プリンタ装置１０を証明する電子証明書としてのサーバ証明書と、これに対応する秘密鍵とをインストールする必要があるが、当該プリンタ装置１０は、認証局としての機能を有し、サーバ証明書及び秘密鍵を、この機能により、自装置で生成し、インストールする。
【００４３】
具体的に説明すると、本実施例のプリンタ装置１０は、自己署名型のサーバ証明書、及び、これに対応する秘密鍵を生成する機能を有し、管理者の操作により、表示操作部２１を通じてサーバ証明書及び秘密鍵の生成指令が入力されると、公開鍵及び秘密鍵のペアを生成し、更に、この公開鍵を記した自己署名型の（秘密鍵によるディジタル署名を付した）サーバ証明書を生成する。そして、このサーバ証明書及び秘密鍵のペアを、フラッシュメモリ１３に記録して、インストールする。
【００４４】
尚、このサーバ証明書は、自己署名型であるため、ＣＡ証明書としての機能も有する。即ち、上記生成されたサーバ証明書及び秘密鍵は、本実施例において、ＣＡ証明書及びこれに対応する秘密鍵としてインストールされると共に、ＳＳＬハンドシェイク時に本人性をクライアント装置に示すために提示するサーバ証明書及びこれに対応する秘密鍵としてインストールされる。
【００４５】
図２は、このプリンタ装置１０にて生成される電子証明書の構成を表す説明図である。図２に示すように、プリンタ装置１０が発行する電子証明書は、証明書のバージョンを表すバージョン情報と、証明書のシリアル番号と、アルゴリズム識別子と、ディジタル署名した証明書発行者を表す署名者情報と、証明書の有効期間を表す有効期間情報と、証明書の所有者（証明書発行先装置）を表す所有者情報と、公開鍵を表す公開鍵情報と、ディジタル署名値を表すディジタル署名情報と、を有する。
【００４６】
本実施例の通信システム１におけるプリンタ装置１０は、例えば、電子証明書の発行日時から１年後の期間を、有効期間とした有効期間情報を記して、電子証明書を発行する。また、所有者情報として、自装置のノードＩＤ（ＩＰアドレス等）を、コモンネーム（ＣＮ）に記した電子証明書を発行する。
【００４７】
この他、本実施例の通信システム１を構成する各ＰＣ３０は、周知のパーソナルコンピュータと同様のハードウェア構成にされ、ＣＰＵ３１と、作業用メモリとしてのＲＡＭ３２と、ブートプログラム等を記憶するＲＯＭ３３と、ハードディスク装置（ＨＤＤ）３４と、ネットワークＮＴに接続された通信インタフェース３５と、ユーザが操作可能なキーボードやポインティングデバイス等からなるユーザインタフェースとしての操作部３７と、液晶モニタ等からなる表示部３９と、ＵＳＢデバイス接続用のインタフェースであるＵＳＢコネクタ４１と、を備える。そして、ＣＰＵ３１で各種プログラムを実行することに
より、ＴＣＰ／ＩＰ通信機能、ＳＳＬ通信等を実現する。
【００４８】
例えば、ワープロソフト等のアプリケーションプログラムを通じてユーザから暗号印刷指令が入力されると、ＰＣ３０は、ＣＰＵ３１にて暗号印刷用のプログラムを実行し、プリンタ装置１０の暗号通信用のポートへアクセスして、プリンタ装置１０とＳＳＬハンドシェイクを実行する。そして、ハンドシェイクが正常終了すると、このＳＳＬハンドシェイクにて取り決めたセッション鍵を用いて、印刷画像データを暗号化し、これをプリンタ装置１０に送信し、プリンタ装置１０に暗号化された印刷画像データを復号化させて、印刷出力させる。
【００４９】
具体的に、ＳＳＬハンドシェイクは、クライアント装置としてのＰＣ３０から、サーバ装置としてのプリンタ装置１０に対して、ＳＳＬ通信の初期信号（ＣｌｉｅｎｔＨｅｌｌｏメッセージ）が送信されることにより開始される。この初期信号を受信すると、プリンタ装置１０は、自装置にインストールされているサーバ証明書を、ネットワークＮＴを介してＰＣ３０に送信する。一方、ＰＣ３０は、サーバ証明書をプリンタ装置１０から受信すると、受信したサーバ証明書が正当なものであるか否かを、予め取得したＣＡ証明書等に基づいて判断する。
【００５０】
即ち、受信したサーバ証明書のディジタル署名情報（図２参照）を、予め取得したＣＡ証明書に基づき復号化し、この復号化により得られるハッシュ値と、サーバ証明書の他の情報から得られたハッシュ値と、が一致するか否かにより、プリンタ装置１０から受信したサーバ証明書が改ざんのないものであるか否かを判断する。そして、この判断結果と、サーバ証明書が示す有効期間情報や所有者情報に基づき、受信したサーバ証明書が正当なものであるか否かを、総合的に判断する。尚、当然のことながら、受信したサーバ証明書のディジタル署名情報（図２参照）から得られたハッシュ値と、サーバ証明書の他の情報から得られたハッシュ値と、が一致しなかった場合には、サーバ証明書が正当なものでないと判断する。
【００５１】
また、サーバ証明書が正当なものではないと判断すると、ＰＣ３０は、通信を中断し、サーバ証明書が正当なものであると判断すると、セッション鍵を取り決めるための通信を、サーバ証明書の公開鍵を用いて送信データを暗号化することで、機密に行う。そして、セッション鍵の取り決め後には、このＳＳＬハンドシェイクにて取り決めたセッション鍵を用いて、印刷画像データを暗号化し、これをプリンタ装置１０に送信する。
【００５２】
ところで、ＰＣ３０からプリンタ装置１０に対してＳＳＬ通信により印刷画像データを送信する場合には、ハンドシェイク時にプリンタ装置１０から送信されてくるサーバ証明書を検証するため、予めＰＣ３０にＣＡ証明書をインストールしておく必要があるが、ＣＡ証明書は、通信先のプリンタ装置１０が真のプリンタ装置１０であると結論付ける拠所となる電子証明書であるため、ＣＡ証明書のインストールに際しては、信頼のおける方法で、ＣＡ証明書をプリンタ装置１０から取得し、これをインストールする必要がある。
【００５３】
本実施例では、プリンタ装置１０にＣＡ証明書を印刷させる機能、ＰＣ３０に受信したＣＡ証明書をインストール前に表示する機能を設けることで、このようなインストールを実現するようにしている。
【００５４】
図３は、プリンタ装置１０が実行する処理の詳細を示した図であり、プリンタ装置１０のＣＰＵ１１が、プログラムに基づき、繰返し実行するメイン処理を表すフローチャートである。
【００５５】
プリンタ装置１０のＣＰＵ１１は、このメイン処理を開始すると、自装置にて何等かの
イベントが発生するまで待機し（Ｓ１１０）、イベントが発生すると（Ｓ１１０でＹｅｓ）、Ｓ１２０に移行し、これ以降の処理によって、イベントの種類に応じた処理を実行する。
【００５６】
具体的に、Ｓ１２０に移行すると、ＣＰＵ１１は、発生したイベントが、表示操作部２１を通じたユーザの操作イベントであるか否かを判断する。即ち、ユーザにより表示操作部２１を通じて当該装置に対する操作がなされたか否かを判断する。そして、発生イベントが操作イベントであると判断すると（Ｓ１２０でＹｅｓ）、Ｓ１３０に移行する。
【００５７】
Ｓ１３０に移行すると、ＣＰＵ１１は、上記なされた操作が、コンフィグページの印刷を指示するコンフィグページ印刷操作であるか否かを判断し、なされた操作が、コンフィグページ印刷操作であると判断すると（Ｓ１３０でＹｅｓ）、Ｓ１４０にて、図４に示す印刷画像データ生成処理を実行し、コンフィグページを表す印刷画像データを生成する。尚、図４は、ＣＰＵ１１が実行する印刷画像データ生成処理を表すフローチャートである。また、図５は、コンフィグページの構成図である。但し、図５において点線及び一点鎖線は、説明のために付されたものであり、コンフィグページの構成要素ではないことを言及しておく。
【００５８】
図４に示す印刷画像データ生成処理を開始すると、ＣＰＵ１１は、まず、当該プリンタ装置１０の機器構成を表す画像データＤ１（図５上段参照）を生成する（Ｓ３１０）。機器構成の情報としては、ノード名や、ノードアドレス（ＩＰアドレス）等を挙げることができる。
【００５９】
また、Ｓ３１０での処理を終えると、自装置のＣＡ証明書が示す公開鍵を、１６進数表記した画像データであって、１６進数表記で２桁のコードを１組のコードとし、連続する４組のコードを、コード列の１単位として、各組のコードを間隔Ｌ１で配列し、各コード列を、間隔Ｌ２で配列してなる公開鍵を表す画像データを生成する（Ｓ３２０）。即ち、公開鍵を構成するコードを、複数のコード列に区分して表現した画像データを生成する。
【００６０】
また、この処理を終えると、ＣＰＵ１１は、１６進数表記の上記公開鍵に関して、ランダムに、複数組のコードを選択し（Ｓ３３０）、選択した各組のコードに対し、このコードを囲む枠を配置するように、上記生成した公開鍵を表す画像データを加工する（Ｓ３４０：図５下段参照）。
【００６１】
そして、Ｓ３４０での処理を終えると、上記生成した機器構成を表す画像データＤ１を上段にレイアウトし、公開鍵を表す画像データＤ２を下段にレイアウトしてなるコンフィグページを表す印刷画像データを生成する（Ｓ３５０）。その後、当該印刷画像データ生成処理を終了する。
【００６２】
また、このようにしてＳ１４０における印刷画像データ生成処理を終了すると、ＣＰＵ１１は、Ｓ１５０に移行し、上記印刷画像データ生成処理によって生成されたコンフィグページを表す印刷画像データを、印刷部１７を通じて、印刷出力し（Ｓ１５０）、印刷出力結果物として、紙媒体のコンフィグページを生成する。そして、この処理を終えると、当該メイン処理を一旦終了し、次のイベントが発生するまで待機する（Ｓ１１０）。
【００６３】
一方、Ｓ１３０において、なされた操作が、コンフィグページ印刷操作ではないと判断すると（Ｓ１３０でＮｏ）、ＣＰＵ１１は、操作内容に応じたその他の処理を実行した後（Ｓ１６０）、当該メイン処理を一旦終了し、Ｓ１１０にて次のイベントが発生するまで待機する。
【００６４】
また、発生したイベントが上記操作イベントではないと判断すると（Ｓ１２０でＮｏ）、ＣＰＵ１１は、Ｓ１７０に移行して、発生したイベントが、ネットワークＮＴを通じた外部装置からのデータ受信イベントであるか否かを判断する。即ち、通信インタフェース１５を通じて、外部のＰＣ３０から、通信データを受信したか否かを判断する。
【００６５】
そして、発生イベントが上記データ受信イベントであると判断すると（Ｓ１７０でＹｅｓ）、ＣＰＵ１１は、Ｓ１８０に移行して、上記データ受信イベントに関し、受信データがＣＡ証明書を要求するＣＡ証明書要求データであるか否かを判断する。
【００６６】
Ｓ１８０において、受信データがＣＡ証明書要求データであると判断すると、ＣＰＵ１１は、Ｓ１９０に移行し、応答データとして、ＣＡ証明書要求データの送信元装置に、通信インタフェース１５を通じて、自装置のＣＡ証明書を送信する。また、この処理を終えると、当該メイン処理を一旦終了し、次のイベントが発生するまで待機する（Ｓ１１０）。
【００６７】
一方、Ｓ１８０において、受信データがＣＡ証明書要求データではないと判断すると、ＣＰＵ１１は、Ｓ２００に移行し、受信データが、ＰＣ３０からプリンタ検索時にネットワークＮＴ上にブロードキャストされるプリンタ検索要求データであるか否かを判断する。
【００６８】
そして、受信データがプリンタ検索要求データであると判断すると（Ｓ２００でＹｅｓ）、プリンタ検索要求データの送信元装置が、当該プリンタ装置１０のプリンタ機能を、ネットワークＮＴを介して利用するのに必要な情報（ＩＰアドレスやプリンタ名）を記した応答データを、プリンタ検索要求データの送信元装置に、通信インタフェース１５を介して送信する（Ｓ２１０）。その後、当該メイン処理を一旦終了する。
【００６９】
その他、ＣＰＵ１１は、Ｓ２００において、受信データがプリンタ検索要求データではないと判断すると（Ｓ２００でＮｏ）、Ｓ２２０に移行し、受信データが印刷コマンドと共に送信されてきた印刷画像データであるか否かを判断する。そして、受信データが印刷画像データであると判断すると（Ｓ２２０でＹｅｓ）、印刷部１７を通じて、受信データを印刷出力する（Ｓ２３０）。その後、当該メイン処理を一旦終了する。
【００７０】
また、ＣＰＵ１１は、Ｓ２２０において、受信データが印刷画像データではないと判断すると、受信データの種類に応じたその他の処理を実行した後（Ｓ２４０）、Ｓ１１０に移行する。その他、ＣＰＵ１１は、Ｓ１７０において、発生イベントが上記データ受信イベントではないと判断すると、イベントに対応したその他の処理を実行した後（Ｓ２５０）、当該メイン処理を一旦終了し、Ｓ１１０に移行する。
【００７１】
以上、プリンタ装置１０の処理動作について説明したが、続いて、ＰＣ３０の処理動作について説明する。但し、本実施例のＰＣ３０には、ＣＡ証明書のインストールを支援するツールとして、プリンタ装置１０の製造元から提供された証明書インストールプログラムがインストールされているものとする。
【００７２】
ＰＣ３０のＣＰＵ３１は、ハードディスク装置３４にインストールされた上記証明書インストールプログラムに従って、図６及び図７に示す証明書組込受付処理を実行することにより、ユーザによるＣＡ証明書のインストール作業を支援する。
【００７３】
尚、図６及び図７は、ＰＣ３０のＣＰＵ３１が実行する証明書組込受付処理を表すフローチャートである。また、図８及び図９は、この証明書組込受付処理の実行時に、表示部３９に表示されるダイアログ（ダイアログボックス）の構成を表す説明図である。ＰＣ３
０のＣＰＵ３１は、上記証明書インストールプログラムの実行指令が、操作部３７を通じてユーザから入力されると、この証明書組込受付処理を実行する。
【００７４】
証明書組込受付処理を開始すると、ＣＰＵ３１は、まずＳ４１０にて、コンフィグページの印刷を促すメッセージを記した図８（ａ）に示す構成のダイアログＧ１を、表示部３９に表示する。ダイアログＧ１には、「キャンセル」キーと、「次へ」キーとが設けられており、ＣＰＵ３１は、ダイアログＧ１の表示後、「キャンセル」キー及び「次へ」キーのいずれかが操作部３７を通じて押下操作されるまで待機する（Ｓ４２０，Ｓ４２５）。そして、「キャンセル」キーが押下操作されると（Ｓ４２０でＹｅｓ）、当該証明書組込受付処理を終了する。
【００７５】
一方、「次へ」キーが押下操作されると（Ｓ４２５でＹｅｓ）、ＣＰＵ３１は、Ｓ４３０に移行し、ネットワークＮＴ内のプリンタ装置１０を検索するため、検索用のプリンタ検索要求データを、通信インタフェース３５を通じて、ネットワークＮＴにブロードキャストする。そして、この処理後には、所定期間、上記プリンタ検索要求データに対する応答データを受信する（Ｓ４３５）。
【００７６】
そして、Ｓ４３５での処理を終えると、ＣＰＵ３１は、上記所定期間に、応答データを送信してきたプリンタ装置を、リストアップした図８（ｂ）に示す構成のダイアログＧ２を、表示部３９に表示する（Ｓ４４０）。尚、ダイアログＧ２は、リストアップされたプリンタ装置を、ユーザが操作部３７を通じて選択可能な構成にされ、更に、「キャンセル」キーと、「次へ」キーとを有する構成にされている。
【００７７】
ＣＰＵ３１は、ダイアログＧ２の表示後、プリンタ装置の選択操作がなされるか、「キャンセル」キー及び「次へ」キーのいずれかが操作部３７を通じて押下操作されるまで待機する（Ｓ４５０，Ｓ４６０，Ｓ４７０）。そして、プリンタ装置の選択操作がなされると（Ｓ４５０でＹｅｓ）、Ｓ４５５にて、選択されたプリンタ装置のシンボル（文字列）を、ダイアログＧ２において反転表示する処理を行う。その後、Ｓ４５０に移行して、再びプリンタ装置の選択操作がなされるか、「キャンセル」キー及び「次へ」キーのいずれかが操作部３７を通じて押下操作されるまで待機する（Ｓ４５０，Ｓ４６０，Ｓ４７０）。
【００７８】
一方、ダイアログＧ２の「キャンセル」キーが押下操作されると（Ｓ４６０でＹｅｓ）、ＣＰＵ３１は、当該証明書組込受付処理を終了する。その他、ダイアログＧ２の「次へ」キーが押下操作されると（Ｓ４７０でＹｅｓ）、ＣＰＵ３１は、Ｓ４８０に移行し、当該ダイアログＧ２を通じて既にプリンタ装置の選択操作がなされているか否かを判断する。そして、プリンタ装置の選択操作がなされていないと判断すると（Ｓ４８０でＮｏ）、Ｓ４５０に移行して、プリンタ装置の選択操作がなされるか、「キャンセル」キー及び「次へ」キーのいずれかが操作部３７を通じて押下操作されるまで待機する（Ｓ４５０，Ｓ４６０，Ｓ４７０）。
【００７９】
この他、プリンタ装置の選択操作が既になされていると判断すると（Ｓ４８０でＹｅｓ）、ＣＰＵ３１は、Ｓ４９０に移行し、ダイアログＧ２を通じて選択されたプリンタ装置に対して、通信インタフェース３５を通じてＣＡ証明書要求データを送信する。
【００８０】
また、この処理を終えると、ＣＰＵ３１は、ＣＡ証明書要求データの送信先のプリンタ装置１０から送信されてくる応答データとしてのＣＡ証明書を通信インタフェース３５を介して受信するまで待機し、ＣＡ証明書を受信すると、これをＲＡＭ３２に一時記憶して（Ｓ５００）、Ｓ５１０に移行する。
【００８１】
Ｓ５１０に移行すると、ＣＰＵ３１は、ＵＳＢコネクタ４１にスキャナ装置５０が接続されているか否かを判断し、ＵＳＢコネクタ４１にスキャナ装置５０が接続されていないと判断すると（Ｓ５１０でＮｏ）、Ｓ５２０に移行する。そして、Ｓ５２０では、通信インタフェース３５を通じてプリンタ装置１０から受信したＣＡ証明書が示す公開鍵を記したダイアログＧ３（図９（ａ）参照）を、表示部３９に表示する。
【００８２】
即ち、ＣＰＵ３１は、ＯＳ（オペレーティングシステム）が有するダイアログ表示用のプログラムを通じて、上記プリンタ装置１０から受信したＣＡ証明書に記された公開鍵を表す表示画像データを生成し、この表示画像データを表示部３９に表示出力させる。
【００８３】
尚、ダイアログＧ３には、「キャンセル」キーと、「次へ」キーとが設けられており、ＣＰＵ３１は、ダイアログＧ３の表示後、ダイアログＧ３の「キャンセル」キー及び「次へ」キーのいずれかが操作部３７を通じて押下操作されるまで待機し（Ｓ５３０，Ｓ５３５）、「キャンセル」キーが押下操作されると（Ｓ５３０でＹｅｓ）、当該証明書組込受付処理を終了する。
【００８４】
一方、ダイアログＧ３の「次へ」キーが押下操作されると（Ｓ５３５）、ＣＰＵ３１は、インストール指示がユーザからなされたとして、ＲＡＭ３２に一時記憶しておいた上記プリンタ装置１０のＣＡ証明書を、ハードディスク装置３４にインストールする。即ち、ＳＳＬ通信時に使用可能にＣＡ証明書を、ハードディスク装置３４に記録する（Ｓ５４０）。また、インストールが完了した後には、インストールが完了した旨のダイアログ（図示せず）を表示部３９に表示する。
【００８５】
尚、このダイアログには、「ＯＫ」キーが設けられており、ＣＰＵ３１は、ダイアログの表示後、Ｓ５５０に移行して、「ＯＫ」キーが押下操作されるまで待機する。そして、「ＯＫ」キーが押下操作されると（Ｓ５５０でＹｅｓ）、当該証明書組込受付処理を終了する。
【００８６】
その他、ＵＳＢコネクタ４１にスキャナ装置５０が接続されている場合、ＣＰＵ３１は、Ｓ５１０でＹｅｓと判断して、Ｓ５６０に移行し、プリンタ装置１０にて出力された紙媒体のコンフィグページを、スキャナ装置５０にセットするように指示するメッセージを記したダイアログ（図示せず）を表示する。
【００８７】
尚、このダイアログにも、「キャンセル」キーと、「次へ」キーとが設けられており、ＣＰＵ３１は、Ｓ５６０で上記ダイアログを表示した後、「キャンセル」キー及び「次へ」キーのいずれかが操作部３７を通じて押下操作されるまで待機する（Ｓ５７０，Ｓ５７５）。そして、「キャンセル」キーが押下操作されると（Ｓ５７０でＹｅｓ）、当該証明書組込受付処理を終了する。
【００８８】
一方、「次へ」キーが押下操作されると（Ｓ５７５でＹｅｓ）、スキャナ装置５０にセットされた原稿についての読取処理を実行すると共に、読取処理により生成された画像データを文書（テキスト）化し、原稿に記された公開鍵を構成する一連のコード（１６進数）を認識する（Ｓ５８０）。
【００８９】
また、Ｓ５８０での処理を終えると、ＣＰＵ３１は、原稿から認識できた公開鍵と、ＣＡ証明書要求データに対する応答データとして受信したＣＡ証明書に記された公開鍵とを照合し（Ｓ５９０）、両者が一致するか否かを判断する（Ｓ５９５）。ここで、原稿から認識できた公開鍵と、受信したＣＡ証明書に記された公開鍵とが一致すると判断すると（Ｓ５９５でＹｅｓ）、ＣＰＵ３１は、Ｓ５４０に移行して、上記受信したＣＡ証明書をインストールし、その後、Ｓ５５０に移行する。
【００９０】
一方、原稿から認識できた公開鍵と、受信したＣＡ証明書に記された公開鍵とが一致しないと判断すると（Ｓ５９５でＮｏ）、ＣＰＵ３１は、ＣＡ証明書のインストールを実行することなく、ＣＡ証明書の受信過程で不正が行われたことを示すメッセージを記したダイアログＧ４（図９（ｂ）参照）を表示部３９に表示する。尚、このダイアログＧ４には、「ＯＫ」キーが設けられており、ＣＰＵ３１は、ダイアログＧ４の表示後、Ｓ６１０に移行して、「ＯＫ」キーが押下操作されるまで待機する。そして、「ＯＫ」キーが押下操作されると（Ｓ６１０でＹｅｓ）、当該証明書組込受付処理を終了する。
【００９１】
以上、第一実施例の通信システム１について説明したが、この通信システム１では、ＳＳＬ通信時に必要な電子証明書であって、ＰＣ３０がプリンタ装置１０から送信されてくるサーバ証明書を検証する際に必要なＣＡ証明書を、ＰＣ３０にネットワークＮＴを介して送信するようにしている。従って、本実施例の通信システム１によれば、ＰＣ３０に対して、ＣＡ証明書を簡単に提供することができる。
【００９２】
しかしながら、ＣＡ証明書をネットワークＮＴ経由で授受する場合には、中間者攻撃等に合う可能性もあるので、本実施例では、プリンタ装置１０に、ＣＡ証明書の公開鍵を、コンフィグページに記して印刷する機能を設けた。そして、ＰＣ３０側においては、コンフィグページの印刷を促すメッセージを、ダイアログＧ１に表示する機能を設けて、ＣＡ証明書のインストールに先立って、コンフィグページをユーザに印刷させるようにした。
【００９３】
また、本実施例では、ユーザからＣＡ証明書のインストール指示を受け付けるためのダイアログＧ３を表示する際、予めネットワークＮＴ経由で受信したＣＡ証明書の公開鍵を、ダイアログＧ３に表示するようにした。
【００９４】
このため、ＣＡ証明書をインストールする際、ユーザは、送信元のＣＡ証明書が示す公開鍵が印刷された原稿（コンフィグページ）と、ＰＣ３０がネットワークＮＴ経由で取得したＣＡ証明書が示す公開鍵の表示画面と、を比較することにより、送信元のＣＡ証明書と、ＰＣ３０が受信したＣＡ証明書との同一性を判断することができる。
【００９５】
従って、この通信システム１によれば、ＣＡ証明書を、ネットワークＮＴ経由で、プリンタ装置１０からインストール先のＰＣ３０に送信した場合でも、正当なＣＡ証明書を、ＰＣ３０にインストールすることができる。
【００９６】
尚、コンフィグページに記した公開鍵を構成する各コードと、ダイアログＧ３に表示した公開鍵を構成する各コードとを、ユーザに一通り照合させるようにすると、ユーザにとって負担が大きい。
【００９７】
このため、本実施例では、コンフィグページを印刷する際、公開鍵を構成するコードから、ランダムに所定数のコードを選択して、この選択したコードをユーザが判別することができるように、選択したコードに四角い枠を付して公開鍵を印刷するようにし、最低でも、コンフィグページにおいて枠が付されたコードと、ネットワークＮＴ経由で受信されたＣＡ証明書の公開鍵の対応コードと、を比較するよう、ユーザに指示するようにした。
【００９８】
このような指示を行わない場合には、ユーザが、コンフィグページに印刷された公開鍵を構成する各コードと、ダイアログＧ３に表示されたＣＡ証明書の公開鍵を構成する各コードとを比較する際、先頭部分だけを確認して、インストール指示を入力してしまうことが予想されるが、本実施例では、ランダムにコードを選択して、このコードの同一性を確認させるようにしているので、少ない負担で効率的に、ユーザに対して、同一性の確認作業を行わせることができる。
【００９９】
また、本実施例では、公開鍵を印刷／表示する際に、四角い枠を付したり、２桁毎及び８桁毎に、区切って、公開鍵を配列するようにしているので、ユーザが、インストール対象のＣＡ証明書の公開鍵を、先頭から順に、コンフィグページのそれと比較する場合でも、枠や区切られた空間が目印となって、比較する対象をユーザが錯誤するのを抑えることができる。また、比較すべきコードを見失う可能性を低くすることができるので、同一性確認の際の煩雑さをユーザから取り除くことができる。
【０１００】
また、本実施例の通信システム１では、スキャナ装置５０を利用して、コンフィグページをＯＣＲ処理するようにした。即ち、本実施例では、コンフィグページに印刷された公開鍵を、光学的に読み取り、この読取結果に基づいて、ＰＣ３０側で、送信元のＣＡ証明書と、受信したＣＡ証明書との同一性を判断するようにした。従って、本実施例によれば、ユーザは、ＰＣ３０にスキャナ装置５０を接続した場合、目視により、送信元のＣＡ証明書と、ＰＣ３０が受信したＣＡ証明書の内容を確認しなくても済む。よって、本実施例によれば、ＰＣ３０にスキャナ装置５０が接続されている場合、ユーザに、あまり煩わしさを及ぼすことなく、ＣＡ証明書の同一性を確認することができる。
【０１０１】
ところで、上記実施例では、プリンタ装置１０でＣＡ証明書の公開鍵を記したコンフィグページを印刷する際、ランダムに選択した公開鍵のコードに対して四角い枠を囲うようにしたが、印刷画像データ生成処理では、選択したコードに対して四角い枠を囲うのではなく、適用するフォントを変更するようにしてもよい（第二実施例）。
【０１０２】
図１０は、ランダムに選択したコードに対して適用するフォントを、未選択コードに対して適用する標準のフォントに対して、変更した場合のコンフィグページの公開鍵部分の構成を表す説明図である。また、図１１は、上記フォントを変更する第二実施例の通信システム１において、ＣＰＵ１１がＳ１４０で実行する印刷画像データ生成処理を表すフローチャートである。
【０１０３】
第二実施例の通信システム１は、ＣＰＵ１１がＳ１４０で実行する印刷画像データ生成処理の内容が、第一実施例のそれとは異なる程度であるため、以下では、第二実施例として、図１１に示す印刷画像データ生成処理の内容を説明する程度に留める。
【０１０４】
ＣＰＵ１１は、図１１に示す印刷画像データ生成処理を開始すると、まず、当該プリンタ装置１０の機器構成を表す画像データＤ１（図５上段参照）を生成する（Ｓ７１０）。また、Ｓ７１０での処理を終えると、自装置のＣＡ証明書が示す公開鍵から、１６進数表記で２桁のコードを１組のコードとして、ランダムに、複数組（本実施例では４組）のコードを選択する（Ｓ７２０）。
【０１０５】
そして、この処理を終えると、ＣＰＵ１１は、自装置のＣＡ証明書が示す公開鍵を、１６進数表記した画像データであって、Ｓ７２０で選択したコードについては特別なフォントを用い、それ以外のコードについては標準のフォントを用いて、各コードに対応するフォントを配列した公開鍵を表す画像データ（図１０参照）を生成する（Ｓ７３０）。尚、本実施例において、「特別なフォント」及び「標準のフォント」は予め設計段階で定められており、互いに異なるフォントであるものとする。
【０１０６】
また、この処理を終えると、ＣＰＵ１１は、上記生成した機器構成を表す画像データを上段にレイアウトし、公開鍵を表す画像データを下段にレイアウトしてなる印刷画像データを生成する（Ｓ７４０）。その後、当該印刷画像データ生成処理を終了する。
【０１０７】
以上、第二実施例について説明したが、第二実施例の通信システム１のようにコンフィ
グページを印刷した場合でも、ランダムに選択した組のコードを、未選択のコードに対して判別可能に、公開鍵を印刷することができる。
【０１０８】
その他、第一及び第二実施例では、公開鍵全体を、コンフィグページに印刷するようにしたが、公開鍵のダイジェストとしてのハッシュ値を、コンフィグページに印刷するようすると、ユーザにとっては、送信元のＣＡ証明書と、ネットワークＮＴ経由で受信したＣＡ証明書の同一性を、目視で簡単に確認することができ、便利である（第三実施例）。
【０１０９】
図１２は、第三実施例に関する説明図であり、図１２（ａ）は、プリンタ装置１０のＣＰＵ１１が、Ｓ１４０において、図４に代えて実行する第三実施例の印刷画像データ生成処理を表すフローチャートである。また、図１２（ｂ）は、ＰＣ３０のＣＰＵ３１が実行する第三実施例の証明書組込受付処理を表すフローチャートである。
【０１１０】
第三実施例の通信システム１は、印刷画像データ生成処理の内容、及び、証明書組込受付処理の内容が、第一実施例と異なる程度であるので、以下では、ＣＰＵ１１が実行する印刷画像データ生成処理、及び、ＣＰＵ３１が実行する証明書組込受付処理に関してのみ説明する。
【０１１１】
第三実施例において、印刷画像データ生成処理を開始すると、プリンタ装置１０のＣＰＵ１１は、自装置のＣＡ証明書に記された公開鍵のハッシュ値を算出する（Ｓ８１０）。そして、機器構成とＣＡ証明書の公開鍵のハッシュ値とを記した印刷画像データを生成し（Ｓ８２０）、当該印刷画像データ生成処理を終了する。このようにして、本実施例では、機器構成とＣＡ証明書の公開鍵のハッシュ値とを記したコンフィグページを印刷する。
【０１１２】
一方、ＰＣ３０のＣＰＵ３１は、証明書組込受付処理を開始すると、第一実施例と同様に、Ｓ４１０からＳ５００までの処理を実行する。そして、Ｓ５１０に移行すると、ＵＳＢコネクタ４１にスキャナ装置５０が接続されているか否かを判断し、ＵＳＢコネクタ４１にスキャナ装置５０が接続されていないと判断すると（Ｓ５１０でＮｏ）、Ｓ８３０に移行する。
【０１１３】
そして、Ｓ８３０では、通信インタフェース３５を通じてプリンタ装置１０から受信したＣＡ証明書が示す公開鍵のハッシュ値を記したダイアログ（図示せず）を、表示部３９に表示する。即ち、ＣＰＵ３１は、ＯＳ（オペレーティングシステム）が有するダイアログ表示用のプログラムを通じて、上記プリンタ装置１０から受信したＣＡ証明書に記された公開鍵のハッシュ値を表す表示画像データを生成し、この表示画像データを表示部３９に表示出力させる。具体的に、Ｓ８３０で表示部３９に表示されるダイアログは、図９（ａ）に示すダイアログＧ３において、公開鍵の代わりに、公開鍵のハッシュ値を記したものに相当する。
【０１１４】
また、このようにして、Ｓ８３０での処理を終えると、ＣＰＵ３１は、Ｓ５３０に移行し、第一実施例と同様に、Ｓ５３０以降の処理を実行する。その後、当該証明書組込受付処理を終了する。一方、Ｓ５１０において、ＵＳＢコネクタ４１にスキャナ装置５０が接続されていると判断すると（Ｓ５１０でＹｅｓ）、ＣＰＵ３１は、第一実施例と同様に、Ｓ５６０以降の処理を実行する。
【０１１５】
以上、第三実施例の通信システム１について説明したが、この通信システム１によれば、プリンタ装置１０が、公開鍵に関する印刷画像データとして、公開鍵のハッシュ値を表す印刷画像データを生成し、ＰＣ３０が、公開鍵に関する情報として、受信したＣＡ証明書に記された公開鍵のハッシュ値を表示する。
【０１１６】
従って、本実施例の通信システムによれば、ユーザは、印刷された公開鍵のハッシュ値と、表示された公開鍵のハッシュ値と、を比較する程度で、送信元のＣＡ証明書と、ＰＣ３０で受信されたＣＡ証明書との同一性を確認することができる。
【０１１７】
尚、「特許請求の範囲」に記載の印刷装置は、上記実施例において、プリンタ装置１０に相当し、印刷ユニットは、印刷部１７に相当し、第一通信インタフェースは、通信インタフェース１５に相当する。また、情報処理装置は、ＰＣ３０及びスキャナ装置５０からなるシステムに相当し、第二通信インタフェースは、通信インタフェース３５に相当する。
【０１１８】
また、証明書提供手段は、Ｓ１９０の処理にて実現され、印刷制御手段は、Ｓ１４０〜Ｓ１５０の処理にて実現されている。また、表示制御手段は、Ｓ５２０，Ｓ８３０の処理にて実現され、検出手段は、Ｓ５３５の処理にて実現されている。また、インストール手段は、Ｓ５４０の処理にて実現されている。その他、読取ユニットは、スキャナ装置５０に相当し、情報取得手段は、Ｓ５６０〜Ｓ５８０の処理にて実現され、判定手段は、Ｓ５９０〜Ｓ５９５の処理にて実現されている。
【０１１９】
尚、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、第二実施例では、ランダムに選択したコードのフォントの種類を変更して公開鍵を記したコンフィグページを生成するようにしたが、プリンタ装置１０が、カラー印刷可能な構成にされている場合には、ランダムに選択したコードの色を変更して公開鍵を記したコンフィグページを生成するようにしてもよい。
【０１２０】
また、上記説明では、自己署名型のサーバ証明書を例に説明したが、プリンタ装置１０が、ＰＣ３０に対してクライアント証明書を発行する場合、又は、プリンタ装置１０が生成したＣＡ証明書（自己署名型ではないＣＡ証明書）を、ＰＣ３０に送信する場合、上記同様の手法を適用することもできる。
【図面の簡単な説明】
【０１２１】
【図１】実施例の通信システム１の構成を表すブロック図である。
【図２】プリンタ装置１０で生成される電子証明書の構成を表す説明図である。
【図３】プリンタ装置１０のＣＰＵ１１が繰返し実行するメイン処理を表すフローチャートである。
【図４】ＣＰＵ１１が実行する印刷画像データ生成処理を表すフローチャートである。
【図５】コンフィグページの構成を表す説明図である。
【図６】ＰＣ３０のＣＰＵ３１が実行する証明書組込受付処理を表すフローチャートである。
【図７】ＣＰＵ３１が実行する証明書組込受付処理を表すフローチャートである。
【図８】証明書組込受付処理時に表示されるダイアログの構成を表す説明図である。
【図９】証明書組込受付処理時に表示されるダイアログの構成を表す説明図である。
【図１０】第二実施例におけるコンフィグページでの公開鍵の記載方法を表す説明図である。
【図１１】第二実施例においてＣＰＵ１１が実行する印刷画像データ生成処理を表すフローチャートである。
【図１２】第三実施例の印刷画像データ生成処理を表すフローチャート（ａ）及び証明書組込受付処理を表すフローチャート（ｂ）である。
【符号の説明】
【０１２２】
１…通信システム、１０…プリンタ装置、１１，３１…ＣＰＵ、１２，３２…ＲＡＭ、１
３…フラッシュメモリ、１５，３５…通信インタフェース、１７…印刷部、１９…読取部、２１…表示操作部、３０…ＰＣ、３３…ＲＯＭ、３４…ハードディスク装置、３７…操作部、３９…表示部、４１…ＵＳＢコネクタ、５０…スキャナ装置、ＮＴ…ネットワーク
【図１】
0004449935.tif 000002
【図２】
0004449935.tif 000003
【図３】
0004449935.tif 000004
【図４】
0004449935.tif 000005
【図５】
0004449935.tif 000006
【図６】
0004449935.tif 000007
【図７】
0004449935.tif 000008
【図８】
0004449935.tif 000009
【図９】
0004449935.tif 000010
【図１０】
0004449935.tif 000011
【図１１】
0004449935.tif 000012
【図１２】
0004449935.tif 000013