JP7250587B2 - Communication device, control method and program - Google Patents

Communication device, control method and program Download PDF

Info

Publication number
JP7250587B2
JP7250587B2 JP2019064364A JP2019064364A JP7250587B2 JP 7250587 B2 JP7250587 B2 JP 7250587B2 JP 2019064364 A JP2019064364 A JP 2019064364A JP 2019064364 A JP2019064364 A JP 2019064364A JP 7250587 B2 JP7250587 B2 JP 7250587B2
Authority
JP
Japan
Prior art keywords
communication
confirmation
extension area
information
digital camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019064364A
Other languages
Japanese (ja)
Other versions
JP2020167469A (en
Inventor
朋樹 平松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019064364A priority Critical patent/JP7250587B2/en
Publication of JP2020167469A publication Critical patent/JP2020167469A/en
Application granted granted Critical
Publication of JP7250587B2 publication Critical patent/JP7250587B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Studio Devices (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、デジタル証明書の確認を行う装置に関する。 The present invention relates to a device for verifying digital certificates.

デジタル証明書を用いてクライアントとサーバとの間で認証を行い、暗号化通信を行う通信システムがある(特許文献1)。デジタル証明書には拡張領域が存在し、様々な拡張データを含めることができるため、拡張データの数やサイズによってデジタル証明書のサイズは増減する。また、拡張領域には、デジタル証明書の所有者情報の1つであるドメイン名を含めることができる。 There is a communication system that authenticates a client and a server using a digital certificate and performs encrypted communication (Patent Document 1). Since a digital certificate has an extension area and can contain various extension data, the size of the digital certificate increases or decreases depending on the number and size of the extension data. The extension field can also include a domain name, which is one of the owner information of the digital certificate.

特開2013-24845号公報JP 2013-24845 A

拡張領域にドメイン名を含むデジタル証明書を受け付けるクライアントは、改竄や、なりすまし等へのセキュリティ対策のため、接続先であるサーバのドメイン名とデジタル証明書に含まれるドメイン名とが一致するかを確認する必要がある。一般に、デジタルカメラ等の計算資源の限られた通信装置においては、当該確認のための処理に時間を要する。そのため、不正なサーバ等から大きな拡張領域を含むデジタル証明書を受信した場合、確認に係る処理が完了するまでに時間を要した上に、当該サーバを確認することができず、ユーザの利便性が低下するという課題があった。 A client that accepts a digital certificate that includes a domain name in the extension area checks whether the domain name of the destination server matches the domain name included in the digital certificate as a security measure against tampering and spoofing. It is necessary to confirm. In general, in a communication device with limited computational resources such as a digital camera, processing for the confirmation takes time. Therefore, when a digital certificate containing a large extension area is received from an unauthorized server or the like, it takes time to complete the confirmation process, and the server cannot be confirmed. There was a problem that the

上記課題に鑑み、長い時間をかけてデジタル証明書に含まれる拡張領域の確認を行ってしまう可能性を低減することを目的とする。 In view of the above problems, it is an object of the present invention to reduce the possibility of taking a long time to check an extension area included in a digital certificate.

本発明に係る通信装置は、情報処理装置からデジタル証明書を受信する受信手段と、前記受信手段により受信した前記デジタル証明書に含まれる所定の拡張領域のサイズ情報、および、当該所定の拡張領域に含まれるデータの数に関する情報の少なくとも一方を取得する取得手段と、前記所定の拡張領域に含まれるドメイン名に、前記情報処理装置のドメイン名が含まれるかを確認する確認手段と、前記確認手段による確認の結果に基づいて、前記情報処理装置と暗号通信を行う通信手段と、前記取得手段により取得した情報に基づいて、前記確認手段による確認を行うことなく、前記情報処理装置と切断するように制御する制御手段と、を有する。 A communication device according to the present invention includes receiving means for receiving a digital certificate from an information processing device, size information of a predetermined extension area included in the digital certificate received by the receiving means, and the predetermined extension area. acquiring means for acquiring at least one of information relating to the number of data contained in the extension area; confirming means for confirming whether the domain name of the information processing apparatus is included in the domain name contained in the predetermined extension area; communication means for performing encrypted communication with the information processing device based on the result of confirmation by the means; and disconnection from the information processing device based on the information acquired by the acquisition means without confirmation by the confirmation means. and a control means for controlling such that

本発明によれば、長い時間をかけてデジタル証明書に含まれる拡張領域の確認を行ってしまう可能性を低減することができる。 According to the present invention, it is possible to reduce the possibility of taking a long time to check the extension area included in the digital certificate.

通信システムの構成図。The block diagram of a communication system. デジタルカメラのハードウェア構成図。FIG. 2 is a hardware configuration diagram of a digital camera; デジタルカメラで実行されるフローチャート。A flow chart executed by a digital camera. デジタルカメラで実行されるフローチャート。A flow chart executed by a digital camera. デジタルカメラで実行されるフローチャート。A flow chart executed by a digital camera. デジタルカメラで実行されるフローチャート。A flow chart executed by a digital camera. 通信システムで実行される処理を示すシーケンス図。FIG. 4 is a sequence diagram showing processing executed in a communication system; デジタル証明書の構成図。Configuration diagram of a digital certificate.

図1に、本実施形態に係る通信システム100の構成を示す。通信システム100は、通信装置(例えば、デジタルカメラ)と、情報処理装置(例えば、サーバ)とを含んで構成される。以下、通信装置の例として、デジタルカメラを用いて説明するが、これに限られない。即ち、通信装置として、例えば、PC、タブレット端末、ポータブルゲーム機、パーソナルデジタルアシスタント(PDA)などであってもよい。また、1台の通信装置としてではなく、複数の装置からなる通信システムとして上記の構成を有するようにしてもよい。 FIG. 1 shows the configuration of a communication system 100 according to this embodiment. The communication system 100 includes a communication device (eg, digital camera) and an information processing device (eg, server). A digital camera will be described below as an example of a communication device, but the present invention is not limited to this. That is, the communication device may be, for example, a PC, a tablet terminal, a portable game machine, a personal digital assistant (PDA), or the like. Also, the above configuration may be provided as a communication system comprising a plurality of devices instead of a single communication device.

本実施形態においてデジタルカメラ101は無線通信機能を有する。ここでは、無線通信機能は、IEEE802.11シリーズ規格に準拠した無線LAN機能であるものとして説明する。しかし、これに限らず、Bluetooth(登録商標)、MBOA、UWB、ZigBee、NFC(Near Field Communication)等、他の無線通信機能であってもよい。また、無線通信に代えて、もしくは、加えて、有線LAN等の有線通信を行ってもよい。ここで、LANは、ローカルエリアネットワーク(Local Area Network)の略である。また、MBOAは、Multi Band OFDM Allianceの略である。また、UWBは、Ultra Wide Bandの略であり、ワイヤレスUSB、ワイヤレス1394、WINETなどが含まれる。サーバ102および無線LAN AP103はバックボーンネットワーク105と接続している。なお、バックボーンネットワーク105は例えばInternetであるが、ローカルネットワーク等でもよい。デジタルカメラ101は、無線LAN AP103が構築する無線LANネットワークに接続し、無線LAN通信104を介してサーバ102と通信が可能である。なお、デジタルカメラ101は無線LAN AP103以外の外部装置が構築する無線LANネットワークを利用してもよい。ここで、外部装置はスマートフォンやPC等でありうる。 In this embodiment, the digital camera 101 has a wireless communication function. Here, it is assumed that the wireless communication function is a wireless LAN function conforming to the IEEE802.11 series standard. However, other wireless communication functions such as Bluetooth (registered trademark), MBOA, UWB, ZigBee, and NFC (Near Field Communication) may be used. Also, wired communication such as a wired LAN may be performed in place of or in addition to wireless communication. Here, LAN is an abbreviation for Local Area Network. MBOA is an abbreviation for Multi Band OFDM Alliance. UWB is an abbreviation for Ultra Wide Band, and includes wireless USB, wireless 1394, WINET, and the like. Server 102 and wireless LAN AP 103 are connected to backbone network 105 . The backbone network 105 is, for example, the Internet, but may be a local network or the like. A digital camera 101 can connect to a wireless LAN network constructed by a wireless LAN AP 103 and communicate with a server 102 via wireless LAN communication 104 . Note that the digital camera 101 may use a wireless LAN network constructed by an external device other than the wireless LAN AP 103 . Here, the external device can be a smart phone, a PC, or the like.

図2(a)に、本実施形態に係るデジタルカメラ101のハードウェア構成図を示す。無線LAN制御部201は、IEEE802.11シリーズ規格に準拠した無線LAN通信の各種制御や、無線LAN通信関連のプロトコル処理を行う。アンテナ202は、無線LAN通信を行うために用いられる。制御部203は、ROM204に記憶される制御プログラムを実行することによりデジタルカメラ101全体を制御する。 FIG. 2A shows a hardware configuration diagram of the digital camera 101 according to this embodiment. A wireless LAN control unit 201 performs various types of wireless LAN communication control based on the IEEE 802.11 series standard and protocol processing related to wireless LAN communication. Antenna 202 is used for wireless LAN communication. A control unit 203 controls the entire digital camera 101 by executing a control program stored in the ROM 204 .

ROM204は、制御部203が実行する制御プログラムを記憶するROMである。後述する各種動作は、ROM204に記憶された制御プログラムを制御部203が実行することにより行われる。RAM205は、制御プログラムを実行する際のワークメモリやデータの一時保存などに利用される。記憶部206は、通信に必要なパラメータ等の各種情報や圧縮符号化された画像データを記憶する。記憶部206は、デジタルカメラ101と着脱可能であってもよい。 The ROM 204 is a ROM that stores control programs executed by the control unit 203 . Various operations to be described later are performed by the control unit 203 executing a control program stored in the ROM 204 . The RAM 205 is used as a work memory for executing the control program and for temporary storage of data. A storage unit 206 stores various information such as parameters required for communication and compression-encoded image data. The storage unit 206 may be detachable from the digital camera 101 .

操作部207は、ユーザがデジタルカメラ101を操作するために利用される。表示部208は、LCDやLEDのように視覚で認知可能な情報の出力、あるいはスピーカ等の音出力を行う。マイク209は、音声等を取得する。パケット送受信部210は、各種通信にかかわるパケットを送受信する。撮像部211は、被写体の光学像を撮像する。212は撮像部211から出力された撮像画像を所定フォーマットの画像データに変換し、画像データの輝度や色補正等の各種処理を施す画像処理部である。符号/復号化部213は、画像処理部212から出力された画像データに対して、所定の高能率符号化(例えば、離散コサイン変換、量子化後に可変長符号化)を行う。再生部214は、圧縮符号化された画像データを再生する。電源部215はデジタルカメラ101に電源を供給する。 An operation unit 207 is used by the user to operate the digital camera 101 . A display unit 208 outputs visually recognizable information such as an LCD or LED, or outputs sound such as a speaker. A microphone 209 acquires voice and the like. The packet transmitting/receiving unit 210 transmits/receives packets related to various communications. The imaging unit 211 captures an optical image of a subject. An image processing unit 212 converts the captured image output from the imaging unit 211 into image data in a predetermined format, and performs various processing such as brightness and color correction of the image data. The encoding/decoding unit 213 performs predetermined high-efficiency encoding (for example, discrete cosine transform, variable length encoding after quantization) on the image data output from the image processing unit 212 . A reproduction unit 214 reproduces the compression-encoded image data. A power supply unit 215 supplies power to the digital camera 101 .

次に、図2(b)に、ROM204に記憶されたプログラムを制御部203が読み出すことで実現されるソフトウェアブロック構成を示す。指示判定部251は、操作部207のボタン等を介してユーザから通信機能の開始を指示されたことを判定する。記憶制御部252は、記憶部206を制御し、データの保存やRAM205への読み出しを行う。表示制御部253は、表示部208を制御して各種表示を行う。送信部254は、パケット送受信部210、無線LAN制御部201等を用いてサーバ102への要求やデータ送信等を行う。受信部255は、パケット送受信部210、無線LAN制御部201等を用いてサーバ102からの応答やデータ受信等を行う。 Next, FIG. 2B shows a software block configuration realized by the control unit 203 reading out the program stored in the ROM 204. As shown in FIG. The instruction determination unit 251 determines that the user has issued an instruction to start the communication function via a button or the like of the operation unit 207 . A storage control unit 252 controls the storage unit 206 to store data and read data to the RAM 205 . The display control unit 253 controls the display unit 208 to perform various displays. The transmitting unit 254 uses the packet transmitting/receiving unit 210, the wireless LAN control unit 201, and the like to make a request to the server 102, transmit data, and the like. The receiving unit 255 uses the packet transmitting/receiving unit 210, the wireless LAN control unit 201, and the like to receive a response from the server 102, data reception, and the like.

拡張領域属性取得部256は、受信部255によりサーバ102から受信したデジタル証明書内の拡張領域に関する属性の取得を行う。なお、デジタル証明書は、図8(a)に示す構成(フィールド)を有する。なお、当該デジタル証明書に含まれる拡張領域の詳細は、図8(b)に示すような構成(フィールド)を有する。拡張領域には、拡張領域全体のサイズを示すサイズ情報801や、拡張領域のデータ部分のサイズを示すサイズ情報802などが含まれる。 The extension area attribute acquisition unit 256 acquires attributes related to extension areas in the digital certificate received from the server 102 by the reception unit 255 . The digital certificate has the configuration (field) shown in FIG. 8(a). The details of the extension area included in the digital certificate have a configuration (field) as shown in FIG. 8(b). The extension area includes size information 801 indicating the size of the entire extension area, size information 802 indicating the size of the data portion of the extension area, and the like.

ドメイン名検証部257は、受信部255によりサーバ102から受信したデジタル証明書に含まれるドメイン名と接続先であるサーバ102のドメイン名の検証(確認)を行う。切断判定部258は、ドメイン名検証部257の検証結果(確認結果)に基づいてサーバ102から切断を行うか否かを判定する。 The domain name verification unit 257 verifies (confirms) the domain name included in the digital certificate received from the server 102 by the reception unit 255 and the domain name of the server 102 to which it is connected. The disconnect determination unit 258 determines whether or not to disconnect from the server 102 based on the verification result (confirmation result) of the domain name verification unit 257 .

図2に示した全ての機能ブロックは、ソフトウェアもしくはハードウェア的に相互関係を有するものである。また、上記機能ブロックは一例であり、複数の機能ブロックが1つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。 All functional blocks shown in FIG. 2 are interrelated in terms of software or hardware. Also, the functional blocks described above are merely examples, and a plurality of functional blocks may constitute one functional block, or any one of the functional blocks may be further divided into blocks that perform a plurality of functions.

以下では、デジタルカメラ101が実行する処理について説明した後に、通信システム内で実行される処理の流れの例について説明する。以降の説明では、デジタルカメラ101と無線LAN AP103間の無線LAN通信104は予め確立されているものとする。また、デジタルカメラ101およびサーバ102間の暗号通信には、TCP(Transmission Control Protocol)およびTLS(Transport Layer Security)プロトコルが利用されるものとして説明を行う。 In the following, after explaining the processing executed by the digital camera 101, an example of the flow of processing executed within the communication system will be explained. In the following description, it is assumed that wireless LAN communication 104 between digital camera 101 and wireless LAN AP 103 has been established in advance. Also, the following description assumes that TCP (Transmission Control Protocol) and TLS (Transport Layer Security) protocol are used for encrypted communication between the digital camera 101 and the server 102 .

図3は、デジタルカメラ101が、クラウド連携モードを開始した場合に実行される処理の流れを示すフローチャートである。本処理は、ユーザがデジタルカメラ101の操作部207を操作することにより、クラウド連携モードの開始が選択された場合に開始されうるが、これに限られない。例えば、デジタルカメラ101において撮像が行われたことや、外部装置からクラウド連携モード開始の要求を受信したことを契機に開始されうる。 FIG. 3 is a flowchart showing the flow of processing executed when the digital camera 101 starts the cloud cooperation mode. This processing can be started when the user operates the operation unit 207 of the digital camera 101 to select start of the cloud cooperation mode, but is not limited to this. For example, it can be started when an image is captured by the digital camera 101 or when a request to start the cloud cooperation mode is received from an external device.

クラウド連携モードが開始されると、まず、S301において、デジタルカメラ101は接続先であるサーバ102の選択を行い、S302へ処理を進める。ここで、接続先であるサーバ102の選択は、記憶部206に記憶されている接続可能なサーバのリストを表示部208に表示し、ユーザが操作部207を介して指示することにより選択しうるが、これに限られない。例えば、クラウド連携モードにより実行予定の機能に応じて、デジタルカメラ101が自動で選択する等である。なお、実行予定の機能は、動画像のアップロードやライブストリーミング等でありうるが、これに限るものではない。S302では、デジタルカメラ101は、セキュア接続処理を開始する。なお、セキュア接続処理は、サーバ102との間で暗号化通信を行うためのTCPセッションの確立や鍵情報の交換等を行う処理を指す。セキュア接続処理の詳細については後述する。 When the cloud cooperation mode is started, first, in S301, the digital camera 101 selects the server 102 as a connection destination, and advances the processing to S302. Here, the server 102 to be connected can be selected by displaying a list of connectable servers stored in the storage unit 206 on the display unit 208 and giving an instruction by the user via the operation unit 207 . However, it is not limited to this. For example, the digital camera 101 automatically selects according to the function scheduled to be executed in the cloud cooperation mode. Note that the functions scheduled to be executed may be uploading moving images, live streaming, or the like, but are not limited to these. In S302, the digital camera 101 starts secure connection processing. Note that the secure connection process refers to a process of establishing a TCP session for performing encrypted communication with the server 102, exchanging key information, and the like. Details of the secure connection process will be described later.

その後、デジタルカメラ101は、S303において、S302でセキュア接続が正常に完了したか否かの判定を行う。セキュア接続が正常に完了した場合(S302でYES)はS304へ処理を進め、セキュア接続が正常に完了しなかった場合(S302でNO)はS310へ処理を進める。S304では、デジタルカメラ101は、S301で選択されたサーバ102のドメイン名がIPアドレス表記であるか否かの判定を行う。IPアドレス表記である場合(S304でYES)はS307へ処理を進め、IPアドレス表記でない場合(S304でNO)はS305へ処理を進める。S305では、デジタルカメラ101は、ドメイン名検証処理を開始する。なお、ドメイン名検証処理は、S301で選択されたサーバ102のドメイン名とサーバ102から受信したサーバ証明書内のドメイン名が一致するか否かの検証を行う処理を指す。ここで、サーバ証明書はX.509規格のデジタル証明書でありうるが、これに限られるものではなく、どのようなデジタル証明書が用いられてもよい。すなわち、暗号鍵や署名等を含む任意のデジタル証明書と置き換えられうる。ドメイン名検証処理の詳細については後述する。その後、デジタルカメラ101は、S306において、S305でドメイン名検証処理が成功したか否かの判定を行う。ドメイン名検証処理が成功した場合(S306でYES)はS307へ処理を進め、成功しなかった場合(S306でNO)はS310へ処理を進める。S307では、デジタルカメラ101は、S301で選択したサーバ102との接続が成功した旨を表示部208に表示し、S308へ処理を進める。S308では、デジタルカメラ101は、S302で交換した鍵情報を用いてサーバ102と暗号化データ通信を行い、S309へ処理を進める。ここで、暗号化データ通信は、TLS Application Dataプロトコルのメッセージ送受信でありうる。S309では、デジタルカメラ101は、クラウド連携モードを終了するか否かの判定を行う。ここで、クラウド連携モードを終了するか否かの判定は、ユーザの操作部207の操作による終了指示の有無により判定しうるが、これに限られない。例えば、デジタルカメラ101において暗号化データ通信が一定期間ないことや、外部装置からクラウド連携モードの終了指示を受信したことを契機に終了されうる。クラウド連携モードを終了する場合(S309でYES)はS310へ処理を進め、クラウド連携モードを終了しない場合(S309でNO)はS308へ処理を戻す。S310では、デジタルカメラ101は、セキュア切断処理を開始する。なお、セキュア切断処理は、S302で確立したサーバ102との間で暗号化通信を行うための通信セッションを切断する処理を指す。セキュア切断処理の詳細については後述する。その後、デジタルカメラ101は、S311において、S310のセキュア切断処理が正常な切断であるか否か、すなわち、S302のセキュア接続処理やS305のドメイン名検証処理に成功したか否かの判定を行う。正常な切断である場合(S311でYES)はS312へ処理を進め、正常な切断でない場合(S311でNO)はS313へ処理を進める。S312では、デジタルカメラ101は、サーバ102との切断が完了した旨を表示部208に表示し、クラウド連携モードを終了する。一方、S313では、デジタルカメラ101は、サーバ102との接続がエラーとなった旨を表示部208に表示し、クラウド連携モードを終了する。 After that, in S303, the digital camera 101 determines whether or not the secure connection was normally completed in S302. If the secure connection has been completed normally (YES in S302), the process proceeds to S304, and if the secure connection has not been completed normally (NO in S302), the process proceeds to S310. In S304, the digital camera 101 determines whether the domain name of the server 102 selected in S301 is IP address notation. If it is the IP address notation (YES at S304), the process proceeds to S307, and if it is not the IP address notation (NO at S304), the process proceeds to S305. In S305, the digital camera 101 starts domain name verification processing. Note that the domain name verification processing refers to processing for verifying whether or not the domain name of the server 102 selected in S301 matches the domain name in the server certificate received from the server 102 . Here, the server certificate is X. 509 standard digital certificate, but is not limited to this, and any digital certificate may be used. That is, any digital certificate containing encryption keys, signatures, etc. can be substituted. Details of the domain name verification process will be described later. After that, in S306, the digital camera 101 determines whether or not the domain name verification process in S305 was successful. If the domain name verification process succeeds (YES in S306), the process proceeds to S307; otherwise (NO in S306), the process proceeds to S310. In S307, the digital camera 101 displays on the display unit 208 that the connection with the server 102 selected in S301 was successful, and proceeds to S308. In S308, the digital camera 101 performs encrypted data communication with the server 102 using the key information exchanged in S302, and proceeds to S309. Here, the encrypted data communication may be message transmission/reception of TLS Application Data protocol. In S309, the digital camera 101 determines whether or not to end the cloud cooperation mode. Here, whether or not to end the cloud cooperation mode can be determined based on whether or not there is an end instruction by the user operating the operation unit 207, but the present invention is not limited to this. For example, the digital camera 101 may be terminated when there is no encrypted data communication for a certain period of time, or when an instruction to terminate the cloud cooperation mode is received from an external device. If the cloud cooperation mode is to be terminated (YES in S309), the process proceeds to S310, and if the cloud cooperation mode is not to be terminated (NO in S309), the process returns to S308. In S310, the digital camera 101 starts secure disconnection processing. Note that the secure disconnection processing refers to processing for disconnecting the communication session for encrypted communication with the server 102 established in S302. Details of the secure disconnection process will be described later. After that, in S311, the digital camera 101 determines whether or not the secure disconnection processing of S310 is normal disconnection, that is, whether or not the secure connection processing of S302 and the domain name verification processing of S305 have succeeded. If the disconnection is normal (YES in S311), the process proceeds to S312, and if the disconnection is not normal (NO in S311), the process proceeds to S313. In S312, the digital camera 101 displays on the display unit 208 that the disconnection from the server 102 has been completed, and ends the cloud cooperation mode. On the other hand, in S313, the digital camera 101 displays on the display unit 208 that an error has occurred in the connection with the server 102, and ends the cloud cooperation mode.

続いて、図4を用いて、デジタルカメラ101においてセキュア接続処理が開始された際に実行される処理の流れについて説明する。 Next, the flow of processing executed when secure connection processing is started in the digital camera 101 will be described with reference to FIG.

まず、デジタルカメラ101は、S401において、TCP接続を行い、S402へ処理を進める。S402では、デジタルカメラ101は、セキュア接続開始要求を送信し、S403へ処理を進める。ここで、セキュア接続開始要求は、TLS HandshakeプロトコルのClient Helloメッセージでありうる。Client Helloメッセージには、デジタルカメラ101のサポートするTLSのプロトコルバージョンや暗号化アルゴリズム、セッションID等が含まれうる。S403では、デジタルカメラ101は、サーバ証明書を受信し、S404へ処理を進める。ここで、サーバ証明書の受信は、TLS HandshakeプロトコルのCertificateメッセージにより受信しうる。なお、Certificateメッセージの受信の前後でServer HelloメッセージやServer Hello Doneメッセージ、Server Key Exchangeメッセージを受信しうる。S404では、デジタルカメラ101は、S403でサーバ証明書の受信に成功したか否かの判定を行う。ここで、サーバ証明書の受信に成功したか否かの判定は、サーバ証明書のサイズが閾値以下であるか否かにより判定を行いうるが、これに限られない。例えば、受信したサーバ証明書の形式が所定の形式以外である場合に、受信に失敗したと判定してもよい。サーバ証明書の受信に成功した場合(S404でYES)はS405へ処理を進め、サーバ証明書の受信に失敗した場合(S404でNO)はS411へ処理を進める。S405では、デジタルカメラ101は、S403で受信したサーバ証明書の正当性検証を行い、S406へ処理を進める。なお、サーバ証明書の正当性検証は、記憶部206にあらかじめ記憶されたルート(CA)証明書を用いて、サーバ証明書に含まれる署名が改竄されたものでないか否かを判定することにより検証されうる。S406では、デジタルカメラ101は、S405で受信したサーバ証明書が正当と判断されたか否かの判定を行う。サーバ証明書が正当と判断された場合(S406でYES)はS407へ処理を進め、サーバ証明書が正当でないと判断された場合(S406でNO)はS411へ処理を進める。S407では、デジタルカメラ101は、鍵情報を送信し、S408へ処理を進める。ここで、鍵情報の送信は、TLS HandshakeプロトコルのClient Key Exchangeメッセージにより送信しうる。また、鍵情報は、受信したサーバ証明書に含まれる公開鍵を用いて、自身で生成したプリマスターシークレットを暗号化した情報でありうる。S408では、デジタルカメラ101は、セキュア接続完了通知を送信し、S409へ処理を進める。ここで、セキュア接続完了通知は、TLS HandshakeプロトコルのFinishedメッセージでありうる。なお、Finishedメッセージの送信の前に、Change Cipher SpecプロトコルのChange Cipher Specメッセージを送信しうる。S409では、デジタルカメラ101は、セキュア接続完了通知を受信し、S410へ処理を進める。なお、セキュア接続完了通知の受信の前に、Change Cipher SpecプロトコルのChange Cipher Specメッセージを受信しうる。S410では、デジタルカメラ101は、セキュア接続処理に成功したと判断して本処理を終了する。一方、S411では、デジタルカメラ101は、セキュア接続処理がエラーとなったと判断して本処理を終了する。 First, in S401, the digital camera 101 establishes a TCP connection, and advances the processing to S402. In S402, the digital camera 101 transmits a secure connection start request, and advances the process to S403. Here, the secure connection initiation request can be a Client Hello message of the TLS Handshake protocol. The Client Hello message can include the TLS protocol version supported by the digital camera 101, an encryption algorithm, a session ID, and the like. In S403, the digital camera 101 receives the server certificate and advances the process to S404. Here, the reception of the server certificate can be received by a Certificate message of the TLS Handshake protocol. Before and after receiving the Certificate message, a Server Hello message, a Server Hello Done message, and a Server Key Exchange message can be received. In S404, the digital camera 101 determines whether or not the server certificate was successfully received in S403. Here, whether or not the server certificate has been successfully received can be determined based on whether or not the size of the server certificate is equal to or smaller than a threshold value, but the present invention is not limited to this. For example, if the format of the received server certificate is other than a predetermined format, it may be determined that reception has failed. If the server certificate has been successfully received (YES in S404), the process proceeds to S405, and if the server certificate has failed to be received (NO in S404), the process proceeds to S411. In S405, the digital camera 101 verifies the validity of the server certificate received in S403, and advances the process to S406. The validity of the server certificate is verified by determining whether or not the signature included in the server certificate has been tampered with using a root (CA) certificate stored in advance in the storage unit 206. can be verified. In S406, the digital camera 101 determines whether the server certificate received in S405 is valid. If the server certificate is determined to be valid (YES in S406), the process proceeds to S407, and if the server certificate is determined to be invalid (NO in S406), the process proceeds to S411. In S407, the digital camera 101 transmits the key information and advances the processing to S408. Here, the key information can be transmitted by a Client Key Exchange message of the TLS Handshake protocol. Also, the key information can be information obtained by encrypting a self-generated pre-master secret using the public key included in the received server certificate. In S408, the digital camera 101 transmits a secure connection completion notification, and advances the process to S409. Here, the secure connection completion notification can be a Finished message of the TLS Handshake protocol. Before sending the Finished message, a Change Cipher Spec message of the Change Cipher Spec protocol can be sent. In S409, the digital camera 101 receives the secure connection completion notification, and advances the process to S410. Note that a Change Cipher Spec message of the Change Cipher Spec protocol can be received before receiving the secure connection completion notification. In S410, the digital camera 101 determines that the secure connection process has succeeded, and terminates this process. On the other hand, in S411, the digital camera 101 determines that the secure connection process has resulted in an error, and terminates this process.

続いて、図5を用いて、デジタルカメラ101においてドメイン名検証処理が開始された際に実行される処理の流れについて説明する。 Next, the flow of processing executed when domain name verification processing is started in the digital camera 101 will be described with reference to FIG.

まず、デジタルカメラ101は、S501において、受信したサーバ証明書の所定の拡張領域全体のサイズ801を取得し、S502へ処理を進める。ここで、所定の拡張領域はSAN(Subject Alternative Name)でありうるが、これに限られるものではない。すなわち、ドメイン名を含む任意の領域と置き換えられうる。 First, in S501, the digital camera 101 acquires the size 801 of the entire predetermined extension area of the received server certificate, and advances the process to S502. Here, the predetermined extension area may be a SAN (Subject Alternative Name), but is not limited to this. That is, it can be replaced with any field that contains a domain name.

続いて、S502では、デジタルカメラ101は、受信したサーバ証明書に所定の拡張領域が存在するか否かの判定を行う。ここで、所定の拡張領域が存在するか否かの判定は、S501で取得した所定の拡張領域全体のサイズが0か否かにより判定を行いうる。所定の拡張領域が存在する場合(S502でYES)はS503へ処理を進め、所定の拡張領域が存在しない場合(S502でNO)はS512へ処理を進める。S503では、デジタルカメラ101は、S501で取得した所定の拡張領域全体のサイズ801を確認し、当該拡張領域のサイズが閾値以下であるか否かの判定を行う。拡張領域のサイズが閾値以下である場合(S503でYES)はS504へ処理を進め、拡張領域のサイズが閾値より大きい場合(S503でNO)はS515へ処理を進める。ここで、拡張領域のサイズが閾値以下であるか否かの判定は、受信したサーバ証明書の所定の拡張領域全体のサイズ801を用いて行うようにしたが、これに限られない。例えば、所定の拡張領域のデータサイズ802を用いて判定しうる。S504では、デジタルカメラ101は、検証の対象データとして拡張領域の先頭データをセットし、S505へ処理を進める。なお、拡張領域および拡張領域内のデータはASN.1(Abstract Syntax Notation One)のDER(Distinguished Encoding Rules)形式で記述されたデータでありうるが、これに限られない。例えば、ASN.1の別形式で記述されたデータやXML(Extensible Markup Language)等であってもよい。S505では、デジタルカメラ101は、対象データのデータタイプを取得し、S506へ処理を進める。ここで、データタイプは、ドメイン名やIPアドレス、メールアドレス、URI(Uniform Resource Identifier)等でありうる。S506では、デジタルカメラ101は、データタイプがドメイン名であるか否かの判定を行う。データタイプがドメイン名である場合(S506でYES)はS507へ処理を進め、データタイプがドメイン名でない場合(S506でNO)はS510へ処理を進める。S507では、デジタルカメラ101は、データサイズすなわちドメイン名の長さを取得し、S508へ処理を進める。S508では、デジタルカメラ101は、データすなわちドメイン名を取得し、S509へ処理を進める。S509では、デジタルカメラ101は、S301で選択した接続先であるサーバ102のドメイン名とS508で取得したドメイン名が一致するか否かの判定を行う。ここで、ドメイン名が一致するか否かの判定は、大文字小文字の区別を行わず比較しうる。また、S508で取得したドメイン名にワイルドカード表記が含まれる場合は、当該箇所を任意の文字列として解釈して比較しうるが、これらに限られない。例えば、完全一致による比較や、ワイルドカード表記を文字と解釈して比較しうる。ドメイン名が一致した場合(S509でYES)はS514へ処理を進め、ドメイン名が一致しない場合(S509でNO)はS510へ処理を進める。S510では、デジタルカメラ101は、拡張領域内に次データが存在するか否かの判定を行う。ここで、拡張領域内に次データがあるか否かの判定は、検証済みデータのサイズの合計がS501で取得した拡張領域のサイズよりも大きいか否かにより判定を行いうる。拡張領域内に次データが存在する場合(S510でYES)はS511へ処理を進め、拡張領域内に次データが存在しない場合(S510でNO)はS515へ処理を進める。S511では、デジタルカメラ101は、検証の対象データとして拡張領域内の次データをセットし、S505へ処理を戻す。一方、S512では、デジタルカメラ101は、サーバ証明書内のドメイン名を取得し、S513へ処理を進める。ここで、サーバ証明書内のドメイン名は、CN(Common Name)でありうる。S513では、デジタルカメラ101は、S301で選択した接続先であるサーバ102のドメイン名とS512で取得したドメイン名が一致するか否かの判定を行う。なお、ドメイン名が一致するか否かの判定は、S509と同様であるため説明を省略する。ドメイン名が一致した場合(S513でYES)はS514へ処理を進め、ドメイン名が一致しない場合(S513でNO)はS515へ処理を進める。S514では、デジタルカメラ101は、ドメイン名の検証に成功したと判断して本処理を終了する。一方、S515では、デジタルカメラ101は、ドメイン名の検証に失敗したと判断して本処理を終了する。 Subsequently, in S502, the digital camera 101 determines whether or not the received server certificate has a predetermined extension area. Here, whether or not the predetermined extension area exists can be determined by determining whether the size of the entire predetermined extension area acquired in S501 is 0 or not. If the predetermined extension area exists (YES in S502), the process proceeds to S503, and if the predetermined extension area does not exist (NO in S502), the process proceeds to S512. In S503, the digital camera 101 confirms the size 801 of the entire predetermined extension area acquired in S501, and determines whether or not the size of the extension area is equal to or less than a threshold. If the size of the extension area is equal to or less than the threshold (YES in S503), the process proceeds to S504, and if the size of the extension area is greater than the threshold (NO in S503), the process proceeds to S515. Here, whether or not the size of the extension area is equal to or less than the threshold is determined using the size 801 of the entire predetermined extension area of the received server certificate, but the present invention is not limited to this. For example, it can be determined using the data size 802 of the predetermined extension area. In S504, the digital camera 101 sets the head data of the extension area as data to be verified, and advances the process to S505. The extension area and the data in the extension area are ASN. 1 (Abstract Syntax Notation One) DER (Distinguished Encoding Rules) format, but is not limited to this. For example, ASN. 1, or XML (Extensible Markup Language) or the like. In S505, the digital camera 101 acquires the data type of the target data, and advances the processing to S506. Here, the data type can be a domain name, IP address, email address, URI (Uniform Resource Identifier), or the like. In S506, the digital camera 101 determines whether the data type is a domain name. If the data type is a domain name (YES at S506), the process proceeds to S507, and if the data type is not a domain name (NO at S506), the process proceeds to S510. In S507, the digital camera 101 acquires the data size, that is, the length of the domain name, and advances the processing to S508. In S508, the digital camera 101 acquires data, that is, the domain name, and advances the processing to S509. In S509, the digital camera 101 determines whether or not the domain name of the server 102, which is the connection destination selected in S301, matches the domain name acquired in S508. Here, whether or not the domain names match can be determined by comparison without distinguishing between uppercase and lowercase letters. Also, if the domain name acquired in S508 contains a wildcard notation, the part can be interpreted as an arbitrary character string and compared, but the character string is not limited to this. For example, it is possible to compare by interpreting a wild card notation as a character and comparing by exact match. If the domain names match (YES in S509), the process proceeds to S514, and if the domain names do not match (NO in S509), the process proceeds to S510. In S510, the digital camera 101 determines whether or not the next data exists in the extension area. Here, whether or not there is next data in the extension area can be determined by determining whether or not the total size of the verified data is larger than the size of the extension area acquired in S501. If the next data exists in the extension area (YES at S510), the process proceeds to S511, and if the next data does not exist in the extension area (NO at S510), the process proceeds to S515. In S511, the digital camera 101 sets the next data in the extension area as verification target data, and returns the process to S505. On the other hand, in S512, the digital camera 101 acquires the domain name in the server certificate, and advances the process to S513. Here, the domain name in the server certificate can be CN (Common Name). In S513, the digital camera 101 determines whether the domain name of the server 102, which is the connection destination selected in S301, matches the domain name acquired in S512. Note that the determination of whether the domain names match is the same as in S509, so the description is omitted. If the domain names match (YES at S513), the process proceeds to S514, and if the domain names do not match (NO at S513), the process proceeds to S515. In S514, the digital camera 101 determines that the verification of the domain name has succeeded, and terminates this processing. On the other hand, in S515, the digital camera 101 determines that verification of the domain name has failed, and terminates this processing.

続いて、図6を用いて、デジタルカメラ101においてセキュア切断処理が開始された際に実行される処理の流れについて説明する。 Next, a flow of processing executed when secure disconnection processing is started in the digital camera 101 will be described with reference to FIG.

まず、デジタルカメラ101は、S601において、セキュア接続切断通知を送信し、S602へ処理を進める。ここで、セキュア接続切断通知は、TLS AlertプロトコルのClose Notifyメッセージでありうるが、これに限られない。例えば、セキュア切断処理の開始要因に応じて、TLS Alertプロトコルで規定された他のメッセージを送信しうる。なお、セキュア切断処理の開始要因は、サーバ証明書の受信失敗、サーバ証明書の正当性検証失敗、サーバ証明書の拡張領域のサイズ超過、ドメイン名不一致等でありうる。S602では、デジタルカメラ101は、セキュア接続切断通知を受信し、S603へ処理を進める。S603では、デジタルカメラ101は、TCP切断を行い、本処理を終了する。 First, in S601, the digital camera 101 transmits a secure connection disconnection notification, and advances the processing to S602. Here, the secure connection disconnection notification can be a Close Notify message of the TLS Alert protocol, but is not limited to this. For example, other messages defined in the TLS Alert protocol may be sent depending on what triggered the secure disconnect process. It should be noted that factors for starting the secure disconnection process can be failure to receive the server certificate, failure to verify the validity of the server certificate, excess size of the extension area of the server certificate, domain name mismatch, and the like. In S602, the digital camera 101 receives the secure connection disconnection notification, and advances the process to S603. In S<b>603 , the digital camera 101 disconnects TCP, and ends this processing.

なお、本処理では、セキュア接続切断通知をTCP切断の前に送受信するようにしたが、セキュア接続切断通知を送受信せずにTCP切断を行ってもよい。これにより、電源OFF等で即時に処理を終了したい場合に、切断処理にかかる時間を短縮することができる。 In this processing, the secure connection disconnection notification is transmitted and received before TCP disconnection, but TCP disconnection may be performed without transmitting and receiving the secure connection disconnection notification. As a result, the time required for the disconnection process can be shortened when the process is to be terminated immediately by turning off the power supply or the like.

次に、図7を用いて通信システムで実行される処理の流れについて説明する。本処理例では、デジタルカメラ101が、不正なサーバ102との間でセキュア接続処理を行った後、ドメイン名検証処理を開始する。デジタルカメラ101は、サーバ102から受信したサーバ証明書内の拡張領域のサイズが閾値より大きいため、その後の検証にかかる処理を実施せず、セキュア切断処理を行い、クラウド連携モードを終了する。なお、本処理例において、接続先であるサーバ102のドメイン名はIPアドレス表記でないものとして説明を行う。 Next, the flow of processing executed in the communication system will be described using FIG. In this processing example, the digital camera 101 starts domain name verification processing after performing secure connection processing with the unauthorized server 102 . Since the size of the extension area in the server certificate received from the server 102 is larger than the threshold, the digital camera 101 does not perform subsequent verification processing, performs secure disconnection processing, and ends the cloud cooperation mode. Note that in this processing example, the domain name of the server 102, which is the connection destination, is not described as an IP address.

デジタルカメラ101において、ユーザがクラウド連携モードを開始するための操作を行い(M701)、接続先であるサーバ102を選択する(M702、S301)。前記選択が行われると、デジタルカメラ101は無線LAN AP103との接続を行い(M703)、セキュア接続処理を開始する(S302)。デジタルカメラ101は、セキュア接続処理を開始すると、サーバ102とのTCP接続を行う(M704、S401)。デジタルカメラ101は、サーバ102とのTCP接続が完了すると、サーバ102にセキュア接続開始要求を送信する(M705、S402)。サーバ102は、セキュア接続開始要求を受信すると、デジタルカメラ101にサーバ証明書を送信する(M706、S403)。デジタルカメラ101は、サーバ証明書の受信が成功すると(S404でYES)、サーバ証明書の正当性検証を行う(M707、S405)。デジタルカメラ101は、サーバ証明書の正当性検証の結果、正当であると判定すると(S406でYES)、サーバ102に鍵情報を送信し(M708、S407)、セキュア接続完了通知を送信する(M709、S408)。サーバ102は、セキュア接続完了通知を受信すると、デジタルカメラ101にセキュア接続完了通知を送信する(M710、S409)。デジタルカメラ101は、セキュア接続完了通知を受信すると、接続が正常に完了したと判断し(S410)、セキュア接続処理を終了する。デジタルカメラ101は、セキュア接続処理が正常に完了し(S303でYES)、接続先であるサーバ102のドメイン名がIPアドレス表記でないため(S304でNO)、ドメイン名検証処理を開始する(S305)。デジタルカメラ101は、ドメイン名検証処理を開始すると、サーバ証明書内の拡張領域のサイズを取得する(M711、S501)。ここで、デジタルカメラ101は、サーバ証明書内に拡張領域が存在し(S502でYES)、サイズが閾値よりも大きいため(S503でNO)、以降の処理を行わず、ドメイン名の検証に失敗したと判断して(S515)、ドメイン名検証処理を終了する。デジタルカメラ101は、ドメイン名検証処理が失敗したため(S306でNO)、セキュア切断処理を開始する(S310)。デジタルカメラ101は、セキュア切断処理を開始すると、サーバ102にセキュア接続切断通知を送信する(M712、S601)。サーバ102は、セキュア接続切断通知を受信すると、デジタルカメラ101にセキュア接続切断通知を送信する(M713、S602)。デジタルカメラ101は、セキュア接続切断通知を受信すると、TCP切断を行い(M714、S603)、セキュア切断処理を終了する。デジタルカメラ101は、セキュア切断処理を完了すると、セキュア切断処理の開始要因がドメイン名検証処理の失敗であるため、正常切断でないと判定して(S311でNO)、接続エラーUI表示を行う(M715、S313)。その後、デジタルカメラ101はクラウド連携モードを終了する(M716)。 In the digital camera 101, the user performs an operation for starting the cloud cooperation mode (M701), and selects the server 102 as the connection destination (M702, S301). When the selection is made, the digital camera 101 establishes connection with the wireless LAN AP 103 (M703) and starts secure connection processing (S302). When starting secure connection processing, the digital camera 101 establishes a TCP connection with the server 102 (M704, S401). When the TCP connection with the server 102 is completed, the digital camera 101 transmits a secure connection start request to the server 102 (M705, S402). Upon receiving the secure connection start request, the server 102 transmits the server certificate to the digital camera 101 (M706, S403). When the digital camera 101 successfully receives the server certificate (YES in S404), it verifies the validity of the server certificate (M707, S405). When the digital camera 101 determines that the server certificate is valid as a result of validation of the server certificate (YES in S406), it transmits key information to the server 102 (M708, S407), and transmits a secure connection completion notice (M709). , S408). Upon receiving the secure connection completion notification, the server 102 transmits the secure connection completion notification to the digital camera 101 (M710, S409). Upon receiving the secure connection completion notification, the digital camera 101 determines that the connection has been completed normally (S410), and terminates the secure connection process. The digital camera 101 successfully completes the secure connection processing (YES in S303), and since the domain name of the server 102 to which it is connected is not in IP address notation (NO in S304), it starts domain name verification processing (S305). . When starting the domain name verification process, the digital camera 101 acquires the size of the extension area in the server certificate (M711, S501). Here, since the extension area exists in the server certificate (YES in S502) and the size is larger than the threshold (NO in S503), the digital camera 101 does not perform subsequent processing and fails domain name verification. (S515), and terminates the domain name verification process. Since the domain name verification process has failed (NO in S306), the digital camera 101 starts secure disconnection process (S310). When starting secure disconnection processing, the digital camera 101 transmits a secure connection disconnection notification to the server 102 (M712, S601). Upon receiving the secure connection disconnection notification, the server 102 transmits the secure connection disconnection notification to the digital camera 101 (M713, S602). Upon receiving the secure connection disconnection notification, the digital camera 101 performs TCP disconnection (M714, S603) and terminates the secure disconnection process. When the secure disconnection process is completed, the digital camera 101 determines that the disconnection is not normal because the cause for starting the secure disconnection process is the failure of the domain name verification process (NO in S311), and displays the connection error UI (M715). , S313). After that, the digital camera 101 terminates the cloud cooperation mode (M716).

