(57)【要約】【課題】通信装置において多重暗号化を回避する。【解決手段】他の通信装置との間で特定のプロトコルを用いた通信を行う通信装置は、特定のプロトコルにおいて対応が要求されている第１の暗号化処理を行い、該第１の暗号化処理と異なる第２の暗号化処理を行い、該他の通信装置へ送信されるメッセージに対して第１の暗号化処理と第２の暗号化処理とが多重に施されないように、第１の暗号化処理の実行を制御する。【選択図】  図１３
2017011618.tif 000002
【特許請求の範囲】
【請求項１】
第１の他の通信装置との間で特定のプロトコルを用いた通信を行う通信装置であって、
前記特定のプロトコルにおいて対応が要求されている第１の暗号化処理を行う第１の暗号化手段と、  
前記第１の暗号化処理と異なる第２の暗号化処理を行う第２の暗号化手段と、
前記第１の他の通信装置へ送信されるメッセージに対して前記第１の暗号化処理と前記第２の暗号化処理とが多重に施されないように前記第１の暗号化手段を制御する制御手段と、
を有することを特徴とする通信装置。
【請求項２】
前記制御手段は、前記第２の暗号化手段により前記第１の他の通信装置へ送信されるメッセージに対して前記第２の暗号化処理が行われた場合、前記第１の暗号化処理を行わないように前記第１の暗号化手段を制御することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御手段は、さらに、前記第１の他の通信装置が前記通信装置と同一のネットワークに属し、前記通信装置により認証済みの前記ネットワークに属する第２の他の通信装置が存在する場合に、前記第１の暗号化処理を行わないように前記第１の暗号化手段を制御することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記ネットワークは、無線のネットワークであることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記制御手段は、さらに、ユーザにより前記第１の暗号化手段を使用しない設定がされていた場合に、前記第１の暗号化処理を行わないように前記第１の暗号化手段を制御することを特徴とする請求項２に記載の通信装置。
【請求項６】
前記第２の暗号化処理が行われた前記メッセージが通信された後に、前記第１の他の通信装置からエラーが返された場合に、前記制御手段は、前記第２の暗号化処理が行われた前記メッセージに対して前記第１の暗号化処理を行うように前記第１の暗号化手段を制御することを特徴とする請求項２から５のいずれか１項に記載の通信装置。
【請求項７】
前記第２の暗号化処理が行われた前記メッセージが通信された後に、前記第１の他の通信装置からエラーが返されない場合に、前記第２の暗号化処理が行われた前記メッセージを用いた通信を継続することを特徴とする請求項６に記載の通信装置。
【請求項８】
前記第２の暗号化手段により前記第１の他の通信装置へ送信されるメッセージに対して前記第２の暗号化処理が行われていない場合、前記制御手段は、該メッセージに対して前記第１の暗号化処理を行うように前記第１の暗号化処理を制御することを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
前記特定のプロトコルは、ＨＴＴＰ／２であり、前記第１の暗号化処理は、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）を利用した暗号化方式による処理であることを特徴とする請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
他の通信装置との間で特定のプロトコルを用いた通信を行う通信方法であって、
前記特定のプロトコルにおいて対応が要求されている第１の暗号化処理を行う第１の暗号化工程と、  
前記第１の暗号化処理と異なる第２の暗号化処理を行う第２の暗号化工程と、
前記他の通信装置へ送信されるメッセージに対して前記第１の暗号化処理と前記第２の暗号化処理とが多重に施されないように前記第１の暗号化処理の実行を制御する制御工程と、
を有することを特徴とする通信方法。
【請求項１１】
コンピュータを、請求項１から９のいずれか１項に記載の通信装置の各手段として機能させるためのプログラム。
【請求項１２】
通信装置と、該通信装置との間で特定のプロトコルを用いた通信を行う他の通信装置を含む通信システムであって、
前記特定のプロトコルにおいて対応が要求されている第１の暗号化処理を行う第１の暗号化手段と、  
前記第１の暗号化処理と異なる第２の暗号化処理を行う第２の暗号化手段と、
相手の通信装置へ送信されるメッセージに対して前記第１の暗号化処理と前記第２の暗号化処理とが多重に施されないように前記第１の暗号化手段を制御する制御手段と、
を有することを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法、プログラム、及び通信システムに関する。
【背景技術】
【０００２】
インターネット標準技術として一般に広く利用されているプロトコル（通信規約）の一つに、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）がある。現在、インターネット標準化団体（ＩＥＴＦ：Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）において、ＨＴＴＰの新しいバージョン（ＨＴＴＰ／２）が策定された（非特許文献１）。また、ＨＴＴＰ／２で対応が必須の機能として、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）による暗号化通信がある。ＴＬＳにより、サーバ・クライアント間で送受信されるＨＴＴＰ／２通信メッセージの暗号化、通信相手の認証、改竄の検出が可能となる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ２、  インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｉｄ／ｄｒａｆｔ−ｉｅｔｆ−ｈｔｔｐｂｉｓ−ｈｔｔｐ２−１５．ｔｘｔ＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、通信に使用する通信プロトコルによっては、通信データが多重に暗号化される可能性がある。例えば、上記のＴＬＳによる暗号化機能を使用したＨＴＴＰ／２の通信において、他の暗号化機能（例えば、ＩＰｓｅｃなど）を使用するネットワークでは、通信メッセージが多重に暗号化され得る。このような多重暗号化により、暗号通信を開始するための前処理と、本通信での暗号化処理に掛かる時間が増加し、通信時間が増加する可能性がある。
【０００５】
本発明は、上記課題に鑑みて為されたものであり、通信装置において多重暗号化を回避する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するための一手段として、本発明に係る通信装置は、以下の構成を有する。すなわち、第１の他の通信装置との間で特定のプロトコルを用いた通信を行う通信装置であって、前記特定のプロトコルにおいて対応が要求されている第１の暗号化処理を行う第１の暗号化手段と、前記第１の暗号化処理と異なる第２の暗号化処理を行う第２の暗号化手段と、前記第１の他の通信装置へ送信されるメッセージに対して前記第１の暗号化処理と前記第２の暗号化処理とが多重に施されないように前記第１の暗号化手段を制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、通信装置において多重暗号化を回避することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る通信システムの構成例を示す図。
【図２】第１実施形態に係る第１の通信装置１０のハードウェア構成例を示すブロック図。
【図３】第１実施形態に係る第１の通信装置１０の機能モジュール構成例を示すブロック図。
【図４】第２実施形態に係る通信システムの構成例を示す図。
【図５】第１実施形態に係る第１の通信装置１０が、第２の通信装置２０との通信接続から通信切断までを行う際のメッセージの例を示すシーケンス図。
【図６】第１実施形態に係る第１の通信装置１０が、第２の通信装置２０とＩＰｓｅｃ通信接続を行う際のメッセージの例を示すシーケンス図。
【図７】第１実施形態に係る第１の通信装置１０が、ＴＬＳによる暗号化通信の開始を判断する際のメッセージの例を示すシーケンス図。
【図８】第１実施形態に係る第１の通信装置１０が、ＨＴＴＰ／２リクエストの送信、及びＨＴＴＰ／２レスポンスの受信を行う際のメッセージの例を示すシーケンス図。
【図９】第１実施形態に係る第１の通信装置１０が、ＨＴＴＰ／２通信切断を行う際のメッセージの例を示すシーケンス図。
【図１０】第２実施形態に係る第１の通信装置１０が、第２の通信装置２０との通信接続から通信切断までを行う際のメッセージの例を示すシーケンス図。
【図１１】第３実施形態に係る第１の通信装置１０が、第２の通信装置２０との通信接続から通信切断までを行う際のメッセージの例を示すシーケンス図。
【図１２】第４実施形態に係る第１の通信装置１０が、第２の通信装置２０との通信接続から通信切断までを行う際のメッセージの例を示すシーケンス図。
【図１３】第１実施形態に係る第１の通信装置１０が、ＴＬＳの使用を判定する手順を示すフローチャート。
【図１４】第１実施形態に係る第１の通信装置１０が、ＨＴＴＰリクエストを送信し、ＨＴＴＰレスポンスを受信する動作の手順を示すフローチャート。
【図１５】第２実施形態に係る第１の通信装置１０が、ＨＴＴＰ／２通信におけるＴＬＳの使用を判定する動作の手順を示すフローチャート。
【図１６】第３実施形態に係る第１の通信装置１０が、ＨＴＴＰ／２通信におけるＴＬＳの使用を判定する動作の手順を示すフローチャート。
【図１７】第４実施形態に係る第１の通信装置１０が、ＨＴＴＰ／２通信におけるＴＬＳの使用を判定する動作の手順を示すフローチャート。
【発明を実施するための形態】
【０００９】
（第１実施形態）
図１は、本実施形態に係る通信システムの構成例を示す図である。第１の通信装置１０は、本発明における通信装置であり、ＩＥＥＥ８０２．１１に則った無線ＬＡＮ通信機能を有する。なお、ＩＥＥＥは、Ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓの略であり、ＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。第１の通信装置１０の具体例は、デジタルカメラ、デジタルビデオカメラ、携帯電話、スマートフォン、ＰＣ、ノートＰＣ、サーバ、などである。なお、本実施形態における第１の通信装置１０は、無線ＬＡＮ通信機能を利用しているが、これに限らず、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）、ＲＦＩＤ、などの他の無線ＬＡＮ通信機能を利用しても良い。また、第１の通信装置１０は、Ｅｔｈｅｒｎｅｔ（登録商標）などの有線ＬＡＮ通信機能、または無線ＬＡＮ通信機能と有線ＬＡＮ通信機能の組合せを利用しても良い。
【００１０】
第２の通信装置２０は、第１の通信装置１０と同じく、本発明における通信装置である。本実施形態において、第１の通信装置１０と、第２の通信装置２０とが、直接無線ＬＡＮ接続を行う。なお、本実施形態では、第１の通信装置１０と、第２の通信装置２０とが、直接無線ＬＡＮ接続を行うが、これに限らず、無線アクセスポイントを経由して接続しても良い。本実施形態では、第１の通信装置１０と、第２の通信装置２０とが、ＨＴＴＰ／２規格に則ったＨＴＴＰ通信を行う。
【００１１】
次に、本実施形態に係る通信システムの構成要素を詳細に説明する。図２は、本実施形態に係る第１の通信装置１０のハードウェア構成例を示すブロック図である。なお、第２の通信装置２０も、第１の通信装置１０と同じ構成であるため、以後は第１の通信装置１０のみを説明する。
【００１２】
第１の通信装置１０は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、補助記憶装置２０４と、表示部２０５と、操作部２０６と、無線通信部２０７と、アンテナ２０８と、を備える。なお、ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略であり、ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略であり、ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【００１３】
ＣＰＵ２０１は、第１の通信装置１０全体を制御する。ＲＯＭ２０２は、変更を必要としないプログラムやパラメタを格納する。ＲＡＭ２０３は、補助記憶装置２０４などから供給されるプログラムやデータを一時記憶する。補助記憶装置２０４は、画像コンテンツや映像コンテンツなどデータを記憶する。表示部２０５は、ユーザが第１の通信装置１０を操作するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を表示する。操作部２０６は、ユーザが第１の通信装置１０を操作するための入力インタフェースである。無線通信部２０７は、アンテナ２０８を制御し、無線アクセスポイント、または第２の通信装置２０と無線ＬＡＮ通信する。
【００１４】
図３は、本実施形態に係る第１の通信装置１０の機能モジュール構成例を示すブロック図である。なお、第２の通信装置２０は、第１の通信装置１０の構成から多重暗号判定制御部３１１を除いた構成であるため、以後は第１の通信装置１０のみを説明する。
【００１５】
制御部３０１は、第１の通信装置１０が備える個々の機能モジュール全体を制御する。無線ＬＡＮ通信制御部３０２は、無線通信部２０７を制御し、第２の通信装置２０との無線ＬＡＮ通信方式の通信制御を行う。表示制御部３０３は、表示部２０５を制御し、第１の通信装置１０におけるＧＵＩの表示制御を行う。操作制御部３０４は、操作部２０６を制御し、第１の通信装置１０におけるユーザからの操作入力制御を行う。
【００１６】
記憶制御部３０５は、ＲＡＭ２０３または補助記憶装置２０４を制御し、処理データ、または画像コンテンツや映像コンテンツなどのデータを記憶または削除する。ＴＣＰ／ＩＰ通信制御部３０６は、無線ＬＡＮ通信制御部３０２を利用して、第２の通信装置２０との間で、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）方式の通信制御を行う。なお、本実施形態における第１の通信装置１０は、ＴＣＰ／ＩＰ通信を利用するが、これに限らず、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、を利用しても良い。
【００１７】
ＨＴＴＰ通信制御部３０７は、ＴＣＰ／ＩＰ通信制御部３０６を利用して、第２の通信装置２０との間で、ＨＴＴＰ／２方式の通信制御を行う。サービス制御部３０８は、ＨＴＴＰ通信制御部３０７を利用して、第２の通信装置２０に対するサービスの提供、または第２の通信装置２０が提供するサービスの利用を制御する。本実施形態において、サービス制御部３０８は、ＤＬＮＡ、ＵＰｎＰ、及びＷｅｂサービス方式をそれぞれ利用する。なお、サービス制御部３０８は、これらに限らず、ＳＯＡＰ、ＲＥＳＴ、ＡｔｏｍＰｕｂ、など他のサービス制御方式を利用しても良い。なお、ＵＰｎＰは、Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙの略であり、ＤＬＮＡは、Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅの略である。また、ＳＯＡＰは、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌの略であり、ＲＥＳＴは、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒの略である。また、ＡｔｏｍＰｕｂは、Ａｔｏｍ  Ｐｕｂｌｉｓｈｉｎｇ  Ｐｒｏｔｏｃｏｌの略である。
【００１８】
ＴＣＰ通信暗号処理部３０９は、第２の通信装置２０との間で、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）を利用し、ＴＣＰ通信の暗号化処理を行う。ＴＣＰ通信暗号処理部３０９は、ＨＴＴＰ通信制御部３０７が第２の通信装置２０との間でＴＬＳを利用したＨＴＴＰ／２通信を行う際に、暗号化処理を実行する。なお、ＴＣＰ通信暗号処理部３０９は、ＨＴＴＰ／２で対応が必須な（ＨＴＴＰ／２において要求されている）暗号化方式の処理するものであり、ＴＬＳ以外にＨＴＴＰ／２で対応が必須な暗号化方式がある場合は、その暗号化方式を利用してもよい。なお、ＴＬＳは、ＨＴＴＰ／２において対応が必須の暗号化方式であるが、使用が必須というわけではない。すなわち、ＴＣＰ通信暗号処理部３０９は、ＴＬＳによる暗号化を行わずにＨＴＴＰ／２の規格に準拠した通信を行うことができる。
【００１９】
ＩＰ通信暗号処理部３１０は、第２の通信装置２０との間で、ＩＰｓｅｃ（Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を利用したＩＰ通信の暗号化処理を行う。なお、ＩＰ通信暗号処理部３１０は、ＩＰｓｅｃに限らず、他のＩＰ通信暗号化方式を利用してもよい。多重暗号判定制御部３１１は、ＩＰ通信暗号処理部３１０によりＩＰ通信が暗号化されていることを検知し、ＨＴＴＰ通信制御部３０７がＨＴＴＰ／２通信を開始すると多重暗号化になり得ることを判定する。この判定を受けて、多重暗号判定制御部３１１は、ＨＴＴＰ通信制御部３０７がＴＬＳを使用しないＨＴＴＰ／２通信を開始するように、制御する。
【００２０】
図５は、本実施形態に係る第１の通信装置１０が、第２の通信装置２０との通信接続から通信切断までを行う際のメッセージの例を示すシーケンス図である。本実施形態において、第１の通信装置１０は、第２の通信装置２０との通信開始時のＴＣＰ通信接続メッセージにおける暗号化の有無に基づいて、ＴＬＳを使用する、またはＴＬＳを使用しないＨＴＴＰ／２通信を開始することを判断する。
【００２１】
Ｍ５０１において、第１の通信装置１０は、第２の通信装置２０とＩＰｓｅｃ通信接続を行う。該ＩＰｓｅｃ通信接続に係る詳細なシーケンスは、図６に示す。Ｍ５０２において、第１の通信装置１０は、第２の通信装置２０とＨＴＴＰ／２通信を開始するために、ＴＣＰ通信接続を行う。第１の通信装置１０は、本ＴＣＰ通信接続において、ＨＴＴＰ／２通信を開始した場合に多重暗号化され得ることを判定する。該判定に係る詳細なシーケンスは、図７に示す。Ｍ５０３において、第１の通信装置１０は、第２の通信装置２０とＨＴＴＰリクエストの送信、及びＨＴＴＰレスポンスの受信を行う。該受信に係る詳細なシーケンスは、図８に示す。Ｍ５０４において、第１の通信装置１０は、第２の通信装置２０とＨＴＴＰ通信切断を行う。該ＨＴＴＰ通信切断に係る詳細なシーケンスは、図９に示す。以下、図６〜図９を参照して、図５に示される各シーケンスを説明する。
【００２２】
図６は、本実施形態に係る第１の通信装置１０が、第２の通信装置２０とＩＰｓｅｃ通信接続を行う際のメッセージの例を示すシーケンス図である。
【００２３】
Ｍ６０１（Ｍ６０２〜Ｍ６０７）において、第１の通信装置１０は、第２の通信装置２０とメインモードによるＩＳＡＫＭＰ  ＳＡの確立を行う。なお、ＩＳＡＫＭＰは、Ｉｎｔｅｒｎｅｔ  Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ  ａｎｄ  Ｋｅｙ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌの略であり、ＳＡは、Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎの略である。
【００２４】
Ｍ６０２において、第１の通信装置１０は、第２の通信装置２０に、ＩＳＡＫＭＰ  ＳＡに必要なパラメータを提示するためのメッセージを送信する。提示するパラメータは、セキュリティプロトコルＩＤ、ＩＳＡＫＭＰトランスフォームＩＤ、暗号化アルゴリズム、ハッシュアルゴリズム、認証方式、Ｏａｋｌｅｙグループ、ＩＳＡＫＭＰ  ＳＡの有効期間、などである。Ｍ６０３において、第２の通信装置２０は、第１の通信装置１０に、Ｍ６０２で提示された各パラメータの中から決定したパラメータを送信する。
【００２５】
Ｍ６０４において、第１の通信装置１０は、第２の通信装置２０に、共有秘密鍵の生成に必要な情報（パラメータなど）を送信する。送信するパラメータは、ＤＨ（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）公開値、乱数値、Ｃｏｏｋｉｅ、などである。Ｍ６０５では、第２の通信装置２０は、第１の通信装置１０に、共有秘密鍵の生成に必要な情報（パラメータなど）を送信する。Ｍ６０６において、第１の通信装置１０は、Ｍ６０４で送信し、Ｍ６０５で受信した情報に基づき生成した共有秘密鍵を使用した認証メッセージを、第２の通信装置２０に送信する。Ｍ６０７では、第２の通信装置２０は、Ｍ６０４で受信し、Ｍ６０５で送信した情報に基づき生成した共有秘密鍵を使用した認証メッセージを、第１の通信装置１０に送信する。
【００２６】
Ｍ６０８（Ｍ６０９〜Ｍ６１１）において、第１の通信装置１０は、第２の通信装置２０とＩＰｓｅｃ  ＳＡの確立を行う。
【００２７】
Ｍ６０９において、第１の通信装置１０は、第２の通信装置２０に、ＩＰｓｅｃ  ＳＡに必要なパラメータを提示するためのメッセージを送信する。提示するパラメータは、セキュリティプロトコルＩＤ、ＡＨトランスフォームＩＤ、ＥＳＰトランスフォームＩＤ、ＩＰＣｏｍｐトランスポートＩＤ、などである。また、提示するパラメータは、認証アルゴリズム、Ｏａｋｌｅｙグループ、ＩＰｓｅｃ  ＳＡの有効期間、カプセル化モード、ＥＣＮトンネル、などであってもよい。なお、ＡＨは、Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｈｅａｄｅｒの略であり、ＥＳＰは、Ｅｎｃａｐｓｕｌａｔｅｄ  Ｓｅｃｕｒｉｔｙ  Ｐａｙｌｏａｄの略である。また、ＩＰＣｏｍｐは、ＩＰ  Ｐａｙｌｏａｄ  Ｃｏｍｐｒｅｓｓｉｏｎ  Ｐｒｏｔｏｃｏｌの略である。
【００２８】
Ｍ６１０において、第２の通信装置２０は、第１の通信装置１０に、Ｍ６０９で提示された各パラメータの中から決定したパラメータを送信する。Ｍ６１１において、第１の通信装置１０は、第２の通信装置２０に、メッセージの完全性を確保するため、ハッシュペイロードを送信する。
【００２９】
なお、本実施形態では、第１の通信装置１０は、第２の通信装置２０とメインモードの一形態によるＩＳＡＫＭＰ  ＳＡの確立を行ったが、これに限らず、メインモードのその他の形態や、アグレッシブモードによるＩＳＡＫＭＰ  ＳＡの確立を行ってもよい。
【００３０】
図７は、本実施形態に係る第１の通信装置１０が、第２の通信装置２０とＴＣＰ通信接続を行う際のメッセージを使用して多重暗号化の判定を行い、ＴＬＳによる暗号化通信の開始を判断する際のメッセージの例を示すシーケンス図である。
【００３１】
Ｍ７０１（Ｍ７０２〜Ｍ７０４）において、第１の通信装置１０は、第２の通信装置２０とＴＣＰ通信接続を行う。
【００３２】
Ｍ７０２において、第１の通信装置１０は、第２の通信装置２０にＴＣＰ接続要求（ＳＹＮフレーム）を送信する。Ｍ７０３において、第２の通信装置２０は、第１の通信装置１０に対し、ＴＣＰ接続要求応答（ＳＹＮ／ＡＣＫフレーム）を送信する。Ｍ７０４において、第１の通信装置１０は、第２の通信装置２０に応答（ＡＣＫフレーム）を送信する。
【００３３】
Ｍ７０５において、第１の通信装置１０は、Ｍ７０１（Ｍ７０２〜Ｍ７０４）で送信および受信したメッセージがＩＰ通信暗号処理部３１０により暗号化されているか否かを判定する。該メッセージがＩＰ通信暗号処理部３１０により暗号化されている場合、多重暗号判定制御部３１１は、ＴＬＳを使用しないＨＴＴＰ／２通信を開始することをＨＴＴＰ通信制御部３０７に通知する。該メッセージがＩＰ通信暗号処理部３１０により暗号化されていない場合、多重暗号判定制御部３１１は、ＴＬＳを使用したＨＴＴＰ／２通信を開始することをＨＴＴＰ通信制御部３０７に通知する。本判定処理を示す詳細なフローチャートは、図１３を用いて後述する。
【００３４】
Ｍ７０６（Ｍ７０７〜Ｍ７１６）において、Ｍ７０５の多重暗号化判定の結果、ＴＬＳを使用するＨＴＴＰ／２通信を開始する場合、第１の通信装置１０は、第２の通信装置２０とＴＬＳ通信接続を行う。
【００３５】
Ｍ７０７において、第１の通信装置１０は、第２の通信装置２０に利用可能な暗号化、圧縮アルゴリズムの一覧を送信する（Ｃｌｉｅｎｔ  Ｈｅｌｌｏ）。Ｍ７０８において、第２の通信装置２０は、第１の通信装置１０に対し、決定した暗号化、圧縮アルゴリズムを送信する（Ｓｅｒｖｅｒ  Ｈｅｌｌｏ）。Ｍ７０９において、第２の通信装置２０は、第１の通信装置１０に対し、ルート証明書、サーバ証明書を送信する（Ｓｅｒｖｅｒ  Ｃｅｒｔｉｆｉｃａｔｅ）。Ｍ７１０において、第２の通信装置２０は、第１の通信装置１０にサーバ鍵情報を送信する（Ｓｅｒｖｅｒ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）。Ｍ７１１において、第２の通信装置２０は、第１の通信装置１０に対し、一連の処理の完了を通知する（Ｓｅｒｖｅｒ  Ｈｅｌｌｏ  Ｄｏｎｅ）。
【００３６】
Ｍ７１２において、第１の通信装置１０は、第２の通信装置２０に対し、鍵情報（プリマスターシークレット）を送信する（Ｃｌｉｅｎｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）。Ｍ７１３において、第１の通信装置１０は、第２の通信装置２０に対し、暗号化アルゴリズムの準備完了を通知する（Ｃｈａｎｇｅ  Ｃｉｐｈｅｒ  Ｓｐｅｃ）。Ｍ７１４において、第１の通信装置１０は、第２の通信装置２０に対し、鍵交換と認証処理の完了を通知する（Ｆｉｎｉｓｈｅｄ）。Ｍ７１５において、第２の通信装置２０は、第１の通信装置１０に対し、暗号化アルゴリズムの準備完了を通知する（Ｃｈａｎｇｅ  Ｃｉｐｈｅｒ  Ｓｐｅｃ）。Ｍ７１６において、第２の通信装置２０は、第１の通信装置１０に鍵交換と認証処理の成功を通知する（Ｆｉｎｉｓｈｅｄ）。
【００３７】
図８は、本実施形態に係る第１の通信装置１０が、第２の通信装置２０とＨＴＴＰリクエストの送信、及びＨＴＴＰレスポンスの受信を行う際のメッセージの例を示すシーケンス図である。
【００３８】
Ｍ８０１において、第１の通信装置１０は、ＨＴＴＰ通信制御部３０７により、第２の通信装置２０に送信するためのＨＴＴＰリクエストを作成する。この際、第１の通信装置１０は、ＨＴＴＰリクエストヘッダテーブルを利用して、ＨＴＴＰリクエストヘッダを圧縮する。なお、Ｍ８０１において、第１の通信装置１０は、ＴＬＳを使用したＨＴＴＰ／２リクエストを行う場合、リクエストヘッダに含むプロトコルの識別子に、ＴＬＳ上のＨＴＴＰ／２通信であることを示す“ｈ２”を用いる。一方、第１の通信装置１０は、ＴＬＳを使用しないＨＴＴＰ／２リクエストを行う場合、リクエストヘッダに含むプロトコルの識別子に、ＴＣＰ上のＨＴＴＰ／２通信であることを示す“ｈ２ｃ”を用いる。
【００３９】
Ｍ８０２において、第１の通信装置１０のＨＴＴＰ通信制御部３０７は、Ｍ８０１で作成したＨＴＴＰリクエストヘッダに基づき、ＨＴＴＰリクエストヘッダテーブルを更新する。
【００４０】
Ｍ８０３（Ｍ８０４〜Ｍ８０６）において、第１の通信装置１０のＨＴＴＰ通信制御部３０７は、第２の通信装置２０に対し、ＨＴＴＰ／２方式によるＨＴＴＰリクエストを送信する。
【００４１】
Ｍ８０４において、第１の通信装置１０は、第２の通信装置２０に、ＨＴＴＰリクエストライン、及びＨＴＴＰリクエストヘッダを示すＨＥＡＤＥＲＳ＋ＰＲＩＯＲＩＴＹフレームを送信する。Ｍ８０５〜Ｍ８０６において、第１の通信装置１０は、第２の通信装置２０に、ＨＴＴＰリクエストボディを示すＤＡＴＡフレームを送信する。第１の通信装置１０は、最終のＤＡＴＡフレームに、ＦＩＮＡＬフラグを付与する。
【００４２】
Ｍ８０７は、第２の通信装置２０において、第１の通信装置１０に対するＨＴＴＰヘッダテーブルが存在しない場合に行われる処理である。Ｍ８０８において、第２の通信装置２０は、ＨＴＴＰヘッダテーブルを新規に作成する。
【００４３】
Ｍ８０９において、第２の通信装置２０は、第１の通信装置１０から受信したＨＴＴＰリクエスト中のＨＴＴＰリクエストヘッダに基づき、ＨＴＴＰリクエストヘッダテーブルを更新する。
【００４４】
Ｍ８１０において、第２の通信装置２０は、ＨＴＴＰ通信制御部３０７により、第１の通信装置１０に送信するＨＴＴＰレスポンスを作成する。この際、第２の通信装置２０は、ＨＴＴＰレスポンスヘッダテーブルを利用して、ＨＴＴＰレスポンスヘッダを圧縮する。Ｍ８１１において、第２の通信装置２０のＨＴＴＰ通信制御部３０７は、Ｍ８１０で作成したＨＴＴＰレスポンスヘッダに基づき、ＨＴＴＰレスポンスヘッダテーブルを更新する。
【００４５】
Ｍ８１２（Ｍ８１３〜Ｍ８１５）において、第２の通信装置２０は、第１の通信装置１０に対し、ＨＴＴＰ／２方式によるＨＴＴＰレスポンスを送信する。
【００４６】
Ｍ８１３において、第２の通信装置２０は、第１の通信装置１０に対し、ＨＴＴＰステータスライン、及びＨＴＴＰレスポンスヘッダを示すＨＥＡＤＥＲＳフレームを送信する。Ｍ８１４〜Ｍ８１５において、第２の通信装置２０は、第１の通信装置１０に対し、ＨＴＴＰレスポンスボディを示すＤＡＴＡフレームを送信する。第２の通信装置２０は、最終のＤＡＴＡフレームに、ＦＩＮＡＬフラグを付与する。Ｍ８１６において、第１の通信装置１０のＨＴＴＰ通信制御部３０７は、第２の通信装置２０から受信したＨＴＴＰレスポンス中のＨＴＴＰレスポンスヘッダに基づき、ＨＴＴＰレスポンスヘッダテーブルを更新する。
【００４７】
図９は、本実施形態に係る第１の通信装置１０が、第２の通信装置２０とＨＴＴＰ／２通信切断を行う際のメッセージの例を示すシーケンス図である。
【００４８】
Ｍ９０１において、第１の通信装置１０は、第２の通信装置２０に対し、ＨＴＴＰ／２におけるＧＯＡＷＡＹフレームを送信する。
【００４９】
Ｍ９０２（Ｍ９０３〜Ｍ９０５）において、第１の通信装置１０は、ＴＣＰ／ＩＰ通信制御部３０６とＨＴＴＰ通信制御部３０７の制御により、第２の通信装置２０とＴＣＰ通信切断を行う。Ｍ９０３において、第１の通信装置１０は、第２の通信装置２０にＴＣＰ切断要求（ＦＩＮフレーム）を送信する。Ｍ９０４において、第２の通信装置２０は、第１の通信装置１０にＴＣＰ切断要求応答（ＦＩＮ／ＡＣＫフレーム）を送信する。Ｍ９０５において、第１の通信装置１０は、第２の通信装置２０に応答（ＡＣＫフレーム）を送信する。
【００５０】
図１３は、図７のＭ７０５の処理の手順を示すフローチャートである。本実施形態に係る第１の通信装置１０は、第２の通信装置２０とＨＴＴＰ／２通信を開始する際に、ＨＴＴＰ／２通信におけるメッセージが多重暗号になり得るか否かを判定する。多重暗号になり得ると判定された場合、第１の通信装置１０は、ＴＬＳを使用しないＨＴＴＰ／２通信を開始する。
【００５１】
ステップＳ１３０１において、第１の通信装置１０のＴＣＰ／ＩＰ通信制御部３０６は、第２の通信装置２０とＴＣＰコネクションを確立する。本ステップは、Ｍ７０１に示したシーケンスである。ステップＳ１３０２において、多重暗号判定制御部３１１は、ＨＴＴＰ通信制御部３０７からこれから開始するＨＴＴＰ通信のバージョンの通知を受け、ＨＴＴＰ通信のバージョンがＨＴＴＰ／２か否かを判定する。ＨＴＴＰ通信のバージョンがＨＴＴＰ／２でない場合（Ｓ１３０２；ＮＯ）、処理はステップＳ１３０３に進む。ステップＳ１３０３において、多重暗号判定制御部３１１は、ＨＴＴＰ／２以外のＨＴＴＰ通信を開始することをＨＴＴＰ通信制御部３０７に通知する。そして、ＨＴＴＰ通信制御部３０７は、ＨＴＴＰ／２以外のＨＴＴＰ通信を開始する。一方、ＨＴＴＰ通信のバージョンがＨＴＴＰ／２であった場合（Ｓ１３０２；ＹＥＳ）、処理はステップＳ１３０４に進む。
【００５２】
ステップＳ１３０４において、多重暗号判定制御部３１１は、ＩＰ通信暗号処理部３１０からステップＳ１３０１のメッセージが暗号化されたか否かの通知を受け、ＩＰ通信暗号処理部３１０により該メッセージが暗号化されたか否かを判定する。該メッセージが暗号化されていなかった場合（Ｓ１３０４；ＮＯ）、処理はステップＳ１３０５に進む。一方、該メッセージが暗号化されていた場合（Ｓ１３０４；ＹＥＳ）、処理はステップＳ１３０６に進む。
【００５３】
ステップＳ１３０５において、多重暗号判定制御部３１１は、ＴＬＳを使用したＨＴＴＰ／２通信を開始することをＨＴＴＰ通信制御部３０７に通知する。ＨＴＴＰ通信制御部３０７は、ＴＣＰ通信暗号処理部３０９を制御し、ＴＬＳ通信接続（Ｍ７０６に示したシーケンス）およびＴＬＳを使用したＨＴＴＰ／２通信を開始する。ステップＳ１３０６において、多重暗号判定制御部３１１は、ＴＬＳを使用しないＨＴＴＰ／２通信を開始することをＨＴＴＰ通信制御部３０７に通知する。ＨＴＴＰ通信制御部３０７は、ＴＬＳを使用しないＨＴＴＰ／２通信を開始する。
【００５４】
Ｍ１３０６による通信の結果、第１の通信装置１０は、第２の通信装置２０からエラーメッセージ（ＲＳＴ＿ＳＴＲＥＡＭフレーム）が返ってくるか否かを判定する。第２の通信装置２０からエラーメッセージが返ってきた場合（Ｓ１３０７；ＹＥＳ）、第１の通信装置１０の多重暗号判定制御部３１１は、第２の通信装置２０がＴＬＳを使用しないＨＴＴＰ／２通信に対応していないと判断する。そして、処理はステップＳ１３０５に進む。一方、第２の通信装置２０からエラーメッセージが返ってこなかった場合（Ｓ１３０７；ＮＯ）、処理はステップＳ１３０８に進む。なお、本ステップは、図１３において、第１の通信装置１０が１つ目のリクエストを送信した際に、第２の通信装置２０から受信するレスポンスに対する判定である。
【００５５】
ステップＳ１３０８において、多重暗号判定制御部３１１は、ＴＬＳを使用しないＨＴＴＰ／２通信を継続することをＨＴＴＰ通信制御部３０７に通知する。これを受けて、ＨＴＴＰ通信制御部３０７は、ＴＬＳを使用しないＨＴＴＰ／２通信を継続する。
【００５６】
次に、図３のステップＳ１３０５、ステップＳ１３０６、ステップＳ１３０８に係る、ＨＴＴＰ／２通信を開始する際のＨＴＴＰ／２リクエスト送信を示す詳細なフローチャートを、図１４を参照して説明する。図１４は、本実施形態に係る第１の通信装置１０が、第２の通信装置２０にＨＴＴＰリクエストを送信し、第２の通信装置２０からＨＴＴＰレスポンスを受信する動作の手順を示すフローチャートである。
【００５７】
ステップＳ１４０１において、ＨＴＴＰ通信制御部３０７は、ＨＴＴＰリクエストヘッダを作成し、ＨＴＴＰヘッダテーブルを利用して、ＨＴＴＰリクエストヘッダを圧縮する。なお、本ステップにおいて、ＨＴＴＰ通信制御部３０７は、ＴＬＳを使用したＨＴＴＰ／２リクエストを行う場合、リクエストヘッダに含むプロトコルの識別子に、ＴＬＳ上のＨＴＴＰ／２通信であることを示す“ｈ２”を用いる。一方、ＴＬＳを使用しないＨＴＴＰ／２リクエストを行う場合、ＨＴＴＰ通信制御部３０７は、リクエストヘッダに含むプロトコルの識別子に、ＴＣＰ上のＨＴＴＰ／２通信であることを示す“ｈ２ｃ”を用いる。
【００５８】
ステップＳ１４０２において、ＨＴＴＰ通信制御部３０７は、ステップＳ１４０１において圧縮したＨＴＴＰリクエストヘッダを含めたＨＴＴＰリクエストを作成する。ステップＳ１４０３において、ＨＴＴＰ通信制御部３０７は、第２の通信装置２０にＨＥＡＤＥＲＳ＋ＰＲＩＯＲＩＴＹフレームを送信する。
【００５９】
ステップＳ１４０４において、ＨＴＴＰ通信制御部３０７は、ステップＳ１４０２において作成したＨＴＴＰリクエスト中にＨＴＴＰリクエストボディがあるか否かを判定する。ＨＴＴＰリクエストボディがある場合（Ｓ１４０４；ＹＥＳ）、処理はステップＳ１４０５に進む。一方、ＨＴＴＰリクエスト中にＨＴＴＰリクエストボディがない場合（Ｓ１４０４；ＮＯ）、処理はステップＳ１４０６に進む。ステップＳ１４０５において、ＨＴＴＰ通信制御部３０７は、第２の通信装置２０にＤＡＴＡフレームを送信する。このフレームには、ステップＳ１４０２において作成したＨＴＴＰリクエストボディの情報が含まれている。そして、ＨＴＴＰ通信制御部３０７は、ＨＴＴＰリクエストボディデータのサイズ分、ＤＡＴＡフレームを繰り返し送信する。そして、ＨＴＴＰ通信制御部３０７は、最後のＤＡＴＡフレームにＦＩＮＡＬフラグを設定する。
【００６０】
ステップＳ１４０６において、ＨＴＴＰ通信制御部３０７は、第２の通信装置２０へのＨＴＴＰリクエストの送信に成功した場合（Ｓ１４０６；ＹＥＳ）、処理はステップＳ１４０７に進む。一方、ＨＴＴＰ通信制御部３０７は、第２の通信装置２０へのＨＴＴＰリクエストの送信に失敗した場合（Ｓ１４０６；ＮＯ）、処理はステップＳ１４１４に進む。ステップＳ１４０７において、ＨＴＴＰ通信制御部３０７は、第２の通信装置２０からＨＴＴＰレスポンスのＨＥＡＤＥＲＳフレームを受信した場合（Ｓ１４０７；ＹＥＳ）、処理はステップＳ１４０８に進む。一方、ＨＴＴＰ通信制御部３０７は、第２の通信装置２０からＨＴＴＰレスポンスのＨＥＡＤＥＲＳフレームを受信しなかった場合（Ｓ１４０７；ＮＯ）、処理はステップＳ１４１４に進む。
【００６１】
ステップＳ１４０８において、ＨＴＴＰ通信制御部３０７は、受信したＨＥＡＤＥＲＳフレームに含まれる圧縮されたＨＴＴＰレスポンスヘッダを、ＨＴＴＰヘッダテーブルを利用して展開する。ステップＳ１４０９において、ＨＴＴＰ通信制御部３０７は、第２の通信装置２０から受信するＨＴＴＰレスポンスにＨＴＴＰレスポンスボディがあるか否かを判定する。ＨＴＴＰレスポンスにＨＴＴＰレスポンスボディがある場合（Ｓ１４０９；ＹＥＳ）、処理はステップＳ１４１０に進む。一方、ＨＴＴＰレスポンスにＨＴＴＰレスポンスボディがない場合（Ｓ１４０９；ＮＯ）、処理はステップＳ１４１１に進む。
【００６２】
ステップＳ１４１０において、ＨＴＴＰ通信制御部３０７は、第２の通信装置２０からＤＡＴＡフレームを受信する。このフレームには、ＨＴＴＰレスポンスボディの情報が含まれている。そして、ＨＴＴＰ通信制御部３０７は、ＨＴＴＰレスポンスボディデータのサイズ分、ＤＡＴＡフレームを繰り返し受信する。ステップＳ１４１１において、ＨＴＴＰ通信制御部３０７は、第２の通信装置２０からのＨＴＴＰレスポンスの受信に成功した場合（Ｓ１４１１；ＹＥＳ）、処理はステップＳ１４１２に進む。一方、ＨＴＴＰ通信制御部３０７は、第２の通信装置２０からのＨＴＴＰレスポンスの受信に失敗した場合（Ｓ１４１１；ＮＯ）、処理はステップＳ１４１４に進む。
【００６３】
ステップＳ１４１２において、ＨＴＴＰ通信制御部３０７は、ステップＳ１４０１、及びＳ１４０２において作成したＨＴＴＰリクエストヘッダに基づき、ＨＴＴＰリクエストヘッダテーブルを更新する。ステップＳ１４１３において、ＨＴＴＰ通信制御部３０７は、ステップＳ１４０７において受信したＨＴＴＰレスポンスヘッダに基づき、ＨＴＴＰレスポンスヘッダテーブルを更新する。そして、ＨＴＴＰ通信制御部３０７は、処理を終了する。ステップＳ１４１４において、ＨＴＴＰ通信制御部３０７は、第２の通信装置２０とのＨＴＴＰ通信に失敗したとして、処理を終了する。
【００６４】
以上、説明したように、第１の通信装置１０は、第２の通信装置２０とのＨＴＴＰ／２通信開始時において、開始するＨＴＴＰ／２通信が多重暗号化となり得るか否かを判定する。すなわち、第１の通信装置１０は、ＨＴＴＰ／２で対応が必須である暗号化手段（ＴＬＳ）以外の暗号化手段（ＩＰｓｅｃなど）を使用して、ＴＣＰ通信接続メッセージが暗号化されているか否かを確認する。ＨＴＴＰ／２通信が多重暗号化となり得ると判定された場合、第１の通信装置１０は、ＨＴＴＰ／２で対応が必須である暗号化手段を使用しないＨＴＴＰ／２通信を開始して、多重暗号化を回避する。これによって、暗号化に必要な処理時間を軽減し、通信時間を短縮した通信が可能となる。
【００６５】
また、図１３を参照して説明したように、第１の通信装置１０は、第２の通信装置２０とＨＴＴＰ／２通信を開始する場合、これから開始するＨＴＴＰ／２通信がＩＰｓｅｃとＴＬＳにより多重に暗号化されることを検出する。すなわち、第１の通信装置１０は、ＴＣＰ通信接続メッセージの暗号化の有無を確認する。それゆえ、通常の通信シーケンスに追加の通信を発生させることなく、多重暗号化の可能性を判定することが可能となる。これによって、通信時間を増加させずに多重暗号化の有無を判定することが可能となる。
【００６６】
また、図１３を参照して説明したように、第１の通信装置１０は、ＴＬＳを使用しないＨＴＴＰ／２通信を開始後、第２の通信装置２０からエラーメッセージが返ってきた場合、ＴＬＳ通信接続を行い、ＴＬＳを使用したＨＴＴＰ／２通信に切り替える。それゆえ、第１の通信装置１０は、第２の通信装置２０がＴＬＳを使用しないＨＴＴＰ／２通信に対応していない場合でも、ＴＬＳを使用しないＨＴＴＰ／２通信を試みることができる。更にその上、ＴＣＰ接続をそのまま使用してＴＬＳを使用したＨＴＴＰ／２通信を開始することが可能となる。これによって、ＴＣＰ接続を切断することなくＨＴＴＰ／２通信を継続させることが可能となる。
【００６７】
また、本実施形態では、多重暗号判定制御部３１１は、ＴＣＰ通信接続メッセージの暗号化の有無を確認することで、これから開始するＨＴＴＰ／２通信がＩＰｓｅｃとＴＬＳにより多重に暗号化されるか否かを判定する。例えば、第１の通信装置１０および第２の通信装置２０しか属していない専用ネットワークでの通信の場合、多重暗号判定制御部３１１は、ＨＴＴＰ／２で対応が必須である暗号化手段を使用しないＨＴＴＰ／２通信の開始を判定してもよい。
【００６８】
また、ＴＬＳを使用しないＨＴＴＰ／２通信の開始を判定する手法として、以下のものも考えられる。
【００６９】
すなわち、第一の手法として、まず、多重暗号判定制御部３１１は、ＨＴＴＰ／２通信におけるメッセージが多重暗号になり得ることを判定した上で、ＳＳＤＰを用いてネットワークを検索する。なお、ＳＳＤＰは、Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌの略である。そして、多重暗号判定制御部３１１は、第１の通信装置１０および第２の通信装置２０が同一ネットワークに属しており、かつネットワークに属する第３の通信装置３０を第１の通信装置１０が認証済みであることを確認した場合、該通信の開始を判定してもよい。これは第２実施形態にて説明する。
【００７０】
第二の手法として、まず、多重暗号判定制御部３１１は、ＨＴＴＰ／２通信におけるメッセージが多重暗号になり得ることを判定する。そして、多重暗号判定制御部３１１は、ＨＴＴＰ／２通信がＷｉ−Ｆｉ  Ｄｉｒｅｃｔを使用した通信であり、かつネットワークに属している第３の通信装置３０を第１の通信装置１０が認証済みであることを確認した場合、該通信の開始を判定してもよい。これは第３実施形態にて説明する。
【００７１】
第三の手法として、まず、多重暗号判定制御部３１１は、ＨＴＴＰ／２通信におけるメッセージが多重暗号になり得ることを判定する。そして、多重暗号判定制御部３１１は、ユーザアプリからＴＬＳを使用しない通信設定がされている場合、該通信の開始を判定してもよい。これは第４実施形態にて説明する。
【００７２】
（第２実施形態）
次に、第２実施形態について説明する。本実施形態において、第１実施形態における図、および図中と同じ要素に関しては説明を省略する。図４は、本実施形態に係る通信システムの構成例を示す図である。第３の通信装置３０は、第１の通信装置１０と同じく、本発明における通信装置であり、第１の通信装置１０と同様の構成を有する。
【００７３】
本実施形態において、第１の通信装置１０と、第２の通信装置２０とが、無線アクセスポイントを経由して、ＨＴＴＰ／２規格に則ったＨＴＴＰ通信接続を行う。また、第３の通信装置３０は、第１の通信装置１０および第２の通信装置２０と同一ネットワークに属しており、第１の通信装置１０および第２の通信装置２０および第３の通信装置３０は、それぞれ無線アクセスポイントを経由した通信が可能である。なお、本実施形態では、第１の通信装置１０と、第２の通信装置２０とが、無線アクセスポイントを経由して接続を行ったが、これに限らず、直接無線ＬＡＮ接続しても良い（第３実施形態）。
【００７４】
図１０は、本実施形態に係る第１の通信装置１０が、第２の通信装置２０との通信接続から通信切断までを行う際のメッセージの例を示すシーケンス図である。Ｍ１００１、Ｍ１００３、およびＭ１００４は、図５のＭ５０１、Ｍ５０３、およびＭ５０４に対応する。以下、図５との差分であるＭ１００２について説明する。
【００７５】
Ｍ１００２において、第１の通信装置１０は、ＴＣＰ／ＩＰ通信制御部３０６を制御し、第２の通信装置２０とＨＴＴＰ／２通信を開始するために、ＴＣＰ通信接続を行う。第１の通信装置１０の多重暗号判定制御部３１１は、本ＴＣＰ通信接続において、ＨＴＴＰ／２通信を開始した場合に多重暗号化され得ることを判定する。さらに、多重暗号判定制御部３１１は、第２の通信装置２０とのＨＴＴＰ／２通信開始前に、ＳＳＤＰを用いて、第１の通信装置１０および第２の通信装置２０が同一ネットワークに属しており、かつ同一ネットワークに第３の通信装置３０が属することを検知する。
【００７６】
多重暗号判定制御部３１１は、第２の通信装置２０とのＨＴＴＰ／２通信が多重暗号化され得る通信であることを判定する。その上で、多重暗号判定制御部３１１は、第１の通信装置１０および第２の通信装置２０が同一ネットワークに属しており、かつ同一ネットワークに属す第３の通信装置３０が認証済みである場合、ＴＬＳを使用しないＨＴＴＰ／２通信を開始することを決定する。多重暗号判定制御部３１１は、ＴＬＳを使用しないＨＴＴＰ／２通信を開始することをＨＴＴＰ通信制御部３０７に通知する。Ｍ１００２のシーケンスを示す詳細なフローチャートを図１５に示す。
【００７７】
なお、本実施形態では、ネットワークおよび通信装置の情報を取得するプロトコルとしてＳＳＤＰを用いたが、これに限らず、ＩＧＭＰやＭＬＤなど、ネットワーク情報およびネットワークに属す通信装置の情報を取得できる他のプロトコルでも良い。なお、ＧＭＰは、Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌの略であり、ＭＬＤは、Ｍｕｌｔｉｃａｓｔ  Ｌｉｓｔｅｎｅｒ  Ｄｉｓｃｏｖｅｒｙの略である。また、本実施形態では、第３の通信装置が１つだけ存在するネットワークを示したが、これに限らず、第３の通信装置が属していないネットワーク、または２つ以上の第３の通信装置が属すネットワークでも良い。
【００７８】
図１５は、本実施形態に係る第１の通信装置１０が、ネットワークに属している第３の通信装置３０の種別に依存して、ＴＬＳを使用しないＨＴＴＰ／２通信を開始する動作の手順を示すフローチャートである。該通信の開始は、第２の通信装置２０とＨＴＴＰ／２通信を開始する際に、多重暗号判定制御部３１１がＨＴＴＰ／２通信におけるメッセージが多重暗号になり得ることを判定することが前提となる。なお、本フローチャートは、第１実施形態の図１３に置き換わるものであり、図１３との差分はＳ１５０６およびＳ１５０７である。そのため、Ｓ１５０６およびＳ１５０７について説明する。
【００７９】
ステップＳ１５０６において、第１の通信装置１０の多重暗号判定制御部３１１は、ＳＳＤＰにおけるＭ‐ＳＥＡＲＣＨメッセージをネットワークにマルチキャスト送信し、同一ネットワークに属する通信装置からの応答メッセージを受信する。第１の通信装置１０の多重暗号判定制御部３１１は、本応答メッセージに基づき、第１の通信装置１０と第２の通信装置２０が同一のネットワークに属していることを判定する。第１の通信装置１０の多重暗号判定制御部３１１は、第１の通信装置１０と第２の通信装置２０が同一のネットワークに属していない場合（Ｓ１５０６；ＮＯ）、ステップＳ１５０５に進む。一方、第１の通信装置１０と第２の通信装置２０が同一のネットワークに属している場合（Ｓ１５０６；ＹＥＳ）、ステップ１５０７に進む。
【００８０】
ステップＳ１５０７において、第１の通信装置１０の多重暗号判定制御部３１１は、Ｓ１５０６において受信した応答メッセージから、第１の通信装置１０および第２の通信装置２０と同一のネットワークに属している第３の通信装置３０を検知する。そして、多重暗号判定制御部３１１は、第３の通信装置３０が、第１の通信装置１０により認証済みの機器であることを判定する。第１の通信装置１０の多重暗号判定制御部３１１は、第３の通信装置３０が認証済みの機器でない場合（Ｓ１５０７；ＹＥＳ）、処理はステップＳ１５０５に進む。一方、第３の通信装置３０が認証済みの機器である場合（Ｓ１５０７；ＮＯ）、処理はステップ１５０８に進む。
【００８１】
以上、説明したように、第１の通信装置１０は、第２の通信装置２０とのＨＴＴＰ／２通信開始時において、以下の条件が満たされていることを確認した場合に、ＨＴＴＰ／２で対応が必須である暗号化手段を使用しないＨＴＴＰ／２通信を開始する。すなわち、ＴＣＰ通信接続メッセージが暗号化されており、第１の通信装置１０および第２の通信装置２０が同一ネットワークに属し、該ネットワークに属する第３の通信装置３０を第１の通信装置１０が認証済みである、という条件が満たされた場合である。なお、該ＴＣＰ通信接続メッセージは、ＨＴＴＰ／２で対応が必須である暗号化手段以外の暗号化手段を使用して暗号化されていることが前提である。これにより、多重暗号化は回避され、また、暗号化に必要な処理時間が軽減され、通信時間を短縮した通信が可能となる。
【００８２】
（第３実施形態）
次に、第３実施形態について説明する。本実施形態において、第１実施形態における図、および図中と同じ要素に関しては説明を省略する。図１１は、本実施形態に係る第１の通信装置１０が、第２の通信装置２０との通信接続から通信切断までを行う際のメッセージの例を示すシーケンス図である。Ｍ１１０１、Ｍ１１０３、およびＭ１１０４は図５のＭ５０１、Ｍ５０３、およびＭ５０４に対応する。以下、図５との差分であるＭ１１０２について説明する。
【００８３】
Ｍ１１０２において、第１の通信装置１０は、ＴＣＰ／ＩＰ通信制御部３０６を制御し、第２の通信装置２０とＨＴＴＰ／２通信を開始するために、ＴＣＰ通信接続を行う。第１の通信装置１０の多重暗号判定制御部３１１は、本ＴＣＰ通信接続において、ＨＴＴＰ／２通信を開始した場合に多重暗号化され得ることを判定する。さらに、第１の通信装置１０の多重暗号判定制御部３１１は、無線ＬＡＮ通信制御部３０２からの通知を受け、第２の通信装置２０との通信が、Ｗｉ‐Ｆｉ  Ｄｉｒｅｃｔ通信であることを判定する。その上で、多重暗号判定制御部３１１は、第１の通信装置１０がＷｉ‐Ｆｉ  Ｄｉｒｅｃｔ通信で接続できる第３の通信装置３０が存在することを検知する。
【００８４】
多重暗号判定制御部３１１は、第２の通信装置２０とのＨＴＴＰ／２通信が多重暗号化され得る通信であることを判定する。その上で、多重暗号判定制御部３１１は、第２の通信装置２０との通信がＷｉ‐Ｆｉ  Ｄｉｒｅｃｔ通信であり、かつ同一ネットワークに属す第３の通信装置３０が認証済みである場合、ＴＬＳを使用しないＨＴＴＰ／２通信を開始することを決定する。多重暗号判定制御部３１１は、ＴＬＳを使用しないＨＴＴＰ／２通信を開始することをＨＴＴＰ通信制御部３０７に通知する。Ｍ１１０２のシーケンスを示す詳細なフローチャートを図１６に示す。なお、Ｗｉ‐Ｆｉ  Ｄｉｒｅｃｔ通信では、暗号方式として、例えばＡＥＳが利用される。
【００８５】
なお、本実施形態では、第１の通信装置１０と第２の通信装置２０が直接無線ＬＡＮ接続する方式としてＷｉ‐Ｆｉ  Ｄｉｒｅｃｔ通信を用いたが、これに限らず、その他の直接無線ＬＡＮ接続する通信方式でも良い。ピア・ツー・ピアの通信経路で確実に暗号化が施された方式であれば、同様の効果が得られる。また、本実施形態では、第３の通信装置が１つだけ存在するネットワークを示したが、これに限らず、第３の通信装置が属していないネットワーク、または２つ以上の第３の通信装置が属すネットワークでも良い。これは、セッション毎に異なる暗号鍵によって複数通信装置間で通信傍受を防止することができるのが理由である。また、危殆化した暗号アルゴリズム（ＲＣ４など）が利用される直接無線ＬＡＮ接続も存在する。その場合には、ＴＬＳを使用するＨＴＴＰ／２通信を開始することで安全性が確保される。
【００８６】
図１６は、本実施形態に係る第１の通信装置１０が、ネットワークに属している第３の通信装置３０の種別に依存して、ＴＬＳを使用しないＨＴＴＰ／２通信を開始する動作の手順を示すフローチャートである。第１の通信装置１０は、第２の通信装置２０とＨＴＴＰ／２通信を開始する際に、多重暗号判定制御部３１１が、ＨＴＴＰ／２通信におけるメッセージが多重暗号になり得ることを判定した上で、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔを使用した通信であることを確認する。なお、本フローチャートは、第１実施形態の図１３に置き換わるものであり、図１３との差分はＳ１６０６およびＳ１６０７である。そのため、Ｓ１６０６およびＳ１６０７について説明する。
【００８７】
ステップＳ１６０６において、第１の通信装置１０の多重暗号判定制御部３１１は、無線ＬＡＮ通信制御部３０２に対して、Ｓ１６０１のメッセージがＷｉ‐Ｆｉ  Ｄｉｒｅｃｔ通信により送信されたか否かを問い合わせる。無線ＬＡＮ通信制御部３０２は、サービス制御部３０８から制御されて、Ｗｉ‐Ｆｉ  Ｄｉｒｅｃｔ通信を開始している場合、Ｗｉ‐Ｆｉ  Ｄｉｒｅｃｔ通信を使用していることを多重暗号判定制御部３１１に通知する。第１の通信装置１０の多重暗号判定制御部３１１は、Ｗｉ‐Ｆｉ  Ｄｉｒｅｃｔ通信を使用していない場合（Ｓ１６０６；ＮＯ）、処理はステップＳ１５０５に進む。一方、Ｗｉ‐Ｆｉ  Ｄｉｒｅｃｔ通信を使用している場合（Ｓ１６０６；ＹＥＳ）、処理はステップ１６０７に進む。
【００８８】
ステップＳ１６０７において、第１の通信装置１０の多重暗号判定制御部３１１は、無線ＬＡＮ通信制御部３０２に対して、形成したＷｉ‐Ｆｉ  Ｄｉｒｅｃｔ通信グループに、第３の通信装置３０が属していないかを問い合わせる。無線ＬＡＮ通信制御部３０２は、該通信グループに第３の通信装置３０が属していた場合、第３の通信装置３０を認証済みであるかを多重暗号判定制御部３１１に通知する。多重暗号判定制御部３１１は、該通信グループに未認証の第３の通信装置３０が属している場合（Ｓ１６０７；ＹＥＳ）、処理はステップＳ１６０５に進む。一方、該通信グループに認証済みの第３の通信装置３０が属している場合（Ｓ１６０６；ＹＥＳ）、処理はステップ１６０８に進む。
【００８９】
以上、説明したように、第１の通信装置１０は、第２の通信装置２０とのＨＴＴＰ／２通信開始時において、以下の条件が満たされていることを確認した場合に、ＨＴＴＰ／２で対応が必須である暗号化手段を使用しないＨＴＴＰ／２通信を開始する。すなわち、ＴＣＰ通信接続メッセージが暗号化されており、かつＷｉ−Ｆｉ  Ｄｉｒｅｃｔを使用した通信であり、かつネットワークに属している第３の通信装置３０を第１の通信装置１０が認証済み、という条件が満たされた場合である。なお、該ＴＣＰ通信接続メッセージは、ＨＴＴＰ／２で対応が必須である暗号化手段以外の暗号化手段を使用して暗号化されていることが前提である。これにより、多重暗号化は回避され、また、暗号化に必要な処理時間が軽減され、通信時間を短縮した通信が可能となる。
【００９０】
（第４実施形態）
次に、第４実施形態について説明する。本実施形態において、第１実施形態における図、および図中と同じ要素に関しては説明を省略する。なお、本実施形態に係る通信システムの構成例を示す図は図１である。
【００９１】
図１２は、本実施形態に係る第１の通信装置１０が、第２の通信装置２０との通信接続から通信切断までを行う際のメッセージの例を示すシーケンス図である。Ｍ１２０１、Ｍ１２０３、およびＭ１２０４は図５のＭ５０１、Ｍ５０３、およびＭ５０４に対応する。以下、図５との差分であるＭ１２０２について説明する。
【００９２】
Ｍ１２０２において、第１の通信装置１０はＴＣＰ／ＩＰ通信制御部３０６を制御し、第２の通信装置２０とＨＴＴＰ／２通信を開始するために、ＴＣＰ通信接続を行う。第１の通信装置１０の多重暗号判定制御部３１１は、本ＴＣＰ通信接続において、ＨＴＴＰ／２通信を開始した場合に多重暗号化され得ることを判定する。さらに、第１の通信装置１０の多重暗号判定制御部３１１は、サービス制御部３０８にユーザアプリからＴＬＳを使用しない通信設定がされていないかを問い合わせる。
【００９３】
多重暗号判定制御部３１１は、第２の通信装置２０とのＨＴＴＰ／２通信が多重暗号化され得る通信であり、かつユーザアプリからＴＬＳを使用しない通信設定の通知を受けた場合、ＴＬＳを使用しないＨＴＴＰ／２通信を開始することを決定する。多重暗号判定制御部３１１は、ＴＬＳを使用しないＨＴＴＰ／２通信を開始することをＨＴＴＰ通信制御部３０７に通知する。Ｍ１２０２のシーケンスを示す詳細なフローチャートを図１７に示す。
【００９４】
図１７は、ユーザアプリからの通知に依存してＴＬＳを使用しないＨＴＴＰ／２通信を開始する動作の手順を示すフローチャートである。本実施形態に係る第１の通信装置１０は、第２の通信装置２０とＨＴＴＰ／２通信を開始する際に、多重暗号判定制御部３１１でＨＴＴＰ／２通信におけるメッセージが多重暗号になり得ることを判定する。なお、本フローチャートは、第１実施形態の図１３に置き換わるものであり、図１３との差分はＳ１７０６である。そのため、Ｓ１７０６について説明する。
【００９５】
ステップＳ１７０６において、第１の通信装置１０の多重暗号判定制御部３１１は、サービス制御部３０８に対し、ユーザアプリからＴＬＳを使用しない通信設定をされていないかを問い合わせる。多重暗号判定制御部３１１は、ＴＬＳを使用する通信設定となっている場合（Ｓ１７０６；ＮＯ）、処理はステップＳ１７０５に進む。一方、多重暗号判定制御部３１１は、ＴＬＳを使用しない通信設定となっている場合（Ｓ１７０６；ＹＥＳ）、処理はステップＳ１７０７に進む。
【００９６】
以上、説明したように、第１の通信装置１０は、以下の条件が満たされていることを確認した場合に、ＨＴＴＰ／２で対応が必須である暗号化手段を使用しないＨＴＴＰ／２通信を開始する。すなわち、ＴＣＰ通信接続メッセージが暗号化されており、かつ第１の通信装置１０がユーザアプリからＴＬＳを使用しない通信設定の通知を受けた、という条件が満たされた場合である。なお、該ＴＣＰ通信接続メッセージは、ＨＴＴＰ／２で対応が必須である暗号化手段以外の暗号化手段を使用して暗号化されていることが前提である。これにより、多重暗号化は回避され、また、暗号化に必要な処理時間が軽減され、通信時間を短縮した通信が可能となる。
【００９７】
このように、本発明によれば、ＨＴＴＰ／２通信において、クライアントが多重暗号となり得ることを検知し、ＨＴＴＰ／２で対応が必須である第一のメッセージ暗号化手段を使用しないＨＴＴＰ／２通信を開始することで、多重暗号化を回避することが可能である。これによって、ＨＴＴＰ／２通信において、第一のメッセージ暗号化手段により暗号通信を開始するための前処理と、本通信での暗号化処理とに掛かる時間を削減することができるため、通信時間を短縮することが可能となる。なお、上記においては、特定のプロトコルとしてＨＴＴＰ／２を用いて説明したが、上記実施形態が適用できるプロトコルであれば、他の通信プロトコルも利用可能である。例えば、ＨＴＴＰ／２の代わりにＳＰＤＹやＱＵＩＣを用いても良い。
【００９８】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９９】
１０  第１の通信装置、２０  第２の通信装置、３０  第３の通信装置、３０１  制御部、３０２  無線ＬＡＮ通信制御部、３０３  表示制御部、３０４  操作制御部、３０５  記憶制御部、３０６  ＴＣＰ／ＩＰ通信制御部、３０７  ＨＴＴＰ通信制御部、３０８  サービス制御部、３０９  ＴＣＰ通信暗号処理部、３１０  ＩＰ通信暗号処理部、３１１  多重暗号判定制御部
【図１】
2017011618.tif 000003
【図２】
2017011618.tif 000004
【図３】
2017011618.tif 000005
【図４】
2017011618.tif 000006
【図５】
2017011618.tif 000007
【図６】
2017011618.tif 000008
【図７】
2017011618.tif 000009
【図８】
2017011618.tif 000010
【図９】
2017011618.tif 000011
【図１０】
2017011618.tif 000012
【図１１】
2017011618.tif 000013
【図１２】
2017011618.tif 000014
【図１３】
2017011618.tif 000015
【図１４】
2017011618.tif 000016
【図１５】
2017011618.tif 000017
【図１６】
2017011618.tif 000018
【図１７】
2017011618.tif 000019