JP2005117321A - Apparatus and method for processing data and program - Google Patents

Apparatus and method for processing data and program Download PDF

Info

Publication number
JP2005117321A
JP2005117321A JP2003348387A JP2003348387A JP2005117321A JP 2005117321 A JP2005117321 A JP 2005117321A JP 2003348387 A JP2003348387 A JP 2003348387A JP 2003348387 A JP2003348387 A JP 2003348387A JP 2005117321 A JP2005117321 A JP 2005117321A
Authority
JP
Japan
Prior art keywords
data
job
communication
processing apparatus
encrypted
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.)
Granted
Application number
JP2003348387A
Other languages
Japanese (ja)
Other versions
JP4955908B2 (en
Inventor
Nobuhiko Maki
伸彦 牧
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/en
Publication of JP2005117321A publication Critical patent/JP2005117321A/en
Application granted granted Critical
Publication of JP4955908B2 publication Critical patent/JP4955908B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an apparatus for processing data which can perform a cipher communication by transmitting printing data to a destination by a user by informing information being the destination to the user when job data are transmitted by utilizing the cipher communication in response to a request of performing the cipher communication from the user. <P>SOLUTION: The apparatus for processing the data determines whether an encryption communication is required or not in the print request transmitted from a host computer, and transmits a destination identifier showing the destination used for the encryption communication when the encryption communication is requested. If the printing data are transmitted in which the designation identifier of the encryption communication is designated, the encrypted printing data are decoded. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、ネットワークを介して送られるジョブデータの盗聴、改竄、成りすまし防止を考慮したデータ処理装置、データ処理方法及びプログラムに関する。   The present invention relates to a data processing device, a data processing method, and a program in consideration of prevention of wiretapping, falsification, and impersonation of job data sent via a network.

従来のネットワーク接続された印刷装置に対して他のネットワーク上の機器から印刷データを印刷する場合は、既知の特定印刷ポートにデータを送信することにより行なっている。例えば、LPDのポート番号は515番が一般的に使用されており、同様にHTTPでは80番が一般的に使用されている。また、ユーザがセキュリティ上、印刷データを暗号化して送信したい場合も同様に、既知の専用の印刷ポートにあらかじめ決められた暗号方式でデータを送信する。暗号方式としては一般的にSSL/TLSなどが使用されている。   When printing data is printed from a device on another network to a conventional network-connected printing apparatus, the data is transmitted to a known specific print port. For example, the port number 515 for LPD is generally used, and similarly, port number 80 is generally used for HTTP. Similarly, when the user wants to transmit the print data encrypted for security reasons, the data is similarly transmitted to a known dedicated print port using a predetermined encryption method. Generally, SSL / TLS is used as an encryption method.

また、ネットワーク上のプリンタが複数の印刷用ポートを使用し、コンピュータ毎に印刷用ポートを割り当てるという方法を用いた技術がある。図12はこの技術におけるホストコンピュータとプリンタのデータのやり取りを示している。以下図12について説明する。   In addition, there is a technique using a method in which a printer on a network uses a plurality of printing ports and a printing port is assigned to each computer. FIG. 12 shows the exchange of data between the host computer and the printer in this technique. Hereinafter, FIG. 12 will be described.

まず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)。   First, in step S1201, the printer receives a print request (create job) sent from any computer on the network (hereinafter referred to as host computer A). The process advances to step S1202, and if there is no defect in the print job processing instruction described in the create job received from the host computer A, the printer can use the print port for receiving print data (OPEN). ), And the host computer A transmits a URI (hereinafter referred to as URI1), which is a destination when sending print data, to the host computer A. In this way, the port is designated by the URI. In step S1203, when a create job is received from another computer on the network (hereinafter referred to as host computer B), the URI is similarly transmitted to the host computer B. The URI transmitted at this time is the host computer A. Is a URI 2 that is different from the URI 1 transmitted to (S1204).

このようにホストコンピュータごとに印刷データ送信先のURIを変え、それに対応して使用するポートもホストコンピュータにより異なる。   In this way, the URI of the print data transmission destination is changed for each host computer, and the port used correspondingly varies depending on the host computer.

S1205において、ホストコンピュータAは印刷データを送信するために、S1202で与えられたURI1によって示されたポートとの接続を確立し、S1206に進み、プリンタに印刷データを送信し印刷が実行される。   In step S1205, the host computer A establishes a connection with the port indicated by the URI 1 given in step S1202 in order to transmit print data. The process advances to step S1206 to transmit the print data to the printer and execute printing.

この技術を用いることで、ユーザは予め印刷装置のIPアドレスや印刷用のポート番号を知っておく必要がなくなる。   By using this technology, the user does not need to know the IP address of the printing apparatus and the port number for printing in advance.

さらに、印刷装置がコンピュータから受信したデータの種類に応じて、使用するポート番号をデータを送信したコンピュータに通知し、該ポートにおいてデータを受け取り、処理を行なうといった技術がある。(例えば、特許文献1参照)
特開2002−333958号公報
Further, there is a technique in which a printing apparatus notifies a computer that has transmitted data of a port number to be used according to the type of data received from the computer, and receives data at the port to perform processing. (For example, see Patent Document 1)
JP 2002-333958 A

ユーザがセキュリティ上印刷データを暗号化して送信したい場合、従来の印刷装置では、ユーザは予め印刷装置がどのような通信方法を備えているのか、どのような通信ポートが使用されているのかを把握しておかなくてはならない場合が多く、使い勝手が悪かった。   If the user wants to send encrypted print data for security reasons, with a conventional printing device, the user knows in advance what communication method the printing device has and what communication port is used. In many cases, it was necessary to keep in mind, and it was not easy to use.

また、上記従来例のようにコンピュータから受信したデータの種類に応じて、使用するポート番号をコンピュータに通知する技術においては、ユーザが予め使用ポートを把握しておく必要はなくなったが、ユーザが暗号通信を行う旨を印刷装置に指示する方法等は規定されていない。よってセキュリティを考慮した暗号通信などによる安全な印刷ができなかった。   Further, in the technique of notifying the computer of the port number to be used according to the type of data received from the computer as in the conventional example, it is not necessary for the user to know the used port in advance. A method for instructing the printing apparatus to perform encrypted communication is not defined. Therefore, it was not possible to perform secure printing by encryption communication considering security.

本発明はこのような問題点に鑑みてなされたものであり、ユーザからの暗号通信を行う旨の要求に応じて、ジョブデータを暗号通信を利用して送信する際の宛先となる情報をユーザに通知し、ユーザは該宛先にジョブデータを送信することで暗号通信を行うことが可能となるデータ処理装置を提供することを目的とする。   The present invention has been made in view of such a problem, and in response to a request from a user to perform encrypted communication, information serving as a destination when transmitting job data using encrypted communication is determined by the user. It is an object of the present invention to provide a data processing apparatus capable of performing encrypted communication by transmitting job data to the destination.

さらに暗号通信用の宛先にジョブデータが送られた際には、確実に暗号通信が行われるようにし、よりセキュリティ効果を高めた安全なジョブの処理を可能とするデータ処理装置を提供することを目的とする。   Furthermore, when job data is sent to a destination for encrypted communication, it is possible to reliably perform encrypted communication, and to provide a data processing device capable of processing a safe job with higher security effect. Objective.

上記、課題を解決するために本発明におけるデータ処理装置は、情報処理装置から送信されたジョブ処理要求において、データを暗号化する通信方法が要求されたかを判定する判定手段と、情報処理装置からのジョブ処理要求に応じて、ジョブデータの宛先を識別する識別子を該情報処理装置に送信する送信手段と、前記判定手段において暗号化通信が要求されたと判定された場合、前記送信手段によって送信した識別子宛てのデータは暗号化通信が行われることを記憶する記憶手段と、前記記憶手段において暗号化通信に使用されると記憶されている識別子が指定されてジョブデータが送られた場合、暗号化されたジョブデータの復号化をする復号化手段と、を有することを特徴とする。   In order to solve the above problems, a data processing apparatus according to the present invention includes a determination unit that determines whether a communication method for encrypting data is requested in a job processing request transmitted from an information processing apparatus, and an information processing apparatus. In response to the job processing request, a transmission unit that transmits an identifier for identifying the destination of the job data to the information processing apparatus, and when the determination unit determines that encrypted communication is requested, the transmission unit transmits the identifier. The data addressed to the identifier is encrypted when the storage means for storing that encrypted communication is performed and the job data is sent by specifying the identifier stored in the storage means when used for encrypted communication. And decrypting means for decrypting the processed job data.

また、上記課題を解決するために本発明におけるデータ処理装置は、情報処理装置から送信されたジョブ処理要求において、データを暗号化する通信方法が要求されたかを判定する判定手段と、情報処理装置からのジョブ処理要求に応じて、ジョブデータの宛先を識別する識別子を該情報処理装置に送信する送信手段と、前記判定手段において暗号化通信が要求されたと判定された場合、前記送信手段によって送信した識別子宛てのデータは暗号化通信が行われることを記憶する記憶手段と、前記記憶手段において暗号化通信に使用されると記憶されている識別子が指定されてジョブデータが送られた場合、暗号化されたジョブデータの復号化をする復号化手段と、を有することを特徴とする。   In order to solve the above problems, a data processing apparatus according to the present invention includes a determination unit that determines whether a communication method for encrypting data is requested in a job processing request transmitted from an information processing apparatus; In response to the job processing request from the transmission means for transmitting the identifier for identifying the destination of the job data to the information processing apparatus, and when the determination means determines that the encrypted communication is requested, the transmission means transmits the identifier. The data addressed to the identifier is stored in the storage means for storing that encrypted communication is performed, and the identifier stored in the storage means when used for encrypted communication is designated and the job data is sent And decryption means for decrypting the converted job data.

以上本発明によれば、ユーザがデータの盗聴、改竄を防止したい場合や、通信相手の成りすましを防止したい場合に、データを送信するクライアント側からその旨を印刷装置に指示できるようになり、指示に応じてセキュリティを考慮した暗号化通信用のポートが割り当てられる為、その際に使用される通信ポートを予め知っておく必要はなくなりユーザの利便性が向上する。また、暗号化通信用のポートに正常に暗号化通信が行われているか判定することで、暗号化通信用ポートに送られたジョブデータに対して確実に暗号化通信が行われ、よりセキュリティ効果を高めた安全なジョブ処理が可能となる。同時に、暗号化通信用のポートに通常の通信方法で送られたジョブデータを処理しないため、不要な処理が軽減される効果がある。さらにこのようなジョブデータの受信を行わないことで、ネットワーク上の負荷を軽減することができる。   As described above, according to the present invention, when a user wants to prevent eavesdropping or falsification of data or to prevent impersonation of a communication partner, the client side that transmits data can instruct the printing apparatus to that effect. Accordingly, since the port for encrypted communication in consideration of security is assigned according to the above, it is not necessary to know the communication port used at that time in advance, and the convenience of the user is improved. In addition, by determining whether the encrypted communication is normally performed on the encrypted communication port, the encrypted communication is surely performed on the job data sent to the encrypted communication port, thereby further improving the security effect. This makes it possible to perform safe job processing with improved performance. At the same time, the job data sent to the encrypted communication port by the normal communication method is not processed, so that unnecessary processing is reduced. Further, by not receiving such job data, the load on the network can be reduced.

さらに、ユーザから暗号化通信が要求された場合に割り当てたポートを暗号化通信用のポートとして登録することで、暗号化通信用のポート番号がその都度変わるため、ユーザに暗号化通信用のポート番号を予め知られることがなくなり、よりセキュリティ効果があがる。   Furthermore, since the port number for encrypted communication changes each time by registering the port assigned when encrypted communication is requested by the user as the port for encrypted communication, the port for encrypted communication is given to the user. The number is not known in advance, and the security effect is improved.

以下、本発明の実施形態について図面を参照して詳細に説明する。この実施形態ではデータ処理装置の一例として印刷装置を例に説明するが、本発明はこれに限定されるものではない。複写機、FAX、スキャナ、複合機、又はネットワークボードなどのデータ処理装置においても適用可能である。また、それらデータ処理装置の種類に応じて、やり取りされるジョブデータの種類についても同様にコピージョブ、FAXジョブ、スキャンジョブ等といった印刷ジョブ以外のデータであってもよい。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In this embodiment, a printing apparatus will be described as an example of a data processing apparatus, but the present invention is not limited to this. The present invention can also be applied to a data processing apparatus such as a copying machine, a FAX, a scanner, a multifunction machine, or a network board. Also, according to the type of the data processing apparatus, the type of job data exchanged may be data other than a print job such as a copy job, a FAX job, a scan job, and the like.

図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からの制御信号や各装置間のデータ信号が送受信されるシステムバスである。   FIG. 1 is a block diagram illustrating a hardware configuration of a printing apparatus according to an embodiment of the present invention. The CPU 101 executes a software program for the printing apparatus and controls the entire apparatus. A ROM 102 is a read-only memory, and stores a boot program of the apparatus, fixed parameters, and the like. A RAM 103 is a random access memory, and is used for temporary data storage when the CPU 101 controls the apparatus. The HDD 108 is a hard disk drive and is used for storing various data such as print data. The printer I / F control unit 104 is a device that controls the printer 110. The NVRAM 105 is a non-volatile memory for storing various setting values of the printing apparatus. The panel control unit 106 controls the operation panel 109 to display various information and input instructions from the user. The network I / F control unit 107 controls data transmission / reception with the LAN 111. The bus 108 is connected to the CPU 101, the ROM 102, the RAM 103, the HDD 108, the printer I / F control unit 104, the NVRAM 105, the panel control unit 106, and the network I / F control unit 107, and controls signals from the CPU 101 and data signals between the devices. Is a system bus to be transmitted and received.

図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形式データを入力とし解析結果を出力するモジュールである。   FIG. 2 is a block diagram illustrating a software configuration of the printing apparatus 100 according to the embodiment of the present invention. The printer control unit 201 is a module that controls the printer I / F control unit 104 and performs operations such as transmission of image data to the printer 110 and control of a paper discharge position. The image print control unit 202 converts the received print data into data that can be printed by the printer 110, and performs various controls related to printing such as the number of copies and double-sided printing control. The network driver 207 controls the network I / F control unit 107 to control data transmission / reception with the network. The TCP / IP protocol control unit 206 includes a module for controlling the TCP / IP protocol, and performs data transmission / reception control in accordance with the TCP / IP protocol using the network driver 207. The HTTP server control unit is a module that controls the entire protocol called HTTP (HyperText Transfer Protocol), analyzes the HTTP request packet received from the client, performs appropriate processing, and transmits the data to the SOAP control unit 204 or the image In addition to passing to the higher-level application such as the print control unit 202, control is performed to return an HTTP response packet to the client according to an instruction from the higher-level application. The SOAP control unit 204 is a module that controls a protocol called SOAP (Simple Object Access Protocol). The SOAP control unit 204 analyzes data in an XML (extensible Markup Language) format received from the client by using the XML parser 203, and the image print control unit. An appropriate module 204 is called, or data to be returned to the client is converted into XML data and returned to the client via the HTTP server control unit 205. The XML parser 203 is a module that inputs XML format data and outputs an analysis result.

