1. Field of the Invention
The present invention relates to an image processing apparatus that transmits image data obtained by reading from an original to a transmission destination that a user designates, to a method of controlling the same, and to a storage medium.
2. Description of the Related Art
In recent years, multi function peripherals capable of executing a plurality of functions such as a copy function, a print function, a fax function, a network scan function, an address book for managing transmission destination information, or the like, are used widely. Normally, such multi function peripherals are equipped with an operation unit that has an operation panel having a touch screen function and hard keys, and a user is able to operate the device by calling a desired function from a function list displayed on the operation panel. With a network scan function that a multi function peripheral is provided with, image data can be transmitted using a fax transmission, an e-mail transmission, an I-Fax transmission, a file transmission, or the like. Furthermore, in the file transmission, the image data can be transmitted to a server that a user chooses using various transmission protocols such as FTP, SMB, or WebDAV. Multi function peripherals are equipped with an address setting unit according to these multiple transmission approaches, and a transmission setting unit for setting the transmission file format, or the like, and a user is able to transmit image data to a desired destination by operating these. In Japanese Patent Laid-Open No. 2005-318545, a document processing apparatus capable of transmitting document data in accordance with multiple differing transmission protocols has been proposed.
However, there is a problem with the above described conventional technique as described below. Unlike in fax transmission, e-mail transmission, and I-Fax transmission, in file transmission, authentication information for the server is necessary when transmitting the image data to a server other than in exceptional cases. If a server, which is a transmission partner, is a server that can be relied upon, it is not a problem to send authentication information such as a user name and a password at the time of transmission. However, there are cases in which, by the file transmission protocol, it is possible to transmit the authentication information to an external server, and if the partner server is a malicious server, there is the possibility that the authentication information will be extracted and misused. There is the possibility that this will cause a serious problem in terms of security.
The present invention enables realization of an arrangement that prevents leaking, to a malicious server, information input when a data transmission destination is set
One aspect of the present invention provides an image processing apparatus, comprising: a first display control unit configured to control a display unit to display a first screen for inputting a host name of a destination server; a verification unit configured to perform, based on the host name input via the first screen, a verification of the destination server; a second display control unit configured to control the display unit to display, based on a result of the verification by the verification unit, a second screen for inputting authentication information for logging in to the destination server; and a transmission unit configured to transmit image data using the authentication information input via the second screen.
Another aspect of the present invention provides an image processing apparatus, comprising: a first acceptance unit configured to accept a host name of a destination server; a verification unit configured to perform, based on the host name that the first acceptance unit accepts, a verification of the destination server; a second acceptance unit configured to, based on a result of the verification by the verification unit, accept authentication information for logging in to the destination server; and a transmission unit configured to transmit image data using the authentication information that the second acceptance unit accepts.
Still another aspect of the present invention provides a method of controlling an image processing apparatus, comprising: controlling a display unit to display a first screen for inputting a host name of a destination server; performing, based on the host name input via the first screen, a verification of the destination server; controlling the display unit to display, based on a result of the verification, a second screen for inputting authentication information for logging in to the destination server; and transmitting image data using the authentication information input via the second screen.
Yet still another aspect of the present invention provides a method of controlling an image processing apparatus, comprising: accepting a host name of a destination server; performing, based on the host name, a verification of the destination server; based on a result of the verification, accepting authentication information for logging in to the destination server; and transmitting image data using the authentication information.
Still yet another aspect of the present invention provides a non-transitory computer-readable storage medium storing a program for causing a computer to execute a method of controlling an image processing apparatus, the program comprising: controlling a display unit to display a first screen for inputting a host name of a destination server; performing, based on the host name input via the first screen, a verification of the destination server; controlling the display unit to display, based on a result of the verification, a second screen for inputting authentication information for logging in to the destination server; and transmitting image data using the authentication information input via the second screen.
Yet still another aspect of the present invention provides a non-transitory computer-readable storage medium storing a program for causing a computer to execute a method of controlling an image processing apparatus, the program comprising: accepting a host name of a destination server; performing, based on the host name, a verification of the destination server; based on a result of the verification, accepting authentication information for logging in to the destination server; and transmitting image data using the authentication information.
Further features of the present invention will be apparent from the following description of exemplary embodiments with reference to the attached drawings.
Embodiments of the present invention will now be described in detail with reference to the drawings. It should be noted that the relative arrangement of the components, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless it is specifically stated otherwise.
Below, explanation will be given for a first embodiment of the present invention. Firstly, with reference to
The image forming unit 101 forms images on a printing medium (also referred to as a recording medium, paper, or a sheet) using an electrophotographic printing approach, or the like. The control unit 102 controls the multi function peripheral 100 comprehensively. The finisher 103 performs post-processing such as stapling processing. The scanner unit 104 reads an original image and outputs image data. The operation unit 105, in addition to displaying setting screens, or the like, inputs various data and commands. The network interface 106 transmits and receives image data via the network. The facsimile interface 107 transmits and receives data via fax (facsimile). Each of the components denoted by 101 and 103-107 is connected to the control unit 102 by a dedicated interface.
The control unit 102 comprises a central processing unit (CPU) 108 and a storage apparatus (a memory) 109 which are main components. In the memory 109 control programs corresponding to the flowcharts shown in
<Software Configuration>
Next, with reference to
The UI control module 201 displays operation screens on the operation unit 105, and controls a user interface (UI) by which operations of a user are accepted. The scan control module 202 controls processing for reading an original image by controlling the scanner unit 104. The transmission control module 203 controls processing for transmitting image data that the scan control module 202 read in to a destination that the user designated using the network interface 106. Specifically, the transmission control module 203 controls e-mail transmission, and transmission to a file server, or the like. The fax control module 204 controls transmission and reception of G3 fax using the facsimile interface 107.
The job control module 205 manages user transmission requests that the UI control module 201 accepts, execution statuses of such requests, and histories. The image management module 206 manages management information of images read in by the scanner unit 104. The destination information management module 207 manages transmission destination information of a transmission partner which is used in transmission processing. The print control module 208 controls printing to paper of image data read in by a scanner unit, or received fax documents, transmission result reports, or the like, using the image forming unit 101. This control software is stored in the memory 109 and executed by the CPU 108.
<System Configuration>
Next, explanation will be given for an example configuration of a system according to the embodiment with reference to
<Screen Examples>
Below, explanation will be given for various screens displayed on the operation unit 105 of the multi function peripheral 100 with reference to
Reference numeral 401 denotes a selection screen, on which application selection buttons that a user presses to call operation screens for performing desired processing, are displayed. Here a “copy” button 406, a “scan” button 407, a “fax” button 408, and a “box” button 409 for calling operation screens of a copy function, a network scan function, a fax function, and a box function are displayed.
Also, a numeric keypad 402, and a start key 403 for designating a job initiation are arranged as buttons configured as hardware. In addition, a “set/register” screen calling button 404 for calling a setting screen of the device, and a “history/status” button 405 for calling a job history/status screen are arranged.
The destination input can be input by either an “address book”, a “one-touch”, or a “new destination” approach. For example, if a user presses a “new destination” button 504, it becomes possible to input the transmission destination directly. If a “address book” button 506 or a “one-touch” button 505 are pressed, a registered destination can be selected.
Reference numeral 502 denotes a setting button for setting parameters for when scanning such as those for a read resolution and a read color mode. For example, in a case where scanned image data is to be transmitted to a transmission destination and this information is set, reading of an original is performed with the set resolution and color mode, and the obtained image data is transmitted to the transmission destination set using one of the destination input buttons 501. Reference numeral 503 denotes an application function button for calling various detailed settings for when reading and transmitting.
<Setting Processing>
Next, explanation will be given, with reference to
Firstly, explanation will be given for acceptance of setting items of the file destination by the UI control module 201. In step S801, the UI control module 201 displays the file destination setting screen 700 on the operation unit 105. In step S802, the UI control module 201 detects a selection state of a transmission protocol selection pull-down 701, and accepts the transmission protocol to use for file transmission that the user selected. For example, a transmission protocol such as FTP, SMB, or WebDAV is accepted.
In step S803, the UI control module 201 accepts input of any of the “host name”, the “folder name”, the “user name”, or the “password”, which are file destination setting items settable by the file destination setting screen 700. Note, hereinafter the “host name”, the “folder name”, the “user name”, and the “password” are referred to collectively as transmission related information. In other words, the file destination setting screen 700 is a setting screen by which all setting items included in the transmission related information are settable. Also, the host name is a name of a destination device (here the server) to which a file is transmitted. In step S804, the UI control module 201 determines whether or not the file destination setting item accepted in step S803 is the host name. Here, if the file destination setting item is not the host name, the processing proceeds to step S808, and if the file destination setting item is the host name, the processing proceeds to step S805. In step S808, the UI control module 201 determines whether or not all items of the file destination setting item are input. If all of the items are input, information of all the input items is confirmed to be valid information, and the processing ends, but if all of the items have not been input, the processing returns to step S803.
Next, explanation will be given for a determination of a possibility of a server verification on the UI control module 201. In step S805, the UI control module 201 determines whether or not a server verification is possible for the transmission protocol accepted in step S802. For example, in a state in which SSL is usable, a server verification is possible for a WebDAV transmission. Here, the server verification determines whether or not a server apparatus is a malicious server, i.e. whether or not the server has reliability. Here, after a server is determined to have reliability, the server is notified of confidential information such as authentication information of a user. When, in step S805, it is determined that server verification is not possible for the protocol, the processing proceeds to step S808 and when it is determined that server verification is possible for the protocol, the processing proceeds to step S806.
Next, explanation will be given for a server verification by the transmission control module 203. The UI control module 201 notifies the transmission control module 203 of the host name information from the file destination setting items accepted in step S803, and requests a server verification. In step S806, the transmission control module 203 identifies the server (for example, the server computer 302) which has the host name of which the UI control module 201 notified, obtains a certificate certifying reliability of the server from the server and performs a verification of the obtained server certificate. With this, it is possible to verify the reliability of the server.
In other words, a server that has reliability is a server having a signature of a certificate authority registered in the multi function peripheral 100 in advance. Note, here the above described determination approach is used, but this is not intended to limit the present invention to this determination approach, and other determination approaches may be used. The transmission control module 203 notifies the UI control module 201 of the result of the server verification, and the processing proceeds to step S807.
Next, explanation will be given for a usage of the verification result by the UI control module 201. In step S807 the UI control module 201 receives the server verification result from the transmission control module 203 and determines whether or not the verification result indicates that the server can be relied upon. In a case where the server can be relied upon, the processing proceeds to step S808, and in a case where the server cannot be relied upon, the processing proceeds to step S809.
In step S809, the UI control module 201 displays an error pop-up shown in
In step S810, the UI control module 201 determines whether or not the selection of the user input via the error pop-up 900 is for continuing with the operation. In other words, the UI control module 201 determines whether or not the button 901 is pressed. In a case where the button 901 is pressed, the processing proceeds to step S808, and in a case where the button 902 is pressed, the processing proceeds to step S811. In step S811, the UI control module 201 clears the input host name, and returns the processing to step S803.
When the processing of the above described flowchart ends, the setting information such as that for valid transmission related information and the data type when a file is transmitted to the server, for example, is confirmed. When this information is confirmed, the multi function peripheral 100 transmits to the server, which is the destination device, the authentication information such as the “user name” and the “password” included in the transmission related information, and executes the transmission of the file.
As explained above, by virtue of the image processing apparatus (the multi function peripheral) according to the embodiment, using transmission related information for when data is transmitted that is input via a setting screen, a certificate that certifies a reliability of a destination device is obtained from the destination device to which a file, or the like, is transmitted. In addition, the image processing apparatus, using the obtained certificate, verifies whether or not the destination device is an apparatus that has reliability, and if the destination device is an apparatus that has reliability, confirms the set transmission related information to be valid information. In this way, the image processing apparatus according to the embodiment, having verified whether or not the destination device is an apparatus having reliability, can transmit authentication information, for which security is important, only when the apparatus has reliability With this, leaking to a malicious server authentication information input when setting the transmission destination of data can be prevented.
Below, with reference to
Reference numeral 1000 of
<Setting Processing>
Next, explanation will be given, with reference to
Firstly, explanation will be given for a determination of a possibility of a server verification on the UI control module 201. In step S1101, the UI control module 201 displays the file destination setting screen 700 on the operation unit 105. In step S1102, the UI control module 201 detects a selection state of the transmission protocol selection pull-down 701, and accepts the transmission protocol to use for file transmission that the user selected.
Continuing on, in step S1103, the UI control module 201 determines whether or not server verification is possible for the transmission protocol accepted in step S1102. For example, in a state in which SSL is usable, a server verification is possible for a WebDAV transmission. Here, if the server verification is possible, the processing proceeds to step S1104, and if the server verification is impossible, the processing proceeds to step S1113. In step S1113, the UI control module 201, via the file destination setting screen 700 displayed in step S1101, accepts all of the file destination setting items (the “host name”, the “folder name”, the “user name”, and the “password”), confirms that the information of all of the input items is valid information, and the processing ends.
Next, explanation will be given for a display of a setting screen for a protocol for which a server verification is possible by the UI control module 201. In step S1104, the UI control module 201 displays on the operation unit 105 the host name setting screen 1000 shown in
Next, explanation will be given for a server verification by the transmission control module 203. The UI control module 201 notifies the transmission control module 203 of the host name information accepted in step S1105 and requests the server verification. In step S1106, the transmission control module 203 obtains the certificate from a server (for example, the server computer 302) having the host name of which the UI control module 201 notified, and by performing a verification of the obtained server certificate, verifies the reliability of the server.
The transmission control module 203 compares the signature of the certificate authority included in the server certificate 1200 shown in
Next, explanation will be given for a usage of the verification result by the UI control module 201. In step S1107 the UI control module 201 receives the server verification result from the transmission control module 203 and determines whether or not the verification result indicates that the server can be relied upon. In a case where the server can be relied upon, the processing proceeds to step S1108, and in a case where the server cannot be relied upon, the processing proceeds to step S1110.
In step S1108, the UI control module 201 displays, on the operation unit 105, the file destination setting screen 1010 for items other than the host name, which includes the input areas 1011-1013 for the “folder name”, the “user name”, and the “password”. In step S1109, the UI control module 201, via the file destination setting screen 1010, accepts the input of all of the remaining file destination items, confirms that the information of all of the input items is valid information, and the processing ends.
Meanwhile, in step S1110, the UI control module 201 displays to the operation unit 105 the error pop-up 900 shown in
As explained above, by virtue of the information processing apparatus, unlike the above described first embodiment, firstly a setting screen, by which only the host name (the name of the destination device) is settable, is displayed in order to determine whether or not the destination device is an apparatus that has reliability. When the host name is set via this setting screen, the destination device is verified, and a setting screen by which the other setting items are settable is displayed if the apparatus has reliability. With this, in addition to more reliably reducing a risk of information leakage, it is possible for users to determine instantly that an error is due to the host name that they themselves input when an error is displayed in a case where the destination device is a malicious server, for example. For example, in a case of a setting screen in which all of the setting items are settable as in the above described first embodiment, it is difficult for a user to instantly determine which setting item caused the error when the error is displayed.
In the above described first and second embodiments, examples are shown in which a user sets a file destination as a new destination. However, the same effect can be obtained when the present invention is applied to processing for a case in which the user registers the file destination using the address book, or the one-touch function. Note, because such processing is the same as the processing in the above described first and second embodiments, explanation is not given again.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2013-248345 filed on Nov. 29, 2013, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2013-248345 | Nov 2013 | JP | national |