(57)【要約】      （修正有）【課題】少ない計算量で安全に鍵交換ができる通信システムを提供する。【解決手段】通信システムは、第１の通信装置１と第２の通信装置とを備える。第１の通信装置１は、第１の共通鍵を生成する第１の共通鍵生成部１０１と、第１の共通鍵を用いてデータを暗号化して第１の暗号化データを生成するデータ暗号化部１０２と、第１の暗号化データの一部から第２の共通鍵を生成する第２の共通鍵生成部１０３と、第２の共通鍵を用いて第１の共通鍵を暗号化して第３の共通鍵を生成する共通鍵暗号化部１０４と、第１の暗号化データと第３の共通鍵とを結合して第２の暗号化データを生成する結合部１０５と、第２の暗号化データを第２の通信装置へ送信する送信手段１０６と、を備える。【選択図】図２
2019075733.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置と第２の通信装置とを備え、
前記第１の通信装置は、
第１の共通鍵を生成する第１の共通鍵生成手段と、
前記第１の共通鍵を用いてデータを暗号化して第１の暗号化データを生成するデータ暗号化手段と、
前記第１の暗号化データの一部から第２の共通鍵を生成する第２の共通鍵生成手段と、
前記第２の共通鍵を用いて前記第１の共通鍵を暗号化して第３の共通鍵を生成する共通鍵暗号化手段と、
前記第１の暗号化データと前記第３の共通鍵とを結合して第２の暗号化データを生成する結合手段と、
前記第２の暗号化データを前記第２の通信装置へ送信する送信手段と、を備え、
前記第２の通信装置は、
前記第２の暗号化データを前記第１の通信装置から受信する受信手段と、
前記第２の暗号化データを前記第１の暗号化データと前記第３の共通鍵とに分割する分割手段と、
前記第１の暗号化データの一部から前記第２の共通鍵を生成する第２の共通鍵生成手段と、
前記第２の共通鍵を用いて前記第３の共通鍵から前記第１の共通鍵を復号する共通鍵復号手段と、
前記第１の共通鍵を用いて前記第１の暗号化データから前記データを復号するデータ復号手段と、を備える、
通信システム。
【請求項２】
前記第１の通信装置及び前記第２の通信装置の前記第２の共通鍵生成手段は、所定のビット長分の部分データを、前記第１の暗号化データの末尾から取り出し、前記部分データを前記第２の共通鍵とする、請求項１に記載の通信システム。
【請求項３】
前記第１の通信装置及び前記第２の通信装置の前記第２の共通鍵生成手段は、所定のハッシュ関数を用いて前記第１の暗号化データからハッシュ値を生成し、所定のビット長分の部分データを、前記ハッシュ値の所定の位置から取り出し、前記部分データを前記第２の共通鍵とする、請求項１に記載の通信システム。
【請求項４】
前記結合手段は、前記第１の暗号化データの末尾に前記第３の共通鍵を結合して前記第２の暗号化データを生成し、
前記分割手段は、前記第３の共通鍵のビット長分の部分データを前記第２の暗号化データの末尾から取り出すことにより、前記第２の暗号化データを前記第１の暗号化データと前記第３の共通鍵とに分割する、
請求項１から３のいずれか１項に記載の通信システム。
【請求項５】
前記結合手段は、前記第１の暗号化データを所定の分割数に等分し、前記第３の共通鍵を前記所定の分割数に等分し、分割された第１の暗号化データと分割された第３の共通鍵とを交互に結合して前記第２の暗号化データを生成し、
前記分割手段は、前記第２の暗号化データのデータ長から前記第３の共通鍵の鍵長を減算することにより前記第１の暗号化データのデータ長を算出し、前記第１の暗号化データのデータ長を前記所定の分割数で除算することにより、前記第１の暗号化データの分割サイズを算出し、前記第３の共通鍵の鍵長を前記所定の分割数で除算することにより、前記第３の共通鍵の分割サイズを算出し、前記第１の暗号化データの分割サイズ及び前記第３の共通鍵の分割サイズに基づいて前記第２の暗号化データから前記分割された第１の暗号化データ及び前記分割された第３の共通鍵を生成し、前記分割された第１の暗号化データを結合することにより前記第１の暗号化データを生成し、前記分割された第３の共通鍵を結合することにより前記第３の共通鍵を生成する、
請求項１から３のいずれか１項に記載の通信システム。
【請求項６】
第１の共通鍵を生成する第１の共通鍵生成手段と、
前記第１の共通鍵を用いてデータを暗号化して第１の暗号化データを生成するデータ暗号化手段と、
前記第１の暗号化データの一部から第２の共通鍵を生成する第２の共通鍵生成手段と、
前記第２の共通鍵を用いて前記第１の共通鍵を暗号化して第３の共通鍵を生成する共通鍵暗号化手段と、
前記第１の暗号化データと前記第３の共通鍵とを結合して第２の暗号化データを生成する結合手段と、
前記第２の暗号化データを送信する送信手段と、を備える
通信装置。
【請求項７】
第２の暗号化データを受信する受信手段と、
前記第２の暗号化データを第１の暗号化データと第３の共通鍵とに分割する分割手段と、
前記第１の暗号化データの一部から第２の共通鍵を生成する第２の共通鍵生成手段と、
前記第２の共通鍵を用いて前記第３の共通鍵から第１の共通鍵を復号する共通鍵復号手段と、
前記第１の共通鍵を用いて前記第１の暗号化データからデータを復号するデータ復号手段と、を備える
通信装置。
【請求項８】
第１の通信装置と第２の通信装置とを備える通信システムの方法であって、
前記第１の通信装置は、
第１の共通鍵を生成し、
前記第１の共通鍵を用いてデータを暗号化して第１の暗号化データを生成し、
前記第１の暗号化データの一部から第２の共通鍵を生成し、
前記第２の共通鍵を用いて前記第１の共通鍵を暗号化して第３の共通鍵を生成し、
前記第１の暗号化データと前記第３の共通鍵とを結合して第２の暗号化データを生成し、
前記第２の暗号化データを前記第２の通信装置へ送信する、ことを含み、
前記第２の通信装置は、
前記第２の暗号化データを前記第１の通信装置から受信し、
前記第２の暗号化データを前記第１の暗号化データと前記第３の共通鍵とに分割し、
前記第１の暗号化データの一部から前記第２の共通鍵を生成し、
前記第２の共通鍵を用いて前記第３の共通鍵から前記第１の共通鍵を復号し、
前記第１の共通鍵を用いて前記第１の暗号化データから前記データを復号する、ことを含む、
方法。
【請求項９】
通信装置の方法であって、
第１の共通鍵を生成し、
前記第１の共通鍵を用いてデータを暗号化して第１の暗号化データを生成し、
前記第１の暗号化データの一部から第２の共通鍵を生成し、
前記第２の共通鍵を用いて前記第１の共通鍵を暗号化して第３の共通鍵を生成し、
前記第１の暗号化データと前記第３の共通鍵とを結合して第２の暗号化データを生成し、
前記第２の暗号化データを送信する、ことを含む
方法。
【請求項１０】
通信装置の方法であって、
第２の暗号化データを受信し、
前記第２の暗号化データを第１の暗号化データと第３の共通鍵とに分割し、
前記第１の暗号化データの一部から第２の共通鍵を生成し、
前記第２の共通鍵を用いて前記第３の共通鍵から第１の共通鍵を復号し、
前記第１の共通鍵を用いて前記第１の暗号化データからデータを復号する、ことを含む
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信装置、及びその方法に関し、特に、通信端末間にて共通鍵を交換する通信システム、通信装置、及びその方法に関する。
【背景技術】
【０００２】
通信システムにおいて、通信データの盗聴や改竄等を防ぐために通信データを暗号化する技術が用いられている。この暗号化する技術として、共通鍵暗号方式が知られている。共通鍵暗号方式は、送信端末と受信端末で共通の暗号鍵となる共通鍵を用いて、暗号化と復号を行う方式である。
【０００３】
共通鍵暗号方式では、一般的に、送信端末と受信端末が、あらかじめ互いに共通鍵を所持しておき、所持した共通鍵を使用し続ける。このため、第三者によって共通鍵が推測されやすくなるといった脆弱性の解決が課題となっていた。この課題を解決する方法として、ＲＳＡ（登録商標）や、ディフィー・ヘルマン鍵交換を用いて、セッションごとに共通鍵を更新する方法が挙げられる。この方法の一例として、特許文献１には、共通鍵をＲＳＡ等の公開鍵暗号方式を用いて共通鍵を更新する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１７５９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に開示の技術では、公開鍵暗号の概念を利用することにより、第三者に情報を漏洩することなく共通鍵の共有を行うことができるが、処理に必要な計算量が多いという問題があった。このため、特許文献１に開示の技術は、ＩｏＴ（Internet of Things）デバイスのような十分なＣＰＵ（Central Processing Unit）性能やメモリ容量を持たず、低消費電力需要の高い端末での利用が不向きであるという問題があった。
【０００６】
本発明は、このような問題点を解決するためになされたものであり、少ない計算量で安全に鍵交換することができる通信システム、通信装置、及びその方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の態様にかかる通信システムは、第１の通信装置と第２の通信装置とを備え、前記第１の通信装置は、第１の共通鍵を生成する第１の共通鍵生成手段と、前記第１の共通鍵を用いてデータを暗号化して第１の暗号化データを生成するデータ暗号化手段と、前記第１の暗号化データの一部から第２の共通鍵を生成する第２の共通鍵生成手段と、前記第２の共通鍵を用いて前記第１の共通鍵を暗号化して第３の共通鍵を生成する共通鍵暗号化手段と、前記第１の暗号化データと前記第３の共通鍵とを結合して第２の暗号化データを生成する結合手段と、前記第２の暗号化データを前記第２の通信装置へ送信する送信手段と、を備え、前記第２の通信装置は、前記第２の暗号化データを前記第１の通信装置から受信する受信手段と、前記第２の暗号化データを前記第１の暗号化データと前記第３の共通鍵とに分割する分割手段と、前記第１の暗号化データの一部から前記第２の共通鍵を生成する第２の共通鍵生成手段と、前記第２の共通鍵を用いて前記第３の共通鍵から前記第１の共通鍵を復号する共通鍵復号手段と、前記第１の共通鍵を用いて前記第１の暗号化データから前記データを復号するデータ復号手段と、を備えるものである。
【０００８】
本発明の第２の態様にかかる通信装置は、第１の共通鍵を生成する第１の共通鍵生成手段と、前記第１の共通鍵を用いてデータを暗号化して第１の暗号化データを生成するデータ暗号化手段と、前記第１の暗号化データの一部から第２の共通鍵を生成する第２の共通鍵生成手段と、前記第２の共通鍵を用いて前記第１の共通鍵を暗号化して第３の共通鍵を生成する共通鍵暗号化手段と、前記第１の暗号化データと前記第３の共通鍵とを結合して第２の暗号化データを生成する結合手段と、前記第２の暗号化データを送信する送信手段と、を備えるものである。
【０００９】
本発明の第３の態様にかかる通信装置は、第２の暗号化データを受信する受信手段と、前記第２の暗号化データを第１の暗号化データと第３の共通鍵とに分割する分割手段と、前記第１の暗号化データの一部から第２の共通鍵を生成する第２の共通鍵生成手段と、前記第２の共通鍵を用いて前記第３の共通鍵から第１の共通鍵を復号する共通鍵復号手段と、前記第１の共通鍵を用いて前記第１の暗号化データからデータを復号するデータ復号手段と、を備えるものである。
【００１０】
本発明の第４の態様にかかる方法は、第１の通信装置と第２の通信装置とを備える通信システムの方法であって、前記第１の通信装置は、第１の共通鍵を生成し、前記第１の共通鍵を用いてデータを暗号化して第１の暗号化データを生成し、前記第１の暗号化データの一部から第２の共通鍵を生成し、前記第２の共通鍵を用いて前記第１の共通鍵を暗号化して第３の共通鍵を生成し、前記第１の暗号化データと前記第３の共通鍵とを結合して第２の暗号化データを生成し、前記第２の暗号化データを前記第２の通信装置へ送信する、ことを含み、前記第２の通信装置は、前記第２の暗号化データを前記第１の通信装置から受信し、前記第２の暗号化データを前記第１の暗号化データと前記第３の共通鍵とに分割し、前記第１の暗号化データの一部から前記第２の共通鍵を生成し、前記第２の共通鍵を用いて前記第３の共通鍵から前記第１の共通鍵を復号し、前記第１の共通鍵を用いて前記第１の暗号化データから前記データを復号する、ことを含むものである。
【００１１】
本発明の第５の態様にかかる方法は、通信装置の方法であって、第１の共通鍵を生成し、前記第１の共通鍵を用いてデータを暗号化して第１の暗号化データを生成し、前記第１の暗号化データの一部から第２の共通鍵を生成し、前記第２の共通鍵を用いて前記第１の共通鍵を暗号化して第３の共通鍵を生成し、前記第１の暗号化データと前記第３の共通鍵とを結合して第２の暗号化データを生成し、前記第２の暗号化データを送信する、ことを含むものである。
【００１２】
本発明の第６の態様にかかる方法は、通信装置の方法であって、第２の暗号化データを受信し、前記第２の暗号化データを第１の暗号化データと第３の共通鍵とに分割し、前記第１の暗号化データの一部から第２の共通鍵を生成し、前記第２の共通鍵を用いて前記第３の共通鍵から第１の共通鍵を復号し、前記第１の共通鍵を用いて前記第１の暗号化データからデータを復号する、ことを含むものである。
【発明の効果】
【００１３】
本発明により、少ない計算量で安全に鍵交換することができる通信システム、通信装置、及びその方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１にかかる通信システムの構成例を示すブロック図である。
【図２】実施の形態１にかかる第１の通信装置の構成例を示すブロック図である。
【図３】実施の形態１にかかる第１の通信装置の処理例を示すフローチャートである。
【図４】実施の形態１にかかる第１の通信装置の処理例を説明するための図である。
【図５】実施の形態１にかかる第２の通信装置の構成例を示すブロック図である。
【図６】実施の形態１にかかる第２の通信装置の処理例を示すフローチャートである。
【図７】実施の形態１にかかる第２の通信装置の処理例を説明するための図である。
【図８】実施の形態２にかかる第２の共通鍵の生成処理例を説明するための図である。
【図９】実施の形態３にかかる第２の暗号化データの生成処理例を説明するための図である。
【図１０】実施の形態３にかかる第２の暗号化データの分割処理例を説明するための図である。
【発明を実施するための形態】
【００１５】
以下では、本発明の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００１６】
実施の形態１
まず、図１のブロック図を用いて、本発明の実施の形態１にかかる通信システム１０の構成例について説明する。通信システム１０は、通信装置１と、通信装置２と、を備えている。なお、通信装置１は、第１の通信装置とも呼ぶ。また、通信装置２は、第２の通信装置とも呼ぶ。
【００１７】
通信装置１と通信装置２とは、通信回線を介して通信可能に接続される。なお、通信装置１と通信装置２との間の通信回線は、無線通信回線であってもよいし、有線通信回線であってもよい。また、一部が無線でその他の部分が有線通信回線であってもよい。
【００１８】
続いて、図２のブロック図を用いて、本発明の実施の形態１にかかる通信装置１の構成例について説明する。通信装置１は、第１の共通鍵生成部１０１と、データ暗号化部１０２と、第２の共通鍵生成部１０３と、共通鍵暗号化部１０４と、結合部１０５と、送信部１０６と、を備えている。
【００１９】
第１の共通鍵生成部１０１は、第１の共通鍵を生成する機能部である。第１の共通鍵生成部１０１は、例えば、時刻情報等のランダムデータを用いて第１の共通鍵を生成する。第１の共通鍵生成部１０１は、生成された第１の共通鍵を、データ暗号化部１０２及び共通鍵暗号化部１０４へ出力する。
【００２０】
データ暗号化部１０２は、第１の共通鍵を第１の共通鍵生成部１０１から受け取る。また、データ暗号化部１０２は、第１の共通鍵を用いて平文のデータを暗号化して第１の暗号化データを生成する。なお、データ暗号化部１０２は、例えばＡＥＳ（Advanced Encryption Standard）等、一般的に共通鍵暗号にて用いられる暗号化方式を用いる。そして、データ暗号化部１０２は、生成された第１の暗号化データを第２の共通鍵生成部１０３及び結合部１０５へ出力する。
【００２１】
第２の共通鍵生成部１０３は、第１の暗号化データをデータ暗号化部１０２から受け取る。また、第２の共通鍵生成部１０３は、第１の暗号化データの一部から第２の共通鍵を生成する。
【００２２】
第２の共通鍵生成部１０３は、例えば、共通鍵として必要な所定のビット長分の部分データを、第１の暗号化データの末尾から取り出し、取り出した部分データを第２の共通鍵とすることにより、第２の共通鍵を生成する。そして、第２の共通鍵生成部１０３は、生成された第２の共通鍵を共通鍵暗号化部１０４へ出力する。
【００２３】
共通鍵暗号化部１０４は、第１の共通鍵を第１の共通鍵生成部１０１から受け取る。また、共通鍵暗号化部１０４は、第２の共通鍵を第２の共通鍵生成部１０３から受け取る。また、共通鍵暗号化部１０４は、第２の共通鍵を用いて第１の共通鍵を暗号化して第３の共通鍵を生成する。すなわち、共通鍵暗号化部１０４は、第２の共通鍵を共通鍵暗号方式の鍵として用いて、第１の共通鍵を暗号化して第３の共通鍵を生成する。そして、共通鍵暗号化部１０４は、生成された第３の共通鍵を結合部１０５へ出力する。
【００２４】
結合部１０５は、第１の暗号化データをデータ暗号化部１０２から受け取る。また、結合部１０５は、第３の共通鍵を共通鍵暗号化部１０４から受け取る。また、結合部１０５は、第１の暗号化データと第３の共通鍵とを結合して、一つの送信データである第２の暗号化データを生成する。
【００２５】
具体的には、結合部１０５は、所定の方式に従って、第１の暗号化データと第３の共通鍵とを結合して第２の暗号化データを生成する。なお、所定の方式とは、例えば、第１の暗号化データの末尾に第３の共通鍵を結合すること等である。そして、結合部１０５は、生成された第２の暗号化データを送信部１０６へ出力する。
【００２６】
送信部１０６は、第２の暗号化データを結合部１０５から受け取る。そして、送信部１０６は、通信回線を介して、第２の暗号化データを通信装置２へ送信する。
【００２７】
続いて、図３及び図４を用いて、本発明の実施の形態１にかかる通信装置１の処理例について説明する。なお、図３及び図４において、同じ番号のステップは、同じ処理を示す。
【００２８】
まず、通信装置１は、第１の共通鍵生成部１０１により、ランダムデータを用いて第１の共通鍵を生成する（ステップＳ１０１）。
【００２９】
次に、通信装置１は、データ暗号化部１０２により、第１の共通鍵を用いてデータを暗号化して第１の暗号化データを生成する（ステップＳ１０２）。
【００３０】
次に、通信装置１は、第２の共通鍵生成部１０３により、第１の暗号化データの一部から第２の共通鍵を生成する（ステップＳ１０３）。なお、図４では、所定のビット長分の部分データを、第１の暗号化データの末尾から取り出し、取り出した部分データを第２の共通鍵とする例を示している。
【００３１】
次に、通信装置１は、共通鍵暗号化部１０４により、第２の共通鍵を用いて第１の共通鍵を暗号化して第３の共通鍵を生成する（ステップＳ１０４）。
【００３２】
次に、通信装置１は、結合部１０５により、第１の暗号化データと第３の共通鍵とを結合して第２の暗号化データを生成する（ステップＳ１０５）。なお、図４では、第１の暗号化データの末尾に第３の共通鍵を結合して第２の暗号化データを生成する例を示している。
【００３３】
次に、通信装置１は、送信部１０６により、第２の暗号化データを通信装置２へ送信する（ステップＳ１０６）。
【００３４】
なお、通信装置１は、ステップＳ１０１からステップＳ１０６の処理を、データ送信ごとに行う。すなわち、第１の共通鍵及び第２の共通鍵として、データ送信ごとにランダムな値が使用される。
【００３５】
続いて、図５のブロック図を用いて、本発明の実施の形態１にかかる通信装置２の構成例について説明する。通信装置２は、受信部２０１と、分割部２０２と、第２の共通鍵生成部２０３と、共通鍵復号部２０４と、データ復号部２０５と、を備えている。
【００３６】
受信部２０１は、第２の暗号化データを通信装置１から受信する。そして、受信部２０１は、受信された第２の暗号化データを分割部２０２へ出力する。
【００３７】
分割部２０２は、第２の暗号化データを受信部２０１から受け取る。また、分割部２０２は、第２の暗号化データを第１の暗号化データと第３の共通鍵とに分割する。
【００３８】
具体的には、分割部２０２は、通信装置１の結合部１０５にて結合された方式に従って、第２の暗号化データを第１の暗号化データと第３の共通鍵とに分割する。なお、通信装置１の結合部１０５にて結合された方式とは、例えば、第１の暗号化データの末尾に第３の共通鍵が結合されること等、あらかじめ定められた方式である。この場合、分割部２０２には、第１の暗号化データの末尾に第３の共通鍵が結合されること、及び第３の共通鍵のビット長があらかじめ設定されている。分割部２０２は、これらの情報に基づいて、第３の共通鍵のビット長分の部分データを第２の暗号化データの末尾から取り出し、残りのデータを第１の暗号化データとすることにより、第２の暗号化データを第１の暗号化データと第３の共通鍵とに分割する。
【００３９】
そして、分割部２０２は、第１の暗号化データを、第２の共通鍵生成部２０３及びデータ復号部２０５へ出力する。また、分割部２０２は、第３の共通鍵を共通鍵復号部２０４へ出力する。
【００４０】
第２の共通鍵生成部２０３は、第１の暗号化データを分割部２０２から受け取る。また、第２の共通鍵生成部２０３は、第１の暗号化データの一部から第２の共通鍵を生成する。なお、第２の共通鍵生成部２０３は、通信装置１の第２の共通鍵生成部１０３と同じ機能を有する。
【００４１】
具体的には、第２の共通鍵生成部２０３は、通信装置１の第２の共通鍵生成部１０３と同じ方法により、第１の暗号化データの一部から第２の共通鍵を生成する。すなわち、第２の共通鍵生成部１０３が、所定のビット長分の部分データを、第１の暗号化データの末尾から取り出し、当該部分データを第２の共通鍵とした場合には、第２の共通鍵生成部２０３は、これと同じ方法を用いて第２の共通鍵を生成する。これにより、第２の共通鍵生成部２０３は、第２の共通鍵生成部１０３により生成された第２の共通鍵と同じ第２の共通鍵を生成することができる。
【００４２】
そして、第２の共通鍵生成部２０３は、生成された第２の共通鍵を共通鍵復号部２０４へ出力する。
【００４３】
共通鍵復号部２０４は、第３の共通鍵を分割部２０２から受け取る。また、共通鍵復号部２０４は、第２の共通鍵を第２の共通鍵生成部２０３から受け取る。また、共通鍵復号部２０４は、第２の共通鍵を用いて第３の共通鍵から第１の共通鍵を復号する。すなわち、共通鍵復号部２０４は、第２の共通鍵を共通鍵暗号方式の鍵として用いて、第３の共通鍵から第１の共通鍵を復号する。そして、共通鍵復号部２０４は、復号された第１の共通鍵をデータ復号部２０５へ出力する。
【００４４】
データ復号部２０５は、第１の暗号化データを分割部２０２から受け取る。また、データ復号部２０５は、第１の共通鍵を共通鍵復号部２０４から受け取る。そして、データ復号部２０５は、第１の共通鍵を用いて第１の暗号化データからデータを復号する。
【００４５】
続いて、図６及び図７を用いて、本発明の実施の形態１にかかる通信装置２の処理例について説明する。なお、図６及び図７において、同じ番号のステップは、同じ処理を示す。
【００４６】
まず、通信装置２は、受信部２０１により、第２の暗号化データを通信装置１から受信する（ステップＳ２０１）。
【００４７】
次に、通信装置２は、分割部２０２により、第２の暗号化データを第１の暗号化データと第３の共通鍵とに分割する（ステップＳ２０２）。
【００４８】
次に、通信装置２は、第２の共通鍵生成部２０３により、第１の暗号化データの一部から第２の共通鍵を生成する（ステップＳ２０３）。
【００４９】
次に、通信装置２は、共通鍵復号部２０４により、第２の共通鍵を用いて第３の共通鍵から第１の共通鍵を復号する（ステップＳ２０４）。
【００５０】
次に、通信装置２は、データ復号部２０５により、第１の共通鍵を用いて第１の暗号化データからデータを復号する（ステップＳ２０５）。
【００５１】
なお、通信装置２は、ステップＳ２０１からステップＳ２０５の処理を、データ受信ごとに行う。すなわち、第１の共通鍵及び第２の共通鍵として、データ受信ごとにランダムな値が使用される。
【００５２】
以上のように、本発明の実施の形態１にかかる通信システム１０は、通信装置１と通信装置２とを備えている。また、本実施の形態１にかかる通信装置１及び通信装置２は、第１の暗号化データの一部から第２の共通鍵を生成する第２の共通鍵生成部をそれぞれ備える構成としている。すなわち、本実施の形態１にかかる通信システム１０では、通信装置１及び通信装置２が、あらかじめ決められた同じ方法を用いて同じ第２の共通鍵を生成することができる。また、通信装置１及び通信装置２は、第１の暗号化データの一部から生成された第２の共通鍵を共通鍵暗号方式の鍵として用いることができる。
【００５３】
また、本実施の形態１にかかる通信装置１は、第２の共通鍵を用いて第１の共通鍵を暗号化して第３の共通鍵を生成し、第１の暗号化データと第３の共通鍵とを結合して第２の暗号化データを生成する構成としている。また、本実施の形態１にかかる通信装置２は、第２の暗号化データを第１の暗号化データと第３の共通鍵とに分割し、第２の共通鍵を用いて第３の共通鍵から第１の共通鍵を復号する構成としている。このため、本実施の形態１にかかる通信装置２は、通信装置１により生成された第１の共通鍵を、通信装置１から受信された第２の暗号化データから取得することができる。
【００５４】
一方、盗聴を試みる第三者には、第２の暗号化データ中の第１の暗号化データと第３の共通鍵の構成が不明である。また、仮に第３の共通鍵を特定できたとしても、第１の暗号化データから第２の共通鍵を生成し、且つ第２の共通鍵を用いて第３の共通鍵から第１の共通鍵を復号しない限り、第１の暗号化データを復号してデータを取得することはできない。このため、盗聴を試みる第三者が暗号解析を行うことは困難である。
【００５５】
さらに、本実施の形態１にかかる通信システム１０では、第１の共通鍵と第２の共通鍵は、データ送信ごとにランダムな値であるため、同じ共通鍵を使用し続けることによる脆弱性を解決することができる。すなわち、本実施の形態１にかかる通信システム１０では、安全ではないネットワークを利用した通信でも安全に共通鍵を交換することができる。
【００５６】
また、本実施の形態１にかかる共通鍵の交換方法では、ＲＳＡやディフィー・ヘルマン鍵交換を用いた鍵の共有方法と比較して計算量を少なくすることができる。このため、本実施の形態１にかかる通信システム１０では、通信装置のＣＰＵ使用量を減らし消費電力を削減することができ、且つ処理に必要なメモリ容量を削減することができる。
【００５７】
すなわち、本実施の形態１にかかる通信システム１０では、少ない計算量で安全に鍵交換することができる。
【００５８】
実施の形態２
続いて、本発明の実施の形態２にかかる通信システム１０Ａについて説明する。通信システム１０Ａは、通信装置１Ａと、通信装置２Ａと、を備えている。なお、通信システム１０Ａの構成は、実施の形態１の通信システム１０の構成と同様であり、図示を省略する。
【００５９】
続いて、本実施の形態２にかかる通信装置１Ａの構成例について説明する。通信装置１Ａは、第１の共通鍵生成部１０１と、データ暗号化部１０２と、第２の共通鍵生成部１０３Ａと、共通鍵暗号化部１０４と、結合部１０５と、送信部１０６と、を備えている。なお、通信装置１Ａの構成は、実施の形態１の通信装置１の構成と同様であり、図示を省略する。また、通信装置１Ａにおける第２の共通鍵生成部１０３Ａ以外の構成については、実施の形態１の通信装置１における構成と同様であり、説明を省略する。
【００６０】
図８を用いて、第２の共通鍵生成部１０３Ａにおける第２の共通鍵の生成処理例について説明する。
【００６１】
まず、第２の共通鍵生成部１０３Ａは、所定のハッシュ関数を用いて第１の暗号化データからハッシュ値を生成する（ステップＳ３０１）。なお、ハッシュ値は、ランダムな数列である。
【００６２】
次に、第２の共通鍵生成部１０３Ａは、所定のビット長分の部分データを、ハッシュ値の所定の位置から取り出し、取り出した部分データを第２の共通鍵とすることにより、第２の共通鍵を生成する（ステップＳ３０２）。なお、図８では、所定のビット長分の部分データを、ハッシュ値の末尾から取り出し、取り出した部分データを第２の共通鍵とする例を示している。
【００６３】
続いて、本実施の形態２にかかる通信装置２Ａの構成例について説明する。通信装置２Ａは、受信部２０１と、分割部２０２と、第２の共通鍵生成部２０３Ａと、共通鍵復号部２０４と、データ復号部２０５と、を備えている。なお、通信装置２Ａの構成は、実施の形態１の通信装置２の構成と同様であり、図示を省略する。また、通信装置２Ａにおける第２の共通鍵生成部２０３Ａ以外の構成については、実施の形態１の通信装置２における構成と同様であり、説明を省略する。
【００６４】
第２の共通鍵生成部２０３Ａは、第２の共通鍵生成部１０３Ａにおける第２の共通鍵の生成方法と同じ方法により第２の共通鍵を生成する。
【００６５】
すなわち、第２の共通鍵生成部１０３Ａ及び第２の共通鍵生成部２０３Ａは、共通のハッシュ関数を有する。また、第２の共通鍵生成部１０３Ａ及び第２の共通鍵生成部２０３Ａは、第１の暗号化データを入力値として共通のハッシュ関数に入力することにより、共通のハッシュ値を取得する。そして、第２の共通鍵生成部１０３Ａ及び第２の共通鍵生成部２０３Ａは、取得された共通のハッシュ値について、事前に決められた位置の所定のビット長分の部分データを取り出し、取り出した部分データを第２の共通鍵とする。
【００６６】
以上のように、本発明の実施の形態２にかかる通信システム１０Ａでは、盗聴を試みる第三者は、通信装置１Ａ及び通信装置１Ｂが有する共通のハッシュ関数を入手しない限り、第２の共通鍵を生成することができない。このため、本発明の実施の形態２にかかる通信システム１０Ａでは、実施の形態１にかかる通信システム１０に比べて暗号化の強度を更に高めることができる。
【００６７】
実施の形態３
続いて、本発明の実施の形態３にかかる通信システム１０Ｂについて説明する。通信システム１０Ｂは、通信装置１Ｂと、通信装置２Ｂと、を備えている。なお、通信システム１０Ｂの構成は、実施の形態１の通信システム１０の構成と同様であり、図示を省略する。
【００６８】
続いて、本実施の形態３にかかる通信装置１Ｂの構成例について説明する。通信装置１Ｂは、第１の共通鍵生成部１０１と、データ暗号化部１０２と、第２の共通鍵生成部１０３と、共通鍵暗号化部１０４と、結合部１０５Ｂと、送信部１０６と、を備えている。なお、通信装置１Ｂの構成は、実施の形態１の通信装置１の構成と同様であり、図示を省略する。また、通信装置１Ｂにおける結合部１０５Ｂ以外の構成については、実施の形態１の通信装置１における構成と同様であり、説明を省略する。なお、通信装置１Ｂは、第２の共通鍵生成部１０３に代えて、第２の共通鍵生成部１０３Ａを備える構成としてもよい。
【００６９】
図９を用いて、結合部１０５Ｂにおける第２の暗号化データの生成処理例について説明する。
【００７０】
まず、結合部１０５Ｂは、第１の暗号化データを所定の分割数に等分することにより、分割された第１の暗号化データを生成する（ステップＳ４０１）。具体的には、結合部１０５Ｂは、通信装置１Ｂと通信装置２Ｂとであらかじめ決められた値ｎを用いて、第１の暗号化データをｎ等分する。これにより、ｎ個に分割された第１の暗号化データ、すなわちＤ１からＤｎが生成される。
【００７１】
次に、結合部１０５Ｂは、第３の共通鍵を、第１の暗号化データの分割数と同じ所定の分割数に等分することにより、分割された第３の共通鍵を生成する（ステップＳ４０２）。具体的には、結合部１０５Ｂは、通信装置１Ｂと通信装置２Ｂとであらかじめ決められた値ｎを用いて、第３の共通鍵をｎ等分する。これにより、ｎ個に分割された第３の共通鍵、すなわちＫ１からＫｎが生成される。
【００７２】
なお、ステップＳ４０１及びステップＳ４０２にて上述した所定の分割数、すなわち値ｎは、第１の暗号化データ及び第３の共通鍵を共に割り切ることができる整数である。
【００７３】
次に、結合部１０５Ｂは、分割された第１の暗号化データと分割された第３の共通鍵とを交互に結合して第２の暗号化データを生成する（ステップＳ４０３）。これにより、Ｄ１、Ｋ１、Ｄ２、Ｋ２、・・・Ｄｎ−１、Ｋｎ−１、Ｄｎ、Ｋｎの順で結合された第２の暗号化データが生成される。
【００７４】
続いて、本実施の形態３にかかる通信装置２Ｂの構成例について説明する。通信装置２Ｂは、受信部２０１と、分割部２０２Ｂと、第２の共通鍵生成部２０３と、共通鍵復号部２０４と、データ復号部２０５と、を備えている。なお、通信装置２Ｂの構成は、実施の形態１の通信装置２の構成と同様であり、図示を省略する。また、通信装置２Ｂにおける分割部２０２Ｂ以外の構成については、実施の形態１の通信装置２における構成と同様であり、説明を省略する。なお、通信装置２Ｂは、第２の共通鍵生成部２０３に代えて、第２の共通鍵生成部２０３Ａを備える構成としてもよい。
【００７５】
図１０を用いて、分割部２０２Ｂにおける第２の暗号化データの分割処理例について説明する。
【００７６】
分割部２０２Ｂは、第２の暗号化データのデータ長から第３の共通鍵の鍵長を減算することにより、第１の暗号化データのデータ長を算出する。なお、分割部２０２Ｂには、第３の共通鍵の鍵長があらかじめ設定されているものとする。
【００７７】
また、分割部２０２Ｂは、第１の暗号化データのデータ長を所定の分割数で除算することにより、第１の暗号化データの分割サイズを算出する。具体的には、分割部２０２Ｂは、第１の暗号化データのデータ長を、通信装置１Ｂと通信装置２Ｂとであらかじめ決められた値ｎで除算することにより、第１の暗号化データの分割サイズを算出する。
【００７８】
また、分割部２０２Ｂは、第３の共通鍵の鍵長を、第１の暗号化データの分割数と同じ所定の分割数で除算することにより、第３の共通鍵の分割サイズを算出する。具体的には、分割部２０２Ｂは、第３の共通鍵の鍵長を、通信装置１Ｂと通信装置２Ｂとであらかじめ決められた値ｎで除算することにより、第３の共通鍵の分割サイズを算出する。
【００７９】
また、分割部２０２Ｂは、第１の暗号化データの分割サイズ及び第３の共通鍵の分割サイズを用いて、第２の暗号化データから分割された第１の暗号化データ及び分割された第３の共通鍵を生成する（ステップＳ５０１）。
【００８０】
なお、分割部２０２Ｂには、第２の暗号化データの先頭に、分割された第１の暗号化データと分割された第３の共通鍵のいずれが配置されるかの情報が設定されているものとする。例えば、分割部２０２Ｂには、第２の暗号化データが、Ｄ１、Ｋ１、Ｄ２、Ｋ２、・・・Ｄｎ−１、Ｋｎ−１、Ｄｎ、Ｋｎの順で結合されたものであることがあらかじめ設定されている。この情報と第１の暗号化データの分割サイズ及び第３の共通鍵の分割サイズとを用いることにより、分割部２０２Ｂは、第２の暗号化データからＤ１、Ｄ２、・・・Ｄｎ−１、Ｄｎである分割された第１の暗号化データ、及び、Ｋ１、Ｋ２、・・・Ｋｎ−１、Ｋｎである分割された第３の共通鍵を生成することができる。
【００８１】
そして、分割部２０２Ｂは、Ｄ１、Ｄ２、・・・Ｄｎ−１、Ｄｎを結合することにより、第１の暗号化データを生成することができる（ステップＳ５０２）。また、分割部２０２Ｂは、Ｋ１、Ｋ２、・・・Ｋｎ−１、Ｋｎを結合することにより、第３の共通鍵を生成することができる（ステップＳ５０３）。
【００８２】
以上のように、本発明の実施の形態３にかかる通信システム１０Ｂでは、盗聴を試みる第三者は、第１の暗号化データの分割サイズ及び第３の共通鍵の分割サイズを入手しない限り、第２の暗号化データを第１の暗号化データと第３の共通鍵とに分割することができない。このため、本発明の実施の形態３にかかる通信システム１０Ｂでは、実施の形態１にかかる通信システム１０に比べて暗号化の強度を更に高めることができる。
【００８３】
なお、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、通信装置が備えるＣＰＵ等のプロセッサに、上述した各機能部の各処理を行うためのコンピュータ・プログラムを実行させることにより実現することも可能である。
【００８４】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-ray（登録商標） Disc）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００８５】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００８６】
１、１Ａ、１Ｂ    通信装置
２、２Ａ、２Ｂ    通信装置
１０、１０Ａ、１０Ｂ    通信システム
１０１    第１の共通鍵生成部
１０２    データ暗号化部
１０３、１０３Ａ    第２の共通鍵生成部
１０４    共通鍵暗号化部
１０５、１０５Ｂ    結合部
１０６    送信部
２０１    受信部
２０２、２０２Ｂ    分割部
２０３、２０３Ａ    第２の共通鍵生成部
２０４    共通鍵復号部
２０５    データ復号部
【図１】
2019075733.tif 000003
【図２】
2019075733.tif 000004
【図３】
2019075733.tif 000005
【図４】
2019075733.tif 000006
【図５】
2019075733.tif 000007
【図６】
2019075733.tif 000008
【図７】
2019075733.tif 000009
【図８】
2019075733.tif 000010
【図９】
2019075733.tif 000011
【図１０】
2019075733.tif 000012