JP4955908B2 - データ処理装置及び方法及びプログラム - Google Patents

データ処理装置及び方法及びプログラム Download PDF

Info

Publication number
JP4955908B2
JP4955908B2 JP2003348387A JP2003348387A JP4955908B2 JP 4955908 B2 JP4955908 B2 JP 4955908B2 JP 2003348387 A JP2003348387 A JP 2003348387A JP 2003348387 A JP2003348387 A JP 2003348387A JP 4955908 B2 JP4955908 B2 JP 4955908B2
Authority
JP
Japan
Prior art keywords
communication
destination
encrypted communication
processing apparatus
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003348387A
Other languages
English (en)
Other versions
JP2005117321A (ja
Inventor
伸彦 牧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003348387A priority Critical patent/JP4955908B2/ja
Publication of JP2005117321A publication Critical patent/JP2005117321A/ja
Application granted granted Critical
Publication of JP4955908B2 publication Critical patent/JP4955908B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、ネットワークを介して送られるジョブデータの盗聴、改竄、成りすまし防止を考慮したデータ処理装置、データ処理方法及びプログラムに関する。
従来のネットワーク接続された印刷装置に対して他のネットワーク上の機器から印刷データを印刷する場合は、既知の特定印刷ポートにデータを送信することにより行なっている。例えば、LPDのポート番号は515番が一般的に使用されており、同様にHTTPでは80番が一般的に使用されている。また、ユーザがセキュリティ上、印刷データを暗号化して送信したい場合も同様に、既知の専用の印刷ポートにあらかじめ決められた暗号方式でデータを送信する。暗号方式としては一般的にSSL/TLSなどが使用されている。
また、ネットワーク上のプリンタが複数の印刷用ポートを使用し、コンピュータ毎に印刷用ポートを割り当てるという方法を用いた技術がある。図12はこの技術におけるホストコンピュータとプリンタのデータのやり取りを示している。以下図12について説明する。
まずS1201において、プリンタはネットワーク上の何れかのコンピュータ(以下ホストコンピュータAとする)から送られた印刷要求(create job)を受信する。次にS1202に進み、プリンタはホストコンピュータAから受け取ったcreate jobに記述される印刷ジョブの処理に関する指示などに不備がなければ、印刷データを受信する為の印刷用のポートを利用可能状態(OPEN)にし、ホストコンピュータAが印刷データを送る際の宛先となるURI(以下URI1とする)をホストコンピュータAに送信する。このように、ポートの指定をURIによって行っている。次にS1203で、ネットワーク上の別のコンピュータ(以下ホストコンピュータBとする)からcreate jobを受け取ると、同様にしてホストコンピュータBにもURIを送信するが、このとき送信されるURIはホストコンピュータAに送信されたURI1とは異なるURI2である(S1204)。
このようにホストコンピュータごとに印刷データ送信先のURIを変え、それに対応して使用するポートもホストコンピュータにより異なる。
S1205において、ホストコンピュータAは印刷データを送信するために、S1202で与えられたURI1によって示されたポートとの接続を確立し、S1206に進み、プリンタに印刷データを送信し印刷が実行される。
この技術を用いることで、ユーザは予め印刷装置のIPアドレスや印刷用のポート番号を知っておく必要がなくなる。
さらに、印刷装置がコンピュータから受信したデータの種類に応じて、使用するポート番号をデータを送信したコンピュータに通知し、該ポートにおいてデータを受け取り、処理を行なうといった技術がある。(例えば、特許文献1参照)
特開2002−333958号公報
ユーザがセキュリティ上印刷データを暗号化して送信したい場合、従来の印刷装置では、ユーザは予め印刷装置がどのような通信方法を備えているのか、どのような通信ポートが使用されているのかを把握しておかなくてはならない場合が多く、使い勝手が悪かった。
また、上記従来例のようにコンピュータから受信したデータの種類に応じて、使用するポート番号をコンピュータに通知する技術においては、ユーザが予め使用ポートを把握しておく必要はなくなったが、ユーザが暗号通信を行う旨を印刷装置に指示する方法等は規定されていない。よってセキュリティを考慮した暗号通信などによる安全な印刷ができなかった。
本発明はこのような問題点に鑑みてなされたものであり、ユーザからの暗号通信を行う旨の要求に応じて、ジョブデータを暗号通信を利用して送信する際の宛先となる情報をユーザに通知し、ユーザは該宛先にジョブデータを送信することで暗号通信を行うことが可能となるデータ処理装置を提供することを目的とする。
さらに暗号通信用の宛先にジョブデータが送られた際には、確実に暗号通信が行われるようにし、よりセキュリティ効果を高めた安全なジョブの処理を可能とするデータ処理装置を提供することを目的とする。
上記目的を達成するために本発明におけるデータ処理装置は、情報処理装置から送信されたジョブ処理要求において、暗号化通信が要求されたかを判定する判定手段と、暗号化通信が要求された場合、前記情報処理装置がジョブデータを暗号化通信によって前記データ処理装置へ送信する際の宛先を、当該宛先が前記情報処理装置に割り当てられた状態である利用可能状態にする管理手段と、前記利用可能状態にした宛先を示す識別情報を前記情報処理装置に送信する送信手段と、前記識別情報が指定された接続要求を受信した場合、当該接続要求を送信した装置と暗号化通信を行うための情報が含まれているか否かを判断することによって、当該接続要求を送信した装置との通信が暗号化通信であるか否かを判断する判断手段と、前記判断手段によって暗号化通信であると判断されなかった場合、前記通信による接続を切断する切断手段と、前記判断手段によって暗号化通信であると判断された場合、前記識別情報宛てに送信されるジョブデータを受信する受信手段とを有し、前記管理手段は、前記受信手段によってジョブデータを受信した後、前記宛先を当該宛先が何れの装置にも割り当てられていない状態である利用不可能状態にすることを特徴とする。
以上本発明によれば、ユーザがデータの盗聴、改竄を防止したい場合や、通信相手の成りすましを防止したい場合に、データを送信するクライアント側からその旨を印刷装置に指示できるようになり、指示に応じてセキュリティを考慮した暗号化通信用のポートが割り当てられる為、その際に使用される通信ポートを予め知っておく必要はなくなりユーザの利便性が向上する。また、暗号化通信用のポートに正常に暗号化通信が行われているか判定することで、暗号化通信用ポートに送られたジョブデータに対して確実に暗号化通信が行われ、よりセキュリティ効果を高めた安全なジョブ処理が可能となる。同時に、暗号化通信用のポートに通常の通信方法で送られたジョブデータを処理しないため、不要な処理が軽減される効果がある。さらにこのようなジョブデータの受信を行わないことで、ネットワーク上の負荷を軽減することができる。
さらに、ユーザから暗号化通信が要求された場合に割り当てたポートを暗号化通信用のポートとして登録することで、暗号化通信用のポート番号がその都度変わるため、ユーザに暗号化通信用のポート番号を予め知られることがなくなり、よりセキュリティ効果があがる。
以下、本発明の実施形態について図面を参照して詳細に説明する。この実施形態ではデータ処理装置の一例として印刷装置を例に説明するが、本発明はこれに限定されるものではない。複写機、FAX、スキャナ、複合機、又はネットワークボードなどのデータ処理装置においても適用可能である。また、それらデータ処理装置の種類に応じて、やり取りされるジョブデータの種類についても同様にコピージョブ、FAXジョブ、スキャンジョブ等といった印刷ジョブ以外のデータであってもよい。
図1は、本発明の一実施形態における印刷装置のハードウェア構成を示すブロック図である。CPU101は、印刷装置のソフトウェアプログラムを実行し、装置全体の制御を行う。ROM102は、リードオンリーメモリであり、装置のブートプログラムや固定パラメータ等が格納されている。RAM103は、ランダムアクセスメモリであり、CPU101が装置を制御する際に、一時的なデータの格納などに使用する。HDD108は、ハードディスクドライブであり、印刷データの格納など、様々なデータの格納に使用する。プリンタI/F制御部104は、プリンタ110を制御する装置である。NVRAM105は、不揮発性のメモリであり印刷装置の各種設定値を保存するためのものである。パネル制御部106は、オペレーションパネル109を制御し、各種情報の表示、使用者からの指示入力を行なう。ネットワークI/F制御部107は、LAN111とのデータの送受信を制御する。バス108は、CPU101、ROM102、RAM103、HDD108、プリンタI/F制御部104、NVRAM105、パネル制御部106、ネットワークI/F制御部107が接続され、CPU101からの制御信号や各装置間のデータ信号が送受信されるシステムバスである。
図2は、本発明の実施形態における印刷装置100のソフトウェア構成を示すブロック図である。プリンタ制御部201は、プリンタI/F制御部104を制御するモジュールであり、プリンタ110に画像データを送信や排紙位置の制御などの操作を行う。画像印刷制御部202は、受信した印刷データをプリンタ110で印刷可能なデータに変換するほかに印刷部数や両面印刷の制御など印刷に関する様々な制御を行う。ネットワークドライバ207は、ネットワークI/F制御部107を制御し、ネットワークとのデータ送受信の制御を行う。TCP/IPプロトコル制御部206は、TCP/IPプロトコルを制御するモジュールを備え、ネットワークドライバ207を使用してTCP/IPプロトコルに則ったデータ送受信制御を行う。HTTPサーバ制御部は、HTTP(HyperText Transfer Protocol)と称されるプロトコルの全般を制御するモジュールであり、クライアントから受信したHTTPリクエストパケットを解析し適切な処理を行い、データをSOAP制御部204や画像印刷制御部202等の上位アプリケーションにわたすと共に、上位アプリケーションの指示によりHTTPレスポンスパケットをクライアントに返送する制御を行う。SOAP制御部204はSOAP(Simple Object Access Protocol)と呼ばれるプロトコルを制御するモジュールであり、クライアントから受信したXML(eXtensible Markup Language)形式のデータをXMLパーサ203を使用して解析し、画像印刷制御部204の適切なモジュールを呼び出したり、クライアントに返すべきデータをXMLデータに変換し、HTTPサーバ制御部205を介してクライアントに返信する制御を行う。XMLパーサ203はXML形式データを入力とし解析結果を出力するモジュールである。
図3は、本実施形態におけるHTTP上のSOAPを用いてクライアントから印刷装置に送信されるCreateJobと称されるパケットデータの一例である。このデータはXML形式で記述されている。CreateJobパケットは、印刷装置に対し、ジョブ(印刷)の開始を指示するコマンドであり、要求元のユーザ名(requesting−user−nameタグ)やジョブの処理に関する指示(job−instructionタグ)等の情報が記述されている。図3においてAに図示したsecure−portタグは、印刷データの通信がどのような方法で行なわれるかを指示するタグであり、図3の例では印刷装置に対しSSL(Secure Socket Layer)を用いた通信を指示することを意味する。このタグを読み取ることにより印刷装置は通信方法に準じた印刷用ポートを生成する。
図4は、図3におけるAの部分の他の一例である。図4の例は、印刷データに対し何も処理をせず通常の通信方法により転送されることを指示するものである。
図5は、図3のCreateJobパケットに対する応答パケットデータの一例である。本データも図3と同様にXML形式で記述され、本実施形態においてはHTTP上のSOAPを用いて送受信される。CreateJob応答パケットには、CreateJobコマンド対する結果コード(result−codeタグ)や生成されたジョブの識別子(job−idタグ)、印刷データの宛先を識別する宛先識別子となる印刷用ポートのURI(data−sink−uriタグ)等の情報が含まれている。図5のBで示した部分が印刷用ポートのURIを示す部分であり、図5の例では「https://123.456.7.8:18000/job001」というURIが示されている。これは図3のCreateJobコマンドのsecure−portタグにおいて「SSL」が指示されているため、印刷装置はSSL用の印刷用ポートを生成し、そのURIをdata−sink−uriに格納していることを示している。この場合、URIのスキーマ部分が「https」となっているため、HTTPのSSL/TLS用のポート番号18000番が使用される。従って、クライアントは印刷装置のTCPポート18000番に対して印刷データを送信することになる。
図6は、本実施形態の印刷装置が、createjobを受信した時の動作(印刷要求受信動作)を示すフローチャートである。
以下、図6を用いて本実施形態の印刷装置の印刷開始要求動作について説明する。
まず、S601において印刷装置がcreatejobを受信すると、S602に進み、受信したcreatejobに含まれるsecureportのタグを解析する。S603において、解析の結果SSLによる暗号化通信を指定するタグが発見された場合はS604に進み、いずれかのSSL暗号化通信用のポートを割り当ててopen(利用可能状態)とし、S603においてSSLによる暗号化通信を指定するタグが発見されなかった場合はS605に進み、何れかの通常のデータ通信用のポートを割り当ててopen(利用可能状態)とする。また、本実施形態の印刷装置ではRAM103において、各ポートが現在使用中(何れかのホストコンピュータに既に割り当てられているか)であるかどうか、また各ポートがSSL暗号化通信用のポートであるかどうかを図7(A)に示すリストの形式で管理している。S604又はS605においては、リストを参照し現在使用中でないポートを新規に割り当てている。S606ではS604又はS605において割り当てられたポートの情報を図7(A)のリストを更新し管理する。次にS607に進みS604又はS605において割り当てられてopenの状態になっている印刷用ポートを示すURIを<data−sink−uri>タグとして生成し、S608で、この<data−sink−uri>タグを含むパケットをcreatejobに対するresponseとして、ホストコンピュータに送信する。
図7(A)は、本実施形態の印刷装置においてRAM103に配置され、各ポートの状態を管理しているリストの例を示している。
ここでいう各ポートの状態を管理するとは、そのポートがSSL通信用に使用されるポートであるか通常の通信用に使用されるポートであるか、そしてそのポートが現在使用中(何れかのホストコンピュータに割り当てられている)であるかどうかを管理することである。
図7(A)の701では各ポートの番号を管理している。この欄に示される1000はTCPポート1000番を表している。
702では、各ポートがSSL通信用のポートであるか通常の通信用のポートであるかを示している。図7(A)のリストの例では、各ポートがSSL通信用のポートであるか通常の通信用のポートであるかが予め決まっている(1000番から1002番は通常の通信用のポート、1003番から1005番はSSL通信用のポートであると決まっている)場合である。この欄が「通常」となっているポートは通常通信用のポート、「SSL」となっているポートはSSL通信用のポートであることを表している。
703では、各ポートが現在使用中であるか否かを示している。この欄が「使用中」となっているポートは現在使用中であり、何れかのホストコンピュータに割り当てられている状態であることを示している。また、この欄に何もかかれていないポートは現在使用中でないことを示している。
つまり、図7(A)の場合、「ポート1000番は通常の通信用のポートであり、現在使用中である」ことがわかる。
印刷装置はこのリストを参照し、通常の通信を要求したホストコンピュータには通常通信用の空きポートを割り当て、SSL通信を要求したホストコンピュータにはSSL通信用の空きポートを割り当てる。
また、このリストは、各ポートがSSL通信用に使用されるポートであるか通常の通信用に使用されるポートであるか、そしてそのポートが現在使用中(何れかのホストコンピュータに割り当てられている)であるかどうかを管理するものであればどのような形式のものでもよく、例えば現在使用中のポートのみをリストに管理するようにし、印刷装置が新しくポートを割り当てる際にはリストにないポートから任意にポートを割り当てるようにすることもできる。
さらに、図7(A)では各ポートが通常通信用のポートであるかSSL通信用のポートであるかが予め決められている場合を示したが、通常通信用ポートであるか、SSL通信用のポートであるかが予め決まっておらず、ホストコンピュータからSSL通信が要求された場合には、現在使用中でない何れかのポートを割り当てて、リストに管理する際にSSL通信に使用されるということを記憶しておくようにすることもできる。この場合に使用されるリストの例を図7(B)に示す。
704においては701同様、ポートの番号が管理されている。この欄に示される1000はTCPポート1000番を表している。
705の欄には、各ポートが現在使用中であるか否かを示している。この欄が「使用中」となっているポートは現在使用中であり、何れかのホストコンピュータに割り当てられている状態であることを示している。また、この欄に何もかかれていないポートは現在使用中でないことを示している。
706では、各ポートがSSL通信用のポートであるか通常の通信用のポートであるかを示している。この欄が「通常」となっているポートは通常通信用のポート、「SSL」となっているポートはSSL通信用のポートであることを表している。図7(B)に示すリストの例では、各ポートがSSL通信用のポートであるか通常通信用のポートであるかが予め決まっていない為、ホストコンピュータからSSL通信の要求があった場合には現在使用中でない何れかのポートをホストコンピュータに割り当てた後、706の欄に「SSL」と書き込むことにより、当該ポートがSSL通信に用いられるポートであることを管理する。同様に、ホストコンピュータから通常通信の要求があった場合には、706の欄に「通常」と書き込むことによって、該ポートが通常通信に用いられるポートであることを管理する。
図7(B)に示すリストが作成される実施形態における、印刷要求受信動作の処理の流れについて、図7を用いて説明する。
S603においてホストコンピュータからSSL通信を行いたいという要求があると、S604に進み、ここで行われる処理としてまず図8(B)のリストを参照し、705の欄が現在「使用中」となっていないポートを探し、「使用中」と書き込む。と同時に706の欄に「SSL」と書き込む。S603において通常通信が要求されると、S605に進み、ここでは現在使用中でないポートに「使用中」と書き込み、706の欄には「通常」と書き込む。S606で、S604、S605の処理に応じてリストの更新が行われると、以降の処理は前述の処理(図7(A)のリストが利用される場合)と同様である。
以上のようにしてポートの管理を行うことで、各ポートが予めSSL通信用、通常通信用と決められていない場合でも本発明を実施することができる。
図8は、本実施形態の印刷装置がホストコンピュータから印刷データを受信する場合の動作(データ受信動作)を示すフローチャートである。また、この印刷データの受信動作は、図6に示した印刷要求受信動作に連続して行われるとは限らない。印刷装置が印刷データの受信動作を行う前に、印刷要求受信動作が複数回行われることもありうる。
以下、図8を用いて、印刷データの受信動作を説明する。
まず、S801では、ホストコンピュータが印刷データを送信するために印刷装置とTCP接続を行うのを待っている状態である。Create jobに対するresponseを印刷装置から受け取ったホストコンピュータは、該responseに含まれるdata sink URIを解析し、印刷データを送信するために印刷装置とコネクション(接続)を張る為の印刷装置のIPアドレス、ポート番号を得る。例えば、図5のresponseを印刷装置から受け取ったホストコンピュータはdata sink URIの「https://123.456.7.8:18000/job001」を解析し、IPアドレス「123.456.7.8」の印刷装置の「18000番」ポートにコネクションを張り、該URI宛てにjob001というjobIDで識別される印刷データを送信すればよいことを知る。S802においてホストコンピュータから、印刷データを送信するためのTCP接続があるとS804に進む。接続がない場合はS803でタイムアウトかどうかを判断し(本実施形態では印刷装置がcreate jobを受け取った後、responseとしてURIをホストコンピュータに返してからの時間が、所定の時間を経過したかどうかを判断する)、タイムアウトである場合にはポートを利用不可能状態(close)とし、その旨図7に示したリストを更新する。タイムアウトでない場合にはそのままホストコンピュータからの接続待ち状態となる。S802でホストコンピュータから印刷データを送信するためのTCP接続があると、S804に進み、接続が行われたポート番号を調べ、S805に進み、図7に示したリストを参照し、該ポートが通常の通信用のポートであるかSSL通信用のポートであるかを判断する。S806においてSSL通信用のポートであると判定された場合にはS807に進み、SSL暗号化通信路確立の為ネゴシエーションを開始する。通常の通信のポートであると判定された場合には、S812に進み通常の通信方法で印刷データの受信を開始する。ホストコンピュータからの印刷データの送信には、HTTPのPOSTメソッドが用いられる。図9にPOSTメソッドを用いてホストコンピュータから送信される印刷データのパケットデータの例を示す。このデータの送信の際の宛先となるのがdata sink URIである。図9に示すパケットデータを受信した印刷装置はHTTPヘッダのURIを検査する。図9の例では「/job001」である。このjobIDから、jobIDが001で表される印刷データが「https://123.456.7.8:18000/job001」に送られたことを印刷装置は認識することができる。
SSL暗号化通信路確立の為のネゴシエーションについては図9を用いて詳細に説明するが、このネゴシエーションの際に、SSL通信用のポートに実際にSSL通信が行われているか否かを判断する。その結果、S808においてSSL通信が行われていたと判定されなかった場合にはS816に進み直ちにコネクションを切断し、印刷データの受信を行わないようにする。SSL通信が行われていると判定された場合にはS809に進みネゴシエーションが成立し、SSL暗号化通信路が確立されると、S810で印刷データの受信を行う。
このようにSSL通信用のポートに実際にSSL通信が行われるか判定することで、SSL通信用のポートに通常の通信方法でデータが送られることを回避することができるため次のようないくつかの問題を解決することができる。例えば、通常の通信方法で印刷データを送信したい場合に誤ってSSL通信用のポート宛てにコネクションを張ってしまった場合などに、SSL通信用のポート宛にコネクションが張られることが確認された後自動的にSSL通信を行ってしまったのでは、ユーザの意図に反してネットワークに余計な負荷をかけてしまうことになる。さらに、SSL通信用のポート宛てに送られたSSL通信で暗号化されていない印刷データを、印刷装置が自動的に復号化を行ってしまっては、印刷装置にエラーが生じたり、出力が行われれば意味のない無駄な排紙によるコストが生じることになる。このような不都合を回避するため、SSL暗号化通信路確立の為のネゴシエーションの際には実際にSSL通信が行われているかの判定が行われ、判定結果に応じた処理がされる。
S816においてコネクションが切断された後は、S801に戻り正常なコネクションを再び待つことになる。S810においては、前述したPOSTメソッドを用いてSSL通信によってホストコンピュータから送信された印刷データを受信する。その際には、ネゴシエーションの際に決定した鍵情報を用いて暗号化された印刷データの復号化が行われる(S811)。その後S813に進み、正常に印刷データが受信された旨を示すresponseをホストコンピュータからの印刷データの送信と同様、HTTPのPOSTメソッドを用いてホストコンピュータに送信し、S814に進み現在使用されたポートをクローズ(利用不可能状態つまりどのホストコンピュータにも割り当てられていない状態)し、S815ではその旨図7のリストを更新し、印刷データ受信動作を終了する。
S806においてSSL通信用のポートではないと判定された場合の処理の流れを説明する。
S806においてSSL通信用のポートでないと判定された場合、つまり通常の通信ポートが利用されている場合にはS812に進み、印刷データの受信を開始する。その後S813に進み、正常に印刷データが受信された旨を示すresponseをホストコンピュータに送信する。その後の動作はSSL通信時と同様であり、使用されたポートをクローズし、その旨リストを更新し、印刷データ受信動作を終了する。
このように、ホストコンピュータが印刷データを送信するために接続をおこなったポートがSSL通信用のポートであった場合に応じて、実際に該ポートにSSL通信が行われるかを判定することで、SSL通信用のポートにおいて確実にSSL暗号化通信が行われるようになり、さらには上述した効果が得られることになる。
図10は、本実施形態の印刷装置においてSSL通信用のポートにホストコンピュータから接続が行われた際に実行される、ホストコンピュータ、印刷装置間のSSL暗号化通信路を確立する為のネゴシエーションの処理の流れを模式的に示した図である。
以下、図10を用いて、ホストコンピュータ、印刷装置間のSSL暗号化通信路確立の為のネゴシエーション処理の流れを説明する。
ホストコンピュータから、SSL通信用のポートへ接続が行われると、まず、印刷装置は暗号化仕様を決定する為のネゴシエーションの開始を促す為にHello Requestをホストコンピュータに送信する(S1001)。これに対して、ホストコンピュータは通信の開始を印刷装置に通知するClient Helloメッセージを送信する、このときClient Helloメッセージの中には、ホストコンピュータが利用可能な、暗号化と圧縮のアルゴリズムの一覧が含まれている(S1002)。Client Helloメッセージを受け取った印刷装置は、そこでホストコンピュータがSSL通信を行う意思があることを確認する。つまり、印刷装置からのHello Requestに対してホストコンピュータからの応答がない場合や、正常なClient Helloメッセージが送られなかった場合などは、ホストコンピュータがSSL通信を行う意思がないものと判断し、その後の処理、つまり印刷データの受信は行わずにコネクションを直ちに切断する。このようにして、印刷装置はSSL通信用のポートに接続が行われた際に、Hello Requestの応答を判断することで、ホストコンピュータがSSL通信を行う意思があるかどうかを判定し(S1003)、その後の処理を決定している。S1003の処理は図8のS808の処理と対応している。
ホストコンピュータからClient Helloメッセージを受け取った印刷装置は、ホストコンピュータから送信された一覧から、使用する暗号化と圧縮のアルゴリズムを決定し、Server Helloメッセージに格納してホストコンピュータに送信する(S1004)。さらに、プリマスタシークレット(印刷装置、ホストコンピュータで共有する共通鍵の元となるパラメータ)の送付を安全に行う為に、証明書をServer Certificateメッセージに格納して送信する(S1005)。このとき、証明書を持たない場合などにはServer Key Exchangeメッセージを使って、一時的なRSA鍵やDH鍵を送信する場合もある。
Server Hello Doneメッセージで、Server Helloから始まる一連のメッセージが完了したことを通知する(S1006)。
ホストコンピュータは印刷装置から送られた証明書を検証したのちプリマスタシークレットを生成し、これを暗号化して印刷装置に送信する。プリマスタシークレットの暗号化には、印刷装置から受け取った証明書に含まれる公開鍵を使用する(S1007)。
ホストコンピュータはプリマスタシークレットからマスタシークレットを作成し、さらにマスタシークレットからセッション鍵を生成する。そして使用する暗号アルゴリズムの準備が整ったことを印刷装置に通知する(S1008)。
さらにホストコンピュータはFinishedメッセージにホストコンピュータと印刷装置の両者が知っている情報を暗号化して送信する(S1009)。
印刷装置はホストコンピュータから受信した暗号化されたプリマスタシークレットを、自身の秘密鍵を使い復号化する。次に復号化したプリマスタシークレットからマスタシークレットを生成し、さらにマスタシークレットからセッション鍵(共通鍵)を生成する。このセッション鍵はホストコンピュータが生成したセッション鍵と同じ鍵になる。そして使用する暗号アルゴリズムの準備が整ったことをホストコンピュータに通知する(S1010)。
さらに印刷装置はFinishedメッセージにホストコンピュータと印刷装置の両者が知っている情報を暗号化して送信する(S1011)。互いにFinishedメッセージで送られたデータをセッション鍵で復号化し、正確に情報が得られることを確認すると暗号化通信が正常に動作したことになり、ネゴシエーションを終了する。
その後送られる印刷データは、ホストコンピュータにおいて、このネゴシエーションによって生成されたセッション鍵で暗号化され、印刷装置において、このネゴシエーションによって生成されたセッション鍵を用いて復号化されることになる。
図11は、本実施形態におけるホストコンピュータと印刷装置とのデータのやり取りを示した図である。
以下、図11を用いてホストコンピュータと印刷装置とのデータのやり取りについて説明する。
S1101において、ホストコンピュータAからのcreate jobを受け取った印刷装置は、ホストコンピュータAが印刷データをSSL暗号化通信で送信したいかどうかをcreate jobを解析することで判定する。ホストコンピュータAがSSL通信を要求していると判定されると、S1102において印刷装置はSSL通信用のポートをホストコンピュータAに割り当て、印刷データの宛先となるURI1をcreate jobに対するresponseとしてホストコンピュータAに送信する。
S1103はホストコンピュータBからのcreate jobで、SSL暗号化通信を要求せずに通常の通信方法をホストコンピュータが要求してきた場合である。この場合印刷装置は、S1104において通常通信用のポートをホストコンピュータBに割り当て、印刷データの宛先となるURI2をcreate jobに対するresponseとしてホストコンピュータBに送信する。ここでホストコンピュータBに送信されるURI2はホストコンピュータAに送信されたURI1とは異なるURIである。
S1105において、印刷データを送信する為の接続がホストコンピュータAからされると、印刷装置は接続が行われたポートがSSL通信用のポートであるかを判定する。SSL通信用のポートに接続が行われると、S1106においてSSL通信を行う為のネゴシエーションを開始し、SSL通信路を確立する。S1107で、SSL通信でホストコンピュータAから送信された印刷データを受信し、ネゴシエーションの結果決定された鍵を用いて印刷データを復号化し、印刷を実行する。
S1108はSSL通信を要求しないホストコンピュータBからの、印刷データ送信の為の接続である。印刷装置は接続が行われたポートがSSL通信用のポートであるかを判定し、通常の通信用のポートに接続が行われると、S1109において通常の通信方法でホストコンピュータBから送信された印刷データを受信し、印刷を実行する。
上記実施形態では、CreateJobの送受信を行なうためのトランスポートプロトコルとしてHTTPを採用しているが、SMTP等のような他のトランスポートプロトコルを使用してもよい。
また、図2、3において、印刷データの転送方法を指示する手段として”secure−port”というタグを使用しているが、クライアントと印刷装置とでの合意のもとでそれに変わる他の文字列をタグとして採用してもよい。
本発明の実施形態における印刷装置のハードウェア構成を示すブロック図である。 本発明の実施形態における印刷装置のソフトウェア構成を示すブロック図である。 本発明の実施形態におけるホストコンピュータから印刷装置に送信されるXML形式のパケットデータを示す図である。 本発明の実施形態における図3のA部分の他の記述形式の例を示す図である。 本発明の実施形態における印刷装置からホストコンピュータに送信されるXML形式のパケットデータを示す図である。 本発明の実施形態における印刷装置の、印刷要求受信動作を示すフローチャートである。 本発明の実施形態における印刷装置が管理する、ポートの状態を示すリストの図である。 本発明の実施形態における印刷装置の、印刷データの受信動作を示すフローチャートである。 本発明の実施形態における印刷データ送信パケットを示す図である。 本発明の実施形態における印刷装置、ホストコンピュータ間のSSL通信を行う為のネゴシエーションの処理を示した模式図である。 本発明の実施形態におけるホストコンピュータと印刷装置間のデータのやり取りを示した図である。 従来技術における、ホストコンピュータと印刷装置間のデータのやり取りを示した図である。

Claims (11)

  1. データ処理装置であって、
    情報処理装置から送信されたジョブ処理要求において、暗号化通信が要求されたかを判定する判定手段と、
    暗号化通信が要求された場合、前記情報処理装置がジョブデータを暗号化通信によって前記データ処理装置へ送信する際の宛先を、当該宛先が前記情報処理装置に割り当てられた状態である利用可能状態にする管理手段と、
    前記利用可能状態にした宛先を示す識別情報を前記情報処理装置に送信する送信手段と、
    前記識別情報が指定された接続要求を受信した場合、当該接続要求を送信した装置と暗号化通信を行うための情報が含まれているか否かを判断することによって、当該接続要求を送信した装置との通信が暗号化通信であるか否かを判断する判断手段と、
    前記判断手段によって暗号化通信であると判断されなかった場合、前記通信による接続を切断する切断手段と、
    前記判断手段によって暗号化通信であると判断された場合、前記識別情報宛てに送信されるジョブデータを受信する受信手段と、
    を有し、
    前記管理手段は、前記受信手段によってジョブデータを受信した後、前記宛先を当該宛先が何れの装置にも割り当てられていない状態である利用不可能状態にすることを特徴とするデータ処理装置。
  2. 前記判断手段によって暗号化通信であると判断された場合、暗号化されたジョブデータを復号化するための鍵情報を決定するための処理を行う処理手段と、
    前記処理手段によって決定した鍵情報を用いて暗号化されたジョブデータの復号化を行う復号化手段とを更に有することを特徴とする請求項1記載のデータ処理装置。
  3. 前記判断手段によって暗号化通信であると判断された場合、前記処理手段によって処理が行われない場合には、ジョブデータの受信を行わないことを特徴とする請求項2記載のデータ処理装置。
  4. 前記識別情報宛てにジョブデータが送られた場合、暗号化通信が行われているかを判定する第2の判定手段をさらに有し、
    前記第2の判定手段において暗号化通信が行われていると判定された場合にジョブ処理が実行されることを特徴とする請求項1乃至3のいずれか1項に記載のデータ処理装置。
  5. 前記第2の判定手段において暗号化通信が行われていないと判定された場合にはジョブ処理が実行されないことを特徴とする請求項4記載のデータ処理装置。
  6. 前記管理手段は、前記利用可能状態にした宛先と当該宛先が暗号化通信に用いられる宛先であることを示す情報とを関連付けて管理することを特徴とする請求項1乃至5の何れか1項に記載のデータ処理装置。
  7. 前記管理手段は、暗号化通信に用いられる宛先の中から何れかを選択し、選択された宛先を利用可能状態にすることを特徴とする請求項1乃至5の何れかに1項に記載のデータ処理装置。
  8. 前記管理手段は、複数の宛先の中から現在利用不可能状態にある宛先を選択し、選択された宛先を利用可能状態にすることを特徴とする請求項1乃至7の何れか1項に記載のデータ処理装置。
  9. 前記宛先は、通信用のポートであり、前記宛先を示す識別情報は、当該ポートに対応するURIであることを特徴とする請求項1乃至8の何れか1項に記載のデータ処理装置。
  10. 情報処理装置から送信されたジョブ処理要求において、暗号化通信が要求されたかを判定する判定ステップと、
    暗号化通信が要求された場合、前記情報処理装置がジョブデータを暗号化通信によってデータ処理装置に送信する際の宛先を、当該宛先が前記情報処理装置に割り当てられた状態である利用可能状態にする管理ステップと、
    前記利用可能状態にした宛先を示す識別情報を前記情報処理装置に送信する送信ステップと、
    前記識別情報が指定された接続要求を受信した場合、当該接続要求を送信した装置と暗号化通信を行うための情報が含まれているか否かを判断することによって、当該接続要求を送信した装置との通信が暗号化通信であるか否かを判断する判断ステップと、
    前記判断ステップによって暗号化通信であると判断されなかった場合、前記通信による接続を切断する切断ステップと、
    前記判断ステップによって暗号化通信であると判断された場合、前記識別情報宛てに送信されるジョブデータを受信する受信ステップと、
    を有し、
    前記管理ステップは、前記受信ステップによってジョブデータを受信した後、前記宛先を当該宛先が何れの装置にも割り当てられていない状態である利用不可能状態にすることを特徴とするデータ処理方法。
  11. データ処理装置に以下の機能を実現させるためのプログラムであって、
    情報処理装置から送信されたジョブ処理要求において、暗号化通信が要求されたかを判定する判定機能と、
    暗号化通信が要求された場合、前記情報処理装置がジョブデータを暗号化通信によって前記データ処理装置へ送信する際の宛先を、当該宛先が前記情報処理装置に割り当てられた状態である利用可能状態にする管理機能と、
    前記利用可能状態にした宛先を示す識別情報を前記情報処理装置に送信する送信機能と、
    前記識別情報が指定された接続要求を受信した場合、当該接続要求を送信した装置と暗号化通信を行うための情報が含まれているか否かを判断することによって、当該接続要求を送信した装置との通信が暗号化通信であるか否かを判断する判断機能と、
    前記判断機能によって暗号化通信であると判断されなかった場合、前記通信による接続を切断する切断機能と、
    前記判断機能によって暗号化通信であると判断された場合、前記識別情報宛てに送信されるジョブデータを受信する受信機能と、
    を有し、
    前記管理機能は、前記受信機能によってジョブデータを受信した後、前記宛先を当該宛先が何れの装置にも割り当てられていない状態である利用不可能状態にすることを特徴とするプログラム。
JP2003348387A 2003-10-07 2003-10-07 データ処理装置及び方法及びプログラム Expired - Fee Related JP4955908B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003348387A JP4955908B2 (ja) 2003-10-07 2003-10-07 データ処理装置及び方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003348387A JP4955908B2 (ja) 2003-10-07 2003-10-07 データ処理装置及び方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2005117321A JP2005117321A (ja) 2005-04-28
JP4955908B2 true JP4955908B2 (ja) 2012-06-20

Family

ID=34540597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003348387A Expired - Fee Related JP4955908B2 (ja) 2003-10-07 2003-10-07 データ処理装置及び方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4955908B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4898225B2 (ja) * 2006-01-06 2012-03-14 キヤノン株式会社 アプリケーション装置及びアプリケーション装置の電力の復帰方法
JP4835493B2 (ja) * 2007-03-30 2011-12-14 ブラザー工業株式会社 画像形成装置
JP7293452B2 (ja) * 2018-04-13 2023-06-19 キヤノン株式会社 印刷装置、印刷装置の制御方法及びプログラム
JP7059087B2 (ja) * 2018-04-13 2022-04-25 キヤノン株式会社 印刷装置、印刷装置の制御方法及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3263877B2 (ja) * 1993-10-06 2002-03-11 日本電信電話株式会社 暗号ゲートウェイ装置
JPH08204698A (ja) * 1995-01-24 1996-08-09 Mitsubishi Electric Corp 暗号装置
JPH11205309A (ja) * 1998-01-16 1999-07-30 Mitsubishi Electric Corp ネットワークセキュリティシステム
JP4027112B2 (ja) * 2001-03-06 2007-12-26 キヤノン株式会社 画像処理装置及び画像処理装置における通信方法
JP2003069735A (ja) * 2001-08-27 2003-03-07 Sharp Corp ネットワーク通信システムおよびそれに用いるホストコンピュータおよびpos端末および記録媒体およびプログラム
JP4016640B2 (ja) * 2001-11-08 2007-12-05 セイコーエプソン株式会社 印刷サービス提供システム、印刷データ配信端末、通信管理端末及び端末用プログラム、並びに印刷サービス提供方法
JP2003273920A (ja) * 2002-03-19 2003-09-26 Matsushita Electric Ind Co Ltd 一般データと優先データの送信装置および受信装置

Also Published As

Publication number Publication date
JP2005117321A (ja) 2005-04-28

Similar Documents

Publication Publication Date Title
JP5377009B2 (ja) 情報処理装置、通信システム、情報処理装置の制御方法、プログラム
US7542573B2 (en) Providing apparatus, communication device, method, and program
US7664954B2 (en) Providing apparatus, providing method, communication device, communication method, and program
EP1571545A2 (en) Secure Printing
US9038190B2 (en) Communication apparatus that communicate in different security levels and computer-readable media for controlling such apparatus
EP1626556A2 (en) Information processing apparatus and method, and storage medium
JP2016181774A (ja) 画像形成装置
JP2007082208A (ja) 電子ドキュメントをセキュリティ面で安全にドメイン間で伝送するシステム、方法、およびプログラム
EP1443410A1 (en) Communication mediating device for mediating communication over network
JP4942597B2 (ja) 画像入出力装置、画像処理システム、及び、画像処理制御方法
JP5215637B2 (ja) ファクシミリ装置、その制御方法及びプログラム
JP2004168052A (ja) 印刷システム、印刷装置および印刷指示方法
JP4955908B2 (ja) データ処理装置及び方法及びプログラム
JP4992219B2 (ja) 送信情報照合装置および送信情報照合方法、並びに、管理対象デバイス
JP2006251996A (ja) クライアント装置、画像処理システム、クライアント装置の制御方法、プログラム及び記録媒体
JP2005303676A (ja) 画像形成装置、鍵ペア生成方法及びコンピュータプログラム
JP5106190B2 (ja) 送信装置、受信装置、それらの制御方法、及びプログラム
JP2005311811A (ja) 画像形成装置または機密通信装置
JP6484319B2 (ja) ループバックインターフェースを使用して安全性を提供する方法およびシステム
US11924286B2 (en) Encrypted communication processing apparatus, encrypted communication processing system, and non-transitory recording medium
JP5293070B2 (ja) ネットワーク対応画像形成装置及びプログラム
JP4083637B2 (ja) 画像処理装置,送受信データ処理方法,送受信データ処理プログラム
JP4704414B2 (ja) 画像処理装置,送受信データ処理方法並びに送受信データ処理プログラム
JP2022170435A (ja) 情報処理装置とその制御方法、及びプログラム
JP2006192849A (ja) 印刷装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090708

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100608

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100908

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110218

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110311

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120316

R151 Written notification of patent or utility model registration

Ref document number: 4955908

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees