説明

ネットワーク印刷システムおよびプリントサーバーおよびデータベース装置とネットワーク印刷方法

【課題】クライアント、プリントサーバー、画像形成装置、データベースから成るシステムで、プリントサーバーが、TLS通信に際して画像形成装置から送信される証明書を検証する場合に、データベースに予め登録した証明書の検証を高速化する。
【解決手段】データベースが持つデータから所望の画像形成装置の情報を取得するための検索キーをプリントサーバーに設定しておく。またデータベースでは、その検索キーと関連付けて証明書情報を登録する。それにより、検索キーで証明書情報を検索でき、検証の迅速化を図ることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介した印刷をセキュアに行うためのネットワークシステムに関する。
【背景技術】
【0002】
従来、画像形成装置等のデバイスがネットワークに接続され、クライアントPCからネットワークを介して、Webサービス等の通信プロトコルを使用して印刷することが可能になっている。この処理を行うための仕様として、既にマイクロソフト社が提唱しているWeb Services on Devices(WSD)といった標準技術が存在している(非特許文献1)。
【0003】
また、このようなWebサービスを用いた印刷手段において、送受信するネットワークデータの安全を守るために、セキュアWSDの仕様が提唱されている(非特許文献2)。セキュアWSDは、RFC2246で規定されているTransport Layer Security(TLS)等のセキュア通信を使用している。
【0004】
TLSは、ネットワークデータの暗号化を行いネットワークデータの改ざんや盗聴を防止し、証明書検証を実施することでなりすましの防止を実現している。証明書検証には公的な証明書機関がサーバー証明書に署名をすることで、サーバー証明書の正当性を保証する。クライアントには当該証明書機関のCA証明書を格納し、サーバー側にはサーバー証明書を格納し、サーバーがクライアントに対してサーバー証明書を送付しクライアントがサーバーの正当性を検証する。
【0005】
ここで一般的には証明機関は信頼されている証明機関であるが、自己署名を用いて作成したサーバー証明書を発行し、それを用いてTLSの暗号化通信機能のみを利用することもできる。さらに、一般的には証明機関は信頼されている証明機関であるが、自己署名を用いて作成したCA証明書をクライアントに予めインストールしておくことで、真正のサーバーであるか否かも検証することもできる。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】「Devices Profile for Web Services」、Shannon Chan他、2006年2月、[online]、平成23年8月29日検索、インターネット<URL: http://specs.xmlsoap.org/ws/2006/02/devprof/devicesprofile.pdf>
【非特許文献2】「Secure WSD Device Development」、Microsoft corporation、[online]、平成23年8月29日検索、インターネット<URL:http://msdn.microsoft.com/en-us/library/bb204786(v=VS.85).aspx>
【発明の概要】
【発明が解決しようとする課題】
【0007】
TLSにおける証明書検証によってサーバーの正当性を検証するためには、予めクライアント側に、サーバー証明書とチェーン関係のあるCA証明書、すなわちサーバー証明書を発行した証明機関(CA局)のCA証明書を格納しておく必要がある。
このため、自己署名を用いて検証するサーバーにアクセスする機会が多いクライアントは、そのサーバーの数に応じた数のCA証明書を保存しておく必要がある。そして、サーバー証明書と照合する際には、その多数のCA証明書のなかからサーバー証明書と一致する証明書情報を含むCA証明書を検索する必要がある。これは、各CA証明書についてサーバー証明書との一致を判定することから長時間を要することがある。CA証明書をたとえばディレクトリサーバーに保存することでネットワークにおいて共有したシステムにおいては、ネットワークに属するクライアントがアクセスするサーバーのCA証明書すべてがディレクトリサーバーに保存されるため、検索対象の証明書の数は非常に多く、この検索に要する時間が証明書の照合の遅延をもたらす。
【0008】
本発明は上記従来例に鑑みてなされたもので、上記課題を解決して、迅速な照合が可能な画像形成システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明は以下の構成を備える。
【0010】
ネットワークに接続されたプリントサーバーと画像形成装置とデータベースとが接続されたネットワーク印刷システムであり、前記画像形成装置が発行する第1の証明書情報は予め前記データベースに登録され、前記プリントサーバーが前記画像形成装置を用いて印刷を行う際には、前記画像形成装置が要求に応じて発行する第2の証明書情報と、前記データベースに登録されている前記画像形成装置の前記第1の証明書情報とを照合して、一致した場合には前記画像形成装置を用いた印刷を開始するネットワーク印刷システムであって、
前記データベースには、前記第1の証明書情報が、当該情報の検索のキーとなるキー情報と関連付けられたエントリとして登録されており、
前記プリントサーバーは、前記データベースに登録された前記キー情報を前記画像形成装置に関連付けて保存し、前記画像形成装置を用いて印刷を行う際には、当該画像形成装置に関連付けられた前記キー情報を前記データベースに送信して該当する前記第1の証明書情報を検索させ、
前記データベースは、前記キー情報で特定される第1の証明書情報を前記プリントサーバーに送信し、
前記プリントサーバーは、前記データベースから受信した前記第1の証明書情報と、前記画像形成装置から受信した第2の証明書情報とを照合し、照合の結果に応じて前記画像形成装置を用いた印刷を開始する。
【0011】
あるいは他の側面によれば本発明は以下の構成を備える。
【0012】
ネットワークに接続されたプリントサーバーと画像形成装置とデータベースとが接続されたネットワーク印刷システムであり、前記画像形成装置が発行する第1の証明書情報は予め前記データベースに登録され、前記プリントサーバーが前記画像形成装置を用いて印刷を行う際には、前記画像形成装置が要求に応じて発行する第2の証明書情報と、前記データベースに登録されている前記画像形成装置の前記第1の証明書情報とを照合して、一致した場合には前記画像形成装置を用いた印刷を開始するネットワーク印刷システムであって、
前記データベースには、前記第1の証明書情報が、当該情報の検索のキーとなるキー情報と関連付けられたエントリとして登録されており、
前記プリントサーバーは、前記データベースに登録された前記キー情報を前記画像形成装置に関連付けて保存し、前記画像形成装置を用いて印刷を行う際には、当該画像形成装置に関連付けられた前記キー情報を、前記画像形成装置から受信した前記第2の証明書情報とともに前記データベースに送信して該当する前記第1の証明書情報と照合させ、
前記データベースは、前記キー情報で特定される第1の証明書情報を前記第2の証明書情報と照合してその結果をプリントサーバーに送信し、
前記プリントサーバーは、前記データベースから受信した照合の結果に応じて前記画像形成装置を用いた印刷を開始する。
【0013】
あるいは他の側面によれば本発明は以下の構成を備える。
【0014】
ネットワークに接続されたプリントサーバーと画像形成装置とデータベースとが接続されたネットワーク印刷システムにおいて、前記画像形成装置が発行する第1の証明書情報は予め前記データベースに登録され、前記プリントサーバーが前記画像形成装置を用いて印刷を行う際には、前記画像形成装置が要求に応じて発行する第2の証明書情報と、前記データベースに登録されている前記画像形成装置の前記第1の証明書情報とを照合して、一致した場合には前記画像形成装置を用いた印刷を開始するネットワーク印刷システムにおけるプリントサーバーであって、
前記データベースには、前記第1の証明書情報が、当該情報の検索のキーとなるキー情報と関連付けられたエントリとして登録されており、
前記プリントサーバーは、前記データベースに登録された前記キー情報を前記画像形成装置に関連付けて保存し、前記画像形成装置を用いて印刷を行う際には、当該画像形成装置に関連付けられた前記キー情報を前記データベースに送信して該当する前記第1の証明書情報を検索させ、
前記データベースは、前記キー情報で特定される第1の証明書情報を前記プリントサーバーに送信し、
前記プリントサーバーは、前記データベースから受信した前記第1の証明書情報と、前記画像形成装置から受信した第2の証明書情報とを照合し、照合の結果に応じて前記画像形成装置を用いた印刷を開始する。
【0015】
あるいは他の側面によれば本発明は以下の構成を備える。
【0016】
ネットワークに接続されたプリントサーバーと画像形成装置とデータベースとが接続されたネットワーク印刷システムにおいて、前記画像形成装置が発行する第1の証明書情報は予め前記データベースに登録され、前記プリントサーバーが前記画像形成装置を用いて印刷を行う際には、前記画像形成装置が要求に応じて発行する第2の証明書情報と、前記データベースに登録されている前記画像形成装置の前記第1の証明書情報とを照合して、一致した場合には前記画像形成装置を用いた印刷を開始するネットワーク印刷システムにおけるデータベースであって、
前記データベースには、前記第1の証明書情報が、当該情報の検索のキーとなるキー情報と関連付けられたエントリとして登録されており、
前記プリントサーバーは、前記データベースに登録された前記キー情報を前記画像形成装置に関連付けて保存し、前記画像形成装置を用いて印刷を行う際には、当該画像形成装置に関連付けられた前記キー情報を前記データベースに送信して該当する前記第1の証明書情報を検索させ、
前記データベースは、前記キー情報で特定される第1の証明書情報を前記プリントサーバーに送信し、
前記プリントサーバーは、前記データベースから受信した前記第1の証明書情報と、前記画像形成装置から受信した第2の証明書情報とを照合し、照合の結果に応じて前記画像形成装置を用いた印刷を開始する。
【発明の効果】
【0017】
本発明によれば、自己署名を使用したTLS通信の場合でもなりすましの発生リスクを防止する。さらに、画像形成装置が多数存在した場合でも、検証の時間を短縮することができる。
【図面の簡単な説明】
【0018】
【図1】本発明に係る印刷システムのシステム構成図
【図2】クライアントPC102、プリントサーバー103、ディレクトリサーバー104のハードウェア構成を示すブロック図
【図3】画像形成装置105、106、107のハードウェア構成を示すブロック図
【図4】実施形態に記載の技術の処理フローを示すシーケンス図
【図5】ディレクトリサーバー104が持つデータ構造を示すデータ構造図
【図6A】実施形態1におけるプリントサーバー104のソフトウェア構成図、
【図6B】実施形態2、3におけるプリントサーバー104のソフトウェア構成図
【図7】プリントサーバー104の画像形成装置を追加する画面のUI画面図
【図8】プリントサーバー104が保持するデバイスの情報のテーブルを示す図
【図9】ディレクトリサーバー104のソフトウェア構成図
【図10】プリントサーバー103の処理を示すフローチャート
【図11】ディレクトリサーバー104の処理を示すフローチャート
【図12】画像形成装置105のソフトウェア構成図
【図13】画像形成装置105が作成する証明書の例を示す図
【図14】プリントサーバー103の処理を示すフローチャート
【図15】ディレクトリサーバー104が持つデータ構造を示すデータ構造図
【発明を実施するための形態】
【0019】
以下、本発明を実施するための最良の形態であるネットワーク印刷を行うネットワーク印刷システムについて図面を用いて説明する。まず、課題を解決するために想定されるシステムについて説明する。
【0020】
<印刷システム構成>
図1は、本発明を適用した印刷システムのシステム構成図である。図1においては、クライアントPC102、プリントサーバー103、データベース(DB)装置104、画像形成装置105、106、107がネットワーク101に接続されている。ネットワーク101は任意の接続形式で、イントラネットでもインターネットでもよく、HUBやルーター等の仲介装置を介して複数のネットワークを介在していてもよい。ただし、本実施形態ではTLSがサポートされている必要がある。クライアントPC102はプリントサーバー103に対して印刷依頼を行う装置である。プリントサーバー103は、クライアントPC102からの印刷依頼を受けて、クライアントが所望する画像形成装置に対して印刷を行う装置である。データベース104は、画像形成装置105、106、107が持っている証明書に関する情報(証明書または証明書のハッシュ値等)を保存しておき、要求されるとその要求に応じて保存されている証明書情報を返却する装置である。画像形成装置105、106、107は、プリントサーバー103からの依頼(印刷ジョブ)を受けて実際に印刷を行うための装置である。なお本実施形態では、特に断らない限り、データベース104として、Lightweight Directory Access Protocol(LDAP)サーバーやActive Directory(AD)サーバー等のディレクトリサーバーを用いる。また、画像形成装置の代表として画像形成装置105を使用する。さらに、印刷プロトコルとしては、セキュア通信を用いる可能性があるものであれば任意のものとする。
【0021】
<コンピュータのハードウェア構成>
図2は、クライアントPC102、プリントサーバー103、ディレクトリサーバー104等を実現するコンピュータのハードウェア構成を示している。CPU201は、システムバス204に接続された各種デバイスの制御を行う。ROM202はBIOSやブートプログラムを記憶するROM、RAM203はCPU201の主記憶装置として使用されるRAMである。キーボードコントローラ(KBC)205は、マウス(登録商標)等のポインティングデバイス209、キーボード210からの情報などの入力に係る処理を行う。表示制御部(CRTC)206は、内部にビデオメモリを有し、CPU201からの指示に従ってそのビデオメモリに描画すると共に、ビデオメモリに描画されたイメージデータをビデオ信号としてCRT表示装置211に出力する。なお、図2において表示装置としてCRTを例示しているが、液晶表示装置等、その表示装置の種類は問わない。ディスクコントローラ(DKC)207は、ハードディスク(HDD)212、フロッピー(登録商標)ディスク213へのアクセスを行う。ネットワークインタフェースカード(NIC)208は、ネットワークに接続し、ネットワークを介しての情報通信を行うものである。なお、HDD212には、OSやOS上で動作する各種アプリケーションプログラム等が格納される。上記構成において、本装置の電源がONになると、CPU201はROM202に格納されたブートプログラムに従って、HDD212からOSをRAM203に読み込み、情報処理装置として機能するようになる。
【0022】
<画像形成装置のハードウェア構成>
図3は、画像形成装置105、106、107のハードウェア構成を示している。CPU301は、ROM303のプログラム用ROMまたは外部記憶装置311に記憶された制御プログラムに基づいてシステムバス304に接続される各種のデバイスとのアクセスを総括的に制御する。CPU301はまた、印刷インターフェース307を介して接続される印刷部(プリンタエンジン)310に出力情報としての画像信号を出力したり、読取インターフェース312を介して接続される読取部(スキャナ)313から入力される画像信号を制御する。また、このROM303のプログラム用ROMには、CPU301が実行可能な制御プログラム等を記憶する。さらに、ROM303のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ(アウトラインフォントデータを含む)等を記憶し、ROM303のデータ用ROMには、クライアントコンピュータ上で利用される情報等を記憶している。CPU301はLANコントローラ部306を介してネットワーク上のクライアントコンピュータやデバイスとの通信処理が可能となっている。RAM302は、主としてCPU301の主メモリ,ワークエリア等として機能し、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM302は、出力情報展開領域,環境データ格納領域等に用いられる。ハードディスク(HDD)、ICカード等の外部記憶装置311は、ディスクコントローラ(DKC)308によりアクセスが制御される。ハードディスクは、アプリケーションプログラム、フォントデータ、フォームデータ等を記憶したり、プリントジョブを一時的にスプールし、スプールされたジョブを外部から制御するためのジョブ格納領域として使用される。またさらに、スキャナ313から読み取った画像データやプリントジョブの画像データをBOXデータとして保持し、ネットワークから参照したり、印刷を行うBOXデータ格納領域としても使用される。本実施形態においては、外部記憶装置としてはHDDを使用するものとし、ジョブログ、画像ログ等各種ログを保持する。操作パネル305は、ユーザーがソフトウェアキーから各種情報を入力することが可能である。前述した外部記憶装置は、1個に限らず、少なくとも1個以上備えられ、内蔵フォントに加えてオプションフォントカードや、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。不揮発性メモリ309は、操作パネル305から設定される各種設定情報を記憶している。
【0023】
また、図示していないが、デバイス104にはさらにオプションで、ステープルやソート機能を行うフィニッシャや、両面印刷機能を実現するための両面装置など各種拡張装置を装着することが可能となっており、それらの動作はCPU301から制御される。
【0024】
ここで、本発明を実施する際におけるシステムの処理について、シーケンス図4と、データ構造図5とを用いて説明する。ここでは画像形成装置105を代表に記載しているが、他の画像形成装置も同じ処理を行う。
【0025】
<システムによる処理シーケンス>
画像形成装置105の設定を行う際、プリントサーバー103との間でセキュア通信を行うために証明書を設定する。その際、画像形成装置105は、証明書に関する情報をディレクトリサーバー104に登録する(S401)。この第1の証明書情報がCA証明書に相当する。これ以降、特に断らない限り、セキュア通信をTLSとして記載する。なお、本実施形態においては、ディレクトリサーバー104は図5のようなデータ構造で保存情報を管理している。ただし、他のデータ構造で管理していてもよい。図5のデータ構造については後述する。次に、プリントサーバー103は、クライアントPC102と画像形成装置105の間を仲介するため、画像形成装置105を自身にインストールする(S402)。すなわち、画像形成装置105をネットワークに接続された画像形成機能を持つデバイスとして登録し、そのデバイスドライバをインストールする。これらの手順は、以下で説明する印刷処理手順に先行して行われていれば、いつ行われてもよい。
【0026】
次に、クライアントPC102から印刷依頼を出す時の処理について説明する。クライアントPC102はプリントサーバー103に対して、画像形成装置105で印刷を行うよう印刷依頼を出す(S403)。この依頼を受け取ったプリントサーバー103は、画像形成装置105に対して印刷依頼を出すために、画像形成装置105との間にTLSの接続を試みる(S404)。この接続の際に画像形成装置105からプリントサーバー103に対して証明書が送付される(S405)。この第2の証明書情報がサーバー証明書に相当する。証明書を受信したプリントサーバー103はそれを検証することを試みる。その検証の方法として、ディレクトリサーバー104に登録されている証明書情報を送付してもらうように依頼し(S406)、その応答としてディレクトリサーバー104は、それに登録されている証明書情報(504、505、506、...)を全て送付する(S407)。プリントサーバー103は、ディレクトリサーバー104から受信した証明書情報と画像形成装置から送付された証明書情報とを比較することによって証明書の検証を行う(S408)。S408の比較を行うためには、ディレクトリサーバー104に登録された全証明書情報(504、505、506、...)の中から、画像形成装置から受信した証明書情報に一致するものを総当たりで検索する。一致するものがあれば検証は成功であり、なければ失敗である。以上の検証が成功裡に終了した後、プリントサーバーと画像形成装置の間のTLS接続の確立は完了する。これ以降はプリントサーバー103と画像形成装置105の間はTLSにより暗号化される。プリントサーバー104は、S410でクライアントPC102が送付した印刷データを暗号化して画像形成装置105に送信する。
【0027】
なお、本実施形態では、プリントサーバー103がディレクトリサーバー104に対してS406で証明書情報を要求して、S407で証明書情報を受信しているが、S406で画像形成装置の証明書情報とともに検証を依頼し、ディレクトリサーバー104側で検証を行った結果をS407でプリントサーバーに返信するという方法も考えられる。構成としてはどちらでもよいが、後者の方法を採用する場合は、プリントサーバー103はディレクトリサーバー104に対して画像形成装置より受信した証明書情報も含めて検証の依頼を送信する。この場合でも、ディレクトリサーバー104は、受信した証明書情報と登録された証明書情報とを、一致するまで、あるいは一致するものがなければすべての証明書情報について比較する。ディレクトリサーバー104は、比較結果をプリントサーバー103に送信する。プリントサーバー103は、比較結果が正しければ画像形成装置を用いた印刷を開始し、比較結果がエラーの場合は画像形成装置を用いた印刷を行わない。以上が課題を解決するために想定されるシステムの処理の説明となる。
【0028】
図5は、ディレクトリサーバー104が管理するアカウント情報の保持の仕方を示すデータ構造図である。一般的なディレクトリサーバー104では、図5のようなツリー構造をRAM203やHDD212に保持してアカウント情報を保存および管理している。図5では、組織(Organization)、組織のユニット(Organization Unit)、ユーザーの順で階層構造としているが、データ構造については任意である。図5では画像形成装置105に対してアカウント506、画像形成装置106に対してアカウント505、画像形成装置107に対してアカウント504が対応付けられているものとする。この構造によると、アカウント506は、大組織を示す階層501、中組織を示す階層503の下に位置する階層(葉)に属する。アカウント情報としては、ユーザーID(図中のUserID)とパスワードとが登録されている。ここではさらに、画像形成装置が作成し、ディレクトリサーバー104に送信した証明書の情報(図中のCertInfo)も登録されている。また、図5に記載している例は一部であり、実際には多数の画像形成装置のアカウントや、画像形成装置以外の情報機器のアカウント等も管理されている。
【0029】
さらに、このアカウント情報のデータベース(DB)から各エントリ(すなわち各装置のアカウント情報501,502,503)を検索するためのキーとしては" printer105:AAA002:AAA:Japan"のように、ツリー構造の各階層の情報が含まれた形式が用いられるものとし、ツリー構造を走査して検索を行わなくてもよいような仕組みになっている。検索のキーは別の形式であってもよい。この検索のためのキーとなる情報は、本明細書では拡張されたアカウント情報の一部として特にキーアカウント情報(あるいはキー情報)と呼び、そのほかの部分と区別する。なおこのキーアカウント情報は、木構造のデータベースにおいては葉ノードに至る経路を示すために経路情報と呼ぶこともある。
【0030】
しかし、上述のようなシステムでは、ディレクトリサーバー104において、多数登録されている証明書情報をメッセージに含めて送信するため、ディレクトリサーバー104にも負荷がかかるし、さらにネットワークにも負荷がかかることになる。さらに、全証明書情報を受信したプリントサーバー103側も、自分が探している証明書情報が最後にエントリされていたりすると、検索回数が増えて負荷がかかることになる。
【0031】
以降では、この問題の解決策を施した形態で、課題を解決するための実施形態を記載する。システム構成は上述したものと同じである。従って、以降の説明では上述のシステム構成と異なる点のみを説明する。したがって上述した内容と共通する構成やシーケンスは以下の全実施形態に共通するものであり、以下の実施形態では説明は省略するものの、それぞれの実施形態に記載された発明に含まれる。
【0032】
[実施形態1]
本実施形態で上述のシステムと異なるのは、プリントサーバー103と、ディレクトリサーバー104の処理である。したがってシステムにおける印刷処理シーケンスも図4とは一部異なる。まず、本実施形態におけるプリントサーバー103とディレクトリサーバー104のソフトウェア構成について説明する。
【0033】
<プリントサーバー103のソフトウェア構成>
図6Aは、本実施形態におけるプリントサーバー103のソフトウェア構成図である。UI制御部601は、プリントサーバー103において画像形成装置の設定を追加するためのユーザーインタフェース(UI)画面を描画し、CRTC206を介してCRT211に表示する部位である。表示されるUIについては後述する。入力制御部602はユーザー(主にネットワーク管理者)が画像形成装置を追加するための設定内容を入力する部位である。「部位」とは、たとえばCPUにより実行されるプログラムモジュール等により実現される。設定値取得部603は、入力制御部602に入力された設定値を受け取る部位である。画像形成装置設定部604は、設定値取得部603が受け取った値の中から、画像形成装置の追加に関する部分を抽出し、プリントサーバー103において画像形成装置を使用可能な状態にセットアップする部位である。一方、アカウント情報取得部605は、設定値取得部603が取得した値から、画像形成装置がディレクトリサーバーにアクセスするためのアカウント情報を抽出する部位であり、アカウント情報保存部606は、抽出されたアカウント情報をセットアップされた画像形成装置の情報とともにストレージ(ここではHDD212とする)に保存する部位である。保存する情報は後述する。
印刷受付部607は、NIC208を介してネットワークパケットを受信することによって、クライアントPC102から印刷要求や印刷データを受け付ける部位である。TLS接続部608は、印刷受付部が印刷要求を受けるとともに、画像形成装置へのTLS接続の確立の開始から完了までを制御する部位である。TLS接続部608は、TLS接続を確立する過程で画像形成装置105から証明書を送付される。証明書検証部609はその証明書を検証する部位である。証明書の検証フローについては後述する。印刷データ送信部610は、証明書の検証が正常に終了してTLS接続を確立した後、印刷データをTLSで暗号化して送信する部位である。
【0034】
図7は、画像形成装置をプリントサーバー103に追加的に登録する際にプリントサーバー103のUI制御部601により表示されるUI画面を示している。本画面では、既にユーザーによる画像形成装置の追加的登録が指示され、そのための設定値の入力が開始されているものとし、ユーザーは画像形成装置105の設定を行っている。ここでは、画像形成装置105のIPアドレスを、192.168.5.25としている。入力欄701は画像形成装置を追加するためのものであり、上述した本実施形態の前提となるシステムでも存在する。入力欄702は、ディレクトリサーバー104に設定されている画像形成装置のアカウント情報(本例では前述したキーアカウント情報)を入力するためのものである。ここでは、ディレクトリサーバー104に登録されている図5に示したアカウントに関する検索キーとなるキーアカウント情報を、階層ごとにコロン(":")で区切った形式で入力する。しかしながら、各項目について入力欄を設けてもよいし、もっと単純に入力内容をユーザー名のみとしてもよい。また、本実施形態ではディレクトリサーバー104を使用しているが、ディレクトリサーバー104以外のデータベースを用いた場合、設定される項目はデータベース検索のキーとなる識別子である(例えばUUID)。これらの項目が、追加登録される画像形成装置に関連付けられてプリントサーバー103に保存される。
【0035】
図8は、プリントサーバー103に保存されたアカウント情報のテーブルである。デバイス名やIPアドレス等とともに、ユーザーによって設定されたアカウント情報、本例ではキーアカウント情報が保存されている。ここでは3個しか登録されていないが、実際にはネットワークに接続している画像形成装置の台数分のエントリが存在する。
【0036】
<ディレクトリサーバー104のソフトウェア構成>
図9は、本実施形態におけるディレクトリサーバー104のソフトウェア構成図である。アカウント情報検索部901は、アカウント情報に含まれたキーアカウント情報を検索キーにして、図5で説明したツリー構造から該当するエントリを検索する部位である。証明書情報要求受信部902はNIC208から受信した要求を受け付ける部位である。この要求はプリントサーバー103の証明書検証部609が、保存しているアカウント情報を含めて送信するものである。証明書情報抽出部903は、アカウント情報と関連付けられて保存されている証明書情報を取り出す部位である。証明書情報は、たとえば図5ではCertInfoフィールドである。証明書情報送信部904は、アカウント情報から取り出した証明書情報を、NIC208を通してプリントサーバー103に送信する部位である。
【0037】
<証明書の検証手順>
次に、本発明において、プリントサーバー103がディレクトリサーバー104を用いて画像形成装置105から受信した証明書を検証する流れについて図10と図11のフローチャートを用いて説明する。図10はプリントサーバー103により実行される処理のフローチャートであり、図11はディレクトリサーバー104により実行される処理のフローチャートである。
【0038】
プリントサーバー103のTLS接続部608が、画像形成装置105が発行する証明書を受信すると(S1001)、証明書検証部609が検証を行う。検証のフローは、まずアカウント情報保存部606が保存した図8のテーブルから、印刷に使用する画像形成装置のエントリすなわちIPアドレスおよびキーアカウント情報を取得する(S1002)。取得に成功しなかった場合、画像形成装置105は登録されていないのでエラー処理を行う(S1012)。このエラー処理としては、接続をこの段階で切ることができてもよいし、接続を継続することができてもよい。取得できた場合(テーブルにエントリが登録されている場合)、取得したエントリを画像形成装置105のIPアドレスおよびキーアカウント情報(あるいはそのいずれか一方)と比較して、取得したエントリが画像形成装置105のエントリであるか否かを検証する(S1004)。違っていれば再度取得を行い、画像形成装置105のものであれば、取得したキーアカウント情報を含むアカウント情報とともに、ディレクトリサーバー104に対して証明書情報の要求メッセージ(証明書情報要求)を送信する(S1006)。送信されるアカウント情報は、キーアカウント情報とともに画像形成装置のユーザーIDおよびパスワードを含むアカウント情報全体である。ただし、証明書情報に対応した画像形成装置を特定することのみを目的とするのであれば、キーアカウント情報のみであってもよい。
【0039】
ディレクトリサーバー104の証明書情報要求受信部902が上記の要求メッセージを受信すると(S1101)、証明書情報抽出部903が要求メッセージからアカウント情報を抽出する(S1102)。アカウント情報検索部901が抽出したアカウント情報をキーとして図5に示したデータベースを検索することによって該当するエントリが検索される(S1103)。検索によりヒットすればユーザーIDおよびパスワードの照合も行われ、一致して初めて検索が成功して該当する証明書情報が得られる。検索に成功した場合、検索された情報の中から証明書情報を抽出し(S1105)、証明書情報送信部904がプリントサーバー103に対して抽出した証明書情報を含む応答メッセージを送信する(S1106)。一方、アカウント情報が登録されていない場合はエラー処理を行う(S1107)。エラー処理としてはプリントサーバー103に対して証明書情報送信部904がエラーメッセージを送信する。
【0040】
ディレクトリサーバー104から送信された応答メッセージは、プリントサーバー103の証明書検証部609によって受信され(S1007)、証明書検証部609は受信した応答メッセージから証明書情報を抽出し(S1008)、既に受信済みの画像形成装置105の証明書情報と比較を行う(S1009)。ここで、ディレクトリサーバー104からの応答がなかった場合あるいはエラーメッセージを受信した場合はエラー処理を行う。S1009での比較の結果、一致した場合はTLSの残りの処理を行ってセキュアな接続を確立する。
【0041】
TLS接続が確立された後は、プリントサーバー103と画像形成装置105の間でデータが暗号化されて通信されるようになる。暗号化は、たとえば画像形成装置105から受信した証明書情報に含まれた鍵情報を用いて行われる。
【0042】
以上の処理により、プリントサーバー103にアカウント情報を予め登録しておき、それを受信したディレクトリサーバー104が、受信したアカウント情報をキーとして証明書情報を検索することで、証明書情報の検索を迅速化することができる。すなわち、たとえば図5に示した証明書情報のデータベースであれば、そのすべてを走査することなく、キーとなるアカウント情報に従って枝をたどるだけで該当する画像形成装置のアカウント情報にたどり着くことができる。具体的には、本システム構成においては、ディレクトリサーバー104は、図5のデータベースから、たとえば証明書情報504、505、506といった順に、一致する証明書情報を検索していく必要がある。そのため、一回当たりの比較にも照合する回数の期待値は、証明書情報のエントリ数の2分の1である。しかも、検証対象のサーバー証明書に対応するCA証明書が必ずしも登録されているとは限らず、その場合には全エントリについて照合が行われるため、照合回数の平均値はさらに増える。これに対して本発明を適用すると、プリントサーバー103から検索用のアカウント情報が送付されてくるため、そのアカウント情報に従って図5の木構造の根ノード501、分岐ノード503、葉ノード(証明書情報)506と、階層の順に1回で検索を行うことができ、アカウント情報で特定された証明書情報を対象として比較を行えばよい。
【0043】
以上のように、本実施形態によれば、証明書情報を要求する要求元(プリントサーバー103)に、検索対象の証明書情報を特定するための情報(キー情報)をあらかじめ登録しておき、証明書情報の要求時にはそのキー情報を送信することで、該当する証明書情報を迅速に得ることができる。
【0044】
これをデータベース側から見れば、ディレクトリサーバー104では、証明書情報を特定するためのキー情報と関連付けて証明書情報のデータベースを構成することで、受信した経路情報に該当する証明書情報を迅速に検索し、要求元に引き渡すことができる。
【0045】