図3は、本実施形態におけるHTTP上のSOAPを用いてクライアントから印刷装置に送信されるCreateJobと称されるパケットデータの一例である。このデータはXML形式で記述されている。CreateJobパケットは、印刷装置に対し、ジョブ(印刷)の開始を指示するコマンドであり、要求元のユーザ名(requesting−user−nameタグ)やジョブの処理に関する指示(job−instructionタグ)等の情報が記述されている。図3においてAに図示したsecure−portタグは、印刷データの通信がどのような方法で行なわれるかを指示するタグであり、図3の例では印刷装置に対しSSL(Secure Socket Layer)を用いた通信を指示することを意味する。このタグを読み取ることにより印刷装置は通信方法に準じた印刷用ポートを生成する。   FIG. 3 is an example of packet data called “CreateJob” transmitted from the client to the printing apparatus using SOAP on HTTP in the present embodiment. This data is described in the XML format. The CreateJob packet is a command for instructing the printing apparatus to start a job (print), and includes information such as a request source user name (requesting-user-name tag) and an instruction related to job processing (job-instruction tag). Is described. The secure-port tag shown in A in FIG. 3 is a tag that indicates how the print data is communicated. In the example of FIG. 3, SSL (Secure Socket Layer) is used for the printing apparatus. It means to direct the communication that was. By reading this tag, the printing apparatus generates a printing port according to the communication method.

図4は、図3におけるAの部分の他の一例である。図4の例は、印刷データに対し何も処理をせず通常の通信方法により転送されることを指示するものである。   FIG. 4 is another example of the portion A in FIG. The example of FIG. 4 instructs that the print data is transferred by a normal communication method without any processing.

図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番に対して印刷データを送信することになる。   FIG. 5 is an example of response packet data for the CreateJob packet of FIG. This data is also described in the XML format as in FIG. 3, and is transmitted / received using SOAP on HTTP in this embodiment. The CreateJob response packet includes a result code (result-code tag) for the CreateJob command, an identifier of the generated job (job-id tag), and a URI (data-) of the print port serving as a destination identifier for identifying the destination of the print data. information such as a “sink-uri tag”. The portion indicated by B in FIG. 5 is a portion indicating the URI of the print port. In the example of FIG. 5, the URI “https://123.456.7.8:18000/job001” is shown. This is because “Secure” is indicated in the secure-port tag of the CreateJob command in FIG. 3, so the printing apparatus generates an SSL printing port and stores the URI in the data-sink-uri. Is shown. In this case, since the URI schema part is “https”, the port number 18000 for HTTP SSL / TLS is used. Therefore, the client transmits print data to the TCP port 18000 of the printing apparatus.

図6は、本実施形態の印刷装置が、createjobを受信した時の動作(印刷要求受信動作)を示すフローチャートである。   FIG. 6 is a flowchart showing an operation (print request receiving operation) when the printing apparatus according to the present embodiment receives createjob.

以下、図6を用いて本実施形態の印刷装置の印刷開始要求動作について説明する。   Hereinafter, the print start request operation of the printing apparatus according to the present embodiment will be described with reference to FIG.

まず、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として、ホストコンピュータに送信する。   First, when the printing apparatus receives createjob in step S601, the process advances to step S602 to analyze a secureport tag included in the received createjob. If a tag designating SSL encrypted communication is found as a result of the analysis in S603, the process proceeds to S604, and one of the SSL encrypted communication ports is assigned to be open (available state). If no tag designating encrypted communication is found, the process proceeds to S605, and any normal data communication port is assigned to be open (available state). In the printing apparatus according to the present embodiment, each port in the RAM 103 is currently in use (whether assigned to any host computer), and whether each port is a port for SSL encrypted communication. Whether or not is managed in the form of a list shown in FIG. In S604 or S605, a port that is not currently in use is newly assigned by referring to the list. In S606, the port information assigned in S604 or S605 is managed by updating the list of FIG. In step S607, a URI indicating a print port assigned in step S604 or S605 and in an open state is generated as a <data-sink-uri> tag. In step S608, the <data-sink-uri> tag is generated. Is sent to the host computer as a response to createjob.

図7(A)は、本実施形態の印刷装置においてRAM103に配置され、各ポートの状態を管理しているリストの例を示している。   FIG. 7A shows an example of a list arranged in the RAM 103 and managing the state of each port in the printing apparatus of this embodiment.

ここでいう各ポートの状態を管理するとは、そのポートがSSL通信用に使用されるポートであるか通常の通信用に使用されるポートであるか、そしてそのポートが現在使用中(何れかのホストコンピュータに割り当てられている)であるかどうかを管理することである。   Managing the status of each port here means whether the port is a port used for SSL communication or a port used for normal communication, and the port is currently in use (any Is assigned to the host computer).

図7(A)の701では各ポートの番号を管理している。この欄に示される1000はTCPポート1000番を表している。   In FIG. 7A 701, the number of each port is managed. 1000 shown in this column represents TCP port number 1000.

702では、各ポートがSSL通信用のポートであるか通常の通信用のポートであるかを示している。図7(A)のリストの例では、各ポートがSSL通信用のポートであるか通常の通信用のポートであるかが予め決まっている(1000番から1002番は通常の通信用のポート、1003番から1005番はSSL通信用のポートであると決まっている)場合である。この欄が「通常」となっているポートは通常通信用のポート、「SSL」となっているポートはSSL通信用のポートであることを表している。   Reference numeral 702 indicates whether each port is a port for SSL communication or a port for normal communication. In the example of the list of FIG. 7A, it is determined in advance whether each port is a port for SSL communication or a port for normal communication (numbers 1000 to 1002 are ports for normal communication, 1003 to 1005 are determined to be SSL communication ports). A port with “normal” in this column indicates a port for normal communication, and a port with “SSL” indicates a port for SSL communication.

703では、各ポートが現在使用中であるか否かを示している。この欄が「使用中」となっているポートは現在使用中であり、何れかのホストコンピュータに割り当てられている状態であることを示している。また、この欄に何もかかれていないポートは現在使用中でないことを示している。   Reference numeral 703 denotes whether each port is currently in use. A port whose column is “in use” indicates that it is currently in use and is assigned to any host computer. In addition, a port with nothing in this column indicates that it is not currently in use.

つまり、図7(A)の場合、「ポート1000番は通常の通信用のポートであり、現在使用中である」ことがわかる。   That is, in the case of FIG. 7A, it can be seen that “port 1000 is a port for normal communication and is currently in use”.

印刷装置はこのリストを参照し、通常の通信を要求したホストコンピュータには通常通信用の空きポートを割り当て、SSL通信を要求したホストコンピュータにはSSL通信用の空きポートを割り当てる。   The printing apparatus refers to this list and assigns a normal communication free port to the host computer that has requested normal communication, and assigns an SSL communication free port to the host computer that has requested SSL communication.

また、このリストは、各ポートがSSL通信用に使用されるポートであるか通常の通信用に使用されるポートであるか、そしてそのポートが現在使用中(何れかのホストコンピュータに割り当てられている)であるかどうかを管理するものであればどのような形式のものでもよく、例えば現在使用中のポートのみをリストに管理するようにし、印刷装置が新しくポートを割り当てる際にはリストにないポートから任意にポートを割り当てるようにすることもできる。   This list also shows whether each port is a port used for SSL communication or a port used for normal communication, and that port is currently in use (assigned to any host computer). Any format can be used, for example, only the ports currently in use are managed in the list, and not when the printer assigns a new port. A port can be arbitrarily assigned from a port.

