A communication apparatus may include a reception portion, a decision portion, and a transmission portion. The reception portion may receive a first data request transmitted through a first security level communication, and a second data request transmitted through a second security level communication, the second security level being more secure than the first security level. The decision portion may decide whether a specific data request is the first data request or the second data request. The transmission portion may transmit a specific data to an apparatus that is a transmission source of the specific data request if the specific data request is the second data request, and may transmit different data to the apparatus if the specific data request is the first data request. The different data contains display information for causing the apparatus to retransmit the specific data request through the second security level communication.
|
8. A non-transitory, computer-readable storage medium comprising computer-readable instructions for a processor of a communication apparatus, the computer-readable instructions instructing the processor to perform the steps of:
receiving a first data request transmitted through a first security level communication;
receiving a second data request transmitted through a second security level communication, the second security level being more secure than the first security level;
determining whether the specific data request is the first data request or the second data request, when receiving a specific data request requesting specific data;
transmitting the specific data to an apparatus that is a transmission source of the specific data request, when the specific data request is the second data request;
transmitting different data to the apparatus that is the transmission source, when the specific data request is the first data request,
wherein the different data differs from the specific data,
wherein the different data contains display information for causing the apparatus that is the transmission source to retransmit the specific data request through the second security level communication, and
wherein the display information includes a link item to retransmit the specific data request through the second security level communication and a message prompting selection of the link item;
storing an electronic certificate in a certificate storage region, wherein the second security level communication comprises a protocol allowing communication to be established through a connection procedure using the electronic certificate;
transmitting the specific data through the communication established through the connection procedure using the electronic certificate; and
updating the generated electronic certificate, when a period before expiration of the generated electronic certificate is less than a predetermined period.
1. A communication apparatus comprising:
a memory storing computer readable instructions; and
a processor configured to execute the computer readable instructions, wherein the computer readable instructions cause the processor to implement processes comprising:
receiving a first data request transmitted through a first security level communication;
receiving a second data request transmitted through a second security level communication, the second security level being more secure than the first security level;
determining, when receiving a specific data request requesting specific data, whether the specific data request is the first data request or the second data request;
transmitting the specific data to an apparatus that is a transmission source of the specific data request, when the specific data request is the second data request;
transmitting different data to the apparatus that is the transmission source when the specific data request is the first data request,
wherein the different data differs from the specific data,
wherein the different data comprises display information for causing the apparatus that is the transmission source to retransmit the specific data request through the second security level communication, and
wherein the display information includes a link item to retransmit the specific data request through the second security level communication and a message prompting selection of the link item;
storing an electronic certificate in a certificate storage region, wherein the second security level communication comprises a protocol allowing communication to be established through a connection procedure using the electronic certificate;
transmitting the specific data through the communication established through the connection procedure using the electronic certificate; and
updating the generated electronic certificate, when a period before expiration of the generated electronic certificate is less than a predetermined period.
9. A system comprising:
a printer;
a client terminal; and
a server,
wherein the client terminal comprises:
a display;
a first interface; and
a first processor coupled to the display and the first interface;
wherein the printer comprises:
a printing device configured to perform printing in accordance with a received print job;
a web server;
a second interface;
a memory storing specific data including account information and warning data including a message and a link item, wherein the message includes a particular text to urge selection of the link item, and wherein the link item indicates a location of the specific data and includes a command for transmitting, in a secured communication protocol, a particular request for accessing the specific data including account information; and
a second processor, coupled to the second interface and the memory,
wherein the server comprises:
a third interface;
a third processor coupled to the third interface;
wherein the first processor is configured to:
transmit, to the web server of the printer through the first interface, the particular request for accessing the specific data;
wherein the second processor is configured to:
receive, from the client terminal through the second interface, the particular request;
determine whether the particular request is transmitted through a first security level communication or a second security level communication, the second security level communication being more secure than the first security level communication;
generate a first response to the particular request when the particular request is transmitted through the first security level communication, wherein the first response includes the warning data described in HTML format and is transmitted to the client terminal through the first security level communication, the warning data including the message and the link item;
generate a second response to the particular request when the particular request is transmitted through the second security level communication, wherein the second response includes the specific data described in HTML format and is transmitted to the client terminal through the second security level communication;
wherein the first processor is further configured to:
receive the first response from the printer through the first security level communication;
control the display to display the warning data including the message and the link item in HTML format;
transmit a command including the particular request for accessing the specific data in accordance with the location of the specific data, in response to selection of the link item;
receive the second response including the specific data through the second security level communication;
control the display to display the specific data in HTML format;
transmit the specific data to the server through the second security level communication;
transmit a print job to the server through the second security level communication, the print job including the specific data and a destination information assigned to the printer;
wherein the second processor is further configured to:
transmit a printing request to the server through the second security level communication, the printing request including a request for transmitting the print job to the printer and the specific data in association with the print job;
wherein the third processor is configured to:
receive the specific data from the client terminal through the second security level communication;
store the received specific data in a memory of the server;
receive the print job transmitted from the client terminal through the second security level communication;
receive the printing request from the printer through the second security level communication, the printing request including the specific data stored in the memory of the printer;
transmit the print job to the printer through the second security level communication based on the destination information included in the received print job when the received specific data included in the printing request is identical to the specific data stored in the memory of the server,
wherein the second processor is further configured to:
receive the print job transmitted from the server through the second security level communication; and
control the printing device to print an image based on the received print job.
2. The communication apparatus according to
storing the electronic certificate in the certificate storage region in accordance with a storage instruction, wherein the certificate storage region comprises:
a first certificate storage region configured to store a first electronic certificate to be stored by the certificate storage processing portion; and
a second certificate storage region configured to store a second electronic certificate to be stored without utilization of the certificate storage processing portion;
selecting the first electronic certificate, when the first electronic certificate is stored in the first certificate storage region, and selecting the second electronic certificate, when the first electronic certificate is not stored in the first certificate storage region; and
transmitting the specific data through the communication established through the connection procedure using the selected electronic certificate.
3. The communication apparatus according to
storing a selection result of the selecting process in a selection result storage region; and
selecting the electronic certificate in advance of the connection procedure for receiving the second data request and storing information indicating the selection result in the selection result storage region.
4. The communication apparatus according to
deciding whether the specific data request is the first data request or the second data request based on information transmitted with the specific data request or information contained in the specific data request.
5. The communication apparatus according to
generating the electronic certificate when the electronic certificate is not stored in the certificate storage region.
6. The communication apparatus according to
a printer configured to perform printing in accordance with a received print job,
wherein the specific data contains setting information for performing setting of the printer.
7. The communication apparatus according to
a network interface connected to a server, the server providing an external print service,
wherein the specific data comprises data for registering into the communication apparatus the specific information for use of the external print service.
10. The system according to
store an electronic certificate in a certificate storage region, wherein the second security level communication comprises a protocol allowing communication to be established through a connection procedure using the electronic certificate; and
transmit the specific data through the communication established through the connection procedure using the electronic certificate.
11. The system according to
a first certificate storage region configured to store a first electronic certificate to be stored by a certificate storage processing portion; and
a second certificate storage region configured to store a second electronic certificate to be stored without utilization of the certificate storage processing portion;
wherein the second processor is further configured to:
select the first electronic certificate, when the first electronic certificate is stored in the first certificate storage region, and select the second electronic certificate, when the first electronic certificate is not stored in the first certificate storage region; and
transmit the specific data through the communication established through the connection procedure using the selected electronic certificate.
|
The present application claims priority from Japanese Patent Application No. 2011-054069, filed on Mar. 11, 2011, which is incorporated herein by reference.
1. Field of the Invention
The present invention relates generally to a communication apparatus for receiving a data request through a plurality of types of communication, each protected by different levels of security.
2. Description of Related Art
In a known apparatus, a plurality of types of communication, each protected by different levels of security, are employed for communication among a plurality of communication apparatuses. For example, a hypertext transfer protocol (HTTP) communication and a hypertext transfer protocol over Secure Socket Layer (SSL) (HTTPS) communication with a higher security level than the HTTP communication are employed for transmitting Web page data from a Web server to a client. SSL is a protocol for performing encrypted communication using an electronic certificate. HTTP is a standard protocol used for communication between a Web server and a client, without employing the SSL. In HTTPS communication, the SSL is implemented as a lower layer of the HTTP.
The apparatus described above, however, do not account for the Web server being configured to allow the client to request Web page data through both the HTTP communication and the HTTPS communication. When the Web server is configured in this manner, although the client has a higher degree of freedom in processing because the client decides whether to use the HTTPS communication or the HTTP communication, there are also some deficiencies. For example, when the data requested by the client includes specific data that must be secured (for example, Web page data that may contain personal information), the communication security of such specific data may become unprotected. Such problems occur not only for the Web server, but also more broadly for communication apparatus configured to receive data requests through a plurality of types of communication, each protected by different levels of security.
An advantage of embodiments of the present invention is that security of the specific data may be improved in communication apparatuses configured to receive data requests through a plurality of types of communication, each protected by different levels of security.
A communication apparatus may comprise: a processor, wherein the processor may be configured to comprise: a reception portion configured to receive a first data request transmitted through a first security level communication, and a second data request transmitted through a second security level communication, the second security level being more secure than the first security level; a decision portion configured to decide, when the reception portion receives a specific data request requesting specific data, whether the specific data request is the first data request or the second data request; and a transmission portion configured to transmit the specific data to an apparatus that is a transmission source of the specific data request when the specific data request is the second data request, and to transmit different data to the apparatus that is the transmission source when the specific data request is the first data request. The different data may differ from the specific data. The different data may contain display information for causing the apparatus that is the transmission source to retransmit the specific data request through the second security level communication.
A non-transitory, computer-readable storage medium may comprise computer-readable instructions for a processor of a communication apparatus. The computer-readable instructions may instruct the processor to perform the steps of: receiving a first data request transmitted through a first security level communication, and a second data request transmitted through a second security level communication, the second security level being more secure than the first security level; deciding, when the reception portion receives a specific data request requesting specific data, whether the specific data request is the first data request or the second data request; and transmitting the specific data to an apparatus that is a transmission source of the specific data request when the specific data request is the second data request, and transmitting different data to the apparatus that is the transmission source when the specific data request is the first data request. The different data may differ from the specific data. The different data may contain display information for causing the apparatus that is the transmission source to retransmit the specific data request through the second security level communication.
A communication apparatus may comprise: a receiver configured to receive a first data request transmitted through a first security level communication, and a second data request transmitted through a second security level communication, the second security level being more secure than the first security level; a decision portion configured to decide, when the reception portion receives a specific data request requesting specific data, whether the specific data request is the first data request or the second data request; and a transmitter configured to transmit the specific data to an apparatus that is a transmission source of the specific data request when the specific data request is the second data request, and transmit different data to the apparatus that is the transmission source when the specific data request is the first data request. The different data may differ from the specific data. The different data may contain display information for causing the apparatus that is the transmission source to retransmit the specific data request through the second security level communication.
According to the configurations described above, apparatus that have transmitted specific data requests to the communication apparatus through the first security level communication may acquire the data that is different from the specific data, and, upon acquiring the different data, readily may retransmit, specific data requests through the second security level communication. As a result, although specific data requests may be transmitted to the communication apparatus through the first security level communication, the specific data may be transmitted through the second security level communication. The foregoing configurations restrict the specific data from being transmitted through the communication of a lower security level, thereby improving the security for the specific data.
Other objects, features, and advantages will be apparent to persons of ordinary skill in the an from the following detailed description of the invention and the accompanying drawings.
For a more complete understanding of embodiments of the present invention, needs satisfied thereby, and the objects, features, and advantages thereof, reference now is made to the following descriptions taken in connection with the accompanying drawings.
The client 200 may execute a program installed therein, to thereby perform functions of: a Web browser 201; an application program 202, such as making documents and images; and a print job generation portion 203. The print job generation portion 203 may receive print data and a printing instruction from the application program 202, and may generate a print job for printing the print data. More specifically, the print job generation portion 203 may be a printer driver compatible with the printer 100, or a driver compatible with an external print service (not shown), which is described hereafter.
The server 300 may execute a server program to thereby perform a function of a print server portion 302, including providing the external print service to the client 200.
When the external print service is not employed, the printer driver compatible with the printer 100 may be installed in the client 200 as the print job generation portion 203. The print job generation portion 203 may generate a print job that may be interpreted by the printer 100, and may transmit the print job to the printer 100. The printer 100 may perform printing in accordance with the received print job.
When the external print service is employed, the driver compatible with the external print service may be installed in the client 200 as the print job generation portion 203. A user of the client 200 may register specific information (for example, an account name and a password), as well as information of the printer 100, in the server 300. The print job generation portion 203 may generate a print job that can be interpreted by the server 300, and may transmit the print job to the server 300. This print job may include the aforementioned specific information and information for indentifying the printer 100. The printer 100 may request a print job from the server 300 upon recognizing a printing request from the client 200 by a notice from the server 300, or by periodical inquiry to the server 300. The server 300 may generate a print job that may be interpreted by the printer 100 on the basis of the print job, which is received from the print job generation portion 203 of the client 200, and the server 300 may transmit the print job to the printer 100. The printer 100 may perform printing in accordance with the received print job.
Employing the external print service may be advantageous because, for example, when the user of the client 200 utilizes a plurality of types of printers, the user may avoid the necessity of installing different printer drivers for each of the printers as the print job generation portion 203.
To request a print job from the server 300, the printer 100 may require the specific information registered in the server 300 by the client 200. Accordingly, a user of the client 200 may register the specific information in the printer 100 before utilizing the external print service. For the registration of the specific information, the user may access a user interface provided by a Web server portion M10 (to be subsequently described) of the printer 100 in the form of a Web page, through the Web browser 201 of the client 200.
Communication between the client 200 and the server 300, as well as between the server 300 and the printer 100, may be performed in a form of encrypted communication that utilizes the SSL (hereinafter, “SSL communication” where appropriate). For the SSL communication, a higher security level may be secured than that for non-encrypted communication that does not employ the SSL (hereinafter, “non-encrypted communication” where appropriate).
The printer 100 may comprise a central processing portion (CPU) 110; a random access memory (RAM) 120, which is a volatile memory; a mask read-only memory (mask ROM) 130, which is an non-rewritable non-volatile memory; an electrically erasable programmable read-only memory (EEPROM) 140, which is a rewritable non-volatile memory; an operation portion 150 including buttons for accepting an operation of a user; a printing portion 160 that forms an image on a printing medium by a known method, such as laser or ink jet printing; and an interface (I/F) portion 170 for connection to the network.
The CPU 110 may execute computer programs stored in the mask ROM 130, to thereby perform functions of the Web server portion M10, a certificate management portion M20, and a print control portion M30.
The Web server portion M10 may act as an HTTP server that may provide a user interface for performing various settings for the printer 100 to the client 200 in the form of a Web page. The Web server portion M10 may comprise a reception portion M11, a transmission portion M12, and a received protocol decision portion M13.
The reception portion M11 may receive an HTTP request from the client 200. The transmission portion M12 may transmit an HTTP response to the client 200, in accordance with the HTTP request. The reception portion M11 and the transmission portion M12 may be implemented with the SSL as a lower layer protocol of the HTTP. Accordingly, the reception portion M11 may be configured to receive the HTTP request through the SSL communication. The reception portion M11 also may be configured to receive the HTTP request through the non-encrypted communication. The transmission portion M12 may be configured to transmit the HTTP response through the SSL communication, as a response to the HTTP request received through the SSL communication. The transmission portion M12 also may be configured to transmit the HTTP response through the non-encrypted communication, as a response to the HTTP request received through the non-encrypted communication.
When the reception portion M11 receives the HTTP request, the received protocol decision portion M13 may determine whether the HTTP request has been transmitted from the client 200 through the SSL communication or through the non-encrypted communication.
In the connection procedure of the SSL communication (e.g., the SSL handshake), a server certificate may be employed. The server certificate may be an electronic certificate containing a public key, owner information and signer information associated with the public key, and information representing a term of validity. The owner information may identify the owner of the public key. The signer information may identify a signer, i.e., a person who claims that the owner of the public key is the person identified by the owner information. The server certificate may be stored in a server (for example, printer 100 acting as a Web server) together with a secret key associated with the server certificate.
The server certificate to be handled by the printer 100 may be classified as follows, depending on the method in which the certificate is stored in the printer 100:
The certificate management portion M20 may manage the server certificate. The certificate management portion M20 may comprise a certificate selection portion M21 and a certificate storage processing portion M22. The certificate management portion M20 further may comprise a certificate generation portion M23 and a certificate update portion M24. The configuration comprising the certificate generation portion M23 and the certificate update portion M24 is described hereafter in more detail.
The certificate selection portion M21 may perform a certificate selection procedure, in which the server certificate to be used for performing the SSL communication with the client 200 is selected in advance of a connection procedure of the SSL communication (for example, when the printer 100 is activated).
The certificate storage processing portion M22 may perform a certificate storage procedure, in which the server certificate is stored in a predetermined storage region in accordance with a storage instruction of the user. The server certificate stored by the certificate storage processing portion M22 may correspond to the user-installed certificate.
The print control portion M30 may receive a print job and cause the printing portion 160 to perform printing in accordance with the received print job. The print control portion M30 may be configured to receive the print job from the client 200. The print control portion M30 also may be configured to receive the print job from the server 300, when the external print service is performed.
The RAM 120 may serve as a buffer region for temporarily storing data when the CPU 110 executes a processing. The RAM 120 also may comprise a selection result storage region 121, in which information indicating a selection result of the server certificate may be stored when the certificate selection portion M21 performs the certificate selection procedure. The RAM 120 further may comprise an automatically generated, certificate storage region 122. The configuration comprising the automatically generated, certificate storage region 122 is described hereafter in more detail.
The mask ROM 130 may contain various programs and data to be utilized by the CPU 110. The mask ROM 130 may comprise a preinstalled certificate storage region 131, in which the preinstalled certificate is stored. Providing the preinstalled certificate storage region 131 in the mask ROM 130 may allow for a reduced capacity requirement of the EEPROM 140, when compared with the preinstalled certificate storage region 131 provided in the EEPROM 140, which may be more costly than the mask ROM 130.
The EEPROM 140 may be used for storing setting information of the printer 100. The EEPROM 140 may comprise a user-installed certificate storage region 142. In the user-installed certificate storage region 142, the user-installed certificate may be stored by the certificate storage processing portion M22. The user-installed certificate storage region 142 may be configured to store a plurality of user-installed certificates. Although the preinstalled certificate storage region 131 may be provided in the mask ROM 130 in one embodiment, in other embodiments, the preinstalled certificate storage region 131 may be provided in the EEPROM 140 in a region different from the user-installed certificate storage region 142.
The certificate storage processing portion M22 may perform the certificate storage procedure in response to a storage request of the user-installed certificate, made to the printer 100 for storing the server certificate in the user-installed certificate storage region 142. As depicted in
The user-installed certificate to be stored in the certificate storage procedure may be classified as follows, depending on the signer:
In addition, an acquisition procedure, in which the certificate storage processing portion M22 may acquire the user-installed certificate to be stored in the certificate storage procedure, may be classified in one of the following three acquisition procedures:
The certificate storage processing portion M22 may perform the aforementioned acquisition procedure, exchanging necessary information with the user through communication with the client 200 (step S20). The information exchanged with the user may comprise, for example, a particular name necessary for generating the CSR. The certificate storage processing portion M22 may store the user-installed certificate, upon acquiring the user-installed certificate, in the user-installed certificate storage region 142 of the EEPROM 140 in association with the secret key (step S30).
The certificate storage processing portion M22 also may store various information related to the user-installed certificate in the EEPROM 140, together with the user-installed certificate (step S30). For example, the certificate storage processing portion M22 may store information for identifying the type of acquisition procedure of the user-installed certificate (e.g., one of acquisition procedures A, B, or C) in the EEPROM 140 in association with the user-installed certificate. Further, the certificate storage processing portion M22 may accept a designation instruction for designating the particular user-installed certificate to be utilized, when a plurality of user-installed certificates are stored in the user-installed certificate storage region 142. The certificate storage processing portion M22 may store user designation information for identifying the user-installed certificate designated by the user in the EEPROM 140, upon accepting the designation instruction from the user.
Following step S30, the certificate storage processing portion M22 may reactivate the printer 100 (step S40) and finish the certificate storage procedure.
In the certificate storage procedure, the exchange of information between the certificate storage processing portion M22 and the user may be performed when the user accesses the user interface, provided in the form of the Web page by the Web server portion M10 of the printer 100, using the Web browser 201 of the client 200.
The communication procedure between the Web server portion M10 of the printer 100, which provides various user interfaces to the user of the client 200 in the form of the Web page and the Web browser 201 of the client 200, now is described in more detail.
As depicted in
The certificate selection portion M21 may select, upon deciding that the user-installed certificate is available (YES at step S502), the server certificate to be utilized among the available user-installed certificates, in accordance with the priority (step S504).
The priority of the user-installed certificates is given below, in order from highest priority to lowest priority:
The public CA-signed certificate may be deemed more reliable than the user-signed certificate. Here, the user-installed certificate acquired through acquisition procedure A is a public CA-signed certificate. The user-installed certificate acquired through acquisition procedure B is a user-signed certificate. The user-installed certificate acquired through acquisition procedure C may be a public CA-signed certificate or a user-signed certificate. The priority may be determined in consideration of the above, such that the user's designation instruction may be given priority when the user's designation instruction is stored, and the public CA-signed certificate may be given a higher priority than the user-signed certificate when the user's designation instruction is not stored. When only one user-installed certificate is available, that user-installed certificate may be selected.
Upon deciding that the user-installed certificate is unavailable (NO at step S502), the certificate selection portion M21 may select the preinstalled certificate as the server certificate to be utilized (step S506). Thus, the server certificate to be utilized may be selected, such that the user-installed certificate may be utilized with priority when the user-installed certificate is available, and the preinstalled certificate may be utilized only when the user-installed certificate is unavailable.
Upon selecting the server certificate to be utilized, the certificate selection portion M21 may store information indicating the selection result in the selection result storage region 121 of the RAM 120 (step S508), and may finish the certificate selection procedure. The information indicating the selection result may be stored in the selection result storage region 121, for example, as bind information that may associate the selected server certificate with the SSL protocol implemented in the Web server portion M10.
Referring to
The Web page may be identified by a uniform resource locator (URL). The URL generally is expressed as follows:
<scheme>://<host>/<path>
The <scheme> may designate an acquisition method of the resource, and, for example, a protocol name may be stated. The <host> may designate a Web server, and, for example, an IP address or a domain name assigned to the Web server may be stated. The <path> may be represented by a resource name (location) on the Web server.
The user may designate a URL on a display screen (e.g., a browser screen) of the Web browser 201 of the client 200, thereby transmitting a request for a Web page (HTTP request), requesting the data on the Web page identified by the URL (hereinafter, simply page data). The designation of the URL by the user may be performed, for example, by (1) inputting the URL in a URL portion of a browser screen, (2) selecting an item associated with the URL in the Web page displayed on a browser screen (e.g., a character string or an image, and hereinafter referred to as link item), and (3) selecting a URL registered in advance.
The Web server portion M10 of the printer 100 may be compatible with both the SSL communication and the non-encrypted communication described above. The user may decide which communication of the SSL communication and the non-encrypted communication to use. The user may designate a URL in which the <scheme> may be expressed as “http” for utilizing the non-encrypted communication, and a URL in which the <scheme> may be expressed as “https” for utilizing the SSL communication.
For example, when the printer 100 is assigned an IP address of “192.168.11.16,” a URL as “http://192.168.11.16/” or “https://192.168.11.16/” may be designated for requesting the page data of the top page of the Web pages provided by the Web server portion M10.
The URL of the page data of the Web page provided by the Web server portion M10, other than the top page, may be designated, for example, by selecting a link item displayed on the Web page provided by the Web server portion M10 starting with the top page. In an embodiment, the URL associated with the link item on the Web page provided by the Web server portion M10 may be represented in a relative path format, i.e., a format from which the <scheme> and the <host> are excluded. When the user designates a URL of the relative path format, it may be determined that the user has designated the same <scheme> and <host> as those designated when the page data of the Web page containing the corresponding link item was acquired.
When the user has designated a URL in which the <scheme> is expressed as “https,” the Web browser 201 of the client 200 may transmit a SSL communication request to the Web server portion M10 of the printer 100 before transmitting the HTTP request, as depicted in
The SSL handshake is a procedure for establishing the SSL communication, and may include transmission of the server certificate from the Web server portion M10 to the Web browser 201 and exchange of the encryption key (common key) therebetween. The Web server portion M10 may utilize the server certificate selected in the certificate selection procedure (
A public CA certificate for examining the reliability of the public CA-signed certificate may be preinstalled in the Web browser 201. The user may import into the Web browser 201 the private CA certificate for examining the reliability of the user-signed certificate. The Web browser 201 may determine whether the server certificate is reliable through the examination of those CA certificates. The public CA-signed certificate and the user-signed certificate may be determined to be reliable when the Web browser 201 has the corresponding CA certificate; the preinstalled certificate, however, is generally determined to be unreliable.
Upon determining that the server certificate transmitted from the Web server portion M10 is unreliable, the Web browser 201 may display a notice page on the browser screen announcing that the server certificate is unreliable.
When the SSL handshake is completed and the SSL communication is established, the Web browser 201 may transmit the HTTP request for the page data identified by the user-designated URL to the Web server portion M10 through the SSL communication (step S80). The HTTP request may include the description of the portion of the <path> in the URL.
When the reception portion M11 of the Web server portion M10 receives the HTTP request, the Web server portion M10 may perform a transmission page data selection procedure (step S90). In the transmission page data selection procedure, the page data to be contained in a HTTP response that is to be transmitted (hereinafter, transmission page data) may be selected. Details of the transmission page data selection procedure now are described in more detail.
Once the transmission page data is selected, the transmission portion M12 of the Web server portion M10 may transmit the HTTP response containing the selected page data to the Web browser 201 through the SSL communication (step S100). Using the page data contained in the received HTTP response, the Web browser 201 may display the Web page on the browser screen (step S110).
Alternatively, when the user has designated a URL in which the <scheme> is expressed as “http,” the procedures of steps S80 through S100 depicted in
The transmission page data selection procedure (step S90) now is described in more detail.
The specific page data may represent a Web page that may contain specific information, such as personal information, which must be secured. In an embodiment, the specific Web page may correspond to the page that provides the user interface for registering into the printer 100 the specific information for use of the external print service (hereinafter, specific information registration page).
When the requested page data is the specific page data (YES at step S906 in
When the HTTP request has been received through the SSL communication (YES at step S908), the Web server portion M10 may select the specific page data, which may be the requested page data, as the transmission page data (step S912). When the HTTP request has not been received through the SSL communication (NO at step S908), the Web server portion M10 may select the page data of a warning page as the transmission page data, instead of the specific page data, which is the requested page data (step S910).
Alternatively, when the requested page data is not specific page data (NO at step S906 in
The contents of the browser screen that are displayed when an access is made through the Web browser 201 of the client 200 to the Web server portion M10 of the printer 100 now are described in more detail.
Upon acquiring the page data of the Web page P4 through the SSL communication, when the Web browser 201 displays the Web page P4 on the browser screen and the user selects the link item LT2 on the Web page P4, the Web browser 201 may transmit the HTTP request for the specific page data to the Web server portion M10 through the SSL communication. In this procedure, the Web browser 201 may acquire the specific page data through the SSL communication and display the specific information registration page P2 (see
In contrast, upon acquiring the page data of the Web page P4 through the non-encrypted communication, when the Web browser 201 displays the Web page P4 on the browser screen and the user selects the link item LT2 on the Web page P4, the Web browser 201 may transmit the HTTP request for the specific page data to the Web server portion M10 through the non-encrypted communication. In this procedure, the Web browser 201 may acquire the page data of the warning page P3 (see
As is apparent from the foregoing description, when the Web browser 201 has requested the specific page data through the non-encrypted communication, the printer 100 may transmit the page data of the warning page P3 that is different from the specific page data. In other words, the printer 100 is not configured to transmit the specific page data through the non-encrypted communication despite being configured to accept a data request both through the non-encrypted communication and through the SSL communication. Thus, the security of the specific information (for example, personal information) that may be contained in the specific page data may be improved.
To perform the SSL communication establishment procedure, the printer 100 may use the preinstalled certificate, stored in the preinstalled certificate storage region 131, to thereby establish communication. Accordingly, the specific page data (specific information) may be transmitted despite the user-installed certificate not being stored in the user-installed certificate storage region 142. Such an arrangement may alleviate the inconvenience imposed on the user. Conversely, when the user-installed certificate is stored in the user-installed certificate storage region 142, the user-installed certificate may be selected with priority, and the specific page data (specific information), therefore, may be transmitted using the electronic certificate in accordance with the user's intention.
The printer 100 may select the server certificate before the SSL communication establishment procedure (see
By performing the certificate selection procedure, the printer 100 may select automatically the appropriate server certificate in accordance with the differences in reliability of the server certificates and the intentions of the user. Consequently, the inconvenience imposed on the user may be reduced.
By using the destination port number of the received HTTP request, the printer 100 readily may determine whether the HTTP request has been received through the SSL communication.
In the foregoing description, the printer 100 is exemplary of a communication apparatus according to embodiments of the present invention. The user-installed certificate storage region 142 is exemplary of a certificate storage region and a first certificate storage region. The preinstalled certificate storage region 131 is exemplary of a certificate storage region and a second certificate storage region. Further, the selection result storage region 121 is exemplary of a selection result storage region.
The configuration and operation of the printer according to the second embodiment are substantially similar to those of the printer 100 according to the first embodiment, except for the aspects described here below.
As indicated by broken lines in
At step S506a, the certificate generation portion M23 automatically may generate the server certificate, and store the server certificate in the automatically generated certificate storage region 122 of the RAM 120. Hereinafter, the server certificate that may be generated automatically by the certificate generation portion M23 may be referred to as automatically-generated server certificate. The server certificate generated automatically by the certificate generation portion M23 may be equivalent to the preinstalled certificate according to the first embodiment. Nevertheless, the server certificate generated automatically by the certificate generation portion M23 may have a shorter validity term than the preinstalled certificate (for example, 10 days).
At step S507a, the certificate selection portion M21 may select the server certificate generated automatically at step S506a as the server certificate to be utilized.
Upon starting the certificate update procedure, the certificate update portion M24 may acquire the validity period of the automatically generated server certificate (step S1010). The certificate update portion M24 may decide whether the remainder of the acquired validity period, i.e., the period between the current time point and the expiration, is equal to or less than a predetermined period (for example, one day) (step S1020). When the remaining validity period is equal to or less than the predetermined period (YES at step S1020), the certificate update portion M24 may generate automatically a new server certificate as performed at step S506a (see
In the foregoing description, the automatically-generated certificate storage region 122 exemplifies the certificate storage region and the second certificate storage region according to embodiments of the present invention.
When the user-installed certificate is not stored in the user-installed certificate storage region 142, the printer according to the second embodiment may generate automatically the server certificate, thereby preventing the SSL communication from being disabled because of the absence of the server certificate.
Further, the printer according to the second embodiment may update automatically the automatically-generated server certificate, thereby preventing the SSL communication from being disabled because of expiration of the validity period of the automatically generated electronic certificate. Such an arrangement may be particularly advantageous, for example, when the printer 100 remains turned on for an extended period of time.
Further, because the preinstalled certificate is not stored, the capacity requirement of the non-volatile memory region of the printer 100 (e.g., the capacity of the mask ROM 130) may be reduced.
The invention is not limited to the above-described embodiments, but may be implemented in various forms with various modifications without departing from the scope and spirit of the invention. Although not an exhaustive listing of modifications, several exemplary modifications now are described in more detail.
While the Web server portion M10 of the printer 100 according to the foregoing embodiments is compatible with the HTTP communication and the HTTPS communication, embodiments of the present invention also may be applicable to different communication protocols, provided that a data request may be handled on the basis of two types of protocols having different security levels. Examples of combinations of two protocols having different security levels include a file transfer protocol (FTP) and a file transfer protocol over SSL (FTPS), a simple network management protocol version 1 (SNMPv1) and a simple network management protocol version 3 (SNMPv3), and a telnet and a telnet/secure shell (SSH).
The SSL communication referred to in the foregoing embodiments may be an encrypted communication established through the handshake procedure utilizing the electronic certificate. Alternatively, a common key may be stored in the apparatus of the parties communicating with each other instead of employing the electronic certificate, and the encrypted communication may be performed using the common key.
Although a plurality of types of server certificates may be stored in the printer 100 according to the foregoing embodiments, the printer 100 may be configured to store only one type of server certificate.
Although the printer 100 according to the foregoing embodiments performs the certificate selection procedure upon activating the printer 100, the certificate selection procedure may be performed after receipt of an SSL communication request.
In the printer 100 according to the foregoing embodiments, the received protocol decision portion M13 may decide whether the HTTP request has been received through the SSL communication based on the destination port number, which is the information transmitted with the HTTP request, written on the header of the TCP packet containing the HTTP request. Alternatively, the decision may be made based on information contained in the HTTP request (e.g., the <scheme> of the URL written in a referrer column of the HTTP request).
Although communication apparatus having the function of the Web server portion M10 are exemplified by the printer 100 in the foregoing embodiments, other types of communication apparatus may be employed. Examples of such other communication apparatus may comprise image processing apparatus, such as a scanner, a facsimile machine, and a multifunction printer having a plurality of functions (e.g., printing, scanning, and the like). A personal computer, a router, and a switch also may be employed.
Alternatively, a part of the configuration implemented by hardware in the above-described embodiments may be implemented by software. Conversely, a part of the configuration implemented by software in the above-described embodiments may be implemented by hardware.
While embodiments of the invention have been described in connection with various exemplary structures and illustrative embodiments, it will be understood by those skilled in the art that other variations and modifications of the structures, configurations, and embodiments described above may be made without departing from the scope of the invention. Other structures, configurations, and embodiments shall be apparent to those skilled in the art from a consideration of the specification, including the accompanying figures, or from practice of embodiments of the invention disclosed herein. It is intended that the specification and the described examples are illustrative, with the true scope of the invention being defined by the following claims.
Miyake, Takeshi, Matsuda, Munehisa, Yada, Yuki, Maekawa, Yohei
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
7457417, | Jan 31 2005 | Ricoh Company, Ltd.; Ricoh Company, LTD | Approach for configuring wireless devices |
8166525, | Sep 08 2005 | Xerox Corporation | Document management system with public key infrastructure |
8396926, | Jul 16 2002 | QUEST SOFTWARE INC F K A DELL SOFTWARE INC ; Aventail LLC | Message challenge response |
20040227971, | |||
20050015594, | |||
20050091485, | |||
20050097332, | |||
20050198356, | |||
20050228986, | |||
20060279771, | |||
20060279772, | |||
20070150727, | |||
20070189303, | |||
20080082677, | |||
20090089811, | |||
20100309510, | |||
20100325294, | |||
JP2001237820, | |||
JP2002207636, | |||
JP2002215826, | |||
JP2005130457, | |||
JP2005130459, | |||
JP2006014182, | |||
JP2006165678, | |||
JP2007094510, | |||
JP2007181139, | |||
JP2007213397, | |||
JP2008090458, | |||
JP2009200565, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 01 2012 | Brother Kogyo Kabushiki Kaisha | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Date | Maintenance Schedule |
Mar 10 2018 | 4 years fee payment window open |
Sep 10 2018 | 6 months grace period start (w surcharge) |
Mar 10 2019 | patent expiry (for year 4) |
Mar 10 2021 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 10 2022 | 8 years fee payment window open |
Sep 10 2022 | 6 months grace period start (w surcharge) |
Mar 10 2023 | patent expiry (for year 8) |
Mar 10 2025 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 10 2026 | 12 years fee payment window open |
Sep 10 2026 | 6 months grace period start (w surcharge) |
Mar 10 2027 | patent expiry (for year 12) |
Mar 10 2029 | 2 years to revive unintentionally abandoned end. (for year 12) |