WO2016075792A1 - 情報処理装置、制御方法、及び、プログラム - Google Patents

情報処理装置、制御方法、及び、プログラム Download PDF

Info

Publication number
WO2016075792A1
WO2016075792A1 PCT/JP2014/080094 JP2014080094W WO2016075792A1 WO 2016075792 A1 WO2016075792 A1 WO 2016075792A1 JP 2014080094 W JP2014080094 W JP 2014080094W WO 2016075792 A1 WO2016075792 A1 WO 2016075792A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
certificate
command
communication
processing apparatus
Prior art date
Application number
PCT/JP2014/080094
Other languages
English (en)
French (fr)
Inventor
歩 淺野
Original Assignee
キヤノン株式会社
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 キヤノン株式会社 filed Critical キヤノン株式会社
Priority to RU2017120178A priority Critical patent/RU2682926C2/ru
Priority to PCT/JP2014/080094 priority patent/WO2016075792A1/ja
Priority to EP14906116.0A priority patent/EP3252989B1/en
Priority to CN201480083365.3A priority patent/CN107005405B/zh
Priority to JP2016558507A priority patent/JP6381667B2/ja
Priority to SG11201703705TA priority patent/SG11201703705TA/en
Priority to US14/938,607 priority patent/US10193871B2/en
Publication of WO2016075792A1 publication Critical patent/WO2016075792A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Definitions

  • This relates to the setting of security functions in an information processing apparatus that transmits a captured image to a client apparatus via a network.
  • the client device can instruct the imaging device to generate a key used for communication processing using the SSL (Secure Sockets Layer) protocol and to set a certificate.
  • SSL Secure Sockets Layer
  • a command group defined by a standard established by ONVIF is known as a command for setting a security function from a client device to an imaging device.
  • ONVIF standardizes SSL, IEEE802.1X, client authentication settings, etc. related to security functions.
  • the client device can send a command defined in the ONVIF Device Management service (Non-patent Document 1) to the imaging device, and the key can be generated and the certificate can be set in the imaging device compatible with the Device Management service.
  • Non-patent Document 1 the ONVIF Device Management service
  • the client device can send a command defined in the ONVIF Advanced Security service (Non-Patent Document 2) to the imaging device, and a key can be generated and a certificate can be set in the imaging device that conforms to the Advanced Security service.
  • ONVIF Advanced Security service Non-Patent Document 2
  • ONVIF-Core-Specification-v242 http://www.onvif.org/specs/core/ONVIF-Core-Specification-v242.pdf
  • ONVIF-AdvancedSecurity-Service-Spec-v102 http://www.onvif.org/specs/srv/security/ONVIF-AdvancedSecurity-Service-Spec-v102.pdf
  • the present invention provides a first processing means for performing setting for performing encrypted communication on the information processing apparatus in response to an instruction performed based on a first communication procedure. And a second processing means for performing settings for performing encrypted communication on the information processing apparatus in response to a command performed based on the second communication procedure, and encrypting the information processing apparatus. If a command to be performed based on the second communication procedure is received from the receiving device after the first processing means has performed the setting for performing encrypted communication, the setting for performing encrypted communication is set. Transmitting means for transmitting to the receiving apparatus information indicating that it has been performed in response to a command to be performed based on the first communication procedure.
  • the client device using the second communication procedure different from the first communication procedure can refer to the setting content related to the security function set in the information processing device by the first communication procedure. it can.
  • FIG. 1 is a block diagram illustrating a security communication system according to a first embodiment.
  • 1 is a block diagram illustrating a security communication system according to a first embodiment.
  • Diagram showing certificate setting processing Diagram showing certificate setting processing Flow chart showing certificate generation processing Flow chart showing the certificate loading process Flow chart showing certificate acquisition processing Flow chart showing certificate deletion process Flowchart showing the certificate status setting process Flow chart showing certificate status acquisition processing Flowchart showing the certificate status setting process Flow chart showing certificate status acquisition processing
  • FIG. 5 is a block diagram showing a security communication system according to the second embodiment. Figure showing an example of the user interface of the SSL settings page Flow chart showing the process of generating a self-signed certificate Flow chart showing the process of using a certificate signed by a CA
  • the first client device performs settings related to the security function for the imaging device using a Device management service (hereinafter referred to as “DM service”) (first procedure) defined by ONVIF.
  • DM service Device management service
  • AS service Advanced Security service
  • the DM service specified by ONVIF and the AS service are independent services.
  • the client device that communicates with the imaging device based on the other service cannot refer to the setting content set on the imaging device based on the one service.
  • the first client device performs settings related to the security function for the imaging device based on the DM service.
  • the second client device refers to the setting related to the security function set for the imaging device using a command defined in the AS service.
  • the second client device cannot refer to the contents of the security setting set by the first client device based on the DM service.
  • the second client device cannot notice that the setting has already been made on the imaging device. Therefore, the user of the second client device may perform a new security setting for the imaging device and overwrite the existing setting.
  • the image capturing apparatus records information indicating that the setting for the image capturing apparatus is performed using a command defined in the DM service in the image capturing apparatus as Alias information defined in the AS service. In this way, it is possible to confirm that the setting related to the security function is made by the DM service even from the client device using the AS service. In this way, a client device that makes settings for the imaging device using one protocol can know that the setting is made using the other protocol.
  • the imaging apparatus when the security setting is performed based on the DM service, the imaging apparatus according to the present embodiment automatically generates and records the setting content according to the AS service using the set content. Then, as Alias information, it is recorded that the setting content corresponding to the AS service is generated in accordance with the security setting command by the DM service.
  • the imaging apparatus receives a command for causing the imaging apparatus to generate a certificate used for encrypted communication based on the DM service.
  • the imaging apparatus automatically performs certification path setting and key pair setting, which are not defined in the security setting based on the DM service, but are required in the security setting based on the AS service.
  • information indicating that the setting of the certification path and the key pair has been performed in response to reception of the DM service command is recorded as Alias information.
  • the user can know that the security setting conforming to the AS service has been made according to the command based on the DM service.
  • FIG. 1A A hardware configuration example of the imaging system according to the first embodiment will be described with reference to FIG. 1A.
  • the imaging device 100 In the first embodiment, an example in which the imaging device 100 is connected to the client device 200 and the client device 300 via the network 108 will be described.
  • the imaging device 100 transmits the captured image to the client device 200 and the client device 300 via the network.
  • the imaging unit 101 is provided inside the imaging apparatus 100
  • the present invention is not limited thereto. It is only necessary to be able to manage security-related settings for transmission of captured images.
  • the information processing device receives a captured image from an external imaging device and relays it to the client device 200 and the client device 300. It may be.
  • Image data captured by the image capturing unit 101 of the image capturing apparatus 100 is processed by an image processing unit 102 described later, and then transmitted to the client device 200 and the client device 300 via the network 108.
  • the imaging unit 101 images a subject and generates an image signal.
  • the imaging unit 101 includes a lens, an imaging element such as a CMOS (Complementary Metal Oxide Semiconductor), and the like.
  • the image sensor converts an image of a subject formed by the lens into an image signal.
  • the image processing unit 102 performs image processing on the image signal generated by the imaging unit 101.
  • the image processing unit 102 encodes an image captured by the imaging unit 101.
  • the image processing unit 102 can be, for example, a processor such as a CPU (Central Processing Unit). Alternatively, it can be a processor for image processing such as GPU (Graphics (Processing Unit).
  • the control unit 103 of the imaging apparatus 100 controls each component of the imaging apparatus 100 illustrated in FIG. 1A.
  • the control unit 103 can be a processor such as a CPU, for example.
  • the control unit 103 controls each component of the imaging apparatus 100 by executing a program recorded in the recording unit 104 described later.
  • the control unit 103 performs control for realizing the function of the imaging apparatus 100 described later with reference to FIG. 1B.
  • it includes a first processing unit 106 for realizing the function of a DeviceManagement service unit 112 (hereinafter, “DM service unit 112”), which will be described later with reference to FIG.
  • the control unit 103 also includes a second processing unit 107 for realizing an AdvancedSecurity service unit 113 (hereinafter referred to as “AS service unit 113”), which will be described later.
  • the control unit 103 performs control to cause the recording unit 104 to record information indicating that the imaging apparatus 100 has been set by a command performed based on one communication procedure among a plurality of different communication procedures.
  • the recording unit 104 records a captured image captured by the imaging unit 101 and processed by the image processing unit 102. Further, the recording unit 104 records programs and control parameters used by the control unit 103. The recording unit 104 records various setting contents recorded by a keystore unit 114 described later.
  • the recording unit 104 may be a memory such as a RAM (Random Access Memory) or a ROM (Read Only Memory). Alternatively, it may be a recording medium such as an HDD (Hard Disk Drive). The recording unit 104 may be a removable medium such as a flash memory or a memory card.
  • a RAM Random Access Memory
  • ROM Read Only Memory
  • HDD Hard Disk Drive
  • the recording unit 104 may be a removable medium such as a flash memory or a memory card.
  • the communication unit 105 transmits, to the client device 200 and the client device 300, a captured image captured by the imaging unit 101 and generated by image processing in the image processing unit 102.
  • a captured image captured by the imaging unit 101 and generated by image processing in the image processing unit 102.
  • communication encrypted based on the setting information recorded in the recording unit 104 is used.
  • the communication unit 105 transmits information indicating that setting has been made to the imaging apparatus 100 in accordance with a command performed based on one communication procedure of the first communication procedure and the second communication procedure. It is transmitted to the client device 200 or 300 in accordance with a command performed based on the procedure. Further, the communication unit 105 receives a control command for the imaging device 100 from the client device 200 and the client device 300.
  • the communication unit 105 receives an instruction to be performed based on the second communication procedure from the client device 300 after the first processing unit performs the setting for performing encrypted communication with the imaging device 100. If so, send the following information: That is, the communication unit 105 transmits information indicating that the setting for performing encrypted communication has been performed in accordance with a command to be performed based on the first communication procedure, to the client device 300.
  • the client device 200 and the client device 300 make settings related to communication security for the imaging device 100.
  • the client device 200 includes, for example, a communication unit 201 for communicating with the imaging device 100.
  • the client device 200 includes a control unit 202 for controlling each configuration of the client device 200.
  • the control unit 202 can be, for example, a processor such as a CPU.
  • the control unit 202 controls each component of the client device 200 by executing a program recorded in a recording unit 203 described later.
  • the client device 200 includes a recording unit 203 that records programs and control parameters used by the control unit 202.
  • the recording unit 203 can be a memory such as a RAM or a ROM, for example. Alternatively, it may be a recording medium such as an HDD.
  • the recording unit 203 may be a removable medium such as a flash memory or a memory card.
  • the configuration of the client device 200 is not particularly limited, and is not limited to the above example. A part of the above configuration may be replaced with another configuration, or a new configuration may be added.
  • the configuration of the client device 300 is the same as the configuration of the client device 200, and thus the description thereof is omitted.
  • the client device 200 and the client device 300 can be, for example, a PC (Personal Computer). Or it can be set as portable terminals, such as a tablet terminal and a smart phone.
  • PC Personal Computer
  • portable terminals such as a tablet terminal and a smart phone.
  • the network 108 includes, for example, the Internet, a wired LAN (Local Area Network), a wireless LAN (Wireless LAN), a WAN (Wide Area Network), or an analog cable.
  • the network 108 may be any communication standard, scale, or configuration.
  • a LAN communication standard for example, Ethernet (registered trademark) or the like can be used.
  • the client apparatus 200 shown in FIG. 1B has a function of transmitting DM-related security-related commands to the imaging apparatus 100. Further, the client device 300 has a function of transmitting an AS service command to the imaging device 100.
  • the client device 200 and the client device 300 have a function of setting a key and a certificate for the imaging device 100 via the network 108.
  • the certificate indicates that the key described in the certificate is a key registered with the certificate authority. For example, information indicating the public key registered with the certificate authority, information on the owner of the public key, and issuing a certificate Information of the certificate authority that has been issued and the signature of the issuing certificate authority.
  • the imaging apparatus 100 is compatible with DM service and AS service defined by ONVIF. That is, the imaging apparatus 100 according to the present embodiment performs settings related to the security function in response to reception of a command used in the DM service. Further, the imaging apparatus 100 according to the present embodiment can also perform settings related to the security function in response to reception of a command used in the AS service.
  • the HTTP server unit 111 of the imaging apparatus 100 receives the SOAP message transmitted from the client apparatus 200 or the client apparatus 300.
  • a SOAP message is a message transmitted and received using SOAP (Simple Object Access protocol).
  • the HTTP server unit 111 receives the SOAP message transmitted from the client device 200 and the client device 300. Then, the received message is transmitted to the DM service unit 112 or the AS service unit 113.
  • the client devices 200 and 300 POST the SOAP message to a URI (Uniform Resource Identifier) that designates the DM service unit 112 or the AS service unit 113 of the imaging device 100. In this way, a SOAP message can be transmitted.
  • the POST of the message is executed using a POST method of HTTP (Hypertext Transfer Protocol).
  • HTTP Hypertext Transfer Protocol
  • the function of the HTTP server unit 111 is realized by the communication unit 105 shown in FIG. 1A.
  • Each of the DM service unit 112 and the AS service unit 113 analyzes the received SOAP message, and returns, as a response, a security-related setting or set content of the imaging apparatus 100 according to the command and the setting content.
  • the functions of the DM service unit 112 and the AS service unit 113 are realized by the control unit 103 illustrated in FIG. 1A.
  • the client device 200 When the control unit 103 realizes the function of the DM service unit 112, the client device 200 functions as a first processing unit that executes an instruction to the imaging device 100 using the DM service (first communication procedure). . Further, when the control unit 103 realizes the function of the AS service unit 113, the client device 300 executes an instruction to the imaging device 100 using the AS service (second communication procedure different from the first communication procedure). It functions as a second processing means.
  • the DM service unit 112 executes a command that the client device 200 performs to the imaging device 100 based on the DM service.
  • the command to be executed based on the DM service corresponds to the command for setting the public key (first public key information) used for performing encrypted communication in the imaging apparatus 100, and the first public key information.
  • a command for setting the private key (first private key information) in the imaging apparatus 100 is included.
  • the command to be performed based on the DM service includes a command for setting a certificate (first certificate information) for proving that the public key is valid key information in the imaging apparatus 100.
  • the DM service unit 112 does not necessarily execute all these instructions, and may execute at least any one instruction.
  • the AS service unit 113 executes a command that the client device 300 performs to the imaging device 100 based on the AS service. It is shown that a public key (second public key information) and a private key (second private key information) used for performing encrypted communication correspond to an instruction performed based on the AS service. A command for setting the key pair information in the imaging apparatus 100 is included. Further, the command to be executed based on the AS service includes a command for setting the certificate (second certificate information) for proving that the public key is valid key information in the imaging apparatus 100. . Further, the command to be performed based on the AS service includes a command for setting a certification path (certificate path information) indicating other certificate information related to the certificate in the imaging apparatus 100. The AS service unit 113 does not necessarily execute all these instructions, and may execute at least any one instruction.
  • the keystore unit 114 is a database that stores keystore information of the keystore defined in Advanced IV Security of ONVIF.
  • the function of the Keystore unit 114 is realized by the recording unit 104 illustrated in FIG. 1A.
  • the keystore unit 114 includes the following recording units.
  • Keypair unit 115 Records a private key (Privatekey), a public key (Publickey), an Alias for which the client sets an arbitrary character string, and a KeyID that uniquely indicates the Keypair in association with each other.
  • Certificate unit 116 Records CertificateID (certificate ID) information that uniquely indicates a certificate (Certificate), Alias, and the KeyID of the Keypair in which the public key of the certificate is stored.
  • CertificateID certificate ID
  • CertificationPath unit 117 Records certification path ID (certification path ID) information that uniquely indicates a certification path ID, an alias, and a certification path (CertificationPath) in association with each other.
  • the certification path ID (CertificationPathID) indicates the order associated with a plurality of certificates by one or a plurality of CertificateIDs.
  • the certificate path represents the order in which the image capturing apparatus 100 refers to the certificate for performing encrypted communication and the hierarchical structure of a plurality of certificates.
  • the second certificate authority issues a second certificate to prove that the first certificate authority that issued the first certificate is a reliable certificate authority.
  • the root certificate authority issues a third certificate to prove that the second certificate authority is a trusted certificate authority.
  • the first certificate, the second certificate, and the third certificate form a hierarchical structure.
  • the certification path is information indicating the hierarchical structure of such a certificate.
  • the case where the hierarchical structure of the certificate is three layers has been described.
  • the certificate is not limited to three layers, and an arbitrary hierarchical structure may be adopted.
  • the imaging device 100 refers to the first certificate when performing communication encrypted using the certificate.
  • the second certificate is referred to with reference to the signature of the certificate authority included in the first certificate.
  • the third certificate is referenced with reference to the signature of the certificate authority included in the second certificate.
  • the imaging apparatus 100 refers to the certificates in the order of the first certificate, the second certificate, and the third certificate.
  • the order of the three certificates has been described.
  • the number of certificates is not limited and may be an arbitrary number.
  • Each of the Keypair unit 115, the Certificate unit 116, and the CertificationPath unit 117 is provided with a recording area (Alias) for recording an arbitrary character string.
  • the client device 200 sets a public key, a private key, and a certificate in the imaging device 100 based on the DM service will be described with reference to FIGS. 2A and 2B.
  • the public key, the private key, and the certificate need to be recorded in advance by the imaging apparatus 100 in order to start security communication using HTTPS between the imaging apparatus 100 and the client apparatus 200.
  • processing performed by the client device 200 will be described with reference to the flowchart of FIG. 2A.
  • the determination process illustrated in FIG. 2A can be executed by the client device 200 in response to a user instruction.
  • the processing shown in the flowchart of FIG. 2A may be executed by the control unit 202 reading and executing the program recorded in the recording unit 203.
  • the client apparatus 200 acquires status information indicating whether or not the HTTPS (Hypertext Transfer Protocol Secure) service is valid in the imaging apparatus 100 (S201).
  • HTTPS Hypertext Transfer Protocol Secure
  • the state where the setting by HTTPS is valid is a state in which HTTPS communication using SSL or TLS (Transport Layer Security) can be started. That is, a public key, a private key, and a certificate used for HTTPS communication are already set in the imaging apparatus 100.
  • the state in which the setting by HTTPS is invalid is a state in which the public key, the private key, and the certificate used for performing HTTPS communication are not set in the imaging apparatus 100.
  • this includes a state in which the certificate has expired, is in a discarded state, or is in a suspended state, and HTTPS communication cannot be performed using the certificate.
  • step S201 the client apparatus 200 transmits a GetNetworkProtocols command to the imaging apparatus 100.
  • the client device 200 requests acquisition of status information of HTTP, HTTPS, and RTSP (Real Time Streaming Protocol) services provided by the imaging device 100.
  • This status information includes information indicating whether each service is valid or invalid.
  • the client device 200 requests acquisition of information on a port number for which a service is provided by a GetNetworkProtocols command.
  • the imaging apparatus 100 responds to the client apparatus 200 with a GetNetworkProtocols response.
  • the client device 200 confirms the GetNetworkProtocols response and determines whether the setting by HTTPS is valid (S202). If the HTTPS setting is invalid (NO in S202), the process proceeds to step S207 described later.
  • the client device 200 determines whether to use the HTTPS setting as it is or to set the HTTPS separately (S203). When the already set HTTPS setting is used (YES in S203), the setting of the public key, private key, and certificate for the current imaging apparatus 100 is terminated.
  • the client device 200 acquires all the certificates possessed by the imaging device 100 (S204).
  • step S204 the client device 200 transmits a GetCertificates command to the device 100.
  • the imaging apparatus 100 returns a GetCertificates response to the client apparatus 200.
  • the GetCertificates command is a command for requesting the client device 200 to acquire information indicating all certificates that the imaging device 100 has.
  • a certificate (Certificate) possessed by the imaging apparatus 100 is acquired.
  • the client device 200 determines whether to use a certificate selected from the acquired certificates or to generate a new certificate (S205).
  • the determination in step S205 can be performed in accordance with, for example, an instruction from the user regarding which certificate to use.
  • the client apparatus 200 uses a certificate selected from among the certificates acquired from the imaging apparatus 100 in HTTPS communication (YES in S205), the client apparatus 200 sets the selected certificate in the imaging apparatus 100 (S206).
  • the SetCertificatesStatus command can be used to set the certificate.
  • the SetCertificatesStatus command is a command for causing the recording unit 104 to record setting information used for performing encrypted communication.
  • the SetCertificatesStatus command is a command that the client device 200 (first receiving device) performs to the imaging device 100 based on the DM service (first communication procedure).
  • step S205 If it is determined in step S205 that a new certificate is to be generated (NO in S205), the client apparatus 200 determines whether to newly generate a public key, a private key, and a certificate in the imaging apparatus 100 ( S207).
  • the client apparatus 200 When generating a public key, a private key, and a certificate in the imaging apparatus 100 (YES in S207), the client apparatus 200 generates a public key, a private key, and a self-signed certificate in the imaging apparatus 100. Instruct.
  • the self-signed certificate is appropriately expressed as SelfSignedCertificate.
  • the client device 200 uses the CreateCertificate command to generate a public key and a private key for the imaging device 100, and requests that the self-signed certificate be generated using the public key and the private key.
  • the client apparatus 200 uses the public key, private key, and certificate in its own apparatus. A document is generated (S210). Then, the client device 200 loads the generated private key and certificate into the imaging device 100 using the LoadCertificateWithPrivateKey command (S211). Details of the private key and certificate loading process from the client apparatus 200 to the imaging apparatus 100 will be described later with reference to FIG.
  • the client apparatus 200 sets the generated public key, private key, and certificate to the imaging apparatus 100 to be used for HTTPS communication.
  • the client device 200 uses the GetCertificatesStatus command to obtain status information indicating whether the certificate is in a state of being used for HTTPS communication.
  • the client apparatus 200 sets the Status to True by transmitting a SetCertificatesStatus command to the imaging apparatus 100. In this way, the generated certificate can be set to be used for HTTPS communication.
  • the SetNetworkProtocols command is a command that sets the valid / invalid status of HTTP, HTTPS, and RTSP services and the port numbers that provide those services.
  • HTTPS is enabled
  • the imaging apparatus 100 sets the HTTP server unit 111 to use a certificate with Status True for HTTPS communication.
  • FIG. 2B A setting sequence for performing HTTPS communication between the imaging apparatus 100 and the client apparatus 200 is shown in FIG. 2B.
  • the client device 200 performs settings for the imaging device 100 based on the DM service.
  • the client device 300 sets HTTPS communication based on the AS service
  • the key pair (KeyPair), the certificate (Certificate), and the certification path (CertificationPath) are set in the imaging device 100.
  • the client device 300 uses the AddServerCertificateAssignment command to set a certification path used for performing HTTPS communication in the imaging device 100.
  • Key pairs and certification paths are AS service concepts not found in DM services.
  • the client apparatus 200 After the client apparatus 300 uses the AS service to set the HTTPS communication for the imaging apparatus 100, the client apparatus 200 starts the HTTPS communication setting for the imaging apparatus 100 using the DM service. Can occur.
  • the client device 200 executes a GetNetworkProtocols command in step S201 in FIG. 2A to check whether the HTTPS of the imaging device 100 is set.
  • the imaging device 100 responds to the client device 200 that the HTTPS communication setting is valid. That is, a response that the public key, private key, and certificate used for HTTPS communication are set in the imaging apparatus 100 is returned.
  • the certificate set by the client device 300 is not transmitted to the client device 200. This is because the AS service does not stipulate that the certificate set in the imaging apparatus 100 using the AS service command is transmitted in response to the DM service GetCertificates command.
  • the client device 200 executes the GetCertificatesStatus command in step S212, the client device 200 is notified of the certificate status as empty. This is because the DM service does not have the concept of the certification path or key pair of the AS service, and there is nothing to reply with GetCertificatesStatus.
  • the DM service cannot express the setting.
  • the AS does not have the concept of certificate status, and the contents set by the DM service cannot be referred to by the AS service.
  • the imaging apparatus 100 uses the specified Keystore for the AS service, and matches the settings of the imaging apparatus 100 referred to by the client apparatus 200 with the settings of the imaging apparatus 100 referred to by the client apparatus 300. Try to get sex.
  • a detailed configuration for ensuring consistency of settings of the imaging device 100 referred to in the client device 200 and the client device 300 will be described with reference to a flowchart of FIG.
  • FIG. 3 shows processing executed by the imaging apparatus 100.
  • the control unit 103 of the imaging apparatus 100 includes a processor and a memory
  • the processing illustrated in FIG. 3 executes the procedure illustrated in FIG. 3 by expanding and executing the program stored in the recording unit 104 by the control unit 103. Is realized. Alternatively, a part or the whole of the processing shown in FIG. 3 may be performed by hardware.
  • FIG. 3 is a flowchart showing the process of the CreateCertificate command in the DM service unit 112 shown in FIG. 2A.
  • the CreateCertificate command is a command for the client device 200 to instruct the imaging device 100 to generate a certificate.
  • the imaging apparatus 100 receives a command for instructing certificate generation from the client apparatus 200 (S0301).
  • the imaging device 100 receives a CreateCertificate command from the client device 200.
  • the client device 200 sets the following content for the imaging device 100 in step S301.
  • the DM service unit 112 When the DM service unit 112 receives the CreateCertificate command via the HTTP server unit 111, the DM service unit 112 generates a public key and a private key (S302). According to the CreateRSAKeyPair command of AS service, you can set the RSA key length by specifying KeyLength. However, since such a setting cannot be made in the CreateCertificate command of the DM service, it is generated with a fixed key length such as 2048 bits.
  • the DM service unit 112 generates a self-signed certificate using the generated public key and private key (S303).
  • the self-signed certificate is certificate information for certifying that the public key is valid key information, and is certificate information to which signature information is added by the DM service unit 112.
  • the subject is a string type, and there is no definition how to set the country name (Country) or common name (CommonName).
  • Set “sample.com”, which is the string after “CN ”, to the subject and issuer of the self-signed certificate, “ValidNOtBefore” is the certificate expiration date, and “ValidNOtAfter” is the certificate expiration date. End date of
  • step S304 the public key, the private key, and the self-signed signature certificate are stored in the Keypair unit 115.
  • a unique character string not recorded in the Keypair unit 115 is generated as KeyID (key pair information) and stored in the Keypair unit 115.
  • KeyID is associated with both the public key and the private key generated in step S304, and indicates that the public key and the private key correspond to each other.
  • step S304 information indicating that key pair information has been generated by a command using the DM service is recorded in Alias of the Keypair unit 115.
  • the information recorded in Alias of the Keypair unit 115 can be a character string such as “ONVIF Device Management”, for example.
  • key pair information that has no concept in the DM service can be automatically generated according to a command for generating a certificate provided by the DM service. Further, it is possible to leave a record in the recording unit 104 so that it can be seen that this key pair information has been generated by a DM service command.
  • step S305 the generated self-signed certificate is stored in the certificate unit 116.
  • step S305 a unique character string that does not exist in the certificate unit 116 is generated as a certificate ID and recorded in the certificate unit 116.
  • step S305 a character string indicating that the setting related to HTTPS has been made to the imaging apparatus 100 by a command using the DM service is recorded in the alias of the certificate unit 116.
  • step S305 the KeyID recorded in the Keypair unit 115 is also stored in the Certificate unit 116 in order to associate the information recorded in the Certificate unit 116 with the information recorded in the Keypair unit 115.
  • step S306 When generating a certificate according to the CreateCertificate command, the self-signed certificate is used, so the certificate hierarchy is only 1. Therefore, in step S306, only the CertificateID generated in step S305 is set in the CertificationPath unit 117 as the CertificationPathID. Also, in the Alias of the CertificationPath unit 117, information indicating that certification path information has been generated by a command using the DM service is recorded in the recording unit 104.
  • certification path information which has no concept in the AS service, can be automatically generated according to a command for generating a certificate provided by the DM service. Further, it is possible to leave a record in the recording unit 104 so that it can be seen that the certification path information has been generated by an instruction of the DM service.
  • the client device 300 can refer to the public key and the private key set by the client device 200 with respect to the imaging device 100 as a Keypair.
  • the client device 300 transmits a GetAllKeys command to the imaging device 100 in order to refer to the Keypair.
  • a character string indicating that a public key and a private key are already set by a command using the DM service is described.
  • the content of this Alias is transmitted from the imaging device 100 to the client device 300 as a response to the GetAllKeys command. Therefore, the user of the client device 300 can know that the public key and the private key are set in the imaging device 100 by the client device 200 using the DM service.
  • the user of the client device 300 can know that the certificate and the certification path are set by the client device 200 using the DM service.
  • the client device 300 can be set to use the self-signed certificate generated by the client device 200 for HTTPS communication by specifying the CertificationPathID using the AddServerCertificateAssignment command.
  • the process illustrated in FIG. 4 is a process executed by the imaging apparatus 100.
  • the control unit 103 of the imaging apparatus 100 includes a processor and a memory
  • the processing illustrated in FIG. 4 executes the procedure illustrated in FIG. 4 by expanding and executing the program stored in the recording unit 104 by the control unit 103. Is realized. Alternatively, a part or the whole of the processing shown in FIG. 4 may be performed by hardware.
  • the imaging apparatus 100 receives a command (LoadCertificates) for loading a certificate from the client apparatus 200 (S401).
  • the LoadCertificates command includes the following: CertificateID: CertificateID specified when generating CSR (Certificate Signing Request) with GetPkcs10Request Certificate: A certificate signed by a certification authority (CA)
  • CA certification authority
  • the keystore unit 114 acquires information (Keypair information) stored in the Keypair unit 115 ( S402).
  • a public key is obtained from the certificate unit 116 (S403).
  • the public key and the private key are recorded in the Keypair unit 115 of the Keystore unit 114.
  • a certificate signed to a CSR (Certificate Signing Request) generated based on the certificate ID of the self certificate also has an associated key pair.
  • the imaging apparatus 100 determines whether the public key recorded in the keypair unit 115 matches the public key acquired in step S403 (S404).
  • the certification path including the designated Certificate ID is deleted (S405). In this way, the certification path set for the self-signed certificate can be deleted.
  • the certificate having the CertificateID indicated by the information recorded by the Certificate unit 116 of the Keystore unit 114 is deleted (S406).
  • a certification path including a certificate loaded from the client device 200 is set.
  • Alias indicating that it has been set by a command using the DM service is stored in the CertificationPath unit 117 of the Keystore unit 114 (S407).
  • a certificate path in which CertificateID is set is generated.
  • the unique CertificationPath ID and Alias indicating that the setting has been made by the DM service are stored in the CertificationPath unit 117 of the Keystore unit 114.
  • the LoadCertificates command can specify loading of a plurality of certificates, it is further determined whether there are other certificates to be loaded (S409). If there is a certificate to be further loaded (YES in 409), the process returns to step S403. When all the certificates have been processed (NO in 409), a response to the LoadCertificates command is transmitted to the client device 200 (S411).
  • the certificate loaded by the client apparatus 200 can be set as a certificate used when the client apparatus 300 performs encrypted communication with the imaging apparatus 100 according to the following procedure.
  • the client device 300 designates the CertificationPathID by using the AddServerCertificateAssignment command, it can be set to use HTTPS communication (for example, SSL).
  • the CACertificate private key is not in the Keypair unit 115 of the Keystore unit 114. Therefore, a key pair is acquired from the Keystore unit 114. An error can be determined if the combination of the public key of the loaded certificate matches the combination of the private key stored in the Keypair unit 115. If there is no match, the public key and unique KeyID acquired from the Certificate unit 116 are stored in the Keypair unit 115 of the Keystore unit 114, and information indicating that it is set according to the DM service command is set in the Alias To do. Further, the certificate and the unique CertificateID are stored in the Certificate unit 116 of the Keystore unit 114, and information indicating that the setting is made according to the DM service command is set in the Alias.
  • FIG. 5 is realized in the DM service unit 112 in FIG. 2B.
  • the DM service unit 112 When receiving GetCertificates from the client device 200 (S501), the DM service unit 112 acquires a key pair and a certificate from the Keystore unit 114 (S502).
  • step S502 If a plurality of certificates can be acquired in step S502, it is determined whether or not to include each certificate in the response (S505). If there is a next certificate, the processing from step S503 is repeated. When all the certificates have been determined (NO in S505), a response is transmitted to the client device 200 (S506).
  • the certificate determined as NO in step S503 in FIG. 5 may be returned to the response.
  • FIG. 6 is a flowchart showing certificate deletion processing in the DM service unit 112.
  • the DM service security-related commands do not have the concept of a certification path or a key pair.
  • the certification path and key pair based on the AM service are also deleted.
  • the DeleteCertificates command is a command that is executed based on the DM service, and is a command that requests deletion of the certificate information recorded in the recording unit 104.
  • the certificate deletion process will be described.
  • the certificate may be invalidated, and the old certificate may be invalidated by overwriting the old certificate with a new certificate.
  • the DM service unit 112 When the DM service unit 112 receives the DeleteCertificates command (S601), the key pair, certificate, and certification path are acquired from the Keystore unit 114 (S602).
  • step S603 If it is determined that there is a certificate path including the CertificateID specified in step S603 (YES in S603), it is determined whether the certificate path is used for SSL or the like. If it is used (YES in S605), the certificate cannot be deleted, so the AS service unit 113 transmits an error as a response to the client device 200 (S611).
  • the certification path is not used (NO in S605), the certification path is deleted (S606), and the certificate specified by CertificateID is deleted (S607). Next, the key pair associated with the certificate is deleted. There is no DM service security related command to delete the key pair, so it is necessary to delete it with the DeleteCertificates command.
  • step S610 since the key pair may be associated with another certificate, it is determined in step S610. If the key pair is not associated with another certificate (YES in S608), the key pair associated with the certificate to be deleted is deleted (S609). If the key pair is associated with another certificate (NO in S608), it is not deleted. Since the DeleteCertificates command can specify a plurality of CertificateIDs, if there is a next CertificateID (YES in S610), the process deletes the CertificateID (returns to S603). When all the CertificateIDs have been processed (NO in S610), the DM service unit 112 transmits success to the reply to the client device 200.
  • the DM service unit 112 deletes the key pair information corresponding to the certificate information specified by the DeleteCertificates command (first command) from the recording unit 104. In addition, the DM service unit 112 deletes the certification path information corresponding to the certificate specified by the DeleteCertificates command from the recording unit 104. As described above, the certificate may be invalidated, and the certificate may be invalidated by overwriting the certificate or adding invalid information to the certificate.
  • the SetCertificatesStatus command is an instruction to be executed based on the DM service, and is an instruction to specify a certificate to be used for performing HTTPS communication such as SSL.
  • HTTPS communication such as SSL.
  • an example of performing encrypted communication using SSL will be described.
  • the certificate can be set to be used for SSL, and by disabling Status, the certificate is SSL Can be set not to be used.
  • CertificateID the certificate identification information specified by the SetCertificatesStatus command matches the identification information of the first certificate in the certificate order indicated by the certificate path, that certificate path is used for SSL settings.
  • the identification information of the certificate is expressed as CertificateID in ONVIF.
  • the processing is performed when the certification path whose certificate identification information matches the certificate identification information specified by the SetCertificatesStatus command is not recorded in the recording unit 104.
  • a one-stage certificate path using the certificate with the CertificateID specified by the SetCertificatesStatus command is generated, and recorded and set in the recording unit 104 as a certificate path used for SSL.
  • the execution process of the SetCertificatesStatus command in the DM service unit 112 will be described with reference to FIG.
  • the certificate path is used for SSL setting.
  • the DM service unit 112 receives SetCertificatesStatus (S701), the key pair, certificate, and certification path are acquired from the Keystore unit 114 (S702).
  • the certificate path unit 117 searches for a certificate whose first certificate ID matches the specified certificate ID (S703). If there is no match (NO in S703), the DM service unit 112 transmits an error to the client device 200 (S704).
  • the client apparatus 200 can also set a certification path including a plurality of Certificate IDs as SSL.
  • the GetCertificatesStatus command is an instruction performed based on the DM service.
  • the GetCertificatesStatus command is a command for requesting transmission of information indicating the status of the certificate recorded by the recording unit 104 (for example, whether the certificate is set to be used for encrypted communication). is there.
  • the GetCertificatesStatus command provided by the DM service returns its status for a single certificate, and cannot represent the AS service certification path.
  • the certificate path information based on the AS service includes identification information (CertificateID) of a plurality of certificates. Therefore, when the GetCertificatesStatus command from the DM service is received, it becomes a problem which of the plurality of certificates the status should be returned to. Therefore, in the present embodiment, information (for example, Status) that indicates the first certificate in the order that the imaging apparatus 100 refers to perform encrypted communication among a plurality of certificates indicated by the certification path. Information) as a response.
  • the DM service unit 112 When the DM service unit 112 receives the GetCertificatesStatus command (S801), the certificate and the certification path are acquired from the Keystore unit 114 (S802). If there is no certificate ID in the certificate of the keystore unit 114 that matches the certificate ID at the beginning of the certificate path (NO in S803), it cannot be used for SSL setting. Therefore, the process proceeds to step S807 without being included in the reply to the GetCertificatesStatus command. If there is, it is determined whether the certification path is used for SSL (S804). If it is used (YES in S804), the CertificateID and the status set to True are added to the response.
  • the AS service unit 113 transmits a response to the client device 200 (S808).
  • FIG. 9 is a flowchart showing the processing of the SetCertificatesStatus command in the DM service unit 112.
  • that certificate path is used for SSL setting.
  • a one-stage certificate path using the certificate with the specified CertificateID is generated and used for SSL setting.
  • the DM service unit 112 When the DM service unit 112 receives the SetCertificatesStatus command (S901), the key pair, certificate, and certification path are acquired from the Keystore unit 114 (S902).
  • step S903 When it is determined that there is no certificate path that matches the CertificateID specified in step S903 (NO in S903), it is determined whether there is a certificate with the CertificateID specified in the certificate of the Keystore unit 114 (S904). If there is not, an error is transmitted in the reply (S905).
  • a one-stage certificate path is generated with the CertificateID (S906), and the specified Status is reflected (S907). Since the SetCertificatesStatus command can specify a plurality of CertificateIDs, if there is a next CertificateID (YES in S908), the process returns to Step S903 and the processing of the next CertificateID is continued. When processing of all CertificateIDs is completed (NO in S908), the DM service unit 112 transmits success as a response to the client device 200.
  • the DM service unit 112 performs the following process to generate a certification path even if a CertificateID not at the beginning of the certification path is specified by the SetCertificatesStatus command. That is, in response to the GetCertificatesStatus command, a CertificateID not at the beginning of the certification path is also returned.
  • the DM service unit 112 receives the GetCertificatesStatus command (S1001), the certification path, certificate, and key pair are acquired from the Keystore unit 114 (S1001). Next, a certificate whose CertificateID specified by the GetCertificatesStatusates command matches the first CertificateID in the order indicated by the certification path is searched. If there is a matching certificate (YES in S1003), it is determined whether the certification path is used for SSL (S1004).
  • the DM service unit 112 requests acquisition of information indicating whether the certificate information recorded in the recording unit 104 is set as certificate information used for encrypted communication. Process the instructions. Then, according to the third command, fourth certificate information indicating that the certification path information is at the head of the order is set as certificate information used for encrypted communication. Information (for example, Status is True) is recorded in the recording unit 104. The DM service unit 112 also indicates that the fifth certificate information different from the fourth certificate information is not set to be used for encrypted communication (for example, Status is False). Is recorded in the recording unit 104.
  • a certificate response that can be used as a self-signed certificate is generated.
  • a certificate that can be used as a self-signed certificate is one in which a private key is set in a key pair associated with the certificate. If there is a private key in the Keypair unit 115 (YES in S1006), the CertificateID of the certificate is added to the response, and the Status is set to False. If there is no private key in the Keypair unit 115 (NO in S1006), the CertificateID is not included in the response.
  • the DM service unit 112 executes GetCertificatesStatus (third instruction), the certificate information that is not associated with the key pair information among a plurality of certificates indicated by the certification path is not transmitted. can do.
  • the process returns to Step S1003 to continue the process of the next CertificateID.
  • the DM service unit 112 transmits a response to the client device 200.
  • the “LoadCertificatesWithPrivatekey” command is a command for loading a certificate, a private key, and a public key associated therewith into the imaging apparatus 100.
  • the public key is acquired from the certificate and the private key, and error processing is performed if they do not match. If they match, the private key, public key, and unique KeyID are stored in the Keystore unit 114, and the Alias sets information indicating that it has been set by a DM service command. Further, the certificate and the Certificate ID are stored in the Certificate unit 116 of the Keystore unit 114, and information indicating that it is set by the DM service command is described in the Alias.
  • the communication unit 105 when storing a key pair, a certificate, and a certification path in the Keystore unit 114, information indicating that each Alias is set based on the DM service is recorded. Then, the communication unit 105 generates information indicating that the setting has been made for the imaging apparatus 100 in accordance with a command performed based on the DM service, according to a command (command for referring to the setting) performed based on the AS service. Can be sent. In this way, even the security-related settings set by the client device 200 can be known by the client device 300.
  • the communication unit 105 records information indicating that the setting has been made for the imaging apparatus 100 in accordance with a command performed based on the AS service, and a command (command for referring to the setting) that performs the information based on the DM service. ). In this way, even the security-related settings set by the client device 300 can be known by the client device 200.
  • the imaging apparatus 100 enables settings for the imaging apparatus 100 by means other than the ONVIF communication procedure.
  • the imaging apparatus 100 as an information processing apparatus activates a WEB page for the client apparatus 1100 to set the imaging apparatus 100.
  • the user can access the camera through the web browser on the client device 1100 and change the setting.
  • the imaging apparatus 100 prepares a Web page for setting SSL, and performs certificate setting and SSL service start / end control.
  • the setting web page is referred to as a setting page.
  • the client device 1100 can check the contents of the settings made to the imaging device 100 by using the setting page also in the client devices 200 and 300 of the first embodiment.
  • ONVIF defines a command group for setting a private key, public key, and certificate, a command group for setting it to be used for SSL and IEEE802.1X, and a command for setting the start / end of a service.
  • the usage of the certificate is not determined at that time.
  • the certificate usage is determined by the SetCertificatesStatus command if it is a security related command used in the DM service when used for SSL. If it is a command used in the AS service, it is an Add / ReplaceServerCertificateAssignment command.
  • the Keystore unit 114 it is common to set multiple certificates, but in the SSL setting page, usually one certificate for the SSL server, or in addition to that, a middle-tier certificate It is enough to set one set.
  • the control unit 103 of the imaging apparatus 100 executes the function of the setting page control unit 118 described later in addition to the functions of the DM service unit 112 and the AS service unit 113.
  • the first processing unit 106 can execute the function of the setting page control unit 118.
  • FIG. 11 is a diagram illustrating the imaging apparatus 100 and the client apparatus 1100 that performs security settings for the imaging apparatus 100 using a setting page.
  • the imaging apparatus 100 according to the present embodiment includes an HTTP server unit 111, a DM service unit 112, an AS service unit 113, and a Keystore unit 114.
  • the imaging apparatus 100 according to the second embodiment is different from the configuration shown in the first embodiment in that the keystore unit 114 can be operated from the setting page control unit 118.
  • the setting page unit 118 executes a command that the client device 1100 (first receiving device) using the setting page performs on the imaging device 100 based on HTTP (first communication procedure).
  • An instruction based on HTTP includes a public key (first public key information) used for performing encrypted communication and a private key (first private key) used for performing encrypted communication. Information) corresponds to the first key pair information indicating that the recording unit 104 records the first key pair information.
  • the command to be executed based on HTTP includes a command for transmitting from the communication unit 105 key pair information (first key pair information) indicating the correspondence between the public key and the private key.
  • the command based on HTTP includes a command for invalidating (eg, deleting) the key pair information recorded in the recording unit 104.
  • a self-signed certificate is generated that is certificate information for certifying that the public key information is valid key information and the signature information is added by the setting page control unit 118 Instructions to be included.
  • the setting page control unit 118 does not necessarily execute all these instructions, and may execute at least one of the instructions.
  • the imaging apparatus 100 returns a setting page as shown in FIG. 12 when there is a request for an SSL setting page from the client apparatus 1100.
  • Radio buttons (1201, 1202, 1203) are displays for selecting whether to disable SSL, use a self-signed certificate, or use a certificate signed by a CA.
  • Subject 1204 is an input field for setting a subject used for a self-signed certificate.
  • the input field 1205 and the input field 1206 are input fields for setting the start date and end date of the validity period of the self-signed certificate.
  • a generation button 1207 is pressed, a self-signed certificate is generated.
  • a display button 1208 is a button for popping up and displaying the generated self-signed certificate in another window.
  • a delete button 1209 is a button for deleting the self-signed certificate.
  • Subject 1210 sets the subject of the certificate signing request, and the setting method is the same as that of subject 1204.
  • the generation button 1211 generates a certificate signature request according to the subject set in the subject 1210, and the display button 1212 pops up and displays the certificate signature request in another window.
  • the install button 1213 is a button for instructing to install a certificate signed by the CA based on the certificate signing request.
  • the certificate file is selected by referring to the file system of the device executing the client device 1100.
  • a display button 1214 is a button for instructing to display the certificate in another window.
  • the delete button 1215 is a button for instructing to delete the certificate.
  • the install button 1216 is a button for instructing to install a CA certificate (middle layer certificate or cross-root certificate) provided by the CA.
  • a certificate file is selected with reference to the file system of the device executing the client device 1100.
  • a display button 1217 is a button for displaying the certificate in another window.
  • the delete button 1218 is a button for deleting a certificate.
  • An apply button 1219 is a button for reflecting the setting.
  • a cancel button 1220 is a button for canceling the setting.
  • the imaging apparatus 100 is set to generate a self-signed certificate and use it for SSL.
  • the imaging apparatus 100 reflects the setting contents in the Keystore unit 114.
  • the imaging apparatus 100 first generates a public key and a private key (S1302). You may be able to set the encryption / signature algorithm and key length, but here we set sha-2WithRSAEncryption and 2048 bits fixed.
  • the control unit 103 can create a public key, a private key, and a self-signed certificate.
  • the HTTP server unit 111 can generate the function.
  • a self-signed certificate is generated according to the set value (S1302). Next, it is stored in the Keystore unit 114 so that the certificate set on the setting page can be referred to by the DM security-related command and the AS command.
  • a unique KeyID is generated and stored in the Keypair of the Keystore unit 114. Further, information indicating that the self-signed certificate on the setting page is set is recorded in the Alias (S1303). Then, in addition to the self-signed certificate, a unique CertificateID is generated and stored in the Certificate unit 116 of the Keystore unit 114. In the alias, information indicating that the self-signed certificate on the setting page is set is set (S1304).
  • a certification path including only one CertificateID and a unique CertificationPathID are generated and stored in the CertificationPath unit 117 of the Keystore unit 114. Then, information indicating that the self-signed certificate on the setting page is set is set in the Alias (S1303). Furthermore, since the self-signed certificate generated on the SSL setting page is determined to be used for SSL, the generated certificate path is set to be used for SSL (S1306).
  • the client device 300 can refer to the private key and public key of the self-signed certificate generated on the setting page using the GetAllKeys command.
  • the self-signed certificate can be referenced using the GetAllCertificates command.
  • the self-signed certificate is set in one row using the GetCertificationPath command.
  • the self-signed certificate is not set from the SSL setting page according to the operation of the display button 1208, the following can be performed.
  • the certification path unit 117 is set to use a self-signed certificate
  • the self-signed certificate set by the client device 200 or 300 may be displayed.
  • a certification path unit 117 searches for one used for SSL. If it exists, the certificate is referenced from the CertificateID set in the CertificationPath unit 117, and if it is a self-signed certificate, it is displayed on the client device 1100.
  • the delete button 1209 only needs to be set to use the self-signed certificate in the CertificationPath section 117 even if the self-signed certificate is not set from the SSL setting page.
  • the self-signed certificate set by the client device 200 or 300 may be deleted.
  • a certificate path unit 117 searches for one used for SSL, and if it exists, refers to the certificate from the certificate ID set in the certification path unit 117. If the certificate is a self-signed certificate, set the certificate path not to be used for SSL, and delete the certificate path, certificate, and key pair in this order.
  • FIG. 14 is a flowchart of processing when a certificate and a CA certificate are set by the install button 1213 and the install button 1216 when using a certificate signed by the CA.
  • the issuer of the certificate and the common name of the CA certificate are checked.
  • an Alias key pair that means that a certificate signed by a CA is used is acquired from the Keypair unit 115 of the Keystore unit 114 (S1401).
  • a public key is acquired from the certificate installed with the install button 1213 (S1402).
  • the public key of the acquired keypair and the public key of the certificate are compared, and if they do not match (NO in S1403), an error process is performed because the combination of the public key and the private key does not match (S1412). If they match (YES in S1403), Issuer is acquired from the certificate to confirm the certificate path (S1404), and Subject is acquired from the CA certificate (S1405).
  • the obtained Issuer and Subject are compared, and if they do not match (NO in S1406), the certificate path does not match and error processing is performed (S1402). If they match (YES in S1406), the process proceeds to step S1407.
  • the CA certificate is handled on the premise, but if there are a plurality of CA certificates, it is necessary to check the path of the certificate in the same manner.
  • the certificate set by the install button 1213 is set in the Certificate of the Keystore unit 114.
  • the certificate, the unique CertificateID, and the KeyID of the Keypair acquired in Step S1401 are stored in the Certificate of the Keystore unit 114.
  • information indicating that the certificate signed by the CA certificate is used is set in the Alias (S1407).
  • the CA certificate set by the install button 1216 is set in the Keypair unit 115 and the Certificate unit 116 of the Keystore unit 114.
  • the CA certificate public key and unique KeyID are stored in the Keypair unit 115 of the Keystore unit 114, and information indicating that the certificate signed by the CA certificate is used in the Alias (S1408). Further, the CA certificate, the unique CertificateID, and the KeyID set in Step S1408 are associated and stored in the Certificate of the Keystore unit 114.
  • information indicating that the certificate signed by the CA certificate is used is set (S1409).
  • the certificate path set with the CertificateID of the certificate set in step S1407 and then set with the CertificateID of the CA certificate is stored in the CertificationPath unit 117 of the Keystore unit 114.
  • the Alias information indicating that the certificate signed by the CA certificate is used is set (S1410).
  • the generated CertificationPath is set to be used in SSL (S1411).
  • the key store unit 114 searches for a certification path having information that means that Alias uses the certificate signed by the CA certificate. If it exists, set it not to be used for SSL, and delete the certification path. Next, Alias searches for information that means that the certificate signed by the CA certificate is used, and if there is a private key in the KeyID associated with the certificate, it is deleted.
  • the keystore unit 114 searches for a certification path in which information indicating that a certificate signed by the CA certificate is used in Alias is recorded. If it exists, set it not to be used for SSL, and delete the certification path. Next, Alias searches for information that means that the certificate signed by the CA certificate is used, and deletes it if there is no private key in the KeyID associated with the certificate.
  • Apply button 1219 performs processing to start or stop the SSL service according to radio button (1201, 1202, 1203) options. If the cancel button 1220 is pressed, the setting of the subject or certificate in the middle of setting is canceled.
  • the same Alias is set for the certificate and the CA certificate, but different certificates may be used. You may search using Alias to delete a certificate or CA certificate, and to delete the certificate path, certificate and key pair.
  • the communication unit 105 transmits information indicating that the setting has been made to the imaging device 100 in accordance with the command performed based on HTTP using the setting page, based on the command (setting the setting performed based on the AS service). Can be transmitted in response to a command for reference). In addition, the communication unit 105 transmits information indicating that the setting has been made to the imaging device 100 in accordance with a command performed based on HTTP using the setting page based on a command (referring to the setting). Can be transmitted in accordance with
  • the SSL setting has been described, but the setting can be reflected by setting Alias in other functions that handle certificates.
  • the present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a recording medium, and one or more processors in the computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
  • a circuit for example, ASIC
  • Imaging device 100 Imaging device 103 Control unit 104 Recording unit 105 Communication unit 106 First processing unit 107 Second processing unit 200 First client device 300 Second client device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Studio Devices (AREA)
  • Television Signal Processing For Recording (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

 第1の通信手順により情報処理装置に設定されたセキュリティ機能に関する設定の内容を、第1の通信手順と異なる第2の通信手順を用いるクライアント装置が参照できない場合がある。 情報処理装置であって、第1の通信手順に基づいて行う命令に応じて、暗号化された通信を行うための設定を前記情報処理装置に対して行う第1の処理手段と、第2の通信手順に基づいて行う命令に応じて、暗号化された通信を行うための設定を前記情報処理装置に対して行う第2の処理手段と、前記情報処理装置に対して暗号化された通信を行うための設定を前記第1の処理手段が行った後に受信装置から前記第2の通信手順に基づいて行う命令を受信した場合、暗号化された通信を行うための設定が前記第1の通信手順に基づいて行う命令に応じて行われたことを示す情報を前記受信装置に送信する送信手段とを有する。

Description

情報処理装置、制御方法、及び、プログラム
 撮像画像をネットワークを介してクライアント装置に送信する情報処理装置における、セキュリティ機能の設定に関する。
 従来、撮像装置のセキュリティ機能に関する設定を、当該撮像装置にネットワークを介して接続されたクライアント装置から撮像装置に対して行う技術が知られている。
 例えば、SSL(Secure Sockets Layer)プロトコルを用いた通信処理に用いられる鍵の生成や証明書の設定をクライアント装置から撮像装置に対して指示することができる。
 クライアント装置から撮像装置に対してセキュリティ機能に関する設定を行うためのコマンドとして、ONVIF(Open Network Video Interface Forum)により策定された規格により定義されるコマンド群が知られている。ONVIFでは、セキュリティ機能に関連し、SSL、IEEE802.1X、クライアント認証の設定などが規格化されている。
 例えば、ONVIFのDevice Managementサービス(非特許文献1)に定義されたコマンドをクライアント装置が撮像装置に送信して、Device Managementサービスに適合した撮像装置に鍵の生成や証明書の設定ができる。
 また例えば、ONVIFのAdvanced Securityサービス(非特許文献2)に定義されたコマンドをクライアント装置が撮像装置に送信して、Advanced Securityサービスに適合した撮像装置に鍵の生成や証明書の設定ができる。
ONVIF-Core-Specification-v242(http://www.onvif.org/specs/core/ONVIF-Core-Specification-v242.pdf) ONVIF-AdvancedSecurity-Service-Spec-v102(http://www.onvif.org/specs/srv/security/ONVIF-AdvancedSecurity-Service-Spec-v102.pdf)
 クライアント装置から情報処理装置(例えば、撮像装置)に対して同じセキュリティ機能に関する設定を行うための通信手順(プロトコル)が複数存在する場合に、以下の課題が生じる場合があった。すなわち、第1の通信手順により情報処理装置に設定されたセキュリティ機能に関する設定の内容を、第1の通信手順と異なる第2の通信手順を用いるクライアント装置が参照できない場合があるという課題がある。
 上記目的を達成するために、本発明は、第1の通信手順に基づいて行う命令に応じて、暗号化された通信を行うための設定を前記情報処理装置に対して行う第1の処理手段と、第2の通信手順に基づいて行う命令に応じて、暗号化された通信を行うための設定を前記情報処理装置に対して行う第2の処理手段と、前記情報処理装置に対して暗号化された通信を行うための設定を前記第1の処理手段が行った後に受信装置から前記第2の通信手順に基づいて行う命令を受信した場合、暗号化された通信を行うための設定が前記第1の通信手順に基づいて行う命令に応じて行われたことを示す情報を前記受信装置に送信する送信手段とを有する。
 このような構成によれば、第1の通信手順により情報処理装置に設定されたセキュリティ機能に関する設定の内容を、第1の通信手順と異なる第2の通信手順を用いるクライアント装置が参照することができる。
実施形態1に係るセキュリティ通信システムを示したブロック図 実施形態1に係るセキュリティ通信システムを示したブロック図 証明書等の設定処理を示す図 証明書等の設定処理を示す図 証明書の生成処理を示したフローチャート 証明書のロード処理を示したフローチャート 証明書の取得処理を示したフローチャート 証明書の削除処理を示したフローチャート 証明書の状態の設定処理を示したフローチャート 証明書の状態の取得処理を示したフローチャート 証明書の状態の設定処理を示したフローチャート 証明書の状態の取得処理を示したフローチャート 実施形態2に係るセキュリティ通信システムを示したブロック図 SSLの設定ページのユーザインターフェースの例を示す図 自己署名証明書を生成する処理を示したフローチャート CAが署名した証明書を使用する処理を示したフローチャート
 以下に、本発明の実施の形態を、添付の図面に基づいて詳細に説明する。
 (実施形態1)
 本実施形態では、第1のクライアント装置及び第2のクライアント装置が、ONVIFにより規定された手順を用いて、情報処理装置としての撮像装置に対してセキュリティ機能に関する設定を行う例について説明する。
 本実施形態では、第1のクライアント装置は、ONVIFにより規定されたDevice Managementサービス(以下、「DMサービス」)(第1の手順)を用いて撮像装置に対してセキュリティ機能に関する設定を行う。また第2のクライアント装置は、ONVIFにより規定されたAdvanced Securityサービス(以下、「ASサービス」)(第2の手順)を用いて当該撮像装置に対してセキュリティに機能に関する設定を行う。
 ここで、ONVIFにより規定されたDMサービスと、ASサービスとは独立したサービスである。一方のサービスに基づいて撮像装置に設定された設定内容を、他方のサービスに基づいて当該撮像装置と通信を行うクライアント装置が参照できない場合がある。
 例えば、第1のクライアント装置がDMサービスに基づいて撮像装置に対してセキュリティ機能に関する設定を行う。次に、第2のクライアント装置がASサービスに規定されたコマンドを用いて、当該撮像装置に対して設定されたセキュリティ機能に関する設定を参照する。このとき、第1のクライアント装置によってDMサービスに基づいて設定したセキュリティの設定の内容を、第2のクライアント装置は参照することができない。
 従って、第1のクライアント装置によって撮像装置にセキュリティの設定がなされていた場合であっても、第2のクライアント装置からは当該設定が撮像装置に対して既になされていることに気づくことができない。そこで第2のクライアント装置のユーザは、新たなセキュリティ設定を撮像装置に対して行い、既存の設定を上書きしてしまう恐れがある。
 そこで本実施形態にかかる撮像装置は、DMサービスに規定されたコマンドを用いて撮像装置に対する設定がなされたことを示す情報を、ASサービスに規定されているAlias情報として撮像装置内に記録する。このようにして、ASサービスを用いるクライアント装置からであっても、DMサービスによってセキュリティ機能に関する設定がなされていることを確認することができる。このようにして、一方のプロトコルを用いて撮像装置に対する設定を行うクライアント装置は、他方のプロトコルを用いて設定がなされていることを知ることができるようになる。
 また本実施形態にかかる撮像装置は、DMサービスに基づいてセキュリティ設定がなされた場合に、設定された内容を用いて、ASサービスに応じた設定内容を自動的に生成して記録する。そして、Alias情報として、DMサービスによるセキュリティ設定の命令に応じて、ASサービスに応じた設定内容を生成したことを記録する。
 例えば、暗号化された通信を行うために用いる証明書を撮像装置に生成させるための命令を、DMサービスに基づいて撮像装置が受信する。このとき撮像装置は、DMサービスに基づくセキュリティ設定では規定されていないが、ASサービスに基づくセキュリティ設定では必要とされる証明書パス設定や鍵ペア設定を自動的に行う。そして、証明書パスや鍵ペアの設定をDMサービスの命令の受信に応じて行ったことを示す情報をAlias情報として記録する。
 このようにして、ユーザはDMサービスに基づく命令に応じて、ASサービスに準じたセキュリティ設定がなされたことを知ることができるようになる。
 実施形態1にかかる撮像システムのハードウェアの構成例について、図1Aを用いて説明する。実施形態1では、撮像装置100がネットワーク108を介して、クライアント装置200及びクライアント装置300に接続された例について説明する。本実施形態において、撮像装置100は撮像した撮像画像を、ネットワークを介してクライアント装置200及びクライアント装置300に送信する。本実施形態では撮像部101を撮像装置100の内部に有する例について説明するがこれに限らない。撮像画像の送信のためのセキュリティに関する設定を管理することができればよく、撮像装置100にかえて、外部の撮像装置から撮像画像を受信して、クライアント装置200及びクライアント装置300に中継する情報処理装置であってもよい。
 撮像装置100の撮像部101が撮像した画像データは、後述の画像処理部102において処理された後、ネットワーク108を介してクライアント装置200及びクライアント装置300に送信される。
 撮像部101は、被写体を撮像して画像信号を生成する。撮像部101は、レンズやCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子などによって構成される。撮像素子はレンズによって結像された被写体の像を画像信号に変換する。
 画像処理部102は、撮像部101が生成した画像信号に対する画像処理を行う。画像処理部102は、例えば、撮像部101が撮像した画像の符号化を行う。画像処理部102は例えば、CPU(Central Processing Unit)などのプロセッサとすることができる。あるいはGPU(Graphics Processing Unit)などの画像処理のためのプロセッサとすることができる。
 撮像装置100の制御部103は、図1Aに示した撮像装置100の各構成の制御を行う。制御部103は例えば、CPUなどのプロセッサとすることができる。制御部103がプロセッサとして構成される場合、例えば制御部103は、後述の記録部104に記録されたプログラムを実行することにより、撮像装置100の各構成を制御する。
 制御部103は、図1Bを用いて後述する撮像装置100の機能を実現するための制御を行う。特に、図1Bを用いて後述するDeviceManagementサービス部112(以下、「DMサービス部112」)の機能を実現するための第1処理部106を有する。また制御部103は、後述のAdvancedSecurityサービス部113(以下、ASサービス部113)を実現するための第2処理部107を有する。また制御部103は、異なる複数の通信手順のうちの一つの通信手順に基づいて行う命令によって撮像装置100に対して設定がなされたことを示す情報を記録部104に記録させる制御を行う。
 記録部104は、撮像部101が撮像し、画像処理部102が画像処理を行った撮像画像を記録する。さらに、記録部104は制御部103が用いるプログラムや制御パラメータを記録する。また記録部104は、後述のKeystore部114が記録する各種の設定内容を記録する。
 記録部104は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリとすることができる。あるいはHDD(Hard Disk Drive)等の記録媒体であってもよい。また記録部104は、フラッシュメモリやメモリカード等のリムーバブルメディアとしてもよい。
 通信部105は、撮像部101において撮像され画像処理部102において画像処理して生成された撮像画像を、クライアント装置200及びクライアント装置300に送信する。撮像画像の送信の際には、記録部104に記録された設定情報に基づいて暗号化された通信が用いられる。また通信部105は、第1の通信手順及び第2の通信手順のうち一方の通信手順に基づいて行う命令に応じて撮像装置100に対して設定がなされたことを示す情報を、他方の通信手順に基づいて行う命令に応じて、クライアント装置200又は300に送信する。さらに通信部105は、クライアント装置200及びクライアント装置300から撮像装置100に対する制御命令を受信する。
 例えば通信部105は、撮像装置100に対して暗号化された通信を行うための設定を第1の処理部が行った後に、クライアント装置300から第2の通信手順に基づいて行う命令を受信した場合、以下の情報を送信する。すなわち通信部105は、暗号化された通信を行うための設定が第1の通信手順に基づいて行う命令に応じて行われたことを示す情報をクライアント装置300に送信する。
 クライアント装置200及びクライアント装置300は、撮像装置100に対し通信セキュリティに関する設定を行う。クライアント装置200は、例えば、撮像装置100と通信を行うための通信部201を有する。また、クライアント装置200はクライアント装置200の各構成を制御するための制御部202を有する。制御部202は例えば、CPUなどのプロセッサとすることができる。制御部202がプロセッサとして構成される場合、例えば制御部202は、後述の記録部203に記録されたプログラムを実行することにより、クライアント装置200の各構成を制御する。さらに、クライアント装置200は、制御部202が用いるプログラムや制御パラメータを記録する記録部203を有する。記録部203は、例えば、RAMやROM等のメモリとすることができる。あるいはHDD等の記録媒体であってもよい。また記録部203は、フラッシュメモリやメモリカード等のリムーバブルメディアとしてもよい。
 クライアント装置200の構成は特に限定せず、上記の例に限られない。上記の構成の一部を他の構成により置き換えたり、或いは、新たな構成を付加することとしてもよい。クライアント装置300の構成についても、クライアント装置200の構成と同様であるため、説明を省略する。
 クライアント装置200及びクライアント装置300は、例えば、PC(Personal Computer)とすることができる。あるいは、タブレット端末、スマートフォン等の携帯用端末とすることができる。
 ネットワーク108は、例えば、インターネットや有線LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、又は、アナログケーブル等により構成される。ネットワーク108は、その通信規格、規模、構成を問わない。LANの通信規格として、例えばEthernet(登録商標)等を用いることができる。
 次に、図1Bの機能ブロック図を用いて、本実施形態にかかる撮像装置100、クライアント装置200、及び、クライアント装置300の機能について説明する。
 図1Bに示すクライアント装置200は、DMサービスのセキュリティ関係のコマンドを撮像装置100に対して送信する機能を有する。また、クライアント装置300は、ASサービスのコマンドを撮像装置100に対して送信する機能を有する。クライアント装置200とクライアント装置300は、ネットワーク108を介し撮像装置100に対して鍵(Key)や証明書(Certificate)の設定を行う機能を有する。証明書は、証明書に記載された鍵が認証局に登録された鍵であることを示し、例えば、認証局に登録された公開鍵を示す情報、公開鍵の持ち主の情報、証明書を発行した認証局の情報、発行元認証局の署名等を含む。
 撮像装置100は、ONVIFが規定するDMサービス、及び、ASサービスに対応している。すなわち、本実施形態に係る撮像装置100はDMサービスで用いられるコマンドの受信に応じてセキュリティ機能に関する設定を行う。また本実施形態に係る撮像装置100はASサービスで用いられるコマンドの受信に応じてセキュリティ機能に関する設定も行うことができる。
 撮像装置100のHTTPサーバ部111は、クライアント装置200又はクライアント装置300から送信されたSOAPメッセージを受信する。SOAPメッセージはSOAP(Simple Object Access Protocol)を用いて送受信されるメッセージである。
 HTTPサーバ部111は、クライアント装置200及びクライアント装置300から送信されたSOAPメッセージを受信する。そして、受信したメッセージを、DMサービス部112もしくはASサービス部113に送信する。
クライアント装置200及び300は、撮像装置100のDMサービス部112もしくはASサービス部113を指定するURI(Uniform Resource Identifier)に、SOAPメッセージをPOSTする。このようにしてSOAPメッセージを送信することができる。メッセージのPOSTは、HTTP(Hypertext Transfer Protocol)のPOSTメソッドを用いて実行される。本実施形態において、HTTPサーバ部111の機能は、図1Aに示した通信部105により実現される。
 DMサービス部112とASサービス部113はそれぞれ、受信したSOAPメッセージを解析し、コマンドとその設定内容に応じて撮像装置100のセキュリティ関係の設定もしくは設定されている内容を返答として返す。本実施形態において、DMサービス部112及びASサービス部113の機能は、図1Aに示した制御部103により実現される。
 制御部103がDMサービス部112の機能を実現する場合、クライアント装置200が撮像装置100に対してDMサービス(第1の通信手順)を用いて行う命令を実行する第1の処理手段として機能する。また制御部103がASサービス部113の機能を実現する場合、クライアント装置300が撮像装置100に対してASサービス(第1の通信手順と異なる第2の通信手順)を用いて行う命令を実行する第2の処理手段として機能する。
 DMサービス部112は、クライアント装置200が撮像装置100に対してDMサービスをに基づいて行う命令を実行する。DMサービスに基づいて行う命令には、暗号化された通信を行うために用いる公開鍵(第1の公開鍵情報)を撮像装置100に設定するための命令、第1の公開鍵情報に対応する非公開鍵(第1の非公開鍵情報)を撮像装置100に設定するための命令が含まれる。またDMサービスに基づいて行う命令には、公開鍵が正当な鍵情報であることを証明するための証明書(第1の証明書情報)を撮像装置100に設定するための命令が含まれる。DMサービス部112はこれらの全ての命令を必ずしも実行しなくてもよく、少なくともいずれか一つの命令を実行すればよい。
 ASサービス部113は、クライアント装置300が撮像装置100に対してASサービスに基づいて行う命令を実行する。ASサービスに基づいて行う命令には、暗号化された通信を行うために用いる公開鍵(第2の公開鍵情報)と非公開鍵(第2の非公開鍵情報)とが対応することを示す鍵ペア情報を撮像装置100に設定するための命令が含まれる。また、ASサービスに基づいて行う命令には、公開鍵が正当な鍵情報であることを証明するための証明書(第2の証明書情報)を撮像装置100に設定するための命令が含まれる。さらにASサービスに基づいて行う命令には証明書に関連する他の証明書情報を示す証明書パス(証明書パス情報)を撮像装置100に設定するための命令が含まれる。ASサービス部113はこれらの全ての命令を必ずしも実行しなくてもよく、少なくともいずれか一つの命令を実行すればよい。
 Keystore部114はONVIFのAdvanced Securityに定義されたKeystoreのKeystore情報を保存するデータベースである。本実施形態において、Keystore部114の機能は、図1Aに示した記録部104により実現される。Keystore部114は、以下の記録部を有する。
 Keypair部115:非公開鍵(Privatekey)と、公開鍵(Publickey)と、クライアントが任意の文字列を設定するAliasと、Keypairとを対応付けて一意に示すKeyID(鍵ID)を記録する。
 Certificate部116:証明書(Certificate)と、Aliasと、証明書の公開鍵が保存されたKeypairのKeyIDとを対応付けて一意に示すCertificateID(証明書ID)情報を記録する。
 CertificationPath部117: 証明書パスIDと、Aliasと証明書パス(CertificationPath)とを対応付けて一意に示すCertificationPathID(証明書パスID)情報を記録する。証明書パスID(CertificationPathID)は複数の証明書に対応付けられた順序を1つまたは複数のCertificateIDで示す。
 証明書パスは、撮像装置100が暗号化された通信を行うために証明書を参照する順序、及び、複数の証明書の階層構造を表す。例えばSSL通信等では、第1の証明書を発行した第1の認証局が信頼できる認証局であることを証明するために第2の認証局が第2の証明書を発行する。さらに第2の認証局が信頼できる認証局であることを証明するためにルート認証局が第3の証明書を発行する。この例では、第1の証明書、第2の証明書、及び、第3の証明書が階層構造を成す。証明書パスは、このような証明書の階層構造を示す情報である。上述の例では証明書の階層構造が3層の場合について説明したが、3層に限られず任意の階層構造を取ることとすればよい。撮像装置100は、証明書を用いて暗号化された通信を行う場合に、第1の証明書を参照する。次に、第1の証明書に含まれる認証局の署名を参照して、第2の証明書を参照する。さらに第2の証明書に含まれる認証局の署名を参照して第3の証明書を参照する。このようにして、撮像装置100は、第1の証明書、第2の証明書、第3の証明書という順序で証明書を参照する。上述の例では3つの証明書の順序について説明したが、証明書の数は限られず任意の数とすることができる。
 Keypair部115、Certificate部116、及び、CertificationPath部117のそれぞれには、任意の文字列を記録するための記録領域(Alias)が設けられている。
 クライアント装置200が、DMサービスに基づいて撮像装置100に公開鍵、非公開鍵、及び、証明書を設定する処理について、図2A及び図2Bを用いて説明する。これらの公開鍵、非公開鍵、及び、証明書は、撮像装置100とクライアント装置200との間でHTTPSを用いたセキュリティ通信を開始するために撮像装置100が予め記録している必要がある。
 まず、クライアント装置200が行う処理について、図2Aのフローチャートを用いて説明する。図2Aに示した判定処理は、ユーザの指示に応じてクライアント装置200が実行することができる。あるいは、記録部203に記録されたプログラムを制御部202が読みだして実行することにより、図2Aのフローチャートに示した処理を実行することとしてもよい。
 クライアント装置200は、撮像装置100においてHTTPS(Hypertext Transfer Protocol Secure)サービスが有効であるか否かを示す状態情報を取得する(S201)。
 HTTPSによる設定が有効な状態とは、SSLあるいはTLS(Transport Layer Security)などを用いたHTTPS通信を開始することが可能な状態のことである。すなわちHTTPS通信に用いる公開鍵、非公開鍵、及び、証明書が既に撮像装置100に設定されている状態である。
 一方、HTTPSによる設定が無効な状態とは、HTTPS通信を行うために用いる公開鍵、非公開鍵、及び、証明書が撮像装置100に設定されていない状態である。例えば、証明書が有効期限切れ、廃棄状態、又は、一時停止状態にあり、その証明書を用いてHTTPS通信を行うことができない状態等を含む。
 ステップS201において、クライアント装置200は、撮像装置100へGetNetworkProtocolsコマンドを送信する。GetNetworkProtocolsコマンドにより、クライアント装置200は、撮像装置100で提供されているHTTPとHTTPSとRTSP(Real Time Streaming Protocol)のサービスの状態情報の取得を要求する。この状態情報には各サービスが有効であるか無効であるかを示す情報が含まれる。またクライアント装置200は、GetNetworkProtocolsコマンドにより、サービスが提供されているポート番号の情報の取得を要求する。撮像装置100は、クライアント装置200に対して、GetNetworkProtocolsレスポンスを応答する。
 次にクライアント装置200は、GetNetworkProtocolsレスポンスを確認して、HTTPSによる設定が有効であるか否か判定する(S202)。HTTPSの設定が無効である場合(S202においてNOの場合)、後述のステップS207の処理に進む。
 HTTPSによる設定が有効である場合(S202においてYESの場合)、クライアント装置200は、HTTPSの設定をそのまま使うか、又は、別途HTTPSの設定をするかを判定する(S203)。既に設定されているHTTPSの設定を使う場合(S203においてYESの場合)、現在撮像装置100に対する、公開鍵、非公開鍵、及び、証明書の設定を終了する。
 一方、新たなHTTPSの設定を行う場合(S203においてNOの場合)、クライアント装置200は撮像装置100が持っている証明書を全て取得する(S204)。
 ステップS204において、クライアント装置200は、装置100へGetCertificatesコマンドを送信する。撮像装置100は、クライアント装置200に対して、GetCertificatesレスポンスを応答する。GetCertificatesコマンドは、クライアント装置200が、撮像装置100が持っている全ての証明書を示す情報を取得することを要求するためのコマンドである。
 GetCertificatesレスポンスとして、撮像装置100が有する証明書(Certificate)を取得する。クライアント装置200は取得した証明書のうちから選択された証明書を使うか、新規に証明書を生成するかを判定する(S205)。ステップS205の判定は、例えば、何れの証明書を用いるかについてのユーザからの指示に応じて判定を行うことができる。
 クライアント装置200は、撮像装置100から取得した証明書のうちから選択した証明書をHTTPS通信において用いる場合(S205でYESの場合)、選択した証明書を撮像装置100に設定する(S206)。証明書の設定には、SetCertificatesStatusコマンドを用いることができる。SetCertificatesStatusコマンドは、暗号化された通信を行うために用いる設定情報を記録部104に記録させるための命令である。SetCertificatesStatusコマンドは、クライアント装置200(第1の受信装置)が撮像装置100に対してDMサービス(第1の通信手順)に基づいて行う命令である。
 ステップS205において、新規に証明書を生成すると判定した場合(S205でNOの場合)、クライアント装置200は撮像装置100において新規に公開鍵、非公開鍵、及び、証明書を生成するか判定する(S207)。
 撮像装置100において公開鍵、非公開鍵、及び、証明書を生成する場合(S207でYESの場合)、クライアント装置200は撮像装置100に公開鍵、非公開鍵、及び自己署名証明書の生成を指示する。自己署名証明書は、適宜、SelfSignedCertificateと表記する。
 クライアント装置200は、CreateCertificateコマンドを用いて、撮像装置100に対して公開鍵と非公開鍵とを生成し、それを用いて自己署名証明書を生成することを要求する。
 撮像装置100において新規に公開鍵、非公開鍵、及び、証明書を生成しないと判定した場合(S207においてNOの場合)、クライアント装置200は自装置内で公開鍵、非公開鍵、及び、証明書を生成する(S210)。そしてクライアント装置200は、生成した非公開鍵、及び、証明書を、LoadCertificateWithPrivateKeyコマンドを用いて、撮像装置100へロードする(S211)。クライアント装置200から撮像装置100への非公開鍵、及び、証明書のロード処理については、図4を用いて詳細を後述する。
 ステップS209の処理、又は、ステップS211の処理が完了すると、クライアント装置200は、生成した公開鍵、非公開鍵、及び、証明書をHTTPS通信に用いるように、撮像装置100に対して設定する。
 クライアント装置200は、証明書をHTTPS通信に使う状態となっているかどうかを示すステータス情報を、GetCertificatesStatusコマンドを用いて取得する。CreateCertificateコマンドによってCertificateを生成した段階では、生成した証明書をHTTPS通信に使うように設定はされていない。そこで、クライアント装置200は、SetCertificatesStatusコマンドを撮像装置100に送信することによりStatusをTrueに設定する。このようにして、生成した証明書をHTTPS通信に使うように設定することができる。
 SetNetworkProtocolsコマンドはHTTPとHTTPSとRTSPのサービスの有効・無効の状態と、それらのサービスを提供するポート番号を設定するコマンドである。HTTPSを有効(Enable)にすると、撮像装置100はStatusがTrueの証明書をHTTPS通信に使用するようにHTTPサーバ部111を設定する。
 なお、撮像装置100とクライアント装置200との間の、HTTPS通信を行うための設定のシーケンスを図2Bに示す。以上のようにして、クライアント装置200はDMサービスに基づいて、撮像装置100に対して設定を行う。
 一方、クライアント装置300がASサービスに基づいてHTTPS通信の設定をする場合、鍵ペア(KeyPair)と証明書(Certificate)と証明書パス(CertificationPath)とを撮像装置100に設定する。クライアント装置300は、AddServerCertificateAssignmentコマンドを用いて、HTTPS通信を行うために用いる証明書パスを撮像装置100に設定する。鍵ペア、及び、証明書パスはDMサービスにはないASサービスの概念である。
 ここで、クライアント装置300がASサービスを使用して撮像装置100に対しHTTPS通信の設定をした後、クライアント装置200がDMサービスを使用して撮像装置100に対してHTTPS通信の設定を開始すると以下が生じ得る。
 例えば、クライアント装置300が設定を行った後、クライアント装置200が図2AのステップS201において、GetNetworkProtocolsコマンドを実行し、撮像装置100のHTTPSの設定の有無を確認する。この場合、クライアント装置300によって既にHTTPSの設定が有効化されているので、撮像装置100は、クライアント装置200に対してHTTPS通信の設定が有効(Enable)である旨を応答する。すなわち、HTTPS通信に用いられる公開鍵、非公開鍵、及び、証明書が、撮像装置100に設定されている旨が応答される。
 しかし、クライアント装置200がステップS204で証明書を要求しても、クライアント装置300が設定した証明書がクライアント装置200に送信されない。これは、ASサービスにではASサービスのコマンドを用いて撮像装置100に設定された証明書を、DMサービスのGetCertificatesコマンドに応答して送信することが規定されていないためである。
 このように、撮像装置100に証明書が設定されているのに、証明書の要求コマンドに対して証明書が送信されない理由が分からず、クライアント装置200のユーザに混乱を生じさせてしまう場合がある。
 また、クライアント装置200がステップS212においてGetCertificatesStatusコマンドを実行しても、クライアント装置200には証明書の状態が空で通知される。これは、DMサービスにはASサービスの証明書パスや鍵ペアという概念が無く、GetCertificatesStatusで返答するものが無い状態になるためである。
 さらに、ASサービスで設定可能なCACertificate(中間証明書またはCA証明書またはクロスルート証明書)の概念もないため、DMサービスでは設定の表現ができない。
 加えて、クライアント装置200がDMサービスに基づいてHTTPS通信の設定をした場合、ASには証明書のStatusという概念はなく、DMサービスで設定した内容をASサービスで参照できない。
 そこで本実施形態にかかる撮像装置100は、ASサービスに規定のKeystoreを使い、クライアント装置200から参照される撮像装置100の設定の内容とクライアント装置300から参照される撮像装置100の設定との整合性が取れるようにする。クライアント装置200及びクライアント装置300において参照される撮像装置100の設定の整合性が取れるようにするための詳細な構成について、図3のフローチャートを用いて説明する。
 図3は、撮像装置100により実行される処理である。撮像装置100の制御部103がプロセッサ及びメモリを内蔵する形態では、図3に示した処理は、図3に示される手順を制御部103が記録部104に格納されたプログラムを展開して実行することにより実現される。あるいは、図3に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
 図3は、図2Aに示したDMサービス部112における、CreateCertificateコマンドの処理を示したフローチャートである。CreateCertificateコマンドは、クライアント装置200が撮像装置100に対して証明書の生成を指示するための命令である。
 撮像装置100は、クライアント装置200から、証明書の生成を指示するコマンドを受信する(S0301)。本実施形態では、ステップS301において、撮像装置100はクライアント装置200からCreateCertificateコマンドを受信する。
 本実施形態では、ステップS301において、クライアント装置200が撮像装置100に対して以下内容を設定する場合について説明する。
CertificateID 123456
Subject CN=sample.com
ValidNOtBefore 2015-01-01T01:00:00Z
ValidNOtAfter 2020-12-31T23:59:59Z
 DMサービス部112は、HTTPサーバ部111を介して上記のCreateCertificateコマンドを受信すると、公開鍵と非公開鍵を生成する(S302)。ASサービスのCreateRSAKeyPairコマンドによればKeyLengthを指定することでRSAの鍵長を設定できる。しかし、DMサービスのCreateCertificateコマンドにはそのような設定を行うことができないため、例えば2048ビットなど固定の鍵長で生成する。
 次にDMサービス部112は、生成した公開鍵と非公開鍵とを使用して自己署名証明書を生成する(S303)。自己署名証明書は、公開鍵が正当な鍵情報であることを証明するための証明書情報であってDMサービス部112により署名情報が付加された証明書情報である。DMサービスの仕様ではSubjectはstring型で、どのように国名(Country)や一般名(CommonName)を設定すれば良いかは定義がない。本実施形態では、一般名を設定する場合は「CN=」の後に設定するものとする。「CN=」以降の文字列である「sample.com」を自己署名証明書のSubjectとIssuerに設定し、「ValidNOtBefore」を証明書の有効期限の開始日、「ValidNOtAfter」を証明書の有効期限の終了日とする。
 次にKeystore部114のKeypair部115に設定の内容を記録する(S304)。ステップS304では、公開鍵と非公開鍵と自己書署名証明書とをKeypair部115に保存する。またステップS304において、Keypair部115に記録されていないユニークな文字列をKeyID(鍵ペア情報)として生成しKeypair部115に保存する。このKeyIDは、ステップS304において生成した公開鍵と非公開鍵の両者に関連付けられ、この公開鍵と非公開鍵とが対応することを示す。またステップS304において、Keypair部115のAliasには、DMサービスを用いたコマンドによって、鍵ペア情報が生成されたことを示す情報が記録される。Keypair部115のAliasに記録される情報は例えば、「ONVIF Device Management」等の文字列とすることができる。
 このようにして、DMサービスに概念が無い鍵ペア情報を、DMサービスが提供する証明書を生成させるための命令に応じて自動的に生成することができる。さらに、この鍵ペア情報がDMサービスのコマンドによって生成されたことが分かるように、記録部104に記録を残すことができる。
 同様に、S304において、Keypair部115のAliasには、DMサービスを用いたコマンドによって、自己署名証明書が生成されたことを示す文字列が記録される。
 次に、Keystore部114のCertificate部116に設定の内容を記録する(S305)。ステップS305では、生成した自己署名証明書をCertificate部116に保存する。またステップS305において、Certificate部116に存在しないユニークな文字列をCertificateIDとして生成しCertificate部116に記録する。またステップS305において、Certificate部116のAliasにはDMサービスを用いたコマンドによって、HTTPSに関する設定が撮像装置100に対してなされたことを示す文字列が記録される。また、ステップS305において、Certificate部116に記録された情報とKeypair部115に記録された情報とを関連付けるため、Keypair部115に記録したKeyIDをCertificate部116にも保存する。
 次に、Keystore部114のCertificationPath部117に設定の内容を記録する(S306)。CreateCertificateコマンドに応じて証明書を生成する場合、自己署名証明書を使うので、証明書の階層は1のみである。そのためステップS306において、CertificationPath部117には、CertificationPathIDとして、ステップS305で生成したCertificateIDのみを設定する。また、CertificationPath部117のAliasにはDMサービスを用いたコマンドによって証明書パス情報を生成したことを示す情報を記録部104に記録する。
 このようにして、ASサービスには概念が無い証明書パス情報を、DMサービスが提供する証明書を生成させるための命令に応じて自動的に生成することができる。さらに、証明書パス情報がDMサービスの命令によって生成されたことが分かるように、記録部104に記録を残すことができる。
 最後に、CreateCertitificateの返答のCertificateIDとCertificateに、ステップS305で生成したCertificateIDと自己署名証明書をそれぞれ代入する。そして、クライアント装置200へ送信する(S307)。
 このようにして、クライアント装置300は、クライアント装置200が撮像装置100に対して設定した公開鍵と非公開鍵とをKeypairとして参照できる。本実施形態では、Keypairを参照するためにクライアント装置300はGetAllKeysコマンドを撮像装置100に送信する。Keypair部115のAliasには、DMサービスを用いたコマンドによって公開鍵及び非公開鍵が既に設定されていることを示す文字列が記述されている。このAliasの内容は、GetAllKeysコマンドに対する応答として、撮像装置100からクライアント装置300に送信される。したがって、クライアント装置300のユーザは、DMサービスを用いるクライアント装置200によって公開鍵及び非公開鍵が撮像装置100に設定されていることを知ることができる。
 また、Certificate部116のAliasには、DMサービスを用いたコマンドによって証明書及び証明書パスが設定されていることを示す文字列が記述されている。このAliasの内容は、撮像装置100からクライアント装置300に送信される。
 したがって、クライアント装置300のユーザは、DMサービスを用いるクライアント装置200によって証明書及び証明書パスが設定されていることを知ることができる。クライアント装置300はAddServerCertificateAssignmentコマンドによりCertificationPathIDを指定して、クライアント装置200が生成した自己署名証明書をHTTPS通信で使うよう設定できる。
 次に、図2AのステップS211の処理によって非公開鍵、及び、証明書をクライアント装置200から撮像装置100へロードした場合の撮像装置100における処理について、図4を用いて説明する。図4に示した処理は、撮像装置100により実行される処理である。撮像装置100の制御部103がプロセッサ及びメモリを内蔵する形態では、図4に示した処理は、図4に示される手順を制御部103が記録部104に格納されたプログラムを展開して実行することにより実現される。あるいは、図4に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
 撮像装置100は、クライアント装置200から、証明書をロードするためのコマンド(LoadCertificates)を受信する(S401)。LoadCertificatesコマンドには以下の内容が含まれる。
CertificateID:GetPkcs10RequestでCSR(Certificate Signing Request:証明書署名要求)を生成した時に指定したCertificateID
証明書:認証局(Certification Authority: CA)が署名(Sign)した証明書
 DMサービス部112がLoadCertificatesコマンドを受信すると、Keystore部114からKeypair部115に格納された情報(Keypair情報)を取得する(S402)。次にCertificate部116から公開鍵を取得する(S403)。
 CreateCertificateコマンドに応答して撮像装置100が生成した自己署名証明書について、公開鍵と非公開鍵は、Keystore部114のKeypair部115に記録されている。その自己証明書のCertificateIDを元に生成したCSR(Certificate Signing Request:証明書署名要求)に署名した証明書も同様に関連した鍵ペアがある。撮像装置100は、Keypair部115に記録されている公開鍵と、ステップS403において取得した公開鍵とが一致するか判定する(S404)。
 Keystore部114のKeypair部115にCertificate部116の公開鍵に一致するものが無い場合(S404においてNOの場合)、証明書として使えないため、エラー処理する(S410)。
 一方、Keystore部114のKeypair部115にCertificate部116の公開鍵に一致するものがある場合(S404においてYESの場合)、指定されたCertificateIDを含んだ証明書パスを削除する(S405)。このようにして、自己署名証明書のために設定された証明書パスを削除することができる。
 次に、Keystore部114のCertificate部116が記録する情報が示すCertificateIDを有する証明書を削除する(S406)。次に、クライアント装置200からロードされた証明書を含んだ証明書パスを設定する。ロードされた証明書に加え、DMサービスを用いたコマンドによって設定されたことを示すAliasをKeystore部114のCertificationPath部117に保存する(S407)。次に、CertificateIDを設定した証明書パスを生成する。そして、ユニークなCertificationPathIDと、DMサービスによって設定がなされたことを示すAliasをKeystore部114のCertificationPath部117に保存する。
 LoadCertificatesコマンドは複数の証明書のロードを指定できるので、さらに他にロードすべき証明書があるか否かを判定する(S409)。さらにロードすべき証明書がある場合(409でYESの場合)、ステップS403に戻る。全ての証明書の処理が終われば(409でNOの場合)、LoadCertificatesコマンドに対する返答をクライアント装置200に送信する(S411)。
 この時点で、クライアント装置200がロードした証明書は、以下の手順によりクライアント装置300が撮像装置100に対して暗号化通信を行う時に用いる証明書として設定を行うことができるようになる。すなわち、クライアント装置300がAddServerCertificateAssignmentコマンドによりCertificationPathIDを指定すればHTTPS通信(例えば、SSL)で使うよう設定できる。
 DMサービス部112においてLoadCACertificatesコマンドを処理する場合、CACertificateの非公開鍵はKeystore部114のKeypair部115に無い。そこで、Keystore部114から鍵ペアを取得する。そして、ロードされた証明書の公開鍵と、Keypair部115に保存された非公開鍵の組み合わせが一致するものをエラーとすることができる。一致するものが無ければ、Certificate部116から取得した公開鍵とユニークなKeyIDをKeystore部114のKeypair部115に保存し、そのAliasにはDMサービスのコマンドに応じて設定したことを示す情報を設定する。さらに、証明書とユニークなCertificateIDをKeystore部114のCertificate部116に保存し、さらにそのAliasにはDMサービスのコマンドに応じて設定したことを示す情報を設定する。
 次に、撮像装置100がクライアント装置200からGetCertificatesを受信した場合の処理について、図5を用いて説明する。図5の処理は、図2BのDMサービス部112において実現される。
 クライアント装置200からGetCertificatesを受信すると(S501)、DMサービス部112はKeystore部114から鍵ペアと証明書を取得する(S502)。
 次に、取得した証明書に関連付けられたKeypair部115を参照し、Keypair部115に非公開鍵があるか判定する(S503)。非公開鍵がある場合(S503でYESの場合)、返答のNVTCertificateに証明書を追加する(S504)。
 Keypair部115に非公開鍵が無ければ(S503でNO)、返答に含めない。これは非公開鍵が無い場合はCACertificateと判断できるからである。
 ステップS502において複数の証明書が取得できた場合はそれぞれの証明書を返答に含めるかの判定を行う(S505)。次の証明書がある場合には、ステップS503以降の処理を繰り返す。全てのCertificateの判定が終われば(S505でNOの場合)、クライアント装置200に返答を送信する(S506)。
 DMサービス部112においてGetCACertificatesコマンドを処理する場合、CACertificateは非公開鍵を持っていないはずなので、図5のステップS503でNOと判定した証明書をレスポンスに返せばよい。
 図6はDMサービス部112における、証明書の削除の処理を示したフローチャートである。DMサービスのセキュリティ関係のコマンドは証明書パス(CertificationPath)や鍵ペア(Keypair)の概念がない。本実施形態では、DMサービスに基づくDeleteCertificatesコマンドで証明書を削除する場合に、一緒にAMサービスに基づく証明書パスと鍵ペアも削除する。
 DeleteCertificatesコマンドは、DMサービスに基づいて行われる命令であって、記録部104に記録された証明書情報を削除することを要求する命令である。本実施形態では証明書の削除処理について説明するが、証明書を無効にすればよく、古い証明書を新たな証明書で上書きすることにより、古い証明書を無効にすることとしてもよい。
 DMサービス部112がDeleteCertificatesコマンドを受信すると(S601)、Keystore部114から鍵ペアと証明書と証明書パスを取得する(S602)。
 次に、DeleteCertificatesコマンドで指定されたCertificateIDが含まれた証明書パスが有るかを判定する(S603)。無い場合は(S603でNOの場合)、CertificateIDで指定された証明書について証明書パスを削除する必要がない。Keystore部114のCertificate部116に同じCertificateIDの証明書が有るかを判定する(S604)。無い場合は指定された証明書が無いため、ASサービス部113はクライアント装置200への返答としてエラーを送信する(S611)。有る場合は指定されたCertificateIDのCertificateを削除する(S607)。
 ステップS603で指定されたCertificateIDが含まれた証明書パスが有ると判定した場合(S603でYES)、その証明書パスがSSLなどに使用されているかを判定する。使用している場合(S605でYES)は証明書を削除できないため、ASサービス部113はクライアント装置200への返答としてエラーを送信する(S611)。
 証明書パスが使用されていない場合(S605でNO)、証明書パスを削除し(S606)、CertificateIDで指定された証明書を削除する(S607)。次に証明書に関連付けられた鍵ペアを削除する。DMサービスのセキュリティ関連コマンドには鍵ペアを削除するものは無いため、DeleteCertificatesコマンドで削除する必要がある。
 しかし鍵ペアは他の証明書に関連付けられているかもしれないので、ステップS610で判定する。他の証明書に鍵ペアが関連付けられていなければ(S608でYES)、削除の対象となる証明書に関連付けられた鍵ペアを削除する(S609)。他の証明書に鍵ペアが関連付けられていれば(S608でNO)は削除しない。DeleteCertificatesコマンドは複数のCertificateIDを指定できるため、次のCertificateIDがあれば(S610でYES)、そのCertificateIDの削除処理をする(S603に戻る)。全てのCertificateIDを処理し終えると(S610でNO)、DMサービス部112はクライアント装置200への返答に成功を送信する。
 このようにして、DMサービス部112は、DeleteCertificatesコマンド(第1の命令)によって指定された証明書情報に対応する鍵ペア情報を記録部104から削除する。またDMサービス部112は、DeleteCertificatesコマンドによって指定された証明書に対応する証明書パス情報を記録部104から削除する。上述のように、証明書を無効にすればよく、証明書を上書きしたり、証明書に無効の情報を付加したりすることにより証明書を無効としてもよい。
 つぎに、証明書のステータスを設定する処理について説明する。SetCertificatesStatusコマンドはDMサービスに基づいて行う命令であって、証明書をSSLなどのHTTPS通信を行うために用いる証明書を指定する命令である。以下の実施形態ではSSLを用いた暗号化通信を行う例について説明する。本実施形態では、証明書の状態情報(Status)を有効(enable)にすることにより、その証明書をSSLに用いることを設定でき、Statusを無効(disable)にすることによりその証明書はSSLに用いないことを設定することができる。
 しかしDMサービスにおいて、Statusを変更できる証明書は1つのみで、DMサービスにはASサービスの証明書パスの概念がないため、多段の証明書を指定できない。そこで、本実施形態では、SetCertificatesStatusコマンドでCertificateIDを指定された場合は以下の2つの処理を行うことができる。
 第1にSetCertificatesStatusコマンドによって指定された証明書の識別情報が、証明書パスが示す証明書の順序における先頭の証明書の識別情報と一致する場合、その証明書パスをSSLの設定に使用する。証明書の識別情報は、ONVIFにおいてCertificateIDとして表現される。
 第2にSetCertificatesStatusコマンドによって指定された証明書の識別情報と一致する証明書の識別情報を証明書の順序における先頭とする証明書パスが記録部104に記録されていない場合の処理である。この場合、SetCertificatesStatusコマンドによって指定されたCertificateIDの証明書を使用した1段の証明書パスを生成し、SSLに用いる証明書パスとして記録部104に記録させて設定する。以降でそれぞれの実施方法について詳細を説明する。
 次にDMサービス部112における、SetCertificatesStatusコマンドの実行処理について図7を用いて説明する。図7に示した処理では、証明書パスの先頭のCertificateIDに一致したものがあればその証明書パスをSSLの設定に使用する処理を示したフローチャートである。DMサービス部112がSetCertificatesStatusを受信すると(S701)、Keystore部114から鍵ペアと証明書と証明書パスを取得する(S702)。次に、CertificatePath部117から、最初のCertificateIDが指定されたCertificateIDと一致するものを検索する(S703)。一致するものが無ければ(S703でNO)、DMサービス部112はクライアント装置200へエラーを送信する(S704)。一致するものがあれば(S703でYES)、StatusがTrueの場合はその証明書パスをSSLに使用するように設定し、Falseの場合はSSLに使用しないように設定する(S705)。SetCertificatesStatusコマンドは複数のCertificateIDを指定することができるため、次のCertificateIDがあれば(S706でYES)、ステップS703に戻り処理を繰り返す。全てのCertificateIDの処理が終われば(S706でNO)、DMサービス部112はクライアント装置200への返答で成功を送信する。
 このようにして、予めクライアント装置300が複数のCertificateIDを含んだ証明書パスを設定していた場合、クライアント装置200でも複数のCertificateIDを含んだ証明書パスをSSLとして設定できる。
 次に、撮像装置100がクライアント装置200からGetCertificatesStatusコマンドを受信した場合の、DMサービス部112における処理について図8を用いて説明する。GetCertificatesStatusコマンドは、DMサービスに基づいて行う命令である。GetCertificatesStatusコマンドは、記録部104が記録している証明書の状態(例えば、暗号化した通信に用いることが設定された証明書であるか否か)を示す情報の送信を要求するための命令である。
 図8の例はSetCertificatesStatusコマンドによって指定されたCertificateIDに対応する証明書を先頭とする証明書パスが、SSLの設定に使用する証明書パスとして記録部104に記録されている場合について説明する。
 DMサービスによって提供されるGetCertificatesStatusコマンドは証明書単体についてそのStatusを返すため、ASサービスの証明書パスを表わすことができない。ASサービスに基づく証明書パス情報には複数の証明書の識別情報(CertificateID)が示される。そこで、DMサービスによるGetCertificatesStatusコマンドを受信した場合に、それら複数の証明書のうち何れの証明書についてのStatusを応答すべきかが問題となる。そこで本実施例では、証明書パスが示す複数の証明書のうち、暗号化された通信を行うために撮像装置100が参照する順序において先頭であることを示す証明書についての情報(例えば、Status情報)を応答として送信する。
 DMサービス部112がGetCertificatesStatusコマンドを受信すると(S801)、Keystore部114から証明書と証明書パスを取得する(S802)。Keystore部114の証明書のCertificateIDの中で、証明書パスの先頭のCertificateIDが一致するものが無ければ(S803でNO)、SSLの設定には使えない。そこで、GetCertificatesStatusコマンドの返答に含めずステップS807へ進む。有る場合はその証明書パスがSSLに使われているかどうかを判定する(S804)。使われている場合は(S804でYES)返答にそのCertificateIDと、StatusにTrueを設定したものを追加する。使われていない場合は(S804でNO)返答にそのCertificateIDと、StatusにFalseを設定したものを追加する。そして、その他に証明書があればその返答処理のためステップS803に戻る(S807でYES)。全ての証明書の処理が終わると(S807でNO)、ASサービス部113はクライアント装置200に対して返答を送信する(S808)。
 図9はDMサービス部112における、SetCertificatesStatusコマンドの処理を示したフローチャートである。図9に示した処理では、証明書パスの先頭のCertificateIDに一致したものがあればその証明書パスをSSLの設定に使用する。一方、証明書パスの設定が無い場合は指定されたCertificateIDの証明書を使用した1段の証明書パスを生成し、それをSSLの設定に使用する。
 DMサービス部112がSetCertificatesStatusコマンドを受信すると(S901)、Keystore部114から鍵ペアと証明書と証明書パスを取得する(S902)。
 次に、指定されたCertificateIDが、証明書パスの先頭のCertificateIDに一致するものが有るかを判定する(S903)。有る場合は(S903でYES)、指定されたStatusの値に応じてTrueなら証明書パスをSSLに使うように設定し、FalseならSSLに使わないように設定する。
 ステップS903で指定されたCertificateIDと一致した証明書パスが無いと判定された場合(S903でNO)、Keystore部114の証明書に指定されたCertificateIDの証明書があるかを判定する(S904)。無い場合は返答にエラーを送信する(S905)。
 一致するものがある場合、そのCertificateIDで1段の証明書パスを生成し(S906)、指定されたStatusを反映する(S907)。SetCertificatesStatusコマンドは複数のCertificateIDを指定できるため、次のCertificateIDがあれば(S908でYES)ステップS903に戻り、次のCertificateIDの処理を続ける。全てのCertificateIDの処理が終われば(S908でNO)、DMサービス部112はクライアント装置200に対する返答として成功を送信する。
 本実施形態に係るDMサービス部112は、SetCertificatesStatusコマンドによって、証明書パスの先頭にないCertificateIDを指定されても証明書パスを生成するために、以下の処理を行う。すなわち、GetCertificatesStatusコマンドに対して、証明書パスの先頭に無いCertificateIDも返答する。
 次に、DMサービス部112における、GetCertificatesStatusコマンドに対する処理について図10を用いて説明する。図10の例では、図9に示した処理に応じて、証明書及び証明書パスが設定されている場合について説明する。
 DMサービス部112がGetCertificatesStatusコマンドを受信すると(S1001)、Keystore部114から証明書パスと証明書と鍵ペアを取得する(S1001)。次に、GetCertificatesStatus コマンドによって指定されたCertificateIDが証明書パスが示す順序の先頭のCertificateIDと一致する証明書を検索する。一致する証明書が有る場合は(S1003でYESの場合)、その証明書パスがSSLに使われているかどうかを判定する(S1004)。
 使われている場合(1004でYESの場合)はそのCertificateIDを返答に追加し、そのStatusはTrueに設定する(S1005)。使われていない場合(S1004でNO)は、CertificateIDを返答に追加し、そのStatusはFalseに設定する(S1007)。
 このようにして、DMサービス部112は、記録部104に記録された証明書情報が暗号化された通信を行うために用いる証明書情報として設定されているかを示す情報の取得を要求する第3の命令を処理する。そして、第3の命令に応じて、証明書パス情報が前記順序の先頭であることを示す第4の証明書情報が、暗号化された通信を行うために用いる証明書情報として設定されていることを示す情報(例えば、StatusがTrue)を記録部104に記録させる。またDMサービス部112は、第4の証明書情報と異なる第5の証明書情報が、暗号化された通信を行うために用いることが設定されていないことを示す情報(例えば、StatusがFalse)を記録部104に記録させる。
 次に、CertificatePath部117にはCertificateIDが含まれない場合(S1003でNO)、自己署名証明書として使用可能な証明書の返答を生成する。自己署名証明書として使用可能な証明書は、その証明書に関連付けられる鍵ペアに非公開鍵が設定されたものである。Keypair部115に非公開鍵が有る場合(S1006でYES)、その証明書のCertificateIDを返答に追加し、そのStatusはFalseに設定する。Keypair部115に非公開鍵が無い場合は(S1006でNO)、そのCertificateIDを返答に含めない。
 このようにして、DMサービス部112がGetCertificatesStatus(第3の命令)を実行した場合、証明書パスが示す複数の証明書のうち、鍵ペア情報に関連付けられていない証明書情報を送信しないようにすることができる。
 SetCertificatesStatusコマンドは複数のCertificateIDを指定できるため、次のCertificateIDがあれば(S1008でYES)ステップS1003に戻り、次のCertificateIDの処理を続ける。全てのCertificateIDの処理が終われば(S1008でNO)、DMサービス部112はクライアント装置200に返答を送信する。
 LoadCertificatesWithPrivatekeyコマンドは、証明書と非公開鍵とそれに付随する公開鍵を撮像装置100にロードするコマンドである。このコマンドをDMサービス部112が受信すると、証明書と非公開鍵からそれぞれ公開鍵を取得し、一致しなければエラー処理とする。一致した場合、非公開鍵と公開鍵とユニークなKeyIDをKeystore部114に保存し、そのAliasはDMサービスのコマンドで設定されたことを示す情報を設定する。さらに、証明書とCertificateIDをKeystore部114のCertificate部116に保存し、そのAliasにはDMサービスのコマンドで設定されたことを示す情報を記述する。
 このように、DMサービス部112でセキュリティ関係のコマンドを処理する場合、DMのセキュリティ関連コマンドでは、鍵ペアや証明書パスの設定を行うことができない。そこで本実施形態では、Keystore部114に鍵ペアと証明書と証明書パスに相当する設定を記録する。このようにしてDMのセキュリティ関連コマンドを用いるクライアント装置200とASサービスのコマンドで設定を行うクライアント装置300との間で設定状況を共有できる。
 また、Keystore部114に鍵ペアと証明書と証明書パスを保存する際に、それぞれのAliasにDMサービスに基づいて設定したことを示す情報を記録する。そして通信部105はDMサービスに基づいて行う命令に応じて撮像装置100に対して設定がなされたことを示す情報を、ASサービスに基づいて行う命令(設定を参照するための命令)に応じて送信することができる。このようにして、クライアント装置200で設定したセキュリティ関係の設定であっても、クライアント装置300で知ることができる。
 以上、本発明の第1の実施形態について説明したが、本発明この実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。通信部105はASサービスに基づいて行う命令に応じて撮像装置100に対して設定がなされたことを示す情報を記録し、その情報をDMサービスに基づいて行う命令(設定を参照するための命令)に応じて送信してもよい。このようにして、クライアント装置300で設定したセキュリティ関係の設定であっても、クライアント装置200で知ることができる。
 (実施形態2)
 以下、図11から15を参照して、本発明の第2の実施形態による、セキュリティ機能の設定機能を備えた撮像装置について説明する。
 本実施形態にかかる撮像装置100は、ONVIFの通信手順以外の手段でも撮像装置100に対する設定を可能とする。本実施形態において、情報処理装置としての撮像装置100は、クライアント装置1100が撮像装置100を設定するためのWEBページを起動する。ユーザはクライアント装置1100においてWEBブラウザを通してカメラにアクセスし、設定を変更することができる。
 また、例えばSSLの設定であると、撮像装置100はSSLの設定用のWEBページを用意しておき、そこで証明書の設定やSSLサービスの開始・終了の制御を行う。以降、設定用のWEBページを設定ページと呼ぶ。
 本実施形態では、設定ページで設定したセキュリティ関係の機能は、ONVIFのDMサービスのセキュリティに関するコマンドや、ASサービスのセキュリティコマンドでも参照できるようにする撮像装置100について説明する。すなわち、設定ページを用いてクライアント装置1100が撮像装置100に対して行った設定の内容を、実施形態1のクライアント装置200や300においても確認できるようにする。
 ONVIFでは非公開鍵や公開鍵、証明書を設定するコマンド群と、それをSSLやIEEE802.1Xに使うように設定するコマンド群、さらにサービスの開始・終了を設定するコマンドが規定されている。
 例えば、証明書を生成またはロードするとCertificateIDが得られるが、その時点でその証明書の用途は決定されない。証明書の用途を決定するのは、SSLに使用する場合、DMサービスにおいて用いられるセキュリティ関係コマンドであればSetCertificatesStatusコマンドである。また、ASサービスにおいて用いられるコマンドであればAdd/ReplaceServerCertificateAssignmentコマンドである。
 ONVIFのセキュリティの設定関係のコマンドに合わせた設定ページを用意する場合、証明書の設定と、その証明書をSSLなどのサービスに適用するページを分けることが想定される。この場合、証明書の設定をし、別のページでその証明書を指定することになる。しかし、SSLの設定ページで証明書の設定とサービスの開始及び停止を完了することにより、ユーザが操作しやすい設定ページとすることができる。
 また、Keystore部114では複数の証明書を設定できるのが一般的であるが、SSLの設定ページの場合は通常はSSLサーバ用の証明書を1つ、もしくはそれに加えて中間層の証明書を1組設定できれば十分である。
 本実施形態では、設定ページを用いた設定を可能とする撮像装置100にSSL設定をする例について説明する。特に、Keystore部114のAliasを使い、設定ページと、DMサービスのセキュリティ関係コマンドと、ASサービスのコマンドの設定を相互に反映する方法について説明する。
 本実施形態に係る撮像装置100の制御部103は、DMサービス部112、ASサービス部113の機能に加え、後述の設定ページ制御部118の機能を実行する。例えば第1の処理部106が設定ページ制御部118の機能を実行することができる。その他の構成については図2Aを用いて説明した内容と同様であるため説明を省略する。図11は撮像装置100と撮像装置100に対して設定ページを用いてセキュリティの設定を行うクライアント装置1100を示した図である。
 また、本実施形態にかかる撮像装置100の機能構成について図11を用いて説明する。本実施形態にかかる撮像装置100は、実施形態1と同様にHTTPサーバ部111、DMサービス部112、ASサービス部113、Keystore部114を有する。本実施形態2にかかる撮像装置100は、設定ページ制御部118からKeystore部114を操作可能とする点で、実施形態1に示した構成と異なる。
 設定ページ部118は、設定ページを用いるクライアント装置1100(第1の受信装置)が撮像装置100に対してHTTP(第1の通信手順)に基づいて行う命令を実行する。HTTPに基づいて行う命令には、暗号化された通信を行うために用いる公開鍵(第1の公開鍵情報)と暗号化された通信を行うために用いる非公開鍵(第1の非公開鍵情報)とが対応することを示す第1の鍵ペア情報を記録部104に記録させる命令が含まれる。またHTTPに基づいて行う命令には、公開鍵と非公開鍵との対応関係を示す鍵ペア情報(第1の鍵ペア情報)を通信部105から送信させる命令が含まれる。またHTTPに基づいて行う命令には、記録部104に記録された鍵ペア情報を無効にする(例えば、削除する)命令が含まれる。さらにHTTPに基づいて行う命令には、公開鍵情報が正当な鍵情報であることを証明するための証明書情報であって設定ページ制御部118により署名情報が付加された自己署名証明書を生成させる命令が含まれる。設定ページ制御部118はこれらの全ての命令を必ずしも実行しなくてもよく、少なくともいずれか一つの命令を実行すればよい。
 本実施形態にかかる撮像装置100は、クライアント装置1100からSSLの設定ページの要求があると、図12に示すような設定ページを返答する。
 ラジオボタン(1201、1202、1203)はそれぞれ、SSLを無効の状態にするか、自己署名証明書を使用するか、CAが署名した証明書を使用するかを選択するための表示である。
 サブジェクト1204は自己署名証明書に使うサブジェクトを設定するための入力欄である。入力した内容は自己署名書のSubjectとIssuerに設定される。例えばサブジェクト1204に「CN=example.com」と設定すると、CommonNameに「example.com」が設定される。
 また、入力欄1205と入力欄1206は、自己署名証明書の有効期間の開始日と終了日を設定するための入力欄である。サブジェクト1204と入力欄1205と入力欄1206を設定した後、生成ボタン1207を押すと、自己署名証明書が生成される。表示ボタン1208は生成した自己署名証明書を別ウィンドウにポップアップして表示させるためのボタンである。削除ボタン1209は自己署名証明書を削除するためのボタンである。
 サブジェクト1210は証明書署名要求のサブジェクトを設定するもので、設定方法はサブジェクト1204と同様である。生成ボタン1211はサブジェクト1210に設定されたサブジェクトに従い証明書署名要求を生成し、表示ボタン1212は証明書署名要求を別ウィンドウにポップアップして表示する。
 インストールボタン1213は、証明書署名要求を元にCAが署名した証明書をインストールすることを指示するボタンである。クライアント装置1100を実行している機器のファイルシステムを参照して証明書ファイルを選択する。表示ボタン1214は別ウィンドウに証明書を表示させることを指示するためのボタンである。削除ボタン1215は証明書を削除することを指示するためのボタンである。
 インストールボタン1216は、CAが提供するCA証明書(中間層の証明書またはクロスルート証明書)をインストールすることを指示するためのボタンである。インストールボタン1216を選択すると、クライアント装置1100を実行している機器のファイルシステムを参照して証明書ファイルを選択する。表示ボタン1217は別ウィンドウに証明書を表示させるためのボタンである。削除ボタン1218は証明書を削除するためのボタンである。適用ボタン1219は設定を反映するためのボタンである。キャンセルボタン1220は設定をキャンセルするためのボタンである。
 ラジオボタン1202を選択し、サブジェクト1204と入力欄1205と入力欄1206を設定し、生成ボタン1207を押した場合の処理について、図13を用いて説明する。このように設定することにより、撮像装置100において、自己署名証明書を生成し、それをSSLに使うように設定される。撮像装置100は、設定の内容をKeystore部114に反映する。
 撮像装置100は、最初に公開鍵と非公開鍵を生成する(S1302)。暗号・署名のアルゴリズムや鍵長を設定できるようにしても良いが、ここではsha-2WithRSAEncryption、2048ビットを固定の設定とする。公開鍵、非公開鍵、及び、自己署名証明書の作成は、制御部103が行うこととすることができる。図11の機能構成図ではHTTPサーバ部111において生成することができる。
 次に自己署名証明書を、設定された値に応じて生成する(S1302)。次に、DMのセキュリティ関係コマンドとASのコマンドで、設定ページで設定した証明書等が参照できるように、Keystore部114に保存する。
 まず、公開鍵と非公開鍵に加えてユニークなKeyIDを生成し、Keystore部114のKeypairに保存する。さらに、そのAliasには設定ページの自己署名証明書で設定されたことを意味する情報を記録させる(S1303)。そして、自己署名証明書に加えてユニークなCertificateIDを生成してKeystore部114のCertificate部116に保存する。そしてそのAliasには設定ページの自己署名証明書で設定されたことを意味する情報を設定する(S1304)。
 次に、CertificateIDが1つだけ含まれた証明書パスとユニークなCertificationPathIDを生成し、Keystore部114のCertificationPath部117に保存する。そして、そのAliasには設定ページの自己署名証明書で設定されたことを意味する情報を設定する(S1303)。さらに、SSLの設定ページで生成した自己署名証明書なのでSSLに使われることが決まっているため、生成した証明書パスをSSLに使うように設定する(S1306)。
 この時点で、クライアント装置300はGetAllKeysコマンドを用いて設定ページで生成した自己署名証明書の非公開鍵と公開鍵を参照できる。また、GetAllCertificatesコマンドを用いて自己署名証明書を参照できる。さらにGetCertificationPathコマンドを用いて自己署名証明書が1段で設定されていることが分かる。また、GetAssignedServerCertificatesコマンドを用いて証明書パスがSSLに使用されることが分かる。さらに、各Aliasには設定ページの自己署名証明書で生成したことを意味する情報が設定されているため、クライアント装置300で設定を参照または上書きなどする際には参考となる。
 クライアント装置1100において、ユーザが表示ボタン1208を押した場合の処理について説明する。Keystore部114のCertificate部116にはAliasに設定ページの自己署名証明書で設定されたことを意味する情報が設定されている。そこで、証明書の一覧を取得し、Aliasが一致する証明書を検索し、それをクライアント装置1100において表示させる。
 表示ボタン1208の操作に応じて、SSLの設定ページから自己署名証明書の設定がされていない場合、以下のようにすることができる。すなわち、CertificationPath部117に自己署名証明書を使うものが設定されていれば、クライアント装置200や300で設定した自己署名証明書を表示しても良い。その場合、CertificationPath部117でSSLに使われているものを検索する。存在すればCertificationPath部117に設定されているCertificateIDから証明書を参照し、それが自己署名証明書であればクライアント装置1100に表示させる。
 次に、ユーザが削除ボタン1209を押した場合の処理について説明する。Keystore部114のKeypair部115とCertificate部116とCertificationPath部117にはAliasに設定ページの自己署名証明書で設定されたことを意味する情報が設定されている。削除ボタン1209の選択に応じて、それらを削除する。まずは証明書パスをSSLに使用しないように設定する。そしてAliasに一致する証明書パスを削除し、同じく証明書と鍵ペアの順に削除する。
 削除ボタン1209は、SSLの設定ページから自己署名証明書の設定がされていなくても、CertificationPath部117で自己署名証明書を使うものが設定されていればよい。例えば、クライアント装置200や300で設定した自己署名証明書を削除しても良い。その場合、CertificationPath部117でSSLに使われているものを検索し、存在すればCertificationPath部117に設定されているCertificateIDから証明書を参照する。証明書が自己署名証明書であれば、証明書パスをSSLに使わないように設定し、証明書パス、証明書、鍵ペアの順に削除する。
 次にCAが署名した証明書を使用する場合の処理について説明する。サブジェクト1210にサブジェクトが設定され、生成ボタン1211が押された場合、最初に公開鍵と非公開鍵を生成する。そして、公開鍵と非公開鍵とユニークなKeyIDをKeystore部114のKeypair部115に保存し、そのAliasにはCAが署名した証明書を使用する設定を意味する情報を設定する。さらにサブジェクト1210に設定された値を用いて証明書署名要求を生成する。
表示ボタン1212が押された場合、生成ボタン1211で生成した証明書署名要求をクライアント装置1100に別ウィンドウを生成して表示する。
 図14は、CAが署名した証明書を使用する場合において、インストールボタン1213とインストールボタン1216で証明書とCA証明書が設定された時の処理のフローチャートである。ここでは、インストールされた証明書が証明書署名要求を元に生成されたものか、またASのCertificationPathを正しく設定するために、証明書のIssuerとCA証明書のCommonNameの確認を行う。
 まずKeystore部114のKeypair部115の中から、CAが署名した証明書を使用することを意味するAliasの鍵ペアを取得する(S1401)。次にインストールボタン1213でインストールされた証明書から公開鍵を取得する(S1402)。取得したKeypairのPublickeyと証明書の公開鍵を比較し、一致していなければ(S1403でNO)、公開鍵と非公開鍵の組み合わせが合わないためエラー処理を行う(S1412)。一致していれば(S1403でYES)、証明書のパスを確認するために証明書からIssuerを取得し(S1404)、CA証明書からはSubjectを取得する(S1405)。
 そして取得したIssuerとSubjectを比較し、一致していなければ(S1406でNO)証明書のパスが合わないため、エラー処理を行う(S1402)。一致する場合(S1406でYES)はステップS1407へ進む。本実施形態ではCA証明書は1つの前提で扱っているが、複数ある場合には同様に証明書のパスを確認する必要がある。
 次に、インストールボタン1213で設定した証明書をKeystore部114のCertificateに設定する。証明書とユニークなCertificateIDとステップS1401で取得したKeypairのKeyIDをKeystore部114のCertificateに保存する。そして、そのAliasにはCA証明書が署名した証明書を使用することを意味する情報を設定する(S1407)。
 次に、インストールボタン1216で設定されたCA証明書をKeystore部114のKeypair部115とCertificate部116に設定する。CA証明書の公開鍵とユニークなKeyIDをKeystore部114のKeypair部115に保存し、そのAliasにはCA証明書が署名した証明書を使用することを意味する情報を設定する(S1408)。さらに、CA証明書とユニークなCertificateIDとステップS1408で設定したKeyIDを関連付けてKeystore部114のCertificateに保存する。そして、そのAliasにはCA証明書が署名した証明書を使用することを意味する情報を設定する(S1409)。
 次に、ステップS1407で設定した証明書のCertificateIDを先頭とし、次にCA証明書のCertificateIDを設定した証明書パスをKeystore部114のCertificationPath部117に保存する。そしてそのAliasにはCA証明書が署名した証明書を使用することを意味する情報を設定する(S1410)。最後に、生成したCertificationPathをSSLで使用するように設定する(S1411)。
 表示ボタン1214が押された場合、Keystore部114のCertificate部116に記録された情報の一覧を取得し、AliasがCA証明書が署名した証明書を使用することを意味する情報のものを検索する。次に、各Certificateに関連付けられているKeyIDにPrivatekeyが存在するかを調べ、存在すれば表示する。
 表示ボタン1217が押された場合、Keystore部114のCertificateの一覧を取得し、AliasがCA証明書が署名した証明書を使用することを意味する情報のものを検索する。次に、各Certificateに関連付けられているKeyIDにPrivatekeyが存在するかを調べ、存在しなければ表示する。
 削除ボタン1215が押された場合、Keystore部114からAliasがCA証明書が署名した証明書を使用することを意味する情報をもった証明書パスを検索する。存在すればSSLに使用しないように設定し、さらに証明書パスを削除する。次に、AliasがCA証明書が署名した証明書を使用することを意味する情報のものを検索し、証明書に関連付けられているKeyIDに非公開鍵があれば削除する。
 削除ボタン1218が押された場合、AliasにCA証明書が署名した証明書を使用することを意味する情報が記録されている証明書パスをKeystore部114において検索する。存在すればSSLに使用しないように設定し、さらに証明書パス削除する。次に、AliasがCA証明書が署名した証明書を使用することを意味する情報のものを検索し、証明書に関連付けられているKeyIDに非公開鍵が無ければ削除する。
 適用ボタン1219はラジオボタン(1201、1202、1203)選択肢に従い、SSLサービスを開始または停止する処理を行う。また、キャンセルボタン1220が押された場合は設定途中のサブジェクトや証明書の設定をキャンセルする。
 ここではCAが署名した証明書を使用する設定の場合、証明書とCA証明書は同じAliasを設定したが、異なるものを用いても良い。証明書やCA証明書の削除、それに伴う証明書パスと証明書と鍵ペアの削除にはAliasを用いて検索しても良い。
 このように、設定ページからSSLの設定がされた場合でもKeystore部114に鍵ペアと証明書と証明書パスを設定することで、ASサービスのコマンドでも設定を参照できるようになる。また、実施形態1で示したDMサービスのセキュリティ関連のコマンドの処理を行うことで、DMのセキュリティ関連のコマンドでも設定ページで設定したSSLの設定を参照できるようになる。
 このようにして、通信部105は、設定ページを用いたHTTPに基づいて行う命令に応じて撮像装置100に対して設定がなされたことを示す情報を、ASサービスに基づいて行う命令(設定を参照するための命令)に応じて送信することができる。また、通信部105は、設定ページを用いたHTTPに基づいて行う命令に応じて撮像装置100に対して設定がなされたことを示す情報を、DMサービスに基づいて行う命令(設定を参照するための命令)に応じて送信することができる。
 本実施形態ではSSLの設定に関して記載したが、その他の証明書を扱う機能においてもAliasを設定することで設定を反映することができる。
 以上、本発明の第2の実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
 (その他の実施形態)
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
 100 撮像装置
 103 制御部
 104 記録部
 105 通信部
 106 第1処理部
 107 第2処理部
 200 第1のライアント装置
 300 第2のクライアント装置

Claims (19)

  1.  情報処理装置であって、
     第1の通信手順に基づいて行う命令に応じて、暗号化された通信を行うための設定を前記情報処理装置に対して行う第1の処理手段と、
     第2の通信手順に基づいて行う命令に応じて、暗号化された通信を行うための設定を前記情報処理装置に対して行う第2の処理手段と、
     前記情報処理装置に対して暗号化された通信を行うための設定を前記第1の通信手順に基づいて行う命令に応じて前記第1の処理手段が行った後に受信装置から前記第2の通信手順に基づいて行う命令を受信した場合、暗号化された通信を行うための設定が前記第1の通信手順に基づいて行う命令に応じて行われたことを示す情報を前記受信装置に送信する送信手段と
     を有することを特徴とする情報処理装置。
  2.  前記第1の通信手順に基づいて行う命令によって前記情報処理装置に対して設定がなされたことを示す情報を記録手段に記録させる制御を行う制御手段を有することを特徴とする請求項1に記載の情報処理装置。
  3.  前記第1の処理手段は、暗号化された通信を行うために用いる第1の公開鍵情報、前記第1の公開鍵情報に対応し暗号化された通信を行うために用いる第1の非公開鍵情報、又は、前記公開鍵情報が正当な鍵情報であることを証明するための第1の証明書情報の少なくともいずれか一つを前記情報処理装置に設定するための命令であって、第1の受信装置が前記情報処理装置に対して前記第1の通信手順に基づいて行う命令を実行し、
     前記第2の処理手段は、暗号化された通信を行うために用いる第2の公開鍵情報と暗号化された通信を行うために用いる第2の非公開鍵情報とが対応することを示す鍵ペア情報、前記第2の公開鍵情報が正当な鍵情報であることを証明するための第2の証明書情報、又は、前記第2の証明書情報に関連する第3の証明書情報を示す証明書パス情報のうち少なくともいずれか一つを前記情報処理装置に設定するための命令であって、第2の受信装置が前記情報処理装置に対して前記第2の通信手順に基づいて行う命令を実行することを特徴とする請求項2に記載の情報処理装置。
  4.  前記第1の処理手段は、暗号化された通信を行うために用いる第1の公開鍵情報と暗号化された通信を行うために用いる第1の非公開鍵情報とが対応することを示す第1の鍵ペア情報を前記記録手段に記録させる命令、前記第1の鍵ペア情報を前記送信手段から送信させる命令、前記記録手段に記録された前記第1の鍵ペア情報を無効にする命令、又は、前記第1の公開鍵情報が正当な鍵情報であることを証明するための証明書情報であって前記第1の処理手段により署名情報が付加された証明書情報を生成させる命令の少なくともいずれか一つの命令であって、第1の受信装置が前記情報処理装置に対して前記第1の通信手順に基づいて行う命令を実行し、
     前記第2の処理手段は、暗号化された通信を行うために用いる第2の公開鍵情報と暗号化された通信を行うために用いる第2の非公開鍵情報とが対応することを示す鍵ペア情報、前記第2の公開鍵情報が正当な鍵情報であることを証明するための第2の証明書情報、又は、前記第2の証明書情報に関連する第3の証明書情報を示す証明書パス情報のうち少なくともいずれか一つを前記記録手段に記録させるための命令であって、第2の受信装置が前記情報処理装置に対して前記第2の通信手順に基づいて行う命令を実行し、
     前記送信手段は、前記第1の通信手順に基づいて行う命令に応じて前記情報処理装置に対して設定がなされたことを示す情報を、前記第2の通信手順に基づいて行う命令に応じて送信することを特徴とする請求項2に記載の情報処理装置。
  5.  前記第1の処理手段は、前記第1の通信手順に基づいて行う命令であって前記第1の証明書情報の生成を指示する命令に応じて、前記公開鍵情報が正当な鍵情報であることを証明するための証明書情報であって前記第1の処理手段により署名情報が付加された証明書情報と、前記鍵ペア情報と、前記証明書パス情報とを生成して前記記録手段に記録させ、
     前記制御手段は、前記第1の通信手順に基づいて行った命令に応じて、前記証明書情報と、前記鍵ペア情報と、前記証明書パス情報とを生成したことを示す情報を前記記録手段に記録させる制御を行うことを特徴とする請求項3に記載の情報処理装置。
  6.  前記第1の処理手段は、前記第1の通信手順に基づいて行う命令であって前記記録手段に記録された証明書情報を無効にすることを要求する第1の命令を実行し、前記第1の命令によって指定された証明書情報に対応する前記鍵ペア情報、又は、前記第1の命令によって指定された証明書情報に対応する前記証明書パス情報を無効にすることを特徴とする請求項3に記載の情報処理装置。
  7.  前記証明書パス情報は、暗号化された通信を行うために前記情報処理装置が前記記録手段に記録された複数の証明書情報を参照する順序を示す情報であり、
     前記第1の処理手段は、暗号化された通信を行うために用いる証明書情報を指定する命令であって前記第1の通信手順に基づいて行う第2の命令に応じて、前記第2の命令によって指定された識別情報に対応する証明書情報が前記順序における先頭であることを示す前記証明書パス情報を、前記暗号化された通信を行うために用いる証明書パス情報として前記記録手段に記録させることを特徴とする請求項3に記載の情報処理装置。
  8.  前記証明書パス情報は、暗号化された通信を行うために前記情報処理装置が前記記録手段に記録された複数の証明書情報を参照する順序を示す情報であり、
     前記送信手段は、前記第1の通信手順に基づいて行う命令であって前記記録手段に記録された証明書情報についての情報の送信を要求する命令に応じて、前記記録手段に記録された複数の証明書情報のうち前記証明書パス情報が前記順序における先頭であることを示す証明書情報を示す情報を送信することを特徴とする請求項3に記載の情報処理装置。
  9.  前記証明書パス情報は、暗号化された通信を行うために前記情報処理装置が前記記録手段に記録された複数の証明書情報を参照する順序を示す情報であり、
     前記第1の処理手段は、前記記録手段に記録された証明書情報が暗号化された通信を行うために用いる証明書情報として設定されているかを示す情報の取得を要求する第3の命令に応じて、前記複数の証明書情報のうち前記証明書パス情報が前記順序の先頭であることを示す第4の証明書情報が暗号化された通信を行うために用いる証明書情報として設定されていることを示す情報を前記記録手段に記録させ、前記複数の証明書情報のうち前記第4の証明書情報と異なる第5の証明書情報が暗号化された通信を行うために用いることが設定されていないことを示す情報を前記記録手段に記録させることを特徴とする請求項3に記載の情報処理装置。
  10.  前記送信手段は、前記第1の処理手段が前記第3の命令を実行した場合、前記複数の証明書情報のうち、前記鍵ペア情報に関連付けられていない証明書情報を送信しないことを特徴とする請求項9に記載の情報処理装置。
  11.  前記第1の通信手順は、ONVIFにより規定されるDeviceManagementサービスが提供する通信手順であり、前記第2の通信手順はONVIFにより規定されるAdvancedSecurityサービスが提供する通信手順であり、
     前記制御手段は、前記第2の通信手順に基づくKeystore情報及びAlias情報を前記記録手段に記録させ、前記第1の通信手順に基づいて行う命令によって前記情報処理装置に対して設定がなされたことを示す情報を、前記Alias情報として前記記録手段に記録させることを特徴とする請求項3に記載の情報処理装置。
  12.  前記第1の処理手段は、前記第1の通信手順に基づく命令であって前記第1の証明書情報を前記情報処理装置にロードするための命令であるLoadCertificatesコマンド、LoadCACertificatesコマンド、LoadCertificateWithPrivateKeyコマンド、又は、LoadCertificateWithPrivateKeyコマンドのうち少なくとも一つの命令を実行し、
     前記制御手段は、前記第1の通信手順によって前記LoadCertificatesコマンド、前記LoadCACertificatesコマンド、前記LoadCertificateWithPrivateKeyコマンド、又は、前記LoadCertificateWithPrivateKeyコマンドのうち少なくとも一つの命令を前記第1の処理手段が実行した場合、前記第1の通信手順によって証明書のロードが行われたことを示す情報を前記Alias情報として前記記録手段に記録させることを特徴とする請求項11に記載の情報処理装置。
  13.  前記制御手段は、前記鍵ペア情報に前記第2の証明書情報を関連付けて前記記録手段に記録させ、
     前記第1の処理手段は、前記第1の通信手順に基づく命令であって証明書情報の送信を前記情報処理装置に要求する命令であるGetCertificatesコマンド、及び、前記第1の通信手順によって提供される命令であって認証局により発行された証明書情報の送信を前記情報処理装置に要求する命令であるGetCACertificatesコマンドを実行し、
     前記送信手段は、前記第1の処理手段が前記GetCertificatesコマンドの実行した場合には前記鍵ペア情報に関連付けられている前記第2の証明書情報を送信し、前記第1の処理手段が前記GetCACertificatesコマンドを実行する場合には前記鍵ペア情報に関連付けられていない第3の証明書情報を送信することを特徴とする請求項11に記載の情報処理装置。
  14.  前記第1の処理手段は、前記第1の通信手順に基づく命令であって前記記録手段に記録された証明書情報の削除を要求する命令であるDeleteCertificatesコマンドを実行し、前記DeleteCertificatesコマンドによって指定された証明書情報に対応する前記鍵ペア情報、又は、前記DeleteCertificatesコマンドによって指定された証明書情報に対応する前記証明書パス情報を前記記録手段から削除することを特徴とする請求項11に記載の情報処理装置。
  15.  撮像手段を有し、
     前記送信手段は、前記撮像手段が撮像した撮像画像を、前記記録手段に記録された情報に基づいて暗号化された通信によって送信することを特徴とする請求項2に記載の情報処理装置。
  16.  情報処理装置の制御方法であって、
     第1の通信手順に基づいて行う命令に応じて、暗号化された通信を行うための設定を前記情報処理装置に対して行う第1の処理ステップと、
     第2の通信手順に基づいて行う命令に応じて、暗号化された通信を行うための設定を前記情報処理装置に対して行う第2の処理ステップと、
     前記情報処理装置に対して暗号化された通信を行うための設定を前記第1の通信手順に基づいて行う命令に応じて前記第1の処理ステップにおいて行った後に受信装置から前記第2の通信手順に基づいて行う命令を受信した場合、暗号化された通信を行うための設定が前記第1の通信手順に基づいて行う命令に応じて行われたことを示す情報を前記受信装置に送信する送信ステップと
     を有することを特徴とする制御方法。
  17.  前記第1の通信手順に基づいて行う命令によって前記情報処理装置に対して設定がなされたことを示す情報を記録手段に記録させる制御を行う制御ステップを有することを特徴とする請求項16に記載の制御方法。
  18.  前記第1の処理ステップにおいて、暗号化された通信を行うために用いる第1の公開鍵情報、前記第1の公開鍵情報に対応し暗号化された通信を行うために用いる第1の非公開鍵情報、又は、前記公開鍵情報が正当な鍵情報であることを証明するための第1の証明書情報の少なくともいずれか一つを前記情報処理装置に設定するための命令であって、第1の受信装置が前記情報処理装置に対して前記第1の通信手順に基づいて行う命令を実行し、
     前記第2の処理ステップにおいて、暗号化された通信を行うために用いる第2の公開鍵情報と暗号化された通信を行うために用いる第2の非公開鍵情報とが対応することを示す鍵ペア情報、前記第2の公開鍵情報が正当な鍵情報であることを証明するための第2の証明書情報、又は、前記第2の証明書情報に関連する第3の証明書情報を示す証明書パス情報のうち少なくともいずれか一つを前記情報処理装置に設定するための命令であって、第2の受信装置が前記情報処理装置に対して前記第2の通信手順に基づいて行う命令を実行することを特徴とする請求項17に記載の制御方法。
  19.  コンピュータに、
     第1の通信手順に基づいて行う命令に応じて、暗号化された通信を行うための設定を前記コンピュータに対して行う第1の処理工程と、
     第2の通信手順に基づいて行う命令に応じて、暗号化された通信を行うための設定を前記コンピュータに対して行う第2の処理工程と、
     前記コンピュータに対して暗号化された通信を行うための設定を前記第1の通信手順に基づいて行う命令に応じて前記第1の処理工程において行った後に受信装置から前記第2の通信手順に基づいて行う命令を受信した場合、暗号化された通信を行うための設定が前記第1の通信手順に基づいて行う命令に応じて行われたことを示す情報を前記受信装置に送信する送信工程と
     を実行させるためのプログラム。
PCT/JP2014/080094 2014-11-13 2014-11-13 情報処理装置、制御方法、及び、プログラム WO2016075792A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
RU2017120178A RU2682926C2 (ru) 2014-11-13 2014-11-13 Устройство обработки информации, способ управления и программа
PCT/JP2014/080094 WO2016075792A1 (ja) 2014-11-13 2014-11-13 情報処理装置、制御方法、及び、プログラム
EP14906116.0A EP3252989B1 (en) 2014-11-13 2014-11-13 Information processing apparatus, control method, and program
CN201480083365.3A CN107005405B (zh) 2014-11-13 2014-11-13 信息处理装置、控制方法及存储介质
JP2016558507A JP6381667B2 (ja) 2014-11-13 2014-11-13 情報処理装置、制御方法、及び、プログラム
SG11201703705TA SG11201703705TA (en) 2014-11-13 2014-11-13 Information processing apparatus, control method, and program
US14/938,607 US10193871B2 (en) 2014-11-13 2015-11-11 Information processing apparatus, control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/080094 WO2016075792A1 (ja) 2014-11-13 2014-11-13 情報処理装置、制御方法、及び、プログラム

Publications (1)

Publication Number Publication Date
WO2016075792A1 true WO2016075792A1 (ja) 2016-05-19

Family

ID=55953905

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/080094 WO2016075792A1 (ja) 2014-11-13 2014-11-13 情報処理装置、制御方法、及び、プログラム

Country Status (7)

Country Link
US (1) US10193871B2 (ja)
EP (1) EP3252989B1 (ja)
JP (1) JP6381667B2 (ja)
CN (1) CN107005405B (ja)
RU (1) RU2682926C2 (ja)
SG (1) SG11201703705TA (ja)
WO (1) WO2016075792A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019057793A (ja) * 2017-09-20 2019-04-11 富士ゼロックス株式会社 情報処理装置及びプログラム
JP2022528070A (ja) * 2019-03-25 2022-06-08 マイクロン テクノロジー,インク. 運転中の緊急車両のidの検証

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7208707B2 (ja) 2017-02-17 2023-01-19 キヤノン株式会社 情報処理装置及びその制御方法とプログラム
JP6968610B2 (ja) * 2017-08-01 2021-11-17 キヤノン株式会社 撮像装置、情報処理方法及びプログラム
JP7262938B2 (ja) 2018-06-29 2023-04-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP7147405B2 (ja) * 2018-09-18 2022-10-05 セイコーエプソン株式会社 印刷装置の制御方法および印刷装置
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
JP7337601B2 (ja) * 2019-08-28 2023-09-04 キヤノン株式会社 印刷装置、制御方法およびプログラム
US20220141033A1 (en) * 2020-10-15 2022-05-05 Jelurida IP B.V. Method of verifying origin of a signed file

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6538668B1 (en) * 1999-04-09 2003-03-25 Sun Microsystems, Inc. Distributed settings control protocol
US6980658B1 (en) * 1999-09-30 2005-12-27 Qualcomm Incorporated Method and apparatus for encrypting transmissions in a communication system
US8174712B2 (en) * 2003-10-21 2012-05-08 Sharp Laboratories Of America, Inc. Generating passive metadata from user interface selections at an imaging device
JP4345796B2 (ja) * 2006-09-29 2009-10-14 ブラザー工業株式会社 通信方法、通信システムならびに通信システムを構成するサーバ、クライアントおよびコンピュータプログラム
JP4613969B2 (ja) 2008-03-03 2011-01-19 ソニー株式会社 通信装置、及び通信方法
JP2013054441A (ja) * 2011-09-01 2013-03-21 Canon Inc 印刷システム、画像形成装置、印刷方法、およびプログラム
RU2485710C1 (ru) * 2011-12-23 2013-06-20 Общество с ограниченной ответственностью "ЕвроКомСервис" Криптокамера
JP5875463B2 (ja) * 2012-05-21 2016-03-02 キヤノン株式会社 撮像装置、マスク画像設定方法、および、プログラム
JP5955171B2 (ja) * 2012-09-11 2016-07-20 キヤノン株式会社 送信装置、受信装置、送信方法、受信方法、及びプログラム
JP6184133B2 (ja) * 2013-03-07 2017-08-23 キヤノン株式会社 撮像装置
KR102015955B1 (ko) * 2013-03-27 2019-10-21 한화테크윈 주식회사 클라이언트 인증 방법
US9432390B2 (en) * 2013-12-31 2016-08-30 Prometheus Security Group Global, Inc. Scene identification system and methods
CN103780900B (zh) * 2014-01-16 2016-02-17 国家电网公司 一种onvif模拟测试装置及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"ONVIF Advanced SecurityServiceSpecification, Version 1.0.2", June 2014 (2014-06-01), pages 7 - 26 , 31-38, XP055396884, Retrieved from the Internet <URL:http://www.onvif.org/specs/srv/security/ ONVIF-AdvancedSecurity-Service-Spec-v102.pdf> *
"ONVIF Core Specification, Version 2.4.2", June 2014 (2014-06-01), pages 82 - 98, XP055382279, Retrieved from the Internet <URL:http://www.onvif. org/specs/core/ONVIF-Core-Specification-v242. pdf> *
ISAO TANIGUCHI ET AL., MASTERING TCP/IP IPSEC HEN, 23 May 2006 (2006-05-23), pages 156 - 164, XP008185678 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019057793A (ja) * 2017-09-20 2019-04-11 富士ゼロックス株式会社 情報処理装置及びプログラム
JP2022528070A (ja) * 2019-03-25 2022-06-08 マイクロン テクノロジー,インク. 運転中の緊急車両のidの検証

Also Published As

Publication number Publication date
CN107005405A (zh) 2017-08-01
RU2682926C2 (ru) 2019-03-22
EP3252989B1 (en) 2020-05-20
US10193871B2 (en) 2019-01-29
RU2017120178A3 (ja) 2018-12-13
US20160142383A1 (en) 2016-05-19
RU2017120178A (ru) 2018-12-13
EP3252989A4 (en) 2018-10-24
SG11201703705TA (en) 2017-08-30
EP3252989A1 (en) 2017-12-06
JP6381667B2 (ja) 2018-08-29
CN107005405B (zh) 2020-12-15
JPWO2016075792A1 (ja) 2017-08-24

Similar Documents

Publication Publication Date Title
JP6381667B2 (ja) 情報処理装置、制御方法、及び、プログラム
KR102500461B1 (ko) 정보처리장치, 화상형성장치, 시스템, 그 제어 방법, 및 기억매체
CN105706416B (zh) 用于网络接入的用户设备和计算机可读介质
US10194297B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
JP6064800B2 (ja) 情報処理装置及びプログラム
JP7278802B2 (ja) サービス利用装置、方法、及びプログラム
JP7030476B2 (ja) 画像処理装置、画像処理装置の制御方法、プログラム、システム、およびシステムの制御方法
JP2019087145A (ja) 管理システムおよびその制御方法、並びにプログラム
JP6385100B2 (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法およびコンピュータプログラム
JP7479923B2 (ja) 名刺情報処理装置、名刺情報処理方法、およびプログラム
CN109479054B (zh) 服务提供系统、服务通信系统、服务提供方法和记录介质
JP2017167661A (ja) システム、携帯端末、情報処理装置、情報処理方法及びプログラム
US11076010B2 (en) Service providing system, service delivery system, service providing method, and non-transitory recording medium
JP6306866B2 (ja) 通信装置及びその制御方法、並びにプログラム
US11645027B2 (en) Information processing system and method for processing data output requests and identification information
JP6366668B2 (ja) 設定方法、情報処理装置、携帯端末及びプログラム
JP5779987B2 (ja) 選択プログラム、画像処理装置、及び、コンピュータ
JPWO2009031197A1 (ja) 通信装置、認証情報取得方法、接続要求方法、接続認証方法、認証情報取得プログラム、接続要求プログラムおよび接続認証プログラム
JP6492670B2 (ja) 中継装置、中継システム及びプログラム
JP6192347B2 (ja) システム、サーバ装置、サーバ装置の制御方法
JP6494201B2 (ja) 電子機器
JP6759638B2 (ja) 文字変換装置、情報端末、文字変換システム、変換候補登録方法、および、変換候補登録プログラム
JP6887746B2 (ja) 端末管理システム、端末制御装置、端末管理方法及び通信制御プログラム
JP2023007110A (ja) 認証システム、端末装置、認証方法、及びプログラム
JP2018039143A (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14906116

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016558507

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017120178

Country of ref document: RU

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2014906116

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11201703705T

Country of ref document: SG