さらに、図7(A)では各ポートが通常通信用のポートであるかSSL通信用のポートであるかが予め決められている場合を示したが、通常通信用ポートであるか、SSL通信用のポートであるかが予め決まっておらず、ホストコンピュータからSSL通信が要求された場合には、現在使用中でない何れかのポートを割り当てて、リストに管理する際にSSL通信に使用されるということを記憶しておくようにすることもできる。この場合に使用されるリストの例を図7(B)に示す。   Further, FIG. 7A shows a case where each port is a port for normal communication or a port for SSL communication, but it is a port for normal communication or for SSL communication. If the host computer requests SSL communication, it is used for SSL communication when assigning any port that is not currently in use and managing the list. You can also remember that. An example of the list used in this case is shown in FIG.

704においては701同様、ポートの番号が管理されている。この欄に示される1000はTCPポート1000番を表している。   In 704, the port number is managed as in 701. 1000 shown in this column represents TCP port number 1000.

705の欄には、各ポートが現在使用中であるか否かを示している。この欄が「使用中」となっているポートは現在使用中であり、何れかのホストコンピュータに割り当てられている状態であることを示している。また、この欄に何もかかれていないポートは現在使用中でないことを示している。   A column 705 indicates whether each port is currently in use. A port whose column is “in use” indicates that it is currently in use and is assigned to any host computer. In addition, a port with nothing in this column indicates that it is not currently in use.

706では、各ポートがSSL通信用のポートであるか通常の通信用のポートであるかを示している。この欄が「通常」となっているポートは通常通信用のポート、「SSL」となっているポートはSSL通信用のポートであることを表している。図7(B)に示すリストの例では、各ポートがSSL通信用のポートであるか通常通信用のポートであるかが予め決まっていない為、ホストコンピュータからSSL通信の要求があった場合には現在使用中でない何れかのポートをホストコンピュータに割り当てた後、706の欄に「SSL」と書き込むことにより、当該ポートがSSL通信に用いられるポートであることを管理する。同様に、ホストコンピュータから通常通信の要求があった場合には、706の欄に「通常」と書き込むことによって、該ポートが通常通信に用いられるポートであることを管理する。   Reference numeral 706 denotes whether each port is a port for SSL communication or a port for normal communication. A port with “normal” in this column indicates a port for normal communication, and a port with “SSL” indicates a port for SSL communication. In the example of the list shown in FIG. 7B, whether each port is a port for SSL communication or a port for normal communication is not determined in advance. After assigning any port that is not currently in use to the host computer, “SSL” is written in the field 706 to manage that the port is used for SSL communication. Similarly, when there is a request for normal communication from the host computer, “normal” is written in the field 706 to manage that the port is a port used for normal communication.

図7(B)に示すリストが作成される実施形態における、印刷要求受信動作の処理の流れについて、図7を用いて説明する。   A processing flow of the print request receiving operation in the embodiment in which the list shown in FIG. 7B is created will be described with reference to FIG.

S603においてホストコンピュータからSSL通信を行いたいという要求があると、S604に進み、ここで行われる処理としてまず図8(B)のリストを参照し、705の欄が現在「使用中」となっていないポートを探し、「使用中」と書き込む。と同時に706の欄に「SSL」と書き込む。S603において通常通信が要求されると、S605に進み、ここでは現在使用中でないポートに「使用中」と書き込み、706の欄には「通常」と書き込む。S606で、S604、S605の処理に応じてリストの更新が行われると、以降の処理は前述の処理(図7(A)のリストが利用される場合)と同様である。   If there is a request to perform SSL communication from the host computer in S603, the process proceeds to S604, and as a process performed here, the list in FIG. 8B is first referred to, and the column 705 is currently “in use”. Look for a missing port and write “in use”. At the same time, “SSL” is written in the field 706. When normal communication is requested in S603, the process proceeds to S605, where “used” is written in a port that is not currently used, and “normal” is written in the field 706. When the list is updated in S606 according to the processes in S604 and S605, the subsequent processes are the same as those described above (when the list in FIG. 7A is used).

以上のようにしてポートの管理を行うことで、各ポートが予めSSL通信用、通常通信用と決められていない場合でも本発明を実施することができる。   By managing the ports as described above, the present invention can be implemented even when each port is not previously determined for SSL communication or normal communication.

図8は、本実施形態の印刷装置がホストコンピュータから印刷データを受信する場合の動作(データ受信動作)を示すフローチャートである。また、この印刷データの受信動作は、図6に示した印刷要求受信動作に連続して行われるとは限らない。印刷装置が印刷データの受信動作を行う前に、印刷要求受信動作が複数回行われることもありうる。   FIG. 8 is a flowchart showing an operation (data reception operation) when the printing apparatus of the present embodiment receives print data from the host computer. Further, this print data reception operation is not always performed continuously with the print request reception operation shown in FIG. The print request receiving operation may be performed a plurality of times before the printing apparatus performs the print data receiving operation.

以下、図8を用いて、印刷データの受信動作を説明する。   Hereinafter, the print data reception operation will be described with reference to FIG.

まず、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」に送られたことを印刷装置は認識することができる。   First, in step S801, the host computer waits for TCP connection with the printing apparatus to transmit print data. The host computer that has received a response to the Create job from the printing apparatus analyzes the data sink URI included in the response, and sends the print data to the IP address of the printing apparatus for establishing a connection with the printing apparatus. Get the port number. For example, the host computer that received the response of FIG. 5 from the printing apparatus analyzes the data sink URI “https://123.456.7.8:18000/job001” and the IP address “123.456.7.8”. "18000" port of the printing apparatus of "", and knows that the print data identified by the job ID of job001 should be transmitted to the URI. If there is a TCP connection for transmitting print data from the host computer in S802, the process proceeds to S804. If there is no connection, it is determined in S803 whether or not a timeout has occurred (in this embodiment, after the printing apparatus receives create job, whether or not a predetermined time has elapsed since the URI was returned to the host computer as a response) In the case of timeout, the port is set to an unusable state (close), and the list shown in FIG. 7 is updated accordingly. If it is not a timeout, the host computer waits for a connection. If there is a TCP connection for transmitting print data from the host computer in S802, the process proceeds to S804, the port number to which the connection is made is checked, the process proceeds to S805, and the list shown in FIG. It is determined whether it is a port for communication or a port for SSL communication. If it is determined in S806 that the port is for SSL communication, the process proceeds to S807, and negotiation for establishing an SSL encrypted communication path is started. If it is determined that the port is a normal communication port, the process advances to step S812 to start receiving print data using a normal communication method. An HTTP POST method is used to transmit print data from the host computer. FIG. 9 shows an example of packet data of print data transmitted from the host computer using the POST method. The data sink URI is the destination for this data transmission. The printing apparatus that has received the packet data shown in FIG. 9 checks the URI of the HTTP header. In the example of FIG. 9, it is “/ job001”. From this job ID, the printing apparatus can recognize that the print data whose job ID is 001 has been sent to “https://123.456.7.8:18000/job001”.

SSL暗号化通信路確立の為のネゴシエーションについては図9を用いて詳細に説明するが、このネゴシエーションの際に、SSL通信用のポートに実際にSSL通信が行われているか否かを判断する。その結果、S808においてSSL通信が行われていたと判定されなかった場合にはS816に進み直ちにコネクションを切断し、印刷データの受信を行わないようにする。SSL通信が行われていると判定された場合にはS809に進みネゴシエーションが成立し、SSL暗号化通信路が確立されると、S810で印刷データの受信を行う。   The negotiation for establishing the SSL encrypted communication path will be described in detail with reference to FIG. 9. At the time of this negotiation, it is determined whether or not SSL communication is actually performed on the port for SSL communication. As a result, if it is not determined in step S808 that SSL communication has been performed, the process proceeds to step S816 to immediately disconnect the connection so that print data is not received. If it is determined that SSL communication is being performed, the process proceeds to S809, where negotiation is established, and when an SSL encrypted communication path is established, print data is received in S810.