以上のように、本処理例では、デジタルカメラ101が、サーバ証明書内の拡張領域のサイズが閾値より大きい場合に、以降のドメイン名の検証にかかる処理を行わず、検証に失敗したと判断するようにした。これにより、接続すべきでない不正なサーバ等から大きな拡張領域を含むサーバ証明書を受信した場合に、不要なドメイン名の検証を回避することが可能となり、ユーザ使用性の低下を抑制することができる。 As described above, in this processing example, when the size of the extension area in the server certificate is larger than the threshold, the digital camera 101 does not perform subsequent processing related to domain name verification, and determines that the verification has failed. I made it As a result, when a server certificate containing a large extension area is received from an unauthorized server that should not be connected, it is possible to avoid unnecessary domain name verification, thereby suppressing deterioration in user usability. can.

本実施形態において、デジタルカメラ101は、サーバ証明書内の拡張領域のサイズが閾値よりも大きい場合に、以降のドメイン名の検証にかかる処理を行わず、検証に失敗したと判断するようにしたが、これに限られない。例えば、接続先であるサーバ102が事前にユーザによって信頼済みであると記憶されたサーバである場合や、接続中のネットワークがローカルネットワークである場合等の所定の条件を満たした場合には、処理を継続しうる。これにより、閾値をより小さく設定した場合であっても、正当な接続先であるサーバとは確実に接続可能であると共に、接続先が不正なサーバの場合には不要なドメイン名の検証を回避することができる。 In this embodiment, when the size of the extension area in the server certificate is larger than the threshold value, the digital camera 101 does not perform subsequent domain name verification processing and determines that the verification has failed. However, it is not limited to this. For example, if the server 102 that is the connection destination is a server that has been stored as being trusted by the user in advance, or if the network being connected is a local network, or if a predetermined condition is satisfied, the process can continue. As a result, even if the threshold is set to a lower value, it is possible to reliably connect to the server that is the legitimate connection destination, and if the connection destination is an unauthorized server, unnecessary domain name verification can be avoided. can do.

