(57)【要約】      （修正有）【課題】データを提供される通信装置の処理煩雑性及び処理負荷を低減して、データを安全に通信できる通信システムを提供する。【解決手段】通信システム５は、第１の通信装置１、第２の通信装置２及び鍵管理装置を備える。第２の通信装置は、生成した乱数に基づく暗号鍵を用いて、所定のデータから暗号データを生成し、第２の通信装置の鍵を用いて前記乱数を暗号化して鍵情報データを生成し、鍵情報データ、第２の通信装置の識別情報及び暗号データを第１の通信装置に送信する。第１の通信装置は、受信した鍵情報データ、第２の通信装置の識別情報とを鍵管理装置へ送信し、鍵管理装置から受信した暗号鍵を用いて、暗号データを復号し、所定のデータを得る。鍵管理装置は、第２の通信装置の識別情報に対応する第２の通信装置の鍵を用いて、鍵情報データを復号して乱数を取得する。また、鍵管理装置は、取得した乱数に基づく暗号鍵を第１の通信装置に送信する。【選択図】図２
2018078592.tif 000002
【特許請求の範囲】
【請求項１】
第１の暗号鍵を備えた第１の通信装置、第２の暗号鍵を備えた第２の通信装置、及び前記第１の暗号鍵と前記第２の暗号鍵とを備えた鍵管理装置を備え、前記第２の通信装置が保持する所定のデータが前記第１の通信装置に提供される通信システムであって、
前記第２の通信装置は、
鍵情報データ、前記第２の通信装置の識別情報、及び暗号データを前記第１の通信装置に送信し、
前記第１の通信装置は、
前記第２の通信装置から、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを受信し、
前記鍵管理装置へ、受信された前記鍵情報データと前記第２の通信装置の識別情報とを送信し、
前記鍵管理装置は、
前記第１の通信装置から、前記鍵情報データ及び前記第２の通信装置の識別情報を受信し、
前記第２の通信装置の識別情報に対応する前記第２の暗号鍵を用いて、前記鍵情報データを復号して、前記第２の通信装置で生成された乱数を取得し、
前記第２の通信装置で生成され復号された前記乱数から一方向性関数を用いて一方向性セッション鍵を生成し、
前記一方向性セッション鍵を、前記第１の暗号鍵を用いて暗号化して、一方向性セッション鍵情報データを生成し、
生成された前記一方向性セッション鍵情報データを前記第１の通信装置に送信し、
前記第１の通信装置は、
前記鍵管理装置から前記一方向性セッション鍵情報データを受信し、
前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから前記一方向性セッション鍵を復号し、
復号された前記一方向性セッション鍵を用いて前記暗号データを復号し、前記第２の通信装置が保持する所定のデータを得る、
通信システム。
【請求項２】
前記第１の通信装置は、
前記第１の通信装置の識別情報を前記鍵管理装置へ送信し、前記鍵管理装置により前記第１の通信装置が正当な端末であることが認証された場合には、前記鍵情報データと前記第２の通信装置の識別情報とを送信し、前記認証が失敗した場合には、前記鍵情報データと前記第２の通信装置の識別情報とを送信せずに動作を終了する、
請求項１に記載の通信システム。
【請求項３】
前記第１の通信装置及び前記第２の通信装置は、通信端末であり、
前記第２の通信装置は、データ提供サーバから前記所定のデータを取得する、
請求項１又は２に記載の通信システム。
【請求項４】
前記第１の通信装置及び前記第２の通信装置は、相互に近距離無線通信する、
請求項１〜３のうちいずれか一項に記載の通信システム。
【請求項５】
第１の暗号鍵を備えた第１の通信装置、第２の暗号鍵を備えた第２の通信装置、及び前記第１の暗号鍵と前記第２の暗号鍵とを備えた鍵管理装置を備え、前記第２の通信装置が保持する所定のデータが前記第１の通信装置に提供される通信システムであって、
前記第２の通信装置は、
乱数を生成し、
前記乱数から一方向性関数を用いて一方向性セッション鍵を生成し、
前記一方向性セッション鍵を用いて、前記所定のデータを暗号化して暗号データを生成し、前記第２の暗号鍵を用いて前記乱数を暗号化して鍵情報データを生成し、
前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを前記第１の通信装置に送信し、
前記第１の通信装置は、
前記第２の通信装置から、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを受信し、
前記鍵管理装置へ、受信された前記鍵情報データと前記第２の通信装置の識別情報とを送信し、
前記鍵管理装置は、
前記第１の通信装置から、前記鍵情報データ及び前記第２の通信装置の識別情報を受信し、
前記第２の通信装置の識別情報に対応する前記第２の暗号鍵を用いて、前記鍵情報データを復号して、前記第２の通信装置で生成された前記乱数を取得し、
前記第２の通信装置で生成され復号された前記乱数から前記一方向性関数を用いて前記一方向性セッション鍵を生成し、
前記一方向性セッション鍵を、前記第１の暗号鍵を用いて暗号化して、一方向性セッション鍵情報データを生成し、
生成された前記一方向性セッション鍵情報データを前記第１の通信装置に送信し、
前記第１の通信装置は、
前記鍵管理装置から前記一方向性セッション鍵情報データを受信し、
前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから前記一方向性セッション鍵を復号し、
復号された前記一方向性セッション鍵を用いて、前記暗号データを復号し、前記所定のデータを得る、
通信システム。
【請求項６】
前記第１の通信装置は、
前記第１の通信装置の識別情報を前記鍵管理装置へ送信し、前記鍵管理装置により前記第１の通信装置が正当な端末であることが認証された場合には、前記鍵情報データと前記第２の通信装置の識別情報とを送信し、前記認証が失敗した場合には、前記鍵情報データと前記第２の通信装置の識別情報とを送信せずに動作を終了する、
請求項５に記載の通信システム。
【請求項７】
前記第１の通信装置及び前記第２の通信装置は、通信端末であり、
前記第２の通信装置は、データ提供サーバから前記所定のデータを取得する、
請求項５又は６に記載の通信システム。
【請求項８】
前記第１の通信装置及び前記第２の通信装置は、相互に近距離無線通信する、
請求項５〜７のうちいずれか一項に記載の通信システム。
【請求項９】
第１の暗号鍵を備え、他の通信装置から所定のデータを提供される通信装置であって、
前記他の通信装置から、鍵情報データと、前記他の通信装置の識別情報と、暗号データと、を受信し、鍵管理装置へ、前記受信された鍵情報データ及び前記他の通信装置の識別情報を送信し、前記鍵管理装置から、一方向性セッション鍵情報データを受信する通信部と、
前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから乱数が類推困難な一方向性セッション鍵を復号し、復号された前記一方向性セッション鍵を用いて、前記暗号データを復号し、前記他の通信装置が保持する所定のデータを得るプロセッサと、を備える、
通信装置。
【請求項１０】
前記通信部は、
前記通信装置の識別情報を前記鍵管理装置へ送信し、前記鍵管理装置により前記通信装置が正当な端末であることが認証された場合には、前記鍵情報データと前記他の通信装置の識別情報とを送信し、前記認証が失敗した場合には、前記鍵情報データと前記他の通信装置の識別情報とを送信せずに動作を終了する、
請求項９に記載の通信装置。
【請求項１１】
前記通信部は、
前記他の通信装置と相互に近距離無線通信する、
請求項９又は１０に記載の通信装置。
【請求項１２】
第１の暗号鍵を備え、他の通信装置から所定のデータを提供される通信装置であって、
前記他の通信装置から、第２の暗号鍵を用いて乱数が暗号化された鍵情報データと、前記他の通信装置の識別情報と、前記乱数から一方向性関数を用いて生成された一方向性セッション鍵を用いて前記所定のデータが暗号化された暗号データと、を受信し、鍵管理装置へ、前記受信された鍵情報データ及び前記他の通信装置の識別情報を送信し、前記鍵管理装置から、前記第１の暗号鍵を用いて前記一方向性セッション鍵が暗号化された一方向性セッション鍵情報データを受信する通信部と、
前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから前記一方向性セッション鍵を復号し、復号された前記一方向性セッション鍵を用いて、前記暗号データを復号し、前記所定のデータを得るプロセッサと、を備える、
通信装置。
【請求項１３】
暗号鍵を備え、所定のデータを他の通信装置に提供する通信装置であって、
乱数を生成し、
前記乱数から一方向性関数を用いて一方向性セッション鍵を生成し、
前記一方向性セッション鍵を用いて、所定のデータを暗号化して暗号データを生成し、前記暗号鍵を用いて前記乱数を暗号化して鍵情報データを生成するプロセッサと、
前記鍵情報データ、当該通信装置の識別情報、及び前記暗号データを前記他の通信装置に送信する通信部と、を備える、
通信装置。
【請求項１４】
第１の暗号鍵を備えた第１の通信装置にネットワークを介して接続される鍵管理装置であって、
前記第１の通信装置から、第２の通信装置により第２の暗号鍵を用いて乱数が暗号化された鍵情報データと、第２の通信装置の識別情報と、を受信する通信部と、
前記第２の通信装置の識別情報に対応する前記第２の暗号鍵を用いて、前記鍵情報データを復号して前記乱数を取得し、
復号された前記乱数から一方向性関数を用いて一方向性セッション鍵を生成し、
前記一方向性セッション鍵を、前記第１の暗号鍵を用いて暗号化して、一方向性セッション鍵情報データを生成するプロセッサと、を備え、
前記通信部は、
前記一方向性セッション鍵情報データを前記第１の通信装置に送信する、
鍵管理装置。
【請求項１５】
第１の暗号鍵を備えた第１の通信装置、第２の暗号鍵を備えた第２の通信装置、及び前記第１の暗号鍵と前記第２の暗号鍵とを備えた鍵管理装置を備える通信システムにおける通信方法であって、
前記第２の通信装置において、鍵情報データ、前記第２の通信装置の識別情報、及び暗号データを、前記第１の通信装置に送信するステップと、
前記第１の通信装置において、前記第２の通信装置から、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを受信するステップと、
前記第１の通信装置において、前記鍵情報データと前記第２の通信装置の識別情報とを、前記鍵管理装置へ送信するステップと、
前記鍵管理装置において、前記第１の通信装置から、前記鍵情報データ及び前記第２の通信装置の識別情報を受信するステップと、
前記鍵管理装置において、前記第２の通信装置の識別情報に対応する前記第２の暗号鍵を用いて、前記鍵情報データを復号して、前記第２の通信装置で生成された乱数を取得するステップと、
前記鍵管理装置において、前記第２の通信装置で生成され前記復号された前記乱数から一方向性関数を用いて一方向性セッション鍵を生成するステップと、
前記鍵管理装置において、前記生成された前記一方向性セッション鍵を、前記第１の暗号鍵を用いて暗号化して、一方向性セッション鍵情報データを生成するステップと、
前記鍵管理装置において、前記暗号化された一方向性セッション鍵情報データを、前記第１の通信装置に送信するステップと、
前記第１の通信装置において、前記鍵管理装置から前記一方向性セッション鍵情報データを受信するステップと、
前記第１の通信装置において、前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから前記一方向性セッション鍵を復号するステップと、
前記第１の通信装置において、復号された前記一方向性セッション鍵を用いて、前記暗号データを復号し、所定のデータを得るステップと、を備える、
通信方法。
【請求項１６】
第１の暗号鍵を備えた第１の通信装置、第２の暗号鍵を備えた第２の通信装置、及び前記第１の暗号鍵と前記第２の暗号鍵とを備えた鍵管理装置を備える通信システムにおける通信方法であって、
前記第２の通信装置において、乱数を生成するステップと、
前記乱数から一方向性関数を用いて一方向性セッション鍵を生成するステップと、
前記第２の通信装置において、前記一方向性セッション鍵を用いて、所定のデータを暗号化して暗号データを生成するステップと、
前記第２の通信装置において、前記第２の暗号鍵を用いて、前記乱数を暗号化して鍵情報データを生成するステップと、
前記第２の通信装置において、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを、前記第１の通信装置に送信するステップと、
前記第１の通信装置において、前記第２の通信装置から、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを受信するステップと、
前記第１の通信装置において、前記鍵情報データと前記第２の通信装置の識別情報とを、前記鍵管理装置へ送信するステップと、
前記鍵管理装置において、前記第１の通信装置から、前記鍵情報データ及び前記第２の通信装置の識別情報を受信するステップと、
前記鍵管理装置において、前記第２の通信装置の識別情報に対応する前記第２の暗号鍵を用いて、前記鍵情報データを復号して、前記第２の通信装置で生成された前記乱数を取得するステップと、
前記鍵管理装置において、前記第２の通信装置で生成され復号された前記乱数から前記一方向性関数を用いて前記一方向性セッション鍵を生成するステップと、
前記鍵管理装置において、前記生成された前記一方向性セッション鍵を、前記第１の暗号鍵を用いて暗号化して、一方向性セッション鍵情報データを生成するステップと、
前記鍵管理装置において、前記暗号化された一方向性セッション鍵情報データを、前記第１の通信装置に送信するステップと、
前記第１の通信装置において、前記鍵管理装置から前記一方向性セッション鍵情報データを受信するステップと、
前記第１の通信装置において、前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから前記一方向性セッション鍵を復号するステップと、
前記第１の通信装置において、復号された前記一方向性セッション鍵を用いて、前記暗号データを復号し、前記所定のデータを得るステップと、を備える、
通信方法。
【請求項１７】
前記第１の通信装置において、前記第１の通信装置の識別情報を前記鍵管理装置へ送信し、前記鍵管理装置により前記第１の通信装置が正当な端末であることが認証された場合には、前記鍵情報データと前記第２の通信装置の識別情報とを送信し、前記認証が失敗した場合には、前記鍵情報データと前記第２の通信装置の識別情報とを送信せずに動作を終了するステップと、をさらに備える、
請求項１５又は１６に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信装置、鍵管理装置、及び通信方法に関する。
【背景技術】
【０００２】
従来、複数の通信装置間で認証するための認証方法として、ＫＤＣ（Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｃｅｎｔｅｒ）を用いた認証方法が知られている。また、従来の認証として、ＫＤＣを用いた認証が拡張されたＫｅｒｂｅｒｏｓ認証が知られている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｃ.  Ｎｅｕｍａｎ，  Ｔ.  Ｙｕ，  Ｓ.  Ｈａｒｔｍａｎ，  Ｋ.  Ｒａｅｂｕｒｎ  「Ｔｈｅ  Ｋｅｒｂｅｒｏｓ  Ｎｅｔｗｏｒｋ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ  （Ｖ５）」，Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ，Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ：  ４１２０，Ｊｕｌｙ  ２００５
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１の技術では、複数の通信装置間での通信に用いられる暗号鍵を取得する場合、データを提供される通信装置における処理が煩雑となり、この通信装置の処理負荷が増大することがあった。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、データを提供される通信装置の処理の煩雑性及び処理負荷を低減して、データを安全に通信できる通信システム、通信装置、鍵管理装置、及び通信方法を提供する。
【課題を解決するための手段】
【０００６】
本発明は、第１の暗号鍵を備えた第１の通信装置、第２の暗号鍵を備えた第２の通信装置、及び前記第１の暗号鍵と前記第２の暗号鍵とを備えた鍵管理装置を備え、前記第２の通信装置が保持する所定のデータが前記第１の通信装置に提供される通信システムであって、前記第２の通信装置は、鍵情報データ、前記第２の通信装置の識別情報、及び暗号データを前記第１の通信装置に送信し、前記第１の通信装置は、前記第２の通信装置から、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを受信し、前記鍵管理装置へ、受信された前記鍵情報データと前記第２の通信装置の識別情報とを送信し、前記鍵管理装置は、前記第１の通信装置から、前記鍵情報データ及び前記第２の通信装置の識別情報を受信し、前記第２の通信装置の識別情報に対応する前記第２の暗号鍵を用いて、前記鍵情報データを復号して、前記第２の通信装置で生成された乱数を取得し、前記第２の通信装置で生成され復号された前記乱数から一方向性関数を用いて一方向性セッション鍵を生成し、前記一方向性セッション鍵を、前記第１の暗号鍵を用いて暗号化して、一方向性セッション鍵情報データを生成し、生成された前記一方向性セッション鍵情報データを前記第１の通信装置に送信し、前記第１の通信装置は、前記鍵管理装置から前記一方向性セッション鍵情報データを受信し、前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから前記一方向性セッション鍵を復号し、復号された前記一方向性セッション鍵を用いて前記暗号データを復号し、前記第２の通信装置が保持する所定のデータを得る、通信システムを提供する。
【０００７】
また、本発明は、第１の暗号鍵を備えた第１の通信装置、第２の暗号鍵を備えた第２の通信装置、及び前記第１の暗号鍵と前記第２の暗号鍵とを備えた鍵管理装置を備え、前記第２の通信装置が保持する所定のデータが前記第１の通信装置に提供される通信システムであって、前記第２の通信装置は、乱数を生成し、前記乱数から一方向性関数を用いて一方向性セッション鍵を生成し、前記一方向性セッション鍵を用いて、前記所定のデータを暗号化して暗号データを生成し、前記第２の暗号鍵を用いて前記乱数を暗号化して鍵情報データを生成し、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを前記第１の通信装置に送信し、前記第１の通信装置は、前記第２の通信装置から、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを受信し、前記鍵管理装置へ、受信された前記鍵情報データと前記第２の通信装置の識別情報とを送信し、前記鍵管理装置は、前記第１の通信装置から、前記鍵情報データ及び前記第２の通信装置の識別情報を受信し、前記第２の通信装置の識別情報に対応する前記第２の暗号鍵を用いて、前記鍵情報データを復号して、前記第２の通信装置で生成された前記乱数を取得し、前記第２の通信装置で生成され復号された前記乱数から前記一方向性関数を用いて前記一方向性セッション鍵を生成し、前記一方向性セッション鍵を、前記第１の暗号鍵を用いて暗号化して、一方向性セッション鍵情報データを生成し、生成された前記一方向性セッション鍵情報データを前記第１の通信装置に送信し、前記第１の通信装置は、前記鍵管理装置から前記一方向性セッション鍵情報データを受信し、前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから前記一方向性セッション鍵を復号し、復号された前記一方向性セッション鍵を用いて、前記暗号データを復号し、前記所定のデータを得る、通信システムを提供する。
【０００８】
また、本発明は、第１の暗号鍵を備え、他の通信装置から所定のデータを提供される通信装置であって、前記他の通信装置から、鍵情報データと、前記他の通信装置の識別情報と、暗号データと、を受信し、鍵管理装置へ、前記受信された鍵情報データ及び前記他の通信装置の識別情報を送信し、前記鍵管理装置から、一方向性セッション鍵情報データを受信する通信部と、前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから乱数が類推困難な一方向性セッション鍵を復号し、復号された前記一方向性セッション鍵を用いて、前記暗号データを復号し、前記他の通信装置が保持する所定のデータを得るプロセッサと、を備える、通信装置を提供する。
【０００９】
また、本発明は、第１の暗号鍵を備え、他の通信装置から所定のデータを提供される通信装置であって、前記他の通信装置から、第２の暗号鍵を用いて乱数が暗号化された鍵情報データと、前記他の通信装置の識別情報と、前記乱数から一方向性関数を用いて生成された一方向性セッション鍵を用いて前記所定のデータが暗号化された暗号データと、を受信し、鍵管理装置へ、前記受信された鍵情報データ及び前記他の通信装置の識別情報を送信し、前記鍵管理装置から、前記第１の暗号鍵を用いて前記一方向性セッション鍵が暗号化された一方向性セッション鍵情報データを受信する通信部と、前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから前記一方向性セッション鍵を復号し、復号された前記一方向性セッション鍵を用いて、前記暗号データを復号し、前記所定のデータを得るプロセッサと、を備える、通信装置を提供する。
【００１０】
また、本発明は、暗号鍵を備え、所定のデータを他の通信装置に提供する通信装置であって、乱数を生成し、前記乱数から一方向性関数を用いて一方向性セッション鍵を生成し、前記一方向性セッション鍵を用いて、所定のデータを暗号化して暗号データを生成し、前記暗号鍵を用いて前記乱数を暗号化して鍵情報データを生成するプロセッサと、前記鍵情報データ、当該通信装置の識別情報、及び前記暗号データを前記他の通信装置に送信する通信部と、を備える、通信装置を提供する。
【００１１】
また、本発明は、第１の暗号鍵を備えた第１の通信装置にネットワークを介して接続される鍵管理装置であって、前記第１の通信装置から、第２の通信装置により第２の暗号鍵を用いて乱数が暗号化された鍵情報データと、第２の通信装置の識別情報と、を受信する通信部と、前記第２の通信装置の識別情報に対応する前記第２の暗号鍵を用いて、前記鍵情報データを復号して前記乱数を取得し、復号された前記乱数から一方向性関数を用いて一方向性セッション鍵を生成し、前記一方向性セッション鍵を、前記第１の暗号鍵を用いて暗号化して、一方向性セッション鍵情報データを生成するプロセッサと、を備え、前記通信部は、前記一方向性セッション鍵情報データを前記第１の通信装置に送信する、鍵管理装置を提供する。
【００１２】
また、本発明は、第１の暗号鍵を備えた第１の通信装置、第２の暗号鍵を備えた第２の通信装置、及び前記第１の暗号鍵と前記第２の暗号鍵とを備えた鍵管理装置を備える通信システムにおける通信方法であって、前記第２の通信装置において、鍵情報データ、前記第２の通信装置の識別情報、及び暗号データを、前記第１の通信装置に送信するステップと、前記第１の通信装置において、前記第２の通信装置から、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを受信するステップと、前記第１の通信装置において、前記鍵情報データと前記第２の通信装置の識別情報とを、前記鍵管理装置へ送信するステップと、前記鍵管理装置において、前記第１の通信装置から、前記鍵情報データ及び前記第２の通信装置の識別情報を受信するステップと、前記鍵管理装置において、前記第２の通信装置の識別情報に対応する前記第２の暗号鍵を用いて、前記鍵情報データを復号して、前記第２の通信装置で生成された乱数を取得するステップと、前記鍵管理装置において、前記第２の通信装置で生成され前記復号された前記乱数から一方向性関数を用いて一方向性セッション鍵を生成するステップと、前記鍵管理装置において、前記生成された前記一方向性セッション鍵を、前記第１の暗号鍵を用いて暗号化して、一方向性セッション鍵情報データを生成するステップと、前記鍵管理装置において、前記暗号化された一方向性セッション鍵情報データを、前記第１の通信装置に送信するステップと、前記第１の通信装置において、前記鍵管理装置から前記一方向性セッション鍵情報データを受信するステップと、前記第１の通信装置において、前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから前記一方向性セッション鍵を復号するステップと、前記第１の通信装置において、復号された前記一方向性セッション鍵を用いて、前記暗号データを復号し、所定のデータを得るステップと、を備える、通信方法を提供する。
【００１３】
また、本発明は、第１の暗号鍵を備えた第１の通信装置、第２の暗号鍵を備えた第２の通信装置、及び前記第１の暗号鍵と前記第２の暗号鍵とを備えた鍵管理装置を備える通信システムにおける通信方法であって、前記第２の通信装置において、乱数を生成するステップと、前記乱数から一方向性関数を用いて一方向性セッション鍵を生成するステップと、前記第２の通信装置において、前記一方向性セッション鍵を用いて、所定のデータを暗号化して暗号データを生成するステップと、前記第２の通信装置において、前記第２の暗号鍵を用いて、前記乱数を暗号化して鍵情報データを生成するステップと、前記第２の通信装置において、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを、前記第１の通信装置に送信するステップと、前記第１の通信装置において、前記第２の通信装置から、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを受信するステップと、前記第１の通信装置において、前記鍵情報データと前記第２の通信装置の識別情報とを、前記鍵管理装置へ送信するステップと、前記鍵管理装置において、前記第１の通信装置から、前記鍵情報データ及び前記第２の通信装置の識別情報を受信するステップと、前記鍵管理装置において、前記第２の通信装置の識別情報に対応する前記第２の暗号鍵を用いて、前記鍵情報データを復号して、前記第２の通信装置で生成された前記乱数を取得するステップと、前記鍵管理装置において、前記第２の通信装置で生成され復号された前記乱数から前記一方向性関数を用いて前記一方向性セッション鍵を生成するステップと、前記鍵管理装置において、前記生成された前記一方向性セッション鍵を、前記第１の暗号鍵を用いて暗号化して、一方向性セッション鍵情報データを生成するステップと、前記鍵管理装置において、前記暗号化された一方向性セッション鍵情報データを、前記第１の通信装置に送信するステップと、前記第１の通信装置において、前記鍵管理装置から前記一方向性セッション鍵情報データを受信するステップと、前記第１の通信装置において、前記第１の暗号鍵を用いて、受信された前記一方向性セッション鍵情報データから前記一方向性セッション鍵を復号するステップと、前記第１の通信装置において、復号された前記一方向性セッション鍵を用いて、前記暗号データを復号し、前記所定のデータを得るステップと、を備える、通信方法を提供する。
【発明の効果】
【００１４】
本発明によれば、データを提供される通信装置の処理の煩雑性及び処理負荷を低減して、データを安全に通信できる。
【図面の簡単な説明】
【００１５】
【図１】実施形態における通信システムの概略構成例を示すブロック図
【図２】実施形態における通信システムの構成例を示すブロック図
【図３】（Ａ）実施形態におけるサービス被提供端末による共通鍵を用いた復号の一例を説明するための模式図、（Ｂ）実施形態におけるサービス提供端末による共通鍵を用いた暗号化の一例を説明するための模式図
【図４】実施形態における通信システムによる動作例を示すシーケンス図
【図５】図４に示した動作例の流れを通信システムの構成を用いて説明するための模式図
【図６】実施形態におけるサービス提供端末の動作手順の一例を示すフローチャート
【図７】実施形態におけるサービス被提供端末の動作手順の一例を示すフローチャート
【図８】実施形態におけるサーバ装置の動作手順の一例を示すフローチャート
【図９】変形例における通信システムによる動作例を示すシーケンス図
【図１０】ＫＤＣを用いた共通鍵暗号方式で通信する場合の通信手順を示すシーケンス図
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、図面を用いて説明する。
【００１７】
（本発明の一形態を得るに至った経緯）
図１０は、上述したＫＤＣ又はＫｅｒｂｅｒｏｓ認証を用いて共通鍵暗号方式で通信する場合の通信手順を示すシーケンス図である。図１０では、ＫＤＣ８４、端末８２、及びサーバ装置８１がネットワークを介して接続された通信システム８０を想定する。
【００１８】
サーバ装置８１は、サービス（例えばコンテンツデータ）を提供する。端末８２は、サーバ装置８１によるサービスを提供される。ＫＤＣ８４は、サーバ装置８１と端末８２とが通信するためのチケット（端末用チケット、サーバ用チケット）を生成し、サーバ装置８１と端末８２とに発行する。
【００１９】
ＫＤＣ８４は、サーバ装置８１との間で共有する共通鍵（サーバ装置８１の鍵ともいう）、及び、端末８２との間で共有する共通鍵（端末８２の鍵ともいう）を管理する。端末８２は、ＫＤＣ８４との間で共有する共通鍵（端末８２の鍵）を保持する。サーバ装置８１は、ＫＤＣ８４との間で共有する共通鍵（サーバ装置８１の鍵）を保持する。
【００２０】
端末８２は、任意のサービスの提供を受ける場合、ＫＤＣ８４に対し、ネットワークを介してチケットを要求する（Ｔ１０１）。ＫＤＣ８４は、チケットの要求を受け取ると、乱数Ｒを生成する（Ｔ１０２）。
【００２１】
ＫＤＣ８４は、生成された乱数Ｒをサーバ装置８１の鍵で暗号化し、サーバ用チケットを生成する（Ｔ１０３）。ＫＤＣ８４は、生成された乱数Ｒを端末８２の鍵で暗号化し、端末用チケットを生成する（Ｔ１０３）。チケットは、例えば、暗号化された乱数Ｒ、チケットが生成された日時を示すタイムスタンプ、チケットの有効期限の情報を含む。
【００２２】
ＫＤＣ８４は、サーバ用チケット及び端末用チケットを、ネットワークを介して端末８２に送信する（Ｔ１０４）。端末８２は、端末用チケットをＫＤＣ８４から受信し、端末用チケットを端末８２の鍵で復号し、乱数Ｒを取得する（Ｔ１０５）。端末８２は、サーバ用チケットを、ネットワークを介してサーバ装置８１に送信する（Ｔ１０６）。
【００２３】
サーバ装置８１は、サーバ用チケットを端末８２から受信し、サーバ用チケットをサーバ装置８１の鍵で復号し、乱数Ｒを取得する（Ｔ１０７）。端末８２及びサーバ装置８１は、乱数Ｒを端末８２とサーバ装置８１との共通鍵として、ネットワークを介して共通鍵暗号方式で通信する（Ｔ１０８）。
【００２４】
図１０に示した通信手順では、サービスを提供される端末８２が、ＫＤＣ８４にチケットの発行を要求し、取得したチケットを提供するサーバ装置８１に送信し、サーバ装置８１との間で暗号通信する。
【００２５】
つまり、端末８２は、サーバ装置８１と通信するために、先にＫＤＣ８４と通信しなければならない。これは、サーバ装置８１の所有者がサーバ装置８１内のコンテンツデータを、端末８２の所有者に渡したいときに、端末８２の所有者が、先にＫＤＣ８４と通信しなければならないことを意味する。サーバ装置８１の所有者にとって、端末８２とＫＤＣ８４との通信完了を待つのは利便性に欠ける。
【００２６】
また、端末８２とＫＤＣ８４との間のネットワーク環境が悪く、端末８２とＫＤＣ８４との間で通信不能な場合、コンテンツデータの転送自体が不能となる。ネットワーク環境が悪い場合とは、例えば、ＫＤＣ８４が偶然にダウン（動作停止）している場合、端末８２の配置場所の無線通信状況が悪い場合、を含む。
【００２７】
また、図１０に示した通信手順では、端末８２は、ＫＤＣ８４に対して、通信する相手（サーバ装置８１）を知らせるために、別途、サーバ装置８１のＩＤを取得しなければならず、処理が煩雑になる。
【００２８】
以下、データを提供される通信装置の処理の煩雑性及び処理負荷を低減して、データを安全に通信できる通信システム、通信装置、鍵管理装置、及び通信方法について説明する。
【００２９】
以下の実施形態の通信システムは、例えば、共通鍵暗号方式を用いて暗号通信する通信システムに適用される。
【００３０】
（実施形態）
図１は、実施形態における通信システム５の概略構成例を示すブロック図である。通信システム５は、サービス（例えば所定のデータ（例えばコンテンツデータ））を提供される端末１、サービスを提供する端末２、及びサーバ装置４を備える。つまり、端末１は、サービス被提供端末の一例であり、端末２は、サービス提供端末の一例である。
【００３１】
端末１，２は、例えば、ユーザによってそれぞれ所持される通信端末（例えばスマートフォン）である。サーバ装置４は、鍵発行（鍵管理）サーバであり、サーバ装置４と端末１，２間で通信するための鍵（例えばセッション鍵）を生成し、端末１，２に対して発行する。端末１は、第１の通信装置の一例である。端末２は、第２の通信装置の一例である。サーバ装置４は、鍵管理装置の一例である。
【００３２】
サーバ装置４は、端末Ｎ（端末１，２，・・・）とサーバ装置４との間で共有する共通鍵（端末Ｎの鍵ともいう）の鍵情報を管理する。端末は、例えば多数あり、共通鍵が多数であってもよい。例えば、サーバ装置４は、端末１の鍵及び端末２の鍵を管理する。
【００３３】
端末２は、例えば、放送局やコンテンツ配信サーバからコンテンツデータをダウンロードし、保持する。端末１は、例えば、端末２がダウンロードし暗号化したコンテンツデータを、端末２から受け取り、復号する。コンテンツ配信サーバは、データ提供サーバの一例である。
【００３４】
図２は、通信システム５の構成例を示すブロック図である。
【００３５】
端末１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）／ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）部１１、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４、及びＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｌａｙｅｒ）／ＰＨＹ（Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ）部１８、を含んで構成される。
【００３６】
ＣＰＵ／ＲＡＭ部１１は、端末１の全体の動作を制御し、認証部１２及び復号処理部１３としての機能を有する。認証部１２は、例えば公知の認証方法により、サーバ装置４との認証に係る処理を行う。認証法は、例えば公知の認証方法を採用できる。復号処理部１３は、端末１の鍵で暗号化されたデータ（例えば後述するセッション鍵情報データ）や端末２の鍵で暗号化されたデータを、復号する。セッション鍵は、端末１，２間で確立されるセッションを介した通信に用いられる端末１，２の共通鍵であり、暗号鍵の一例である。復号処理部１３は、第２の復号処理部の一例である。
【００３７】
ＨＤＤ１４は、各種の情報、データを記憶し、共通鍵記憶部１５、データ記憶部１６及びＩＤ記憶部１７としての機能を有する。共通鍵記憶部１５は、端末１の鍵を記憶する。データ記憶部１６は、各種データ（例えばコンテンツデータ）を記憶する。ＩＤ記憶部１７は、端末１のＩＤ（識別情報の一例）を記憶する。このＩＤは、例えばＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ）を含む。
【００３８】
ＭＡＣ／ＰＨＹ部１８は、端末２及びサーバ装置４との間の通信を制御し、通信部１９としての機能を有する。通信部１９は、例えば、端末２及びサーバ装置４との間で通信する。通信部１９は、端末２との間で、例えば、近距離無線通信（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｆｅｌｉｃａ（登録商標））、又は、インターネット等のネットワークを介した通信を行う。通信部１９は、サーバ装置４との間で、インターネット等のネットワークを介して通信を行う。通信部１９は、第２の通信部の一例である。
【００３９】
端末２は、ＣＰＵ／ＲＡＭ部２１、ＨＤＤ２５、及びＭＡＣ／ＰＨＹ部２９を含んで構成される。
【００４０】
ＣＰＵ／ＲＡＭ部２１は、端末２の全体の動作を制御し、暗号処理部２２、セッション鍵生成部２３、及び乱数生成部２４としての機能を有する。乱数生成部２４は、乱数Ｒを生成する。
【００４１】
セッション鍵生成部２３は、セッション鍵を生成する。セッション鍵生成部２３は、例えば、乱数Ｒから一方向関数（例えばハッシュ関数）を用いてハッシュ値Ｈａｓｈ（Ｒ）を算出し、ハッシュ値Ｈａｓｈ（Ｒ）をセッション鍵として生成する。セッション鍵生成部２３は、第１の鍵生成部の一例である。
【００４２】
暗号処理部２２は、例えば、データ（例えば乱数Ｒ）を端末２の鍵で暗号化する。暗号処理部２２は、例えば、データ（例えばコンテンツデータ）をセッション鍵で暗号化する。暗号処理部２２は、第１の暗号化処理部の一例である。
【００４３】
ＨＤＤ２５は、各種の情報、データを記憶し、共通鍵記憶部２６、データ記憶部２７、及びＩＤ記憶部２８としての機能を有する。共通鍵記憶部２６は、例えば、端末２の鍵を記憶する。データ記憶部２７は、各種データ（例えばコンテンツデータ）を記憶する。ＩＤ記憶部２８は、端末２のＩＤ（例えばＭＡＣアドレス）を記憶する。
【００４４】
ＭＡＣ／ＰＨＹ部２９は、端末１との間の通信を制御し、通信部３０としての機能を有する。通信部３０は、例えば、近距離無線通信（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｆｅｌｉｃａ（登録商標））、又は、インターネット等のネットワークを介した通信を行う。通信部３０は、第１の通信部の一例である。
【００４５】
サーバ装置４は、ＣＰＵ／ＲＡＭ部４１、ＨＤＤ４５、及びＭＡＣ／ＰＨＹ部４７を含んで構成される。
【００４６】
ＣＰＵ／ＲＡＭ部４１は、サーバ装置４の全体の動作を制御し、認証部４２、暗号復号処理部４３、及びセッション鍵生成部４４を有する。認証部４２は、例えば公知の認証方法により、端末１との認証に係る処理を行う。
【００４７】
セッション鍵生成部４４は、セッション鍵を生成する。セッション鍵生成部４４は、例えば、乱数Ｒから一方向性関数（例えばハッシュ関数）を用いてハッシュ値Ｈａｓｈ（Ｒ）を算出し、ハッシュ値Ｈａｓｈ（Ｒ）をセッション鍵として生成する。セッション鍵生成部４４は、第２の鍵生成部の一例である。
【００４８】
暗号復号処理部４３は、例えば、データ（例えば後述する鍵情報データ）を端末２の鍵で復号する。暗号復号処理部４３は、例えば、データ（例えばセッション鍵）を端末１の鍵で暗号化する。暗号復号処理部４３は、第１の復号処理部の一例であり、第２の暗号処理部の一例である。
【００４９】
ＨＤＤ４５は、各種の情報、データを記憶し、共通鍵記憶部４６としての機能を有する。共通鍵記憶部４６は、例えば、端末Ｎ（例えば端末１，２）の鍵、端末Ｎの鍵と端末ＮのＩＤとを関連付けるための関連付け情報を記憶する。端末Ｎの鍵は、端末ＮのＩＤから導出される値を有し、例えば、端末ＮのＩＤから計算された値、又は端末ＮのＩＤと関連付けられた値を有する。
【００５０】
ＭＡＣ／ＰＨＹ部４７は、端末１との間の通信を制御し、通信部４８としての機能を有する。通信部４８は、インターネット等のネットワークを介して端末１と通信する。通信部４８は、第３の通信部の一例である。
【００５１】
図３（Ａ）は、端末１による共通鍵を用いた復号の一例を説明するための模式図である。図３（Ｂ）は、端末２による共通鍵を用いた暗号化の一例を説明するための模式図である。
【００５２】
図３（Ａ）では、端末１の復号処理部１３は、例えば、入力された暗号データを、共通鍵記憶部１５に記憶された共通鍵（例えば端末１の鍵）で復号し、平文データに変換する。
【００５３】
図３（Ｂ）では、端末２の暗号処理部２２は、例えば、入力された平文データを、共通鍵記憶部２６に記憶された共通鍵（例えば端末２の鍵）で暗号化する。
【００５４】
共通鍵でデータを暗号化するための暗号アルゴリズムとして、例えば、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）暗号、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）暗号が用いられる。
【００５５】
次に、通信システム５の動作例について説明する。
【００５６】
図４は、通信システム５による動作例を示すシーケンス図である。図５は、図４に示した動作例の流れを、通信システム５の構成を用いて説明するための模式図である。図４及び図５では、端末２が端末１にコンテンツデータを提供することを想定する。
【００５７】
まず、端末２では、乱数生成部２４は、乱数Ｒを生成する（Ｔ１）。セッション鍵生成部２３は、乱数Ｒからハッシュ関数を用いてハッシュ値Ｈａｓｈ（Ｒ）を計算し、ハッシュ値Ｈａｓｈ（Ｒ）をセッション鍵として生成する（Ｔ２）。
【００５８】
暗号処理部２２は、生成されたセッション鍵を用いて、データ記憶部２７に記憶されたコンテンツデータを暗号化し、暗号コンテンツデータを生成する（Ｔ３）。暗号処理部２２は、共通鍵記憶部２６に記憶された端末２の鍵を用いて、乱数Ｒを暗号化し、鍵情報データを生成する（Ｔ４）。
【００５９】
通信部３０は、生成された鍵情報データ、暗号コンテンツデータ、及びＩＤ記憶部２８に記憶された端末２のＩＤを、端末１に送信する（Ｔ５）。端末２のＩＤは、鍵情報データに付加されてもよい。
【００６０】
端末１では、通信部１９は、端末２からの暗号コンテンツデータ、鍵情報データ、及び端末２のＩＤを受信し、暗号コンテンツデータ、鍵情報データ、及び端末２のＩＤをデータ記憶部１６に記憶（保存）する（Ｔ６）。
【００６１】
認証部１２は、ＩＤ記憶部１７に記憶された端末１のＩＤをサーバ装置４に通知し、認証を受ける側として認証を実行する（端末認証）（Ｔ７）。認証部１２とサーバ装置４の認証部４２とより、端末１が正当な端末であることが認証された場合、通信部１９は、データ記憶部１６に記憶された鍵情報データと端末２のＩＤとを、サーバ装置４に送信する（Ｔ７）。尚、認証が失敗した場合、端末１は、サーバ装置４にデータを送らずに、本動作を終了する。
【００６２】
サーバ装置４では、通信部４８は、端末１からの鍵情報データ及び端末２のＩＤを受信する。暗号復号処理部４３は、共通鍵記憶部４６に記憶され、受信された端末２のＩＤに関連付けられた端末２の鍵で鍵情報データを復号し、乱数Ｒを取得する（Ｔ８）。
【００６３】
セッション鍵生成部４４は、取得された乱数Ｒからハッシュ関数を用いてハッシュ値Ｈａｓｈ（Ｒ）を算出し、ハッシュ値Ｈａｓｈ（Ｒ）をセッション鍵として生成する（Ｔ９）。
【００６４】
暗号復号処理部４３は、セッション鍵を、共通鍵記憶部４６に記憶され、端末１から通知された端末１のＩＤに関連付けられた端末１の鍵で暗号化して、セッション鍵情報データを生成する（Ｔ１０）。通信部４８は、セッション鍵情報データを端末１に送信する（Ｔ１１）。尚、サーバ装置４により生成されるセッション鍵は、Ｋｅｒｂｅｒｏｓ認証におけるチケットに相当する。
【００６５】
端末１では、通信部１９がサーバ装置４からセッション鍵情報データを受信すると、復号処理部１３は、共通鍵記憶部１５に記憶された端末１の鍵でセッション鍵情報データを復号し、セッション鍵を得る（Ｔ１２）。
【００６６】
復号処理部１３は、データ記憶部１６に記憶された暗号コンテンツデータを、セッション鍵で復号する（Ｔ１３）。復号されたコンテンツデータは、例えば、データ記憶部１６により記憶され、又はコンテンツ処理部（不図示）により適宜処理される。
【００６７】
図４及び図５に示した動作例によれば、端末１は、サーバ装置４と通信することなく、端末２から暗号コンテンツデータを取得できる。したがって、端末２の所有者は、端末２内のコンテンツデータを端末１の所有者に渡す場合、端末１とサーバ装置４との通信完了を待つ必要がなく、利便性が向上する。
【００６８】
また、端末１とサーバ装置４との間のネットワーク環境が悪く、端末１とサーバ装置４との間で通信不能な場合でも、暗号コンテンツデータの転送自体は可能である。ネットワーク環境が悪い場合とは、例えば、サーバ装置４が偶然にダウン（動作停止）している場合、端末１の配置場所の無線通信状況が悪い場合、を含む。
【００６９】
また、図４及び図５に示した動作例では、端末１は、暗号コンテンツデータを取得した時点で、同時に端末２のＩＤも取得しているので、サーバ装置４に対して、暗号コンテンツデータを取得した相手（端末２）を知らせるために、煩雑な処理が不要である。
【００７０】
また、端末１は、鍵情報データ（端末２の鍵で暗号化された乱数Ｒ）を端末２から取得し（Ｔ５）、セッション鍵（Ｈａｓｈ（Ｒ））を復号により取得する（Ｔ１２）。この場合に、例えば、セッション鍵をＨａｓｈ（Ｒ）ではなく乱数Ｒとすると、端末１では、乱数Ｒと端末２の鍵で暗号化された乱数Ｒとを入手できるので、選択平文攻撃で端末２の鍵情報が漏洩する危険性がある。しかし、ここではセッション鍵は乱数Ｒそのものではなく、Ｈａｓｈ（Ｒ）としているので、選択平文攻撃は成立せず、安全である。
【００７１】
また、サーバ装置４は、端末認証を実行する場合、セッション鍵の送信先を厳格に判断できるので、セキュリティを一層向上できる。
【００７２】
また、サーバ装置４により生成されたセッション鍵が暗号化されて通信されることで、仮に端末１とサーバ装置４との間の通信路の安全性が低い場合でも、セキュリティを強化してセッション鍵を通信できる。従って、端末１，２は、信頼性の高いセッション鍵を用いてデータ通信できる。
【００７３】
尚、手順Ｔ４は、手順Ｔ２の前に実行されてもよい。
【００７４】
尚、手順Ｔ６とＴ７との間には、適当な時差（タイムラグ）があってもよい。つまり、暗号コンテンツデータの取得とサーバ装置４からのセッション鍵情報データの取得とは、時差があってもよく、端末１は、任意のタイミングを選択できる。また、Ｔ７における端末認証の処理は、省略されてもよい。
【００７５】
図６は、端末２（サービス提供端末の一例）の動作手順の一例を示すフローチャートである。
【００７６】
まず、乱数生成部２４は、乱数Ｒを生成する（Ｓ１）。セッション鍵生成部２３は、乱数Ｒからハッシュ関数を用いてハッシュ値Ｈａｓｈ（Ｒ）を計算し、ハッシュ値Ｈａｓｈ（Ｒ）をセッション鍵として生成する（Ｓ２）。生成されたセッション鍵は、例えば、共通鍵記憶部２６に記憶される。暗号処理部２２は、生成されたセッション鍵を用いて、データ記憶部２７に記憶されたコンテンツデータを暗号化し、暗号コンテンツデータを生成する（Ｓ２）。
【００７７】
暗号処理部２２は、生成された乱数Ｒを、共通鍵記憶部２６に記憶された端末２の鍵で暗号化して鍵情報データを生成する（Ｓ３）。通信部３０は、生成された鍵情報データ、暗号コンテンツデータ、及びＩＤ記憶部２８に記憶された端末２のＩＤを、端末１に送信する（Ｓ４）。この後、端末２は本動作を終了する。
【００７８】
端末２の動作例によれば、端末２は、サーバ装置４を意識することなく、端末１へ暗号データを送信できる。そして、端末１がサーバ装置４へアクセスしてセッション鍵を取得することで、いつでも暗号コンテンツデータを復号できる。
【００７９】
図７は、端末１（サービス被提供端末の一例）の動作手順の一例を示すフローチャートである。
【００８０】
まず、通信部１９は、端末２から送信されるデータを受信するまで待機する（Ｓ１１）。受信されるデータは、暗号コンテンツデータ、鍵情報データ、及び端末２のＩＤを含む。
【００８１】
通信部１９は、端末２からのデータを受信すると、鍵情報データ、及び暗号コンテンツデータを、データ記憶部１６に記憶（保存）する（Ｓ１２）。
【００８２】
認証部１２は、ＩＤ記憶部１７に記憶された端末１のＩＤをサーバ装置４に通知し、認証を受ける側として認証を実行する（Ｓ１３）。認証部１２とサーバ装置４の認証部４２により、端末１が正当な端末であることが認証された（成功した）場合、通信部１９は、データ記憶部１６に記憶された鍵情報データと端末２のＩＤとを、サーバ装置４に送信する（Ｓ１４）。尚、認証が失敗した場合、端末１は本動作を終了する。
【００８３】
通信部１９は、サーバ装置４からセッション鍵情報データを受信するまで待機する（Ｓ１５）。通信部１９がセッション鍵情報データを受信すると、復号処理部１３は、共通鍵記憶部１５に記憶された端末１の鍵でセッション鍵情報データを復号し、セッション鍵を得る（Ｓ１６）。復号処理部１３は、得られたセッション鍵で、データ記憶部１６に記憶された暗号コンテンツデータを復号し、コンテンツデータを取得する（Ｓ１７）。この後、端末１は本動作を終了する。
【００８４】
端末１の動作例によれば、端末１は、サーバ装置４と通信することなく、端末２から暗号コンテンツデータを取得できるので、端末２の所有者は、端末２内のコンテンツデータを端末１の所有者に渡す場合、端末１とサーバ装置４との通信完了を待つ必要がなく、利便性が向上する。
【００８５】
また、端末１とサーバ装置４との間のネットワーク環境が悪く、端末１とサーバ装置４との間で通信不能な場合でも、暗号コンテンツデータの転送は可能である。ネットワーク環境が悪い場合とは、例えば、サーバ装置４が偶然にダウン（動作停止）している場合、端末１の配置場所の無線通信状況が悪い場合、を含む。
【００８６】
また、図７に示した動作例では、端末１は、暗号コンテンツデータを取得した時点で、同時に端末２のＩＤも取得しているので、サーバ装置４に対して、暗号コンテンツデータを取得した相手（端末２）を知らせるために、煩雑な処理が不要である。
【００８７】
図８は、サーバ装置４の動作手順の一例を示すフローチャートである。
【００８８】
まず、通信部４８は、端末１から、端末１のＩＤが通知されるまで待機する（Ｓ２１）。端末１のＩＤが通知されると、認証部４２は、認証を行う側として認証を実行する（Ｓ２２）。認証部４２と端末１の認証部１２とにより、端末１が正当な端末であることが認証された（成功した）場合、通信部４８は、端末１からのデータを受信するまで待機する（Ｓ２３）。受信されるデータは、鍵情報データ及び端末２のＩＤを含む。尚、認証が失敗した場合、サーバ装置４は本動作を終了する。
【００８９】
通信部４８が端末１からのデータを受信すると、暗号復号処理部４３は、共通鍵記憶部４６に記憶され、受信された端末２のＩＤに関連付けられた端末２の鍵を読み出す。暗号復号処理部４３は、読み出された端末２の鍵で鍵情報データを復号し、乱数Ｒを取得する（Ｓ２４）。
【００９０】
セッション鍵生成部４４は、取得された乱数Ｒからハッシュ関数を用いてハッシュ値Ｈａｓｈ（Ｒ）を算出し、ハッシュ値Ｈａｓｈ（Ｒ）をセッション鍵として生成する（Ｓ２５）。
【００９１】
暗号復号処理部４３は、共通鍵記憶部４６に記憶され、通知された端末１のＩＤに関連付けられた端末１の鍵を読み出す。暗号復号処理部４３は、読み出された端末１の鍵で、生成されたセッション鍵を暗号化して、セッション鍵情報データを生成する（Ｓ２６）。通信部４８は、生成されたセッション鍵情報データを端末１に送信する（Ｓ２７）。この後、サーバ装置４は本動作を終了する。
【００９２】
サーバ装置４の動作例によれば、サーバ装置４は、端末１に乱数ＲではなくＨａｓｈ（Ｒ）をセッション鍵として渡すので、端末１では選択平文攻撃は成立せず、安全である。また、サーバ装置４は、端末２と直接通信しないので、サーバ装置４の処理負荷を低減できる。
【００９３】
通信システム５によれば、サービスを提供する装置がサーバ装置でなく端末２である場合でも、Ｍ２Ｍ（Ｍａｃｈｉｎｅ  ｔｏ  Ｍａｃｈｉｎｅ）通信により、端末１がサービス（各種データ）の提供を受けることができる。また、端末間の通信においても、データを提供される端末１の処理の煩雑性及び処理負荷を低減して、データを安全に通信できる。
【００９４】
また、ＫＤＣ又はＫｅｒｂｅｒｏｓ認証を用いてデータ通信する場合には、サービス被提供装置（例えばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ））がサービス提供装置（例えばプリンタ）のＩＤや識別情報を保持し、アクセス対象としてのサービス提供装置を操作部等を介して指定する必要があった。
【００９５】
これに対し、通信システム５によれば、サービス被提供端末としての端末１は、サービス提供端末としての端末２のＩＤや識別情報を予め保持する必要がなく、端末２からＩＤや識別情報を通知される。従って、端末１が有する記憶容量を削減できる。特に、端末１が多数の端末２からコンテンツデータ等の提供を受ける場合に有益となる。
【００９６】
また、端末１が端末２に対してデータを送信する必要がないので、端末１の処理を単純化でき、端末１の処理負荷を低減できる。
【００９７】
また、端末同士でコンテンツデータ等を送受できるので、例えば、コンテンツデータを配信するコンテンツサーバが、各端末に対してコンテンツデータを配信する必要がなくなる。例えば、少数の端末２に対してコンテンツサーバからコンテンツデータ等を配信し、端末２が１台以上の端末１に対してコンテンツデータ等を転送できる。これにより、コンテンツサーバ等のサービス提供サーバの処理負荷を低減し、インターネット等の公衆ネットワークのトラフィック量を低減できる。
【００９８】
また、端末１と端末２との間、及び端末１とサーバ装置４との間では暗号通信されるので、端末１は、様々な端末２と接続して、セキュリティの低下を抑制して、コンテンツデータの提供を受けることができる。従って、正規な端末１，２間でのデータ通信を保証できる。
【００９９】
また、端末２は、インターネット等に接続しない場合でも、例えば近距離無線通信により簡単に暗号化されたデータを端末１に送信できる。例えば、端末１のユーザが端末２のユーザ宅を訪問し、端末２が保持するコンテンツデータの取得を希望する場合でも、端末１が端末２のユーザ宅の通信環境を使用しなくて済み、端末２の通信環境から情報漏洩する可能性を低減できる。
【０１００】
（変形例）
図４では、サーバ装置４が、セッション鍵を端末１の鍵で暗号化してから、セッション鍵情報データを端末１に送信することを例示した。変形例では、サーバ装置４が、セッション鍵を暗号化せずにセキュア通信路を介して端末１に送信することを例示する。
【０１０１】
図９は、通信システム５の動作の変形例を示すシーケンス図である。図９において、図４と同一の手順については、同一の符号を付すことで、その説明を省略又は簡略化する。
【０１０２】
手順Ｔ９では、セッション鍵生成部４４は、乱数Ｒからハッシュ関数を用いてハッシュ値Ｈａｓｈ（Ｒ）を算出し、セッション鍵を生成する。通信部４８は、生成されたセッション鍵を暗号化せず、サーバ装置４と端末１との間に形成されたセキュアな通信路を介して、端末１に送信する（Ｔ１１Ａ）。セキュアな通信路は、例えば、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）による通信路を含む。
【０１０３】
端末１では、通信部１９は、セキュアな通信路を介してサーバ装置４からセッション鍵を受信する。復号処理部１３は、データ記憶部１６に記憶された暗号コンテンツデータを、受信されたセッション鍵で復号する（Ｔ１３Ａ）。
【０１０４】
図９の動作例によれば、サーバ装置４によるセッション鍵の暗号化処理、及び端末１によるセッション鍵情報データの復号処理を省略でき、セキュリティを確保できる。また、ＳＳＬアクセラレーターを利用すれば、サーバ装置４及び端末１の処理負荷を低減し、端末２から端末１へのサービス提供に要する時間を短縮できる。
【０１０５】
以上、図面を参照しながら各種の実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１０６】
上記実施形態では、サービスを提供される通信装置が、ユーザが所持する端末であることを例示したが、各種の情報を管理するサーバ装置でもよい。
【０１０７】
上記実施形態では、セッション鍵生成部２３，４４は、セッション鍵として、ハッシュ関数を用いて乱数Ｒからハッシュ値Ｈａｓｈ（Ｒ）を生成することを例示したが、他のセッション鍵を生成してもよい。
【０１０８】
例えば、セッション鍵生成部２３，４４は、自装置（端末２又はサーバ装置４）の鍵を用いて、乱数Ｒを共通鍵暗号方式（例えばＡＥＳ）に従って暗号化し、暗号化された値をセッション鍵としてもよい。
【０１０９】
例えば、セッション鍵生成部２３，４４は、自装置（端末２又はサーバ装置４）の鍵を用いて、乱数Ｒを公開鍵暗号方式（例えばＲＳＡ）に従って暗号化し、暗号化された値をセッション鍵としてもよい。
【０１１０】
上記実施形態では、乱数Ｒの一部に、既知のデータ（例えば乱数を生成する装置のＩＤ）が含まれてもよい。この場合、生成される乱数Ｒの信頼性を更に向上できる。
【０１１１】
上記実施形態では、セッション鍵がハッシュ値Ｈａｓｈ（Ｒ）であることを主に例示したが、セッション鍵は乱数Ｒそのものでもよい。
【０１１２】
上記実施形態では、記憶媒体としてＨＤＤを用いることを主に例示したが、ＨＤＤ以外の記憶媒体が用いられてもよい。
【０１１３】
（本発明の一態様の概要）
本発明の一態様の通信システムは、第１の通信装置、第２の通信装置、及び鍵管理装置を備える通信システムであって、前記第２の通信装置は、乱数を生成する乱数生成部と、前記乱数に基づく暗号鍵を用いて、所定のデータを暗号化して暗号データを生成し、前記第２の通信装置の鍵を用いて前記乱数を暗号化して鍵情報データを生成する第１の暗号化処理部と、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを前記第１の通信装置に送信する第１の通信部と、を備え、前記第１の通信装置は、前記第２の通信装置から、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを受信し、前記鍵管理装置へ、受信された前記鍵情報データと前記第２の通信装置の識別情報とを送信し、前記鍵管理装置から、前記暗号鍵を受信する第２の通信部と、受信された前記暗号鍵を用いて、前記暗号データを復号し、前記所定のデータを得る第２の復号処理部と、を備え、前記鍵管理装置は、前記第１の通信装置から、前記鍵情報データ及び前記第２の通信装置の識別情報を受信する第３の通信部と、前記第２の通信装置の識別情報に対応する前記第２の通信装置の鍵を用いて、前記鍵情報データを復号して前記乱数を取得する第１の復号処理部と、を備え、前記第３の通信部は、取得された前記乱数に基づく前記暗号鍵を前記第１の通信装置に送信する。
【０１１４】
この構成によれば、所定のデータを提供される第１の通信装置は、所定のデータを提供する第２の通信装置の識別情報等を予め保持する必要がなく、第２の通信装置の識別情報を通知されるので、記憶容量を削減できる。例えば、第１の通信装置が多数の第２の通信装置からデータの提供を受ける場合に有益となる。また、第１の通信装置が第２の通信装置に対してデータを送信するために、鍵管理装置との通信が不要なので、鍵管理装置との間での通信環境が悪くても、第１の通信装置が第２の通信装置との間でデータの送受信が可能である。このように、第１の通信装置の処理の煩雑性及び処理負荷を低減して、第１の通信装置と第２の通信装置との間でデータを安全に通信できる。
【０１１５】
本発明の一態様の通信システムは、前記第２の通信装置が、一方向性関数を用いて前記乱数から前記暗号鍵を生成する第１の鍵生成部を備え、前記鍵管理装置が、一方向性関数を用いて前記乱数から前記暗号鍵を生成する第２の鍵生成部を備える。
【０１１６】
この構成によれば、例えば、暗号化された乱数と平文のセッション鍵との差分を利用して選択平文攻撃を受けた場合でも、暗号鍵が乱数と異なり、一方向性関数を用いて生成されることで、暗号鍵、乱数、及び第２の通信装置の鍵の類推を困難にできる。従って、第２の通信装置の鍵が漏洩する可能性を低減できる。
【０１１７】
本発明の一態様の通信システムは、前記鍵管理装置が、前記暗号鍵を前記第１の通信装置の鍵で暗号化する第２の暗号化処理部を備え、前記第３の通信部が、前記暗号化された暗号鍵を前記第１の通信装置に送信し、前記第２の通信部が、前記鍵管理装置から前記暗号化された暗号鍵を受信し、前記第２の復号処理部が、前記受信された暗号鍵を前記第１の通信装置の鍵を用いて復号し、復号された前記暗号鍵を用いて前記暗号データを復号する。
【０１１８】
この構成によれば、第１の通信装置と鍵管理装置との間に形成された通信路がセキュアな通信路でない場合でも、鍵管理装置は、生成された暗号鍵を安全に第１の通信装置へ送信できる。そして、第１の通信装置は、暗号鍵を用いて暗号データを復号できる。
【０１１９】
本発明の一態様の通信システムは、前記第１の通信部及び前記第２の通信部が、相互に近距離無線通信する。
【０１２０】
この構成によれば、インターネット等の公衆回線に接続しなくても、簡単に暗号化されたデータを第２の通信装置から第１の通信装置に送信できる。例えば、第１の通信装置のユーザが第２の通信装置のユーザ宅を訪問し、第２の通信装置の保持するデータの取得を希望する場合でも、第１の通信装置が第２の通信装置のユーザ宅の通信環境を使用しなくて済み、第２の通信装置の通信環境から情報漏洩する可能性を低減できる。
【０１２１】
本発明の一態様の通信システムは、前記第２の通信部が、前記第１の通信装置の識別情報を前記鍵管理装置へ送信し、前記鍵管理装置が、前記第１の通信装置の識別情報を用いて、前記第１の通信装置を認証する認証部を備える。
【０１２２】
この構成によれば、暗号鍵の発行先を正規の通信装置に限定できる。従って、暗号鍵を用いて通信の信頼性を更に向上できる。
【０１２３】
本発明の一態様の通信システムは、前記第１の通信装置及び前記第２の通信装置は、通信端末であり、前記第２の通信装置は、データ提供サーバから前記所定のデータを取得するデータ取得部を備える。
【０１２４】
この構成によれば、端末同士で所定のデータを送受できるので、例えば多数の端末で所定のデータを共有する場合でも、データ提供サーバが、各端末に対して所定のデータを提供する必要性が低下する。例えば、少数の第２の通信装置に対してデータ提供サーバから所定のデータを配信し、第２の通信装置が１台以上の第１の通信装置に対して所定のデータを転送できる。これにより、データ提供サーバの処理負荷を低減し、インターネット等の公衆回線のトラフィック量を低減でき、通信コストも低減できる。
【０１２５】
本発明の一態様の通信装置は、所定のデータを他の通信装置に提供する通信装置であって、乱数を生成する乱数生成部と、前記乱数に基づく暗号鍵を用いて、所定のデータを暗号化して暗号データを生成し、当該通信装置の鍵を用いて前記乱数を暗号化して鍵情報データを生成する暗号化処理部と、前記鍵情報データ、当該通信装置の識別情報、及び前記暗号データを前記他の通信装置に送信する通信部と、を備える。
【０１２６】
この構成によれば、データを提供する通信装置は、鍵管理装置を意識することなく、データを提供される他の通信装置へ暗号データを送信できる。他の通信装置が鍵管理装置へアクセスして暗号鍵を取得することで、通信装置の暗号鍵と他の通信装置の暗号鍵とを用いて、安全にデータを通信できる。
【０１２７】
本発明の一態様の通信装置は、他の通信装置から所定のデータを提供される通信装置であって、前記他の通信装置から、前記他の通信装置の鍵を用いて乱数が暗号化された鍵情報データと、前記他の通信装置の識別情報と、前記乱数に基づく暗号鍵を用いて前記所定のデータが暗号化された暗号データと、を受信し、鍵管理装置へ、前記受信された鍵情報データ及び前記他の通信装置の識別情報を送信し、前記鍵管理装置から、前記暗号鍵を受信する通信部と、前記受信された暗号鍵を用いて、前記暗号データを復号し、前記所定のデータを得る復号処理部と、を備える。
【０１２８】
この構成によれば、サービスを提供する他の通信装置が主導で、サービスを提供される通信装置に暗号データを送信し、通信装置から他の通信装置へアクセスする必要がないので、通信装置は、他の通信装置の識別情報を予め保持しなくて済む。また、他の通信装置は、他の通信装置内で暗号鍵を保持しているので、通信装置は、鍵管理装置から取得した暗号鍵を、他の通信装置へ送信しなくて済む。従って、通信装置の処理の煩雑性及び処理負荷を低減して、通信装置と他の通信装置との間でデータを安全に通信できる。
【０１２９】
本発明の一態様の鍵管理装置は、第２の通信装置から所定のデータを提供される第１の通信装置にネットワークを介して接続された鍵管理装置であって、前記第１の通信装置から、前記第２の通信装置の鍵を用いて乱数が暗号化された鍵情報データと、第２の通信装置の識別情報と、を受信する通信部と、前記第２の通信装置の識別情報に対応する前記第２の通信装置の鍵を用いて、前記鍵情報データを復号して前記乱数を取得する復号処理部と、を備え、前記通信部は、前記取得された乱数に基づく暗号鍵を前記第１の通信装置に送信する。
【０１３０】
この構成によれば、サービスを提供される第１の通信装置からの要求に応じて、暗号鍵を発行できる。また、乱数を安全に第１の通信装置から鍵管理装置へ送信できるので、乱数に基づく暗号鍵のセキュリティを向上できる。また、サービスを提供する第２の通信装置と直接通信しないので、鍵管理装置の処理負荷を低減できる。
【０１３１】
本発明の一態様の通信方法は、第１の通信装置、第２の通信装置、及び鍵管理装置を備える通信システムにおける通信方法であって、前記第２の通信装置において、乱数を生成するステップと、前記第２の通信装置において、前記乱数に基づく暗号鍵を用いて、所定のデータを暗号化して暗号データを生成するステップと、前記第２の通信装置において、前記第２の通信装置の鍵を用いて、前記乱数を暗号化して鍵情報データを生成するステップと、前記第２の通信装置において、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを、前記第１の通信装置に送信するステップと、前記第１の通信装置において、前記第２の通信装置から、前記鍵情報データ、前記第２の通信装置の識別情報、及び前記暗号データを受信するステップと、前記第１の通信装置において、前記鍵情報データと前記第２の通信装置の識別情報とを、前記鍵管理装置へ送信するステップと、前記鍵管理装置において、前記第１の通信装置から、前記鍵情報データ及び前記第２の通信装置の識別情報を受信するステップと、前記鍵管理装置において、前記第２の通信装置の識別情報に対応する前記第２の通信装置の鍵を用いて、前記鍵情報データを復号して前記乱数を取得するステップと、前記鍵管理装置において、前記取得された前記乱数に基づく暗号鍵を、前記第１の通信装置に送信するステップと、前記第１の通信装置において、前記鍵管理装置から前記暗号鍵を受信するステップと、前記第１の通信装置において、受信された前記暗号鍵を用いて、前記暗号データを復号し、前記所定のデータを得るステップと、を備える。
【０１３２】
この方法によれば、所定のデータを提供される第１の通信装置は、所定のデータを提供する第２の通信装置の識別情報等を予め保持する必要がなく、第２の通信装置の識別情報を通知されるので、記憶容量を削減できる。例えば、第１の通信装置が多数の第２の通信装置からデータの提供を受ける場合に有益となる。また、第１の通信装置が第２の通信装置に対してデータを送信する必要がないので、第１の通信装置の処理を単純化できる。このように、第１の通信装置の処理の煩雑性及び処理負荷を低減して、第１の通信装置と第２の通信装置との間でデータを安全に通信できる。
【産業上の利用可能性】
【０１３３】
本発明は、データを提供される通信装置の処理の煩雑性及び処理負荷を低減して、データを安全に通信できる通信システム、通信装置、鍵管理装置、及び通信方法等に有用である。
【符号の説明】
【０１３４】
１，２，８２  端末
４，８１  サーバ装置
５  通信システム
１１，２１，４１  ＣＰＵ／ＲＡＭ部
１２，４２  認証部
１３  復号処理部
１４，２５，４５  ＨＤＤ
１５，２６，４６  共通鍵記憶部
１６，２７  データ記憶部
１７，２８  ＩＤ記憶部
１８，２９，４７  ＭＡＣ／ＰＨＹ部
１９，３０，４８  通信部
２２  暗号処理部
２３，４４  セッション鍵生成部
２４  乱数生成部
４３  暗号復号処理部
【図１】
2018078592.tif 000003
【図２】
2018078592.tif 000004
【図３】
2018078592.tif 000005
【図４】
2018078592.tif 000006
【図５】
2018078592.tif 000007
【図６】
2018078592.tif 000008
【図７】
2018078592.tif 000009
【図８】
2018078592.tif 000010
【図９】
2018078592.tif 000011
【図１０】
2018078592.tif 000012