このようにSSL通信用のポートに実際にSSL通信が行われるか判定することで、SSL通信用のポートに通常の通信方法でデータが送られることを回避することができるため次のようないくつかの問題を解決することができる。例えば、通常の通信方法で印刷データを送信したい場合に誤ってSSL通信用のポート宛てにコネクションを張ってしまった場合などに、SSL通信用のポート宛にコネクションが張られることが確認された後自動的にSSL通信を行ってしまったのでは、ユーザの意図に反してネットワークに余計な負荷をかけてしまうことになる。さらに、SSL通信用のポート宛てに送られたSSL通信で暗号化されていない印刷データを、印刷装置が自動的に復号化を行ってしまっては、印刷装置にエラーが生じたり、出力が行われれば意味のない無駄な排紙によるコストが生じることになる。このような不都合を回避するため、SSL暗号化通信路確立の為のネゴシエーションの際には実際にSSL通信が行われているかの判定が行われ、判定結果に応じた処理がされる。   By determining whether SSL communication is actually performed on the SSL communication port in this way, it is possible to avoid sending data to the SSL communication port by a normal communication method. Can solve these problems. For example, after confirming that a connection is established to a port for SSL communication when a connection is accidentally made to a port for SSL communication when print data is to be transmitted by a normal communication method. If the SSL communication is automatically performed, an extra load is applied to the network against the user's intention. Furthermore, if the printing device automatically decrypts the print data that has not been encrypted by SSL communication sent to the SSL communication port, an error will occur in the printing device or output will not be performed. If this happens, there will be a cost due to useless paper discharge. In order to avoid such an inconvenience, it is determined whether SSL communication is actually performed during negotiation for establishing the SSL encrypted communication path, and processing according to the determination result is performed.

S816においてコネクションが切断された後は、S801に戻り正常なコネクションを再び待つことになる。S810においては、前述したPOSTメソッドを用いてSSL通信によってホストコンピュータから送信された印刷データを受信する。その際には、ネゴシエーションの際に決定した鍵情報を用いて暗号化された印刷データの復号化が行われる(S811)。その後S813に進み、正常に印刷データが受信された旨を示すresponseをホストコンピュータからの印刷データの送信と同様、HTTPのPOSTメソッドを用いてホストコンピュータに送信し、S814に進み現在使用されたポートをクローズ(利用不可能状態つまりどのホストコンピュータにも割り当てられていない状態)し、S815ではその旨図7のリストを更新し、印刷データ受信動作を終了する。   After the connection is disconnected in S816, the process returns to S801 and waits for a normal connection again. In step S810, print data transmitted from the host computer is received by SSL communication using the above-described POST method. At that time, the print data encrypted using the key information determined at the time of negotiation is decrypted (S811). Thereafter, the process proceeds to S813, and a response indicating that the print data has been normally received is transmitted to the host computer using the HTTP POST method in the same manner as the transmission of the print data from the host computer. The process proceeds to S814, and the port currently used. Is closed (unusable state, that is, not assigned to any host computer), the list of FIG. 7 is updated to that effect in S815, and the print data receiving operation is terminated.

S806においてSSL通信用のポートではないと判定された場合の処理の流れを説明する。   A process flow when it is determined in S806 that the port is not an SSL communication port will be described.

S806においてSSL通信用のポートでないと判定された場合、つまり通常の通信ポートが利用されている場合にはS812に進み、印刷データの受信を開始する。その後S813に進み、正常に印刷データが受信された旨を示すresponseをホストコンピュータに送信する。その後の動作はSSL通信時と同様であり、使用されたポートをクローズし、その旨リストを更新し、印刷データ受信動作を終了する。   If it is determined in S806 that the port is not a port for SSL communication, that is, if a normal communication port is used, the process proceeds to S812 to start receiving print data. In step S813, a response indicating that the print data has been normally received is transmitted to the host computer. The subsequent operation is the same as that during SSL communication, the used port is closed, the list to that effect is updated, and the print data receiving operation is terminated.

このように、ホストコンピュータが印刷データを送信するために接続をおこなったポートがSSL通信用のポートであった場合に応じて、実際に該ポートにSSL通信が行われるかを判定することで、SSL通信用のポートにおいて確実にSSL暗号化通信が行われるようになり、さらには上述した効果が得られることになる。   As described above, when the port connected to transmit print data by the host computer is a port for SSL communication, it is determined whether SSL communication is actually performed on the port. SSL encrypted communication is surely performed at the SSL communication port, and the above-described effects can be obtained.

図10は、本実施形態の印刷装置においてSSL通信用のポートにホストコンピュータから接続が行われた際に実行される、ホストコンピュータ、印刷装置間のSSL暗号化通信路を確立する為のネゴシエーションの処理の流れを模式的に示した図である。   FIG. 10 shows a negotiation for establishing an SSL encrypted communication path between the host computer and the printing apparatus, which is executed when a connection is made from the host computer to the SSL communication port in the printing apparatus of this embodiment. It is the figure which showed the flow of the process typically.

以下、図10を用いて、ホストコンピュータ、印刷装置間のSSL暗号化通信路確立の為のネゴシエーション処理の流れを説明する。   Hereinafter, the flow of negotiation processing for establishing an SSL encrypted communication path between the host computer and the printing apparatus will be described with reference to FIG.

ホストコンピュータから、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の処理と対応している。   When the host computer is connected to the SSL communication port, first, the printing apparatus transmits a Hello Request to the host computer in order to prompt the start of negotiation for determining the encryption specification (S1001). On the other hand, the host computer transmits a client hello message that notifies the printing apparatus of the start of communication. At this time, the client hello message includes a list of encryption and compression algorithms that can be used by the host computer. Is included (S1002). The printing apparatus that has received the Client Hello message confirms that the host computer intends to perform SSL communication there. In other words, when there is no response from the host computer to the Hello Request from the printing device, or when a normal Client Hello message is not sent, the host computer determines that there is no intention to perform SSL communication. The connection is immediately disconnected without performing subsequent processing, that is, receiving print data. In this manner, when the printing apparatus is connected to the SSL communication port, the printing apparatus determines whether or not the host computer intends to perform SSL communication by determining a response to Hello Request (S1003). The subsequent processing is determined. The process of S1003 corresponds to the process of S808 of FIG.

ホストコンピュータからClient Helloメッセージを受け取った印刷装置は、ホストコンピュータから送信された一覧から、使用する暗号化と圧縮のアルゴリズムを決定し、Server Helloメッセージに格納してホストコンピュータに送信する(S1004)。さらに、プリマスタシークレット(印刷装置、ホストコンピュータで共有する共通鍵の元となるパラメータ)の送付を安全に行う為に、証明書をServer Certificateメッセージに格納して送信する(S1005)。このとき、証明書を持たない場合などにはServer Key Exchangeメッセージを使って、一時的なRSA鍵やDH鍵を送信する場合もある。   The printing apparatus that has received the Client Hello message from the host computer determines the encryption and compression algorithm to be used from the list transmitted from the host computer, stores it in the Server Hello message, and transmits it to the host computer (S1004). Further, the certificate is stored in a Server Certificate message and transmitted in order to securely send a premaster secret (a parameter that is a source of a common key shared by the printing apparatus and the host computer) (S1005). At this time, when there is no certificate, a temporary RSA key or a DH key may be transmitted using a Server Key Exchange message.

Server Hello Doneメッセージで、Server Helloから始まる一連のメッセージが完了したことを通知する(S1006)。   The Server Hello Done message notifies that a series of messages starting from Server Hello has been completed (S1006).

ホストコンピュータは印刷装置から送られた証明書を検証したのちプリマスタシークレットを生成し、これを暗号化して印刷装置に送信する。プリマスタシークレットの暗号化には、印刷装置から受け取った証明書に含まれる公開鍵を使用する(S1007)。   The host computer verifies the certificate sent from the printing apparatus, generates a premaster secret, encrypts it, and sends it to the printing apparatus. For encryption of the premaster secret, a public key included in the certificate received from the printing apparatus is used (S1007).