本実施形態において、デジタルカメラ101は、サーバ証明書内の拡張領域のサイズが閾値以下であるか否かにより、ドメイン名の検証にかかる処理を継続するか否かの判定を行うようにしたが、これに限られない。例えば、拡張領域に含まれるデータ種別の数やデータの内ドメイン名であるデータ数が閾値以下であるか否かにより判定しうる。また、拡張領域のサイズや拡張領域に含まれるデータ数を用いてドメイン名の検証にかかる処理時間を推定し、推定された処理時間が閾値以下であるか否かにより判定しうる。さらに、ドメイン名の検証にかかる処理を開始した後、処理済みのデータサイズやデータ数、処理の累計時間(処理を実行し始めてからの経過時間)等が閾値以上となったことを契機に処理を中止し、検証に失敗したと判断してもよい。これにより、正当な接続先であるサーバのサーバ証明書内の拡張領域のサイズがある程度大きい場合であっても接続可能であると共に、接続先が不正なサーバの場合には不要なドメイン名の検証を回避することができる。 In the present embodiment, the digital camera 101 determines whether or not to continue the domain name verification process based on whether the size of the extension area in the server certificate is equal to or less than the threshold. , but not limited to this. For example, it can be determined based on whether or not the number of data types included in the extension area and the number of data that are domain names in the data are equal to or less than a threshold. Also, the size of the extension area and the number of data included in the extension area can be used to estimate the processing time required for domain name verification, and determination can be made based on whether the estimated processing time is less than or equal to a threshold. Furthermore, after starting the processing related to domain name verification, processing is triggered when the size of processed data, the number of data, the cumulative processing time (elapsed time since the start of processing), etc. exceed the threshold. may be aborted and determined to have failed verification. As a result, even if the size of the extension area in the server certificate of the server that is the legitimate connection destination is large to some extent, it is possible to connect, and if the connection destination is an unauthorized server, unnecessary domain name verification is possible. can be avoided.