なお、本実施例形態では、プリントサーバー103がディレクトリサーバー104に対してS1006で証明書情報を要求して、S1008で証明書情報を受信している。しかしながら、S1006でアカウント情報と画像形成装置の証明書情報と検証の依頼とを送信し、ディレクトリサーバー104側でアカウント情報と画像形成装置の証明書情報とに基づき証明書の検証を行い、その検証結果をプリントサーバーより受信するという方法も考えられる。
【0046】
具体的には、プリントサーバー103はディレクトリサーバー104に対して画像形成装置より受信した証明書情報も含めて検証の依頼を送信する。この場合でも、ディレクトリサーバー104は、受信したアカウント情報に対応する証明書情報を登録されている証明書情報から抽出し、抽出した証明書情報と受信した証明書情報を比較する。ディレクトリサーバー104は、比較結果をプリントサーバー103に送信する。プリントサーバー103は、比較結果が一致であれば画像形成装置を用いた印刷を開始し、比較結果が一致でないエラーの場合は画像形成装置を用いた印刷を行わない。
【0047】
[実施形態2]
次に、第2の実施形態について説明を行なう。本実施形態では、実施形態1と異なる点についてのみ説明を行なう。ネットワーク構成、各機器のハードウェア構成、ディレクトリサーバーが持つデータ構造などは共通である。また、解決すべき課題も同じである。
実施形態2では、プリントサーバー103と画像形成装置105の動きが実施形態1と異なる。
【0048】
まず、画像形成装置105について説明する。図12は、画像形成装置105のソフトウェア構成図である。証明書作成部1201は、自己署名の証明書を作成して保存する部位である。作成する際のトリガーとしてはUI画像形成装置105の操作パネル305からでもよいし、その他の方法であってもよい。証明書登録部1202は、作成した証明書をディレクトリサーバー104に対して登録する部位である。ここで、実施形態1と異なるのは作成する証明書に含まれる情報であり、具体的には図13に示す。図13は、実施形態2において画像形成装置105が作成し、ディレクトリサーバー104に登録される証明書の属性の例である。実施形態1の証明書と異なるのは、フレンドリ名1301というフィールドに、画像形成装置105がディレクトリサーバー104にアクセスするためのアカウント情報が含まれている点である。なお本実施形態ではフレンドリ名にアカウント情報が含まれているが、別の属性値として含まれていてもよい。その場合には、下記の手順におけるフレンドリ名の情報は、その別の属性値で置き換えられる。
【0049】
次に、プリントサーバー103について説明する。図6Bは、本実施形態におけるプリントサーバー103のソフトウェア構成図である。実施形態1との違いは、ユーザーが設定を行う際の情報からアカウント情報を取得して保存する部位(アカウント情報取得部605およびアカウント情報保存部606)が不要な点である。また、証明書検証部609の動作も異なる。
【0050】
次に、本実施形態における証明書検証の流れについて、図14に示すプリントサーバー103のフローチャートを用いて説明する。画像形成装置105において図13に示すような証明書が予めディレクトリサーバー104に登録されているのは前述した通りである。プリントサーバー104のTLS接続部607が、TLS接続を確立する過程で画像形成装置105より図13に示す証明書を受信すると(S1401)、証明書検証部609がディレクトリサーバー104を用いて証明書を検証する。検証の方法としては、画像形成装置105より受信した証明書のフレンドリ名に含まれている情報の取得を試み(S1402)、取得可能か否かを判断する(S1403)。取得できた場合は、取得したフレンドリ名の情報を含めて証明書情報の要求メッセージをディレクトリサーバー104に送信する(S1404)。取得できなかった場合はエラー処理を行う(S1412)。ディレクトリサーバー104は、受信した要求メッセージに含まれたフレンドリ名の情報をキーとして証明書情報を検索する。この手順は図11に示したとおりである。
【0051】
プリントサーバー103は、要求メッセージの送信後、ディレクトリサーバー104からのレスポンスの有無を確認し(S1405)、レスポンスが無い場合はエラー処理を行う(S1412)。エラー処理としては、接続を切断してもよいし、接続を継続してもよいし、従来技術のように全ての証明書情報を取得して検証する方式が選択できるようになっていてもよい。ディレクトリサーバー104からのレスポンスを受信すると、レスポンスの内容を検証し(S1406)、証明書情報が含まれているか否かを判定する(S1407)。判定の結果、証明書情報が含まれていない場合は、エラー処理に移行する(S1412)。証明書情報が含まれている場合、証明書情報を取得し(S1408)、画像形成装置105から受信した証明書情報と比較する(S1409)。この比較で一致しない場合はエラー処理に移行し(S1412)、一致した場合は証明書の検証が正常に完了したものとして、TLS接続部608がTLSの残りの処理を行うことで接続を確立する(S1411)。
【0052】
以上のように、本実施形態によれば、検証対象の画像形成装置の証明書情報にそのアカウント情報を含めておき、証明書情報の要求時にはそのアカウント情報をディレクトリサーバーに送信することで、該当する証明書情報を迅速に得ることができる。
【0053】
さらに実施形態1にあるようなプリントサーバー104へのアカウント情報の設定も省略することができる。
【0054】
[実施形態3]
次に、実施形態1、実施形態2と異なる実施形態について説明を行う。本実施形態では、実施形態2と異なる点のみを説明する。ネットワーク構成、各機器のハードウェア構成、ディレクトリサーバーが持つデータ構造、各機器のソフトウェア構成などは実施形態2と共通である。また、解決すべき課題も同じである。実施形態3では、プリントサーバー103、ディレクトリサーバー104、画像形成装置105の動きが実施形態2と異なる。
【0055】
まず、画像形成装置105がディレクトリサーバー104に証明書情報を登録する際の動作について説明する。実施形態2と異なるのは、証明書の中に画像形成装置のアカウント情報を含めるのではなく、画像形成装置の識別子(例えばIPアドレスやUUID)を証明書に含め、その識別子を証明書情報とともにディレクトリサーバー104に登録する点である。この識別子の情報は証明書のどの属性に含まれていてもよいが、特に識別子をIPアドレスとする場合は、証明書のCN属性に含めておくのが通常である。ここでは、識別子としてIPアドレスが登録されているものとする。
【0056】
次に、ディレクトリサーバー104が保持するデータ構造について説明する。図15は、ディレクトリサーバー104が保持するデータ構造を示している。実施形態1、2の図5と異なり、各画像形成装置の証明書情報のエントリ(1501、1502、1503)の項目にIPアドレスが追加されている。ここではIPアドレスが追加されているが、画像形成装置の識別子がIPアドレス以外であった場合は、保存する値もその識別子である。
【0057】
次に、プリントサーバー103がディレクトリサーバー104を用いて画像形成装置105から受信した証明書を検証する流れについて説明する。プリントサーバー103の動作の流れについて実施形態2と異なる点は、図14のフローチャートにおけるS1402の処理が、CN属性に入っているIPアドレスを抽出するように変更になる点のみである。また、ディレクトリサーバー104の動作の流れについて実施形態2と異なる点は、図11のフローチャートにおけるS1102の処理が、要求メッセージからIPアドレス情報を抽出するように変更になる点と、抽出したIPアドレスをキーに図15に示すデータ構造の中から該当するエントリを探し出す点である。
【0058】
以上のように、本実施形態によれば、検証対象の画像形成装置の証明書情報にそのIPアドレスを含めておき、証明書情報の要求時にはそのIPアドレスをディレクトリサーバーに送信することで、該当する証明書情報を迅速に得ることができる。
【0059】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
ネットワークに接続されたプリントサーバーと画像形成装置とデータベースとが接続されたネットワーク印刷システムであり、前記画像形成装置が発行する第1の証明書情報は予め前記データベースに登録され、前記プリントサーバーが前記画像形成装置を用いて印刷を行う際には、前記画像形成装置が要求に応じて発行する第2の証明書情報と、前記データベースに登録されている前記画像形成装置の前記第1の証明書情報とを照合して、一致した場合には前記画像形成装置を用いた印刷を開始するネットワーク印刷システムであって、
前記データベースには、前記第1の証明書情報が、当該情報の検索のキーとなるキー情報と関連付けられたエントリとして登録されており、
前記プリントサーバーは、前記データベースに登録された前記キー情報を前記画像形成装置に関連付けて保存し、前記画像形成装置を用いて印刷を行う際には、当該画像形成装置に関連付けられた前記キー情報を前記データベースに送信して該当する前記第1の証明書情報を検索させ、
前記データベースは、前記キー情報で特定される第1の証明書情報を前記プリントサーバーに送信し、
前記プリントサーバーは、前記データベースから受信した前記第1の証明書情報と、前記画像形成装置から受信した第2の証明書情報とを照合し、照合の結果に応じて前記画像形成装置を用いた印刷を開始することを特徴とするネットワーク印刷システム。
【請求項2】
ネットワークに接続されたプリントサーバーと画像形成装置とデータベースとが接続されたネットワーク印刷システムであり、前記画像形成装置が発行する第1の証明書情報は予め前記データベースに登録され、前記プリントサーバーが前記画像形成装置を用いて印刷を行う際には、前記画像形成装置が要求に応じて発行する第2の証明書情報と、前記データベースに登録されている前記画像形成装置の前記第1の証明書情報とを照合して、一致した場合には前記画像形成装置を用いた印刷を開始するネットワーク印刷システムであって、
前記データベースには、前記第1の証明書情報が、当該情報の検索のキーとなるキー情報と関連付けられたエントリとして登録されており、
前記プリントサーバーは、前記データベースに登録された前記キー情報を前記画像形成装置に関連付けて保存し、前記画像形成装置を用いて印刷を行う際には、当該画像形成装置に関連付けられた前記キー情報を、前記画像形成装置から受信した前記第2の証明書情報とともに前記データベースに送信して該当する前記第1の証明書情報と照合させ、
前記データベースは、前記キー情報で特定される第1の証明書情報を前記第2の証明書情報と照合してその結果をプリントサーバーに送信し、
前記プリントサーバーは、前記データベースから受信した照合の結果に応じて前記画像形成装置を用いた印刷を開始することを特徴とするネットワーク印刷システム。
【請求項3】
前記データベースは前記第1の証明書情報を含むエントリを葉とするツリー構造を有しており、
前記キー情報は、前記ツリー構造の葉に至る経路を示す情報であることを特徴とする請求項1又は2に記載のネットワーク印刷システム。
【請求項4】
前記キー情報は前記プリントサーバーで入力されて保存されることを特徴とする請求項1又は2に記載のネットワーク印刷システム。
【請求項5】
前記キー情報は前記画像形成装置で入力されて前記プリントサーバーに送信され、該プリントサーバーで保存されることを特徴とする請求項1乃至4のいずれか一項に記載のネットワーク印刷システム。
【請求項6】
前記第1の証明書情報を含むエントリにはさらに、当該エントリに対応する画像形成装置のIPアドレスが保存され、
前記キー情報はIPアドレスであることを特徴とする請求項1乃至4のいずれか一項に記載のネットワーク印刷システム。
【請求項7】
ネットワークに接続されたプリントサーバーと画像形成装置とデータベースとが接続されたネットワーク印刷システムにおいて、前記画像形成装置が発行する第1の証明書情報は予め前記データベースに登録され、前記プリントサーバーが前記画像形成装置を用いて印刷を行う際には、前記画像形成装置が要求に応じて発行する第2の証明書情報と、前記データベースに登録されている前記画像形成装置の前記第1の証明書情報とを照合して、一致した場合には前記画像形成装置を用いた印刷を開始するネットワーク印刷システムにおけるプリントサーバーであって、
前記データベースには、前記第1の証明書情報が、当該情報の検索のキーとなるキー情報と関連付けられたエントリとして登録されており、
前記プリントサーバーは、前記データベースに登録された前記キー情報を前記画像形成装置に関連付けて保存し、前記画像形成装置を用いて印刷を行う際には、当該画像形成装置に関連付けられた前記キー情報を前記データベースに送信して該当する前記第1の証明書情報を検索させ、
前記データベースは、前記キー情報で特定される第1の証明書情報を前記プリントサーバーに送信し、
前記プリントサーバーは、前記データベースから受信した前記第1の証明書情報と、前記画像形成装置から受信した第2の証明書情報とを照合し、照合の結果に応じて前記画像形成装置を用いた印刷を開始することを特徴とするプリントサーバー。
【請求項8】
ネットワークに接続されたプリントサーバーと画像形成装置とデータベースとが接続されたネットワーク印刷システムにおいて、前記画像形成装置が発行する第1の証明書情報は予め前記データベースに登録され、前記プリントサーバーが前記画像形成装置を用いて印刷を行う際には、前記画像形成装置が要求に応じて発行する第2の証明書情報と、前記データベースに登録されている前記画像形成装置の前記第1の証明書情報とを照合して、一致した場合には前記画像形成装置を用いた印刷を開始するネットワーク印刷システムにおけるデータベースであって、
前記データベースには、前記第1の証明書情報が、当該情報の検索のキーとなるキー情報と関連付けられたエントリとして登録されており、
前記プリントサーバーは、前記データベースに登録された前記キー情報を前記画像形成装置に関連付けて保存し、前記画像形成装置を用いて印刷を行う際には、当該画像形成装置に関連付けられた前記キー情報を前記データベースに送信して該当する前記第1の証明書情報を検索させ、
前記データベースは、前記キー情報で特定される第1の証明書情報を前記プリントサーバーに送信し、
前記プリントサーバーは、前記データベースから受信した前記第1の証明書情報と、前記画像形成装置から受信した第2の証明書情報とを照合し、照合の結果に応じて前記画像形成装置を用いた印刷を開始することを特徴とするデータベース。
【請求項9】
ネットワークに接続されたプリントサーバーと画像形成装置とデータベースとが接続され、前記画像形成装置が発行する第1の証明書情報は予め前記データベースに登録され、前記プリントサーバーが前記画像形成装置を用いて印刷を行う際には、前記画像形成装置が要求に応じて発行する第2の証明書情報と、前記データベースに登録されている前記画像形成装置の前記第1の証明書情報とを照合して、一致した場合には前記画像形成装置を用いた印刷を開始するネットワーク印刷システムにおけるネットワーク印刷方法であって、
前記データベースには、前記第1の証明書情報が、当該情報の検索のキーとなるキー情報と関連付けられたエントリとして登録されており、
前記プリントサーバーが、前記データベースに登録された前記キー情報を前記画像形成装置に関連付けて保存し、前記画像形成装置を用いて印刷を行う際には、当該画像形成装置に関連付けられた前記キー情報を前記データベースに送信して該当する前記第1の証明書情報を検索させる工程と、
前記データベースが、前記キー情報で特定される第1の証明書情報を前記プリントサーバーに送信する工程と、
前記プリントサーバーが、前記データベースから受信した前記第1の証明書情報と、前記画像形成装置から受信した第2の証明書情報とを照合し、照合の結果に応じて前記画像形成装置を用いた印刷を開始する工程と
を有することを特徴とするネットワーク印刷方法。
【請求項10】
ネットワークに接続されたプリントサーバーと画像形成装置とデータベースとが接続され、前記画像形成装置が発行する第1の証明書情報は予め前記データベースに登録され、前記プリントサーバーが前記画像形成装置を用いて印刷を行う際には、前記画像形成装置が要求に応じて発行する第2の証明書情報と、前記データベースに登録されている前記画像形成装置の前記第1の証明書情報とを照合して、一致した場合には前記画像形成装置を用いた印刷を開始するネットワーク印刷システムにおけるネットワーク印刷方法であって、
前記データベースには、前記第1の証明書情報が、当該情報の検索のキーとなるキー情報と関連付けられたエントリとして登録されており、
前記プリントサーバーが、前記データベースに登録された前記キー情報を前記画像形成装置に関連付けて保存し、前記画像形成装置を用いて印刷を行う際には、当該画像形成装置に関連付けられた前記キー情報を、前記画像形成装置から受信した前記第2の証明書情報とともに前記データベースに送信して該当する前記第1の証明書情報と照合させる工程と、
前記データベースが、前記キー情報で特定される第1の証明書情報を前記第2の証明書情報と照合してその結果をプリントサーバーに送信する工程と、
前記プリントサーバーが、前記データベースから受信した照合の結果に応じて前記画像形成装置を用いた印刷を開始する工程と
を有することを特徴とするネットワーク印刷方法。
【請求項11】
請求項7に記載のプリントサーバーとしてコンピュータを機能させるためのプログラム。
【請求項12】
請求項8に記載のデータベースとしてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2013−58107(P2013−58107A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願番号】特願2011−196501(P2011−196501)
【出願日】平成23年9月8日(2011.9.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】