ホストコンピュータはプリマスタシークレットからマスタシークレットを作成し、さらにマスタシークレットからセッション鍵を生成する。そして使用する暗号アルゴリズムの準備が整ったことを印刷装置に通知する(S1008)。   The host computer creates a master secret from the premaster secret, and further generates a session key from the master secret. The printer is notified that the encryption algorithm to be used is ready (S1008).

さらにホストコンピュータはFinishedメッセージにホストコンピュータと印刷装置の両者が知っている情報を暗号化して送信する(S1009)。   Furthermore, the host computer encrypts and transmits information known to both the host computer and the printing apparatus to the Finished message (S1009).

印刷装置はホストコンピュータから受信した暗号化されたプリマスタシークレットを、自身の秘密鍵を使い復号化する。次に復号化したプリマスタシークレットからマスタシークレットを生成し、さらにマスタシークレットからセッション鍵(共通鍵)を生成する。このセッション鍵はホストコンピュータが生成したセッション鍵と同じ鍵になる。そして使用する暗号アルゴリズムの準備が整ったことをホストコンピュータに通知する(S1010)。   The printing apparatus decrypts the encrypted premaster secret received from the host computer using its own secret key. Next, a master secret is generated from the decrypted pre-master secret, and a session key (common key) is generated from the master secret. This session key is the same as the session key generated by the host computer. Then, the host computer is notified that the encryption algorithm to be used is ready (S1010).

さらに印刷装置はFinishedメッセージにホストコンピュータと印刷装置の両者が知っている情報を暗号化して送信する(S1011)。互いにFinishedメッセージで送られたデータをセッション鍵で復号化し、正確に情報が得られることを確認すると暗号化通信が正常に動作したことになり、ネゴシエーションを終了する。   Further, the printing apparatus encrypts and transmits information known to both the host computer and the printing apparatus to the Finished message (S1011). When the data sent by the Finished message is decrypted with the session key and it is confirmed that the information can be obtained accurately, the encrypted communication has been operated normally, and the negotiation is terminated.

その後送られる印刷データは、ホストコンピュータにおいて、このネゴシエーションによって生成されたセッション鍵で暗号化され、印刷装置において、このネゴシエーションによって生成されたセッション鍵を用いて復号化されることになる。   The print data sent thereafter is encrypted with the session key generated by this negotiation in the host computer, and is decrypted with the session key generated by this negotiation in the printing apparatus.

図11は、本実施形態におけるホストコンピュータと印刷装置とのデータのやり取りを示した図である。   FIG. 11 is a diagram illustrating data exchange between the host computer and the printing apparatus according to the present embodiment.

以下、図11を用いてホストコンピュータと印刷装置とのデータのやり取りについて説明する。   Hereinafter, the exchange of data between the host computer and the printing apparatus will be described with reference to FIG.

S1101において、ホストコンピュータAからのcreate jobを受け取った印刷装置は、ホストコンピュータAが印刷データをSSL暗号化通信で送信したいかどうかをcreate jobを解析することで判定する。ホストコンピュータAがSSL通信を要求していると判定されると、S1102において印刷装置はSSL通信用のポートをホストコンピュータAに割り当て、印刷データの宛先となるURI1をcreate jobに対するresponseとしてホストコンピュータAに送信する。   In step S <b> 1101, the printing apparatus that has received create job from the host computer A determines whether the host computer A wants to transmit print data by SSL encrypted communication by analyzing the create job. If it is determined that the host computer A is requesting SSL communication, the printing apparatus assigns a port for SSL communication to the host computer A in S1102, and the host computer A uses URI1 as the destination of the print data as a response to the create job. Send to.

S1103はホストコンピュータBからのcreate jobで、SSL暗号化通信を要求せずに通常の通信方法をホストコンピュータが要求してきた場合である。この場合印刷装置は、S1104において通常通信用のポートをホストコンピュータBに割り当て、印刷データの宛先となるURI2をcreate jobに対するresponseとしてホストコンピュータBに送信する。ここでホストコンピュータBに送信されるURI2はホストコンピュータAに送信されたURI1とは異なるURIである。   S1103 is a create job from the host computer B, which is a case where the host computer requests a normal communication method without requesting SSL encrypted communication. In this case, in step S1104, the printing apparatus assigns a port for normal communication to the host computer B, and transmits the URI 2 that is the destination of the print data to the host computer B as a response to the create job. Here, the URI 2 transmitted to the host computer B is a different URI from the URI 1 transmitted to the host computer A.

S1105において、印刷データを送信する為の接続がホストコンピュータAからされると、印刷装置は接続が行われたポートがSSL通信用のポートであるかを判定する。SSL通信用のポートに接続が行われると、S1106においてSSL通信を行う為のネゴシエーションを開始し、SSL通信路を確立する。S1107で、SSL通信でホストコンピュータAから送信された印刷データを受信し、ネゴシエーションの結果決定された鍵を用いて印刷データを復号化し、印刷を実行する。   In step S1105, when a connection for transmitting print data is made from the host computer A, the printing apparatus determines whether the connected port is a port for SSL communication. When connection is made to the SSL communication port, negotiation for performing SSL communication is started in S1106, and an SSL communication path is established. In step S1107, print data transmitted from the host computer A by SSL communication is received, the print data is decrypted using the key determined as a result of the negotiation, and printing is executed.

S1108はSSL通信を要求しないホストコンピュータBからの、印刷データ送信の為の接続である。印刷装置は接続が行われたポートがSSL通信用のポートであるかを判定し、通常の通信用のポートに接続が行われると、S1109において通常の通信方法でホストコンピュータBから送信された印刷データを受信し、印刷を実行する。   S1108 is a connection for print data transmission from the host computer B that does not require SSL communication. The printing apparatus determines whether the connected port is a port for SSL communication. When the connection is made to the port for normal communication, the print transmitted from the host computer B by the normal communication method in S1109. Receives data and executes printing.

上記実施形態では、CreateJobの送受信を行なうためのトランスポートプロトコルとしてHTTPを採用しているが、SMTP等のような他のトランスポートプロトコルを使用してもよい。   In the above embodiment, HTTP is adopted as a transport protocol for transmitting and receiving CreateJob. However, other transport protocols such as SMTP may be used.

また、図2、3において、印刷データの転送方法を指示する手段として”secure−port”というタグを使用しているが、クライアントと印刷装置とでの合意のもとでそれに変わる他の文字列をタグとして採用してもよい。   2 and 3, a tag “secure-port” is used as a means for instructing a transfer method of print data. However, other character strings that change based on an agreement between the client and the printing apparatus are used. May be adopted as a tag.

本発明の実施形態における印刷装置のハードウェア構成を示すブロック図である。1 is a block diagram illustrating a hardware configuration of a printing apparatus according to an embodiment of the present invention. 本発明の実施形態における印刷装置のソフトウェア構成を示すブロック図である。FIG. 2 is a block diagram illustrating a software configuration of a printing apparatus according to an embodiment of the present invention. 本発明の実施形態におけるホストコンピュータから印刷装置に送信されるXML形式のパケットデータを示す図である。FIG. 3 is a diagram illustrating XML format packet data transmitted from a host computer to a printing apparatus according to an embodiment of the present invention. 本発明の実施形態における図3のA部分の他の記述形式の例を示す図である。It is a figure which shows the example of the other description format of the A section of FIG. 3 in embodiment of this invention. 本発明の実施形態における印刷装置からホストコンピュータに送信されるXML形式のパケットデータを示す図である。FIG. 4 is a diagram illustrating XML format packet data transmitted from the printing apparatus to the host computer according to the embodiment of the present invention. 本発明の実施形態における印刷装置の、印刷要求受信動作を示すフローチャートである。6 is a flowchart illustrating a print request reception operation of the printing apparatus according to the embodiment of the present invention. 本発明の実施形態における印刷装置が管理する、ポートの状態を示すリストの図である。FIG. 5 is a list showing a port status managed by the printing apparatus according to the embodiment of the present invention. 本発明の実施形態における印刷装置の、印刷データの受信動作を示すフローチャートである。6 is a flowchart illustrating print data reception operation of the printing apparatus according to the embodiment of the present invention. 本発明の実施形態における印刷データ送信パケットを示す図である。It is a figure which shows the print data transmission packet in embodiment of this invention. 本発明の実施形態における印刷装置、ホストコンピュータ間のSSL通信を行う為のネゴシエーションの処理を示した模式図である。FIG. 3 is a schematic diagram illustrating negotiation processing for performing SSL communication between a printing apparatus and a host computer according to an embodiment of the present invention. 本発明の実施形態におけるホストコンピュータと印刷装置間のデータのやり取りを示した図である。FIG. 3 is a diagram illustrating data exchange between a host computer and a printing apparatus according to an embodiment of the present invention. 従来技術における、ホストコンピュータと印刷装置間のデータのやり取りを示した図である。It is the figure which showed the exchange of the data between a host computer and a printing apparatus in a prior art.

Claims (10)

情報処理装置から送信されたジョブ処理要求において、データを暗号化する通信方法が要求されたかを判定する判定手段と、
情報処理装置からのジョブ処理要求に応じて、ジョブデータの宛先を識別する識別子を該情報処理装置に送信する送信手段と、
前記判定手段において暗号化通信が要求されたと判定された場合、前記送信手段によって送信した識別子宛てのデータは暗号化通信が行われることを記憶する記憶手段と、
前記記憶手段において暗号化通信に使用されると記憶されている識別子が指定されてジョブデータが送られた場合、暗号化されたジョブデータの復号化をする復号化手段と、
を有することを特徴とするデータ処理装置。
A determination unit that determines whether a communication method for encrypting data is requested in the job processing request transmitted from the information processing apparatus;
Transmitting means for transmitting an identifier for identifying a destination of job data to the information processing apparatus in response to a job processing request from the information processing apparatus;
Storage means for storing that the data addressed to the identifier transmitted by the transmission means is encrypted when the determination means determines that encrypted communication is requested;
A decryption means for decrypting the encrypted job data when the stored identifier is designated to be used for encrypted communication in the storage means and the job data is sent;
A data processing apparatus comprising:
情報処置装置から送信されたジョブ処理要求において、データを暗号化する通信方法が要求されたかを判定する判定手段と、
前記判定手段において暗号化通信が要求されたと判定された場合、ジョブデータの宛先のうち、暗号化通信用の宛先を識別する識別子を情報処理装置に送信する送信手段と、
前記暗号化通信用の宛先を識別する識別子が指定されてジョブデータが送られた場合、暗号化されたジョブデータの復号化をする復号化手段と、
を有することを特徴とするデータ処理装置。
A determination unit that determines whether a communication method for encrypting data is requested in the job processing request transmitted from the information processing apparatus;
A transmission unit that transmits, to the information processing apparatus, an identifier that identifies an encrypted communication destination among job data destinations when the determination unit determines that encrypted communication is requested;
Decryption means for decrypting encrypted job data when an identifier for identifying the destination for encrypted communication is designated and job data is sent;
A data processing apparatus comprising:
暗号化通信が行われる宛先を識別する識別子に情報処理装置からの接続が行われると、暗号化されたジョブデータを復号化するための鍵情報を決定するための処理を行う処理手段をさらに有し、
前記処理手段によって決定した鍵情報を用いて暗号化されたジョブデータの復号化が行われることを特徴とする請求項1又は2記載のデータ処理装置。
When a connection from the information processing apparatus is made to an identifier for identifying a destination where encrypted communication is performed, there is further provided processing means for performing processing for determining key information for decrypting the encrypted job data. And
The data processing apparatus according to claim 1 or 2, wherein the encrypted job data is decrypted using the key information determined by the processing means.
暗号化通信が行われる宛先を識別する識別子に情報処理装置からの接続が行われた際、前記処理手段によって処理が行われない場合には、ジョブデータの受信を行わないことを特徴とする請求項3記載のデータ処理装置。   The job data is not received when a connection is made from an information processing apparatus to an identifier for identifying a destination in which encrypted communication is performed, if the processing unit does not perform processing. Item 4. A data processing apparatus according to Item 3. 暗号化通信が行われる宛先を識別する識別子が指定されたジョブデータが送られた場合、暗号化通信が行われているかを判定する第2の判定手段をさらに有し、
前記第2の判定手段において暗号化通信が行われていると判定された場合にのみジョブ処理が実行されることを特徴とする請求項1又は2記載のデータ処理装置。
A second determination unit configured to determine whether encrypted communication is being performed when job data specifying an identifier for identifying a destination to which encrypted communication is performed is sent;
3. The data processing apparatus according to claim 1, wherein job processing is executed only when it is determined by the second determination means that encrypted communication is being performed.
前記第2の判定手段において暗号化通信が行われていないと判定された場合にはジョブ処理が実行されないことを特徴とする請求項5記載のデータ処理装置。   6. The data processing apparatus according to claim 5, wherein when the second determination unit determines that encrypted communication is not being performed, job processing is not executed. 情報処理装置から送信されたジョブ処理要求において、データを暗号化する通信方法が要求されたかを判定する判定ステップと、
情報処理装置からのジョブ処理要求に応じて、印刷データの宛先を識別する識別子を該情報処理装置に送信する送信ステップと、
前記判定ステップにおいて暗号化通信が要求されたと判定された場合、前記送信ステップによって送信した識別子宛てのデータは暗号化通信が行われることを記憶する記憶ステップと、
前記記憶ステップにおいて暗号化通信に使用されると記憶されている識別子が指定されてジョブデータが送られた場合、暗号化されたジョブデータの復号化をする復号化ステップと、
を有することを特徴とするデータ処理方法。
A determination step of determining whether a communication method for encrypting data is requested in the job processing request transmitted from the information processing apparatus;
A transmission step of transmitting an identifier for identifying a destination of print data to the information processing apparatus in response to a job processing request from the information processing apparatus;
When it is determined that encrypted communication is requested in the determination step, the storage step for storing that the data addressed to the identifier transmitted in the transmission step is encrypted communication;
A decrypting step for decrypting the encrypted job data when the stored data is designated and used to be used for encrypted communication in the storing step and the job data is sent;
A data processing method characterized by comprising:
情報処理装置から送信されたジョブ処理要求において、データを暗号化する通信方法が要求されたかを判定する判定ステップと、
前記判定ステップにおいて暗号化通信が要求されたと判定された場合、ジョブデータの宛先のうち、暗号化通信用の宛先を識別する識別子を情報処理装置に送信する送信ステップと、
前記暗号化通信用の宛先を識別する識別子が指定されてジョブデータが送られた場合、暗号化されたジョブデータの復号化をする復号化ステップと、
を有することを特徴とするデータ処理方法。
A determination step of determining whether a communication method for encrypting data is requested in the job processing request transmitted from the information processing apparatus;
A transmission step of transmitting, to the information processing apparatus, an identifier for identifying a destination for encrypted communication among destinations of job data when it is determined in the determination step that encrypted communication is requested;
A decrypting step for decrypting the encrypted job data when an identifier for identifying the destination for encrypted communication is specified and the job data is sent;
A data processing method characterized by comprising:
情報処理装置から送信されたジョブ処理要求において、データを暗号化する通信方法が要求されたかを判定する判定機能と、
情報処理装置からのジョブ処理要求に応じて、印刷データの宛先を識別する識別子を該情報処理装置に送信する送信機能と、
前記判定機能において暗号化通信が要求されたと判定された場合、前記送信機能によって送信した識別子宛てのデータは暗号化通信が行われることを記憶する記憶機能と、
前記記憶機能において暗号化通信に使用されると記憶されている識別子が指定されてジョブデータが送られた場合、暗号化されたジョブデータの復号化をする復号化機能と、
をコンピュータに実現させる為のプログラム。
A determination function for determining whether a communication method for encrypting data is requested in the job processing request transmitted from the information processing apparatus;
A transmission function for transmitting an identifier for identifying a destination of print data to the information processing apparatus in response to a job processing request from the information processing apparatus;
When it is determined that encrypted communication is requested in the determination function, a storage function for storing that the data addressed to the identifier transmitted by the transmission function is encrypted communication;
A decryption function for decrypting the encrypted job data when the stored data is specified and an identifier stored when used for encrypted communication is sent in the storage function;
A program for realizing a computer.
情報処置装置から送信されたジョブ処理要求において、データを暗号化する通信方法が要求されたかを判定する判定機能と、
前記判定機能において暗号化通信が要求されたと判定された場合、ジョブデータの宛先のうち、暗号化通信用の宛先を識別する識別子を情報処理装置に送信する送信機能と、
前記暗号化通信用の宛先を識別する識別子が指定されてジョブデータが送られた場合、暗号化された印刷データの復号化をする復号化機能と、
をコンピュータに実現させる為のプログラム。
A determination function for determining whether a communication method for encrypting data is requested in the job processing request transmitted from the information processing apparatus;
A transmission function for transmitting, to the information processing apparatus, an identifier for identifying a destination for encrypted communication among destinations of job data when it is determined that encrypted communication is requested in the determination function;
A decryption function for decrypting encrypted print data when job data is sent with an identifier for identifying the destination for encrypted communication;
A program for realizing a computer.
JP2003348387A 2003-10-07 2003-10-07 Data processing apparatus, method and program Expired - Fee Related JP4955908B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003348387A JP4955908B2 (en) 2003-10-07 2003-10-07 Data processing apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003348387A JP4955908B2 (en) 2003-10-07 2003-10-07 Data processing apparatus, method and program