本実施形態において、デジタルカメラ101は、サーバ102との接続に失敗した場合に、接続がエラーとなった旨を表示部208に表示するようにしたが、これに限られない。例えば、サーバ証明書の受信失敗、サーバ証明書の正当性検証失敗、サーバ証明書の拡張領域のサイズ超過、ドメイン名不一致等のエラー種別を表示しうる。これにより、ユーザが接続エラーの要因を容易に把握することが可能になり、ユーザ使用性をさらに向上させることができる。また、デジタルカメラ101は、当該エラーをサーバ102に通知するようにしてもよい。 In the present embodiment, when the digital camera 101 fails to connect to the server 102, the display unit 208 displays a connection error, but the present invention is not limited to this. For example, error types such as server certificate reception failure, server certificate validity verification failure, server certificate extension area size excess, domain name mismatch, and the like can be displayed. As a result, the user can easily grasp the cause of the connection error, and usability for the user can be further improved. Also, the digital camera 101 may notify the server 102 of the error.

本実施形態において、デジタルカメラ101は、セキュア接続処理が完了した後にドメイン名検証処理を行うようにしたが、これに限られない。例えば、サーバ証明書の受信後や正当性検証完了後にドメイン名検証処理を行いうる。これにより、不正なサーバの場合に不要なドメイン名の検証を回避すると共に、不要な鍵情報の送信等を抑制してセキュリティを向上させることができる。 In the present embodiment, the digital camera 101 performs the domain name verification process after completing the secure connection process, but the present invention is not limited to this. For example, the domain name verification process can be performed after receiving the server certificate or after completing the validity verification. As a result, unnecessary domain name verification can be avoided in the case of an unauthorized server, and unnecessary transmission of key information can be suppressed, thereby improving security.