Publications (2)

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

Family

ID=34540597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003348387A Expired - Fee Related JP4955908B2 (en) 2003-10-07 2003-10-07 Data processing apparatus, method and program

Country Status (1)

Country Link
JP (1) JP4955908B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183797A (en) * 2006-01-06 2007-07-19 Canon Inc Application device and power state return method
JP2008250901A (en) * 2007-03-30 2008-10-16 Brother Ind Ltd Image forming apparatus
JP2019181865A (en) * 2018-04-13 2019-10-24 キヤノン株式会社 Printer, and control method and program for printer
JP7293452B2 (en) 2018-04-13 2023-06-19 キヤノン株式会社 PRINTING APPARATUS, PRINTING APPARATUS CONTROL METHOD AND PROGRAM

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07107082A (en) * 1993-10-06 1995-04-21 Nippon Telegr & Teleph Corp <Ntt> Cipher gateway device
JPH08204698A (en) * 1995-01-24 1996-08-09 Mitsubishi Electric Corp Ciphering device
JPH11205309A (en) * 1998-01-16 1999-07-30 Mitsubishi Electric Corp Network security system
JP2002333958A (en) * 2001-03-06 2002-11-22 Canon Inc Image processor and communication method in image processor
JP2003069735A (en) * 2001-08-27 2003-03-07 Sharp Corp Network communication system, host computer, pos terminal, recording medium and program to be used therefor
JP2003150347A (en) * 2001-11-08 2003-05-23 Seiko Epson Corp Printing service presentation system, printing data distribution terminal, communication management terminal, program for terminal and printing service presentation method
JP2003273920A (en) * 2002-03-19 2003-09-26 Matsushita Electric Ind Co Ltd Transmitter and receiver of general data and priority data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07107082A (en) * 1993-10-06 1995-04-21 Nippon Telegr & Teleph Corp <Ntt> Cipher gateway device
JPH08204698A (en) * 1995-01-24 1996-08-09 Mitsubishi Electric Corp Ciphering device
JPH11205309A (en) * 1998-01-16 1999-07-30 Mitsubishi Electric Corp Network security system
JP2002333958A (en) * 2001-03-06 2002-11-22 Canon Inc Image processor and communication method in image processor
JP2003069735A (en) * 2001-08-27 2003-03-07 Sharp Corp Network communication system, host computer, pos terminal, recording medium and program to be used therefor
JP2003150347A (en) * 2001-11-08 2003-05-23 Seiko Epson Corp Printing service presentation system, printing data distribution terminal, communication management terminal, program for terminal and printing service presentation method
JP2003273920A (en) * 2002-03-19 2003-09-26 Matsushita Electric Ind Co Ltd Transmitter and receiver of general data and priority data

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183797A (en) * 2006-01-06 2007-07-19 Canon Inc Application device and power state return method
JP2008250901A (en) * 2007-03-30 2008-10-16 Brother Ind Ltd Image forming apparatus
US8243310B2 (en) 2007-03-30 2012-08-14 Brother Kogyo Kabushiki Kaisha Image forming device configured to receive and process print data from a client via network
JP2019181865A (en) * 2018-04-13 2019-10-24 キヤノン株式会社 Printer, and control method and program for printer
JP7059087B2 (en) 2018-04-13 2022-04-25 キヤノン株式会社 Printing equipment, control methods and programs for printing equipment
JP7293452B2 (en) 2018-04-13 2023-06-19 キヤノン株式会社 PRINTING APPARATUS, PRINTING APPARATUS CONTROL METHOD AND PROGRAM

Also Published As

Publication number Publication date
JP4955908B2 (en) 2012-06-20

Similar Documents

Publication Publication Date Title
EP1571545A2 (en) Secure Printing
JP5377009B2 (en) Information processing apparatus, communication system, information processing apparatus control method, and program
US9038190B2 (en) Communication apparatus that communicate in different security levels and computer-readable media for controlling such apparatus
JP2008090458A (en) Communication method, communication system, and server, client and computer program that constitute communication system
JP2005346556A (en) Providing device, and communication device, method and program
JP3944182B2 (en) Security communication method
JP2008035272A (en) Information processing system and data communication method in the same
JP4579597B2 (en) Information processing apparatus, information processing method, and program
JP2007082208A (en) System, method, and program for safely transmitting electronic document between domains in terms of security
EP1443410A1 (en) Communication mediating device for mediating communication over network
JP4942597B2 (en) Image input / output device, image processing system, and image processing control method
JP2004168052A (en) Printing system, printing device and method for giving printing command
JP4955908B2 (en) Data processing apparatus, method and program
JP4992219B2 (en) Transmission information collation apparatus, transmission information collation method, and managed device
JP2006251996A (en) Client device, image processing system, control method for client device, program and recording medium
US20030061511A1 (en) Secure communication of information via a communication network
JP2005303676A (en) Image forming device, paired key generating method, and computer program
JP3731371B2 (en) Network facsimile apparatus and communication control method therefor
JP6484319B2 (en) Method and system for providing safety using a loopback interface
JP2005311811A (en) Image forming apparatus or confidentiality communication apparatus
JP4789432B2 (en) Data processing apparatus, data processing apparatus control method, computer program, and storage medium
JP5293070B2 (en) Network-compatible image forming apparatus and program
JP2006048588A (en) System and method for remote diagnosis
JP2009177560A (en) Image forming device, image formation system, security-setting program, and security-setting method
JP4083637B2 (en) Image processing apparatus, transmission / reception data processing method, transmission / reception data processing program

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