本実施形態において、デジタルカメラ101は、ドメイン名検証処理に失敗したと判断した場合に、即座にセキュア切断処理を実施するようにしたが、これに限られない。例えば、サーバ証明書が不正である旨の警告をユーザに通知し、暗号化データ通信を継続しうる。なお、サーバ証明書が不正である旨の警告は、正当性検証失敗、有効期限切れ、ドメイン名不一致等でありうる。これにより、正当な接続先のサーバであるが、事前設定の不備等によりサーバ証明書が不正であると判断される場合に、ユーザがセキュリティリスクを把握しつつ、当該サーバとの一時的な通信を行うことができる。 In the present embodiment, when the digital camera 101 determines that the domain name verification process has failed, it immediately executes the secure disconnection process, but the present invention is not limited to this. For example, the user can be warned that the server certificate is invalid, and the encrypted data communication can be continued. Note that the warning to the effect that the server certificate is invalid can be a validation failure, an expiration date, a domain name mismatch, or the like. As a result, when it is determined that the server certificate is invalid due to inadequate settings, etc., even if the server is a valid connection destination, temporary communication with the server can be performed while the user understands the security risks. It can be performed.

このようにして、計算資源に制約のある装置において、不要なドメイン名の検証に係る処理を回避し、ユーザ使用性の低下を抑制することができる。 In this way, in a device with limited computational resources, it is possible to avoid unnecessary processing related to domain name verification and to suppress deterioration in user usability.

本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。 The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by processing to It can also be implemented by a circuit (for example, ASIC) that implements one or more functions.

101 デジタルカメラ
102 サーバ
103 無線LAN AP
104 無線LANの信号
105 Internet
101 digital camera 102 server 103 wireless LAN AP
104 wireless LAN signal 105 Internet

Claims (14)

通信装置であって、
情報処理装置からデジタル証明書を受信する受信手段と、
前記受信手段により受信した前記デジタル証明書に含まれる所定の拡張領域のサイズ情報、および、当該所定の拡張領域に含まれるデータの数に関する情報の少なくとも一方を取得する取得手段と、
前記所定の拡張領域に含まれるドメイン名に、前記情報処理装置のドメイン名が含まれるかを確認する確認手段と、
前記確認手段による確認の結果に基づいて、前記情報処理装置と暗号通信を行う通信手段と、
前記取得手段により取得した情報に基づいて、前記確認手段による確認を行うことなく、前記情報処理装置との通信を切断するように制御する制御手段と、
を有することを特徴とする通信装置。
A communication device,
receiving means for receiving a digital certificate from an information processing device;
acquisition means for acquiring at least one of size information of a predetermined extension area included in the digital certificate received by the reception means and information on the number of data included in the predetermined extension area;
confirmation means for confirming whether the domain name included in the predetermined extension area includes the domain name of the information processing device;
communication means for performing cryptographic communication with the information processing device based on a result of confirmation by the confirmation means;
Control means for controlling to disconnect communication with the information processing device without confirmation by the confirmation means based on the information acquired by the acquisition means;
A communication device comprising:
前記所定の拡張領域は、SAN(Subject Alternative Name)の領域であることを特徴とする請求項1に記載の通信装置。 2. The communication apparatus according to claim 1, wherein the predetermined extension area is a SAN (Subject Alternative Name) area. 前記デジタル証明書は、X.509規格に準拠したデジタル証明書であることを特徴とする請求項1または2に記載の通信装置。 The digital certificate is X. 3. The communication device according to claim 1, wherein the digital certificate conforms to the V.509 standard. 前記所定の拡張領域は、当該所定の拡張領域のサイズを示すフィールドを有し、
前記取得手段は、前記フィールドから、前記サイズ情報を取得することを特徴とする請求項1から3のいずれか1項に記載の通信装置。
the predetermined extension area has a field indicating the size of the predetermined extension area;
4. The communication apparatus according to any one of claims 1 to 3, wherein said acquisition means acquires said size information from said field.
前記データの数に関する情報は、前記所定の拡張領域に含まれるデータ種別の数、もしくは、前記所定の拡張領域に含まれるドメイン名の数であることを特徴とする請求項1から3のいずれか1項に記載の通信装置。 4. The information about the number of data is the number of data types included in the predetermined extension area or the number of domain names included in the predetermined extension area. The communication device according to item 1. 前記制御手段は、前記取得した情報と閾値に基づき当該取得した情報が前記閾値よりも大きいと判断した場合に通信を切断するように制御し、前記大きいと判断しなかった場合には通信を切断しないよう制御し、
前記制御手段は更に、前記デジタル証明書の受信元の情報処理装置を信頼済みの装置として記憶しているといった条件を満たす場合前記取得手段により取得される情報によらず、通信を切断しないよう制御し、
前記通信を切断しないように制御した場合において、前記確認手段による確認われることを特徴とする請求項1から5のいずれか1項に記載の通信装置。
The control means controls to disconnect the communication when it is determined that the acquired information is larger than the threshold based on the acquired information and the threshold, and disconnects the communication when it is not determined to be greater than the threshold. control not to
The control means further controls not to disconnect the communication regardless of the information acquired by the acquisition means when the information processing device from which the digital certificate is received is stored as a trusted device. death,
6. The communication apparatus according to any one of claims 1 to 5, wherein confirmation is performed by said confirmation means when said communication is controlled so as not to be disconnected .
前記確認手段による確認が開始されてからの時間が所定の時間を経過した場合、前記制御手段は、前記確認手段による確認を中止し、前記情報処理装置と切断するように制御することを特徴とする請求項1からのいずれか1項に記載の通信装置。 When a predetermined period of time has passed since the confirmation by the confirmation means was started, the control means stops the confirmation by the confirmation means and disconnects from the information processing device. 7. The communication device according to any one of claims 1 to 6 . 前記制御手段が前記情報処理装置と切断するように制御した場合に、所定のエラーを通知する通知手段を更に有することを特徴とする請求項1からいずれか1項に記載の通信装置。 8. The communication apparatus according to any one of claims 1 to 7 , further comprising notification means for notifying a predetermined error when said control means controls to disconnect from said information processing apparatus. 前記通知手段は、前記所定のエラーをユーザに通知することを特徴とする請求項に記載の通信装置。 9. The communication apparatus according to claim 8 , wherein said notification means notifies said predetermined error to the user. 前記所定のエラーは、前記取得手段により取得した情報に基づくエラーであることを示すことを特徴とする請求項またはに記載の通信装置。 10. The communication apparatus according to claim 8 , wherein said predetermined error indicates an error based on information obtained by said obtaining means. 前記暗号通信は、TLS(Transport Layer Security)プロトコルに準拠した通信であることを特徴とする請求項1から10のいずれか1項に記載の通信装置。 The communication device according to any one of claims 1 to 10 , wherein the encrypted communication is communication based on TLS (Transport Layer Security) protocol. 前記制御手段は、前記取得手段により取得した情報に基づいて、前記確認手段による確認を行うことなく、前記情報処理装置とのTLS(Transport Layer Security)、もしくは、TCP(Transmission Control Protocol)のセッションを切断するように制御することを特徴とする請求項1から11のいずれか1項に記載の通信装置。 The control means establishes a TLS (Transport Layer Security) or TCP (Transmission Control Protocol) session with the information processing device based on the information acquired by the acquisition means without confirmation by the confirmation means. 12. The communication device according to any one of claims 1 to 11 , wherein the communication device is controlled to disconnect. 制御方法であって、
情報処理装置からデジタル証明書を受信する受信工程と、
前記受信工程において受信された前記デジタル証明書に含まれる所定の拡張領域のサイズ情報、および、当該所定の拡張領域に含まれるデータの数に関する情報の少なくとも一方を取得する取得工程と、
前記所定の拡張領域に含まれるドメイン名に、前記情報処理装置のドメイン名が含まれるかを確認する確認工程と、
前記確認工程における確認の結果に基づいて、前記情報処理装置との所定の通信を行う通信工程と、
前記取得工程において取得された情報に基づいて、前記確認工程における確認を行うことなく、前記情報処理装置と切断するように制御する制御工程と、
を有することを特徴とする制御方法。
A control method comprising:
a receiving step of receiving a digital certificate from an information processing device;
an acquiring step of acquiring at least one of size information of a predetermined extension area included in the digital certificate received in the receiving step and information on the number of data included in the predetermined extension area;
a confirmation step of confirming whether the domain name included in the predetermined extension area includes the domain name of the information processing device;
a communication step of performing predetermined communication with the information processing device based on the result of confirmation in the confirmation step;
a control step of controlling to disconnect from the information processing device without performing confirmation in the confirmation step based on the information acquired in the acquisition step;
A control method characterized by having
コンピュータを請求項1から1のいずれか1項に記載の通信装置として動作させるためのプログラム。 A program for operating a computer as the communication device according to any one of claims 1 to 12 .
JP2019064364A 2019-03-28 2019-03-28 Communication device, control method and program Active JP7250587B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019064364A JP7250587B2 (en) 2019-03-28 2019-03-28 Communication device, control method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019064364A JP7250587B2 (en) 2019-03-28 2019-03-28 Communication device, control method and program

Publications (2)

Publication Number Publication Date
JP2020167469A JP2020167469A (en) 2020-10-08
JP7250587B2 true JP7250587B2 (en) 2023-04-03

Family

ID=72715320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019064364A Active JP7250587B2 (en) 2019-03-28 2019-03-28 Communication device, control method and program

Country Status (1)

Country Link
JP (1) JP7250587B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220200915A1 (en) * 2020-12-21 2022-06-23 Juniper Networks, Inc. Network policy application based on session state

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070277013A1 (en) 2003-08-11 2007-11-29 Siemens Aktiengesellschaft Method for transmitting protected information to a plurality of recipients
JP2009528730A (en) 2006-02-28 2009-08-06 西安西▲電▼捷通▲無▼綫▲網▼絡通信有限公司 Method and apparatus for conformance test of secure access protocol of authentication server
JP2017537548A (en) 2014-12-15 2017-12-14 アマゾン・テクノロジーズ、インコーポレイテッド Issuing short-term digital certificates based on verification of long-term digital certificates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070277013A1 (en) 2003-08-11 2007-11-29 Siemens Aktiengesellschaft Method for transmitting protected information to a plurality of recipients
JP2009528730A (en) 2006-02-28 2009-08-06 西安西▲電▼捷通▲無▼綫▲網▼絡通信有限公司 Method and apparatus for conformance test of secure access protocol of authentication server
JP2017537548A (en) 2014-12-15 2017-12-14 アマゾン・テクノロジーズ、インコーポレイテッド Issuing short-term digital certificates based on verification of long-term digital certificates

Also Published As

Publication number Publication date
JP2020167469A (en) 2020-10-08

Similar Documents

Publication Publication Date Title
US11770864B2 (en) Communication apparatus, control method for the communication apparatus, and storage medium
US10536856B2 (en) Communication control apparatus, system, and method therefor
JP6794191B2 (en) Communication equipment, communication methods, and programs
JP7054341B2 (en) Communication equipment and its control method
US9628585B2 (en) Systems and methods for cross-layer secure connection set up
JP6759011B2 (en) Communication equipment, communication methods, and programs
JP7545519B2 (en) Communication Equipment
JP6614983B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, PROGRAM
JP6465723B2 (en) COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, AND PROGRAM
JP2011073272A (en) Image processing apparatus, method performed by image processing apparatus, program, and recording medium therefor
WO2020054365A1 (en) Communication device, communication method, and program
US11736274B2 (en) Terminal device and non-transitory computer-readable medium storing computer-readable instructions for terminal device
JP2016213573A (en) Communication device, communication device control method, and program
JP6570356B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP2017130727A (en) Communication device, sharing method of communication parameters, program
JP7250587B2 (en) Communication device, control method and program
JP7406893B2 (en) Communication device, control method and program
WO2020054364A1 (en) Communication device, communication method, and program
JP7387283B2 (en) Communication device, control method and program for communication device
JP2019022152A (en) Communication apparatus, control method, and program
Sitorus et al. Establishment of Wi-Fi Display session between source and sink device in wireless Android screencasting
JP7266727B2 (en) Communication device and its control method
JP6525783B2 (en) Communication device, providing method, and program
JP2016213614A (en) Communication device, control method, program of communication device
WO2015154586A1 (en) Wireless data card, communication terminal, communication system and networking method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230322

R151 Written notification of patent or utility model registration

Ref document number: 7250587

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151