(57)【要約】【課題】共通鍵の管理における安全性を容易に向上できる通信システムを提供する。【解決手段】通信システムは、第１の通信装置と第２の通信装置とを備え、第１の通信装置は、乱数を記憶する乱数記憶部と、乱数及び第２の通信装置の識別情報を用いて共通鍵を導出する共通鍵導出部と、共通鍵を用いてデータを暗号化又は復号化する第１の共通鍵処理部と、を備える。第２の通信装置は、第１の通信装置により導出された共通鍵と同一の共通鍵を記憶する第２の共通鍵記憶部と、共通鍵を用いてデータを暗号化又は復号化する第２の共通鍵処理部と、を備える。【選択図】図２
2015233201.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置と第２の通信装置とがネットワークを介して接続された通信システムであって、
前記第１の通信装置は、
前記第２の通信装置の識別情報を取得する取得部と、
乱数を記憶する乱数記憶部と、
前記乱数及び前記第２の通信装置の識別情報を用いて、共通鍵を導出する共通鍵導出部と、
前記導出された共通鍵を記憶する第１の共通鍵記憶部と、
前記共通鍵を用いて、データを暗号化又は復号化する第１の共通鍵処理部と、
を備え、
前記第２の通信装置は、
前記第２の通信装置の識別情報を通知する通知部と、
前記第１の通信装置により導出された共通鍵と同一の共通鍵を記憶する第２の共通鍵記憶部と、
前記共通鍵を用いて、データを暗号化又は復号化する第２の共通鍵処理部と、
を備える通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記第２の通信装置は、耐タンパ性を有するセキュア領域を有し、
前記第２の共通鍵記憶部及び前記第２の共通鍵処理部は、前記セキュア領域に配置された、通信システム。
【請求項３】
請求項１または２に記載の通信システムであって、
前記第１の共通鍵処理部は、前記第１の通信装置と前記第２の通信装置との間での通信が終了した場合、前記第１の共通鍵記憶部に記憶された共通鍵を消去する、通信システム。
【請求項４】
請求項１ないし３のいずれか１項に記載の通信システムであって、
前記第１の通信装置は、前記共通鍵を用いて暗号化されたデータを通信する第１の通信部を備え、
前記第２の通信装置は、前記共通鍵を用いて暗号化されたデータを通信する第２の通信部を備える、通信システム。
【請求項５】
他の通信装置との間で通信する通信装置であって、
前記他の通信装置の識別情報を取得する取得部と、
乱数を記憶する乱数記憶部と、
前記乱数及び前記他の通信装置の識別情報を用いて、共通鍵を導出する共通鍵導出部と、
前記導出された共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化する共通鍵処理部と、
を備える通信装置。
【請求項６】
他の通信装置との間で通信する通信装置であって、
当該通信装置の識別情報を前記他の通信装置に通知する通知部と、
前記他の通信装置において導出された共通鍵と同一の共通鍵を記憶する共通鍵記憶部と、
前記共通鍵記憶部に記憶された共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化する共通鍵処理部と、
を備える通信装置。
【請求項７】
他の通信装置との間で通信する通信装置における通信方法であって、
前記他の通信装置の識別情報を取得するステップと、
前記通信装置が備える乱数記憶部に記憶された乱数及び前記他の通信装置の識別情報を用いて、共通鍵を導出するステップと、
前記導出された共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化するステップと、
を備える通信方法。
【請求項８】
他の通信装置との間で通信する通信装置における通信方法であって、
前記通信装置の識別情報を前記他の通信装置に通知するステップと、
前記通信装置が備える共通鍵記憶部に記憶された、前記他の通信装置において導出された共通鍵と同一の共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化するステップと、
を備える通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信装置及び通信方法に関する。
【背景技術】
【０００２】
従来、複数の通信装置間でデータを通信する場合、双方の通信装置が同じ鍵（共通鍵）を用いる共通鍵暗号方式により暗号通信することが知られている。共通鍵暗号方式に関する先行技術として、例えば、２つの通信装置のうちの一方が他方に共通鍵を配布する共通鍵暗号化通信システムが知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１８６８１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の共通鍵暗号化通信システムでは、共通鍵の管理が困難であり、共通鍵の安全性が不十分となることがあった。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、共通鍵の管理における安全性を容易に向上できる通信システム、通信装置及び通信方法を提供する。
【課題を解決するための手段】
【０００６】
本発明の通信システムは、第１の通信装置と第２の通信装置とがネットワークを介して接続された通信システムであって、前記第１の通信装置は、前記第２の通信装置の識別情報を取得する取得部と、乱数を記憶する乱数記憶部と、前記乱数及び前記第２の通信装置の識別情報を用いて、共通鍵を導出する共通鍵導出部と、前記導出された共通鍵を記憶する第１の共通鍵記憶部と、前記共通鍵を用いて、データを暗号化又は復号化する第１の共通鍵処理部と、前記第２の通信装置は、前記第２の通信装置の識別情報を通知する通知部と、前記第１の通信装置により導出された共通鍵と同一の共通鍵を記憶する第２の共通鍵記憶部と、前記共通鍵を用いて、データを暗号化又は復号化する第２の共通鍵処理部と、を備える。
【０００７】
本発明の通信装置は、他の通信装置との間で通信する通信装置であって、前記他の通信装置の識別情報を取得する取得部と、乱数を記憶する乱数記憶部と、前記乱数及び前記他の通信装置の識別情報を用いて、共通鍵を導出する共通鍵導出部と、前記導出された共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化する共通鍵処理部と、を備える。
【０００８】
本発明の通信装置は、他の通信装置との間で通信する通信装置であって、当該通信装置の識別情報を前記他の通信装置に通知する通知部と、前記他の通信装置において導出された共通鍵と同一の共通鍵を記憶する共通鍵記憶部と、前記共通鍵記憶部に記憶された共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化する共通鍵処理部と、を備える。
【０００９】
本発明の通信方法は、他の通信装置との間で通信する通信装置における通信方法であって、前記他の通信装置の識別情報を取得するステップと、前記通信装置が備える乱数記憶部に記憶された乱数及び前記他の通信装置の識別情報を用いて、共通鍵を導出するステップと、前記導出された共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化するステップと、を備える。
【００１０】
本発明の通信方法は、他の通信装置との間で通信する通信装置における通信方法であって、前記通信装置の識別情報を前記他の通信装置に通知するステップと、前記通信装置が備える共通鍵記憶部に記憶された、前記他の通信装置において導出された共通鍵と同一の共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化するステップと、を備える。
【発明の効果】
【００１１】
本発明によれば、共通鍵の管理における安全性を容易に向上できる。
【図面の簡単な説明】
【００１２】
【図１】実施形態における通信システムの構成例を示す模式図
【図２】実施形態における通信システムの構成例を示すブロック図
【図３】実施形態における通信システム内の各部における通信処理の動作例を説明するための模式図
【図４】実施形態におけるサーバ装置及び端末間の通信の流れの一例を示すシーケンス図
【図５】実施形態におけるサーバ装置の動作手順の一例を示すフローチャート
【図６】実施形態における端末の動作手順の一例を示すフローチャート
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、図面を用いて説明する。
【００１４】
（本発明の一形態を得るに至った経緯）
【００１５】
特許文献１の共通鍵暗号化通信システムでは、サーバ装置が、共通鍵暗号方式により複数の端末と通信する場合、例えば、全端末との間で同じ共通鍵を用いる場合と、端末毎に異なる共通鍵を用いる場合と、が考えられる。
【００１６】
全端末との間で同じ共通鍵を用いる場合、１つの共通鍵が漏洩すると、サーバ装置と全端末との間の暗号通信が危殆化する虞があった。
【００１７】
端末毎に異なる共通鍵を用いる場合、サーバ装置は、全ての共通鍵を管理する必要がある。そのため、例えば端末の台数が多数（例えば１００万台以上）である場合、管理対象の共通鍵が増大し、共通鍵の管理が煩雑となり、困難であった。同様に、端末を製造する工場においても、全ての共通鍵を管理することは煩雑であり、困難であった。
【００１８】
以下、共通鍵の管理における安全性を容易に向上できる通信システム、通信装置及び通信方法について説明する。
【００１９】
（実施形態）
図１は、実施形態における通信システム１０の構成例を示す模式図である。通信システム１０は、サーバ装置３０と複数の端末５０とを有する。サーバ装置３０と複数の端末５０とは、ネットワーク７０（図２参照）を介して接続される。サーバ装置３０は、第１の通信装置の一例である。端末５０は、第２の通信装置の一例である。
【００２０】
サーバ装置３０と各端末５０との間では、共通鍵暗号方式による暗号通信が行われる。共通鍵暗号方式は、例えば、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、を含む。この暗号通信では、端末５０毎に異なる共通鍵が用いられる。つまり、サーバ装置３０は、各端末５０との間で、異なる共通鍵を用いて暗号通信する。本実施形態では、複数の端末５０を区別する必要がある場合、端末１，２，・・・，Ｎと番号付けして説明する。
【００２１】
図２は、通信システム１０の構成例を示すブロック図である。
【００２２】
サーバ装置３０は、例えば、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）／ＰＨＹ（ｐｈｙｓｉｃａｌ  ｌａｙｅｒ）部３１、ＣＰＵ（Ｃｅｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）／ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）部３７、及びＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）部３３を有する。
【００２３】
ＭＡＣ／ＰＨＹ部３１は、ネットワーク７０におけるデータ転送を制御する。ＭＡＣ／ＰＨＹ部３１は、ネットワーク７０を介して端末５０と通信する通信部３２としての機能を有する。
【００２４】
ＨＤＤ部３３は、例えば、乱数記憶部３４、共通鍵記憶部３５、及びデータ記憶部３６を備える。ここではＨＤＤを例示するが、ＨＤＤ以外の記憶媒体（例えばＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリ）でもよい。
【００２５】
乱数記憶部３４は、乱数を記憶する。この乱数は、例えばサーバ装置３０の製造時に生成され、乱数記憶部３４に記憶される。データ記憶部３６は、各種データ（例えば、送信されるデータ、受信されたデータ）を記憶する。
【００２６】
共通鍵記憶部３５は、各端末５０との通信に用いられる共通鍵を記憶する。共通鍵記憶部３５には、共通鍵算出部３８により算出された共通鍵が記憶される。共通鍵記憶部３５に記憶された共通鍵は、その共通鍵の使用が終了すると、図示しない共通鍵消去部により、共通鍵記憶部３５から消去されてもよい。これにより、サーバ装置３０に対して同時に接続された（通信対象の）端末５０の台数分の共通鍵を記憶することで足り、共通鍵記憶部３５の記憶容量を低減できる。共通鍵の使用の終了には、例えば、共通鍵を用いた通信の終了、セッションの終了が含まれる。共通鍵消去部は、共通鍵暗号復号処理部３９の一例である。
【００２７】
ＣＰＵ／ＲＡＭ部３７は、例えば、ＣＰＵ及びＲＡＭを内蔵し、共通鍵算出部３８及び共通鍵暗号復号処理部３９としての機能を有する。
【００２８】
共通鍵算出部３８は、所定の計算式（例えば一方向性関数）の情報を予め保持している。共通鍵算出部３８は、例えば、ハッシュ関数を用いて、乱数記憶部３４に記憶された乱数及び端末５０から取得した端末５０の識別情報に基づいて、共通鍵としてのハッシュ値を算出する。共通鍵算出部３８は、算出された共通鍵を共通鍵記憶部３５に記憶させる。従って、サーバ装置３０と各端末５０との間で用いられる各共通鍵は、共通鍵算出部３８が保持する計算式によって紐付けられる。
【００２９】
尚、共通鍵算出部３８は、算出以外の方法で共通鍵を導出してもよい。共通鍵算出部３８は、共通鍵導出部の一例である。
【００３０】
共通鍵暗号復号処理部３９は、例えば、共通鍵を用いて暗号化された暗号データを復号化し、平文データを得る。共通鍵暗号復号処理部３９は、例えば、共通鍵を用いて平文データを暗号化し、暗号データを得る。暗号データは、例えば通信部３２により通信される。平文データは、例えばデータ記憶部３６に記憶され、又は各種処理の対象となる。共通鍵暗号復号処理部３９は、第１の共通鍵処理部の一例である。
【００３１】
端末５０は、例えば、ＭＡＣ／ＰＨＹ部５１、ＣＰＵ／ＲＡＭ部５８、不揮発性メモリ５６、ＨＤＤ部５３を有する。
【００３２】
ＭＡＣ／ＰＨＹ部５１は、ネットワーク７０におけるデータ転送を制御する。ＭＡＣ／ＰＨＹ部５１は、ネットワーク７０を介してサーバ装置３０と通信する通信部５２としての機能を有する。通信部５２は、各種データを通信する。通信部５２は、端末５０の識別情報をサーバ装置３０へ通知する通知部の一例である。
【００３３】
ＣＰＵ／ＲＡＭ部５８は、例えば、ＣＰＵ及びＲＡＭを内蔵し、共通鍵暗号復号処理部５９としての機能を有する。
【００３４】
共通鍵暗号復号処理部５９は、例えば、共通鍵を用いて暗号化された暗号データを復号化し、平文データを得る。共通鍵暗号復号処理部５９は、例えば、共通鍵を用いて平文データを暗号化し、暗号データを得る。暗号データは、例えば通信部５２により通信される。平文データは、例えばデータ記憶部５５に記憶され、又は各種処理の対象となる。共通鍵暗号復号処理部５９は、第２の共通鍵処理部の一例である。
【００３５】
不揮発性メモリ５６は、例えば、共通鍵記憶部５７を備える。共通鍵記憶部５７は、外部の情報機器８０により生成された共通鍵を記憶する。この共通鍵は、サーバ装置３０により生成された共通鍵と同一である。
【００３６】
ＨＤＤ部５３は、例えば、ＩＤ番号記憶部５４及びデータ記憶部５５を備える。ＩＤ番号記憶部５４は、端末５０の識別情報（例えばＩＤ番号（例えばＭＡＣアドレス）、その他の既知かつ端末５０を識別可能な情報）を記憶する。データ記憶部５５は、各種データを記憶する。
【００３７】
不揮発性メモリ５６及びＣＰＵ／ＲＡＭ部５８は、例えば、耐タンパエリア６０に設けられる。耐タンパエリア６０は、例えば、外部から一定の行為があった場合、耐タンパエリア６０内のデータが消去され、又は耐タンパエリア６０内の回路が破壊される。これにより、耐タンパエリアに保持された情報が不正に読み取られることを抑制し、セキュリティを向上できる。上記一定の行為は、例えば、耐タンパエリア６０内の回路基板にプローブにより電気信号が加えられ、又は耐タンパエリア６０に設けられた電気素子が外されることを含む。耐タンパエリア６０は、耐タンパ性を有するセキュア領域の一例である。
【００３８】
尚、図３の情報機器８０は、例えば端末５０が製造される工場に設置される。情報機器８０は、例えば、サーバ装置３０が記憶する乱数の情報と、サーバ装置３０が共通鍵の算出に用いる計算式の情報と、を保持している。情報機器８０は、端末５０が製造される際に、端末５０の識別情報を取得し、上記乱数の情報、上記計算式の情報、及び端末５０の識別情報に基づいて、サーバ装置３０が算出する共通鍵と同じ共通鍵を算出する。算出された共通鍵は、図示しない記憶媒体又は通信ネットワークを介して、端末５０の共通鍵記憶部５７に保持される。
【００３９】
次に、通信システム１０の動作例について説明する。
【００４０】
図３は、通信システム１０内の各部における通信処理の動作例を説明するための模式図である。図３では、番号Ｎにより識別される端末５０を、端末Ｎと表記する。図４は、サーバ装置３０及び端末５０間の通信の流れの一例を示すシーケンス図である。
【００４１】
端末Ｎでは、通信部５２は、ＩＤ番号記憶部５４に記憶された、ＩＤ番号である値ＩＤ_Ｎを、サーバ装置３０に通知する（Ｔ１）。値ＩＤ_Ｎには、例えば、ＭＡＣアドレスが用いられる。
【００４２】
サーバ装置３０では、通信部３２は、端末Ｎから通知された値ＩＤ_Ｎを受信し、共通鍵算出部３８に渡す。共通鍵算出部３８は、乱数記憶部３４に記憶された乱数Ｒを読み出す。共通鍵算出部３８は、値ＩＤ_Ｎに乱数Ｒを加算した値（ＩＤ_Ｎ＋Ｒ）を、一方向性関数に代入し、端末Ｎとの間で用いられる共通鍵（Ｈａｓｈ（ＩＤ_Ｎ＋Ｒ））を算出する（Ｔ２）。本実施形態では、例えば、一方向性関数としてハッシュ関数が用いられ、共通鍵としてハッシュ値を得る。
【００４３】
尚、共通鍵算出部３８は、ハッシュ関数を用いることなく、他の一方向性関数（例えばＡＥＳ、ＲＳＡ(Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｌｅｍａｎ)）を用いて、共通鍵を生成してもよい。
【００４４】
例えば、共通鍵算出部３８は、サーバ装置３０の鍵を用いて、共通鍵暗号方式（例えばＡＥＳ）により、値（ＩＤ_Ｎ＋Ｒ）を暗号化又は復号化し、共通鍵を生成してもよい。サーバ装置３０の鍵とは、端末Ｎとの通信に使用する鍵とは異なり、別途生成された鍵である。例えば、共通鍵算出部３８は、サーバ装置３０の公開鍵を用いて、公開鍵暗号方式（例えばＲＳＡ）により、値（ＩＤ_Ｎ＋Ｒ）を暗号化又は復号化し、共通鍵を生成してもよい。
【００４５】
共通鍵算出部３８は、値ＩＤ_Ｎと乱数Ｒとを加算する以外の方法で、共通鍵を生成してもよい。例えば、共通鍵算出部３８は、値ＩＤ_Ｎと乱数Ｒとの排他的論理和、減算、乗算、除算、又は連結の計算を行った値に対し、ハッシュ値を算出することにより、共通鍵を生成してもよい。
【００４６】
値ＩＤ_Ｎは、各端末の識別番号であるＩＤ値に限られず、個々の端末を識別できる値であればよい。値ＩＤ_Ｎは、個々の端末でなく、グループ毎に端末を識別できる値でもよい。グループとして、例えば、ＯＥＭ(ｏｒｉｇｉｎａｌ  ｅｑｕｉｐｍｅｎｔ  ｍａｎｕｆａｃｔｕｒｅｒ)の商品群に分けられてもよい。
【００４７】
共通鍵算出部３８により算出されたハッシュ値Ｈａｓｈ（ＩＤ_Ｎ＋Ｒ）である共通鍵は、共通鍵記憶部３５に記憶される。
【００４８】
情報機器８０は、サーバ装置３０の乱数Ｒと値ＩＤ_Ｎを用い、サーバ装置３０と同様の計算を行って、サーバ装置３０が保持する共通鍵と同じ（同一の）共通鍵（鍵Ｎ）としてのハッシュ値Ｈａｓｈ（ＩＤ_Ｎ＋Ｒ）を生成する。情報機器８０によって生成された共通鍵としてのハッシュ値Ｈａｓｈ（ＩＤ_Ｎ＋Ｒ）は、耐タンパエリア６０内の共通鍵記憶部５７に埋め込まれる。情報機器８０は、例えば、端末の製造工程において工場内で使用される。
【００４９】
サーバ装置３０の共通鍵記憶部３５及び端末Ｎの共通鍵記憶部５７により共通鍵が記憶された後、サーバ装置３０及び端末Ｎ間では、共通鍵記憶部３５，５７に記憶された共通鍵を用いて、共通鍵暗号方式により暗号通信される（Ｔ３）。なお、Ｔ３の処理は省略されてもよい。
【００５０】
例えば、端末Ｎがサーバ装置３０へデータを送信することを想定する。この場合、端末Ｎでは、共通鍵暗号復号処理部５９は、データ記憶部５５に記憶された平文データを読み出し、共通鍵記憶部５７に記憶された共通鍵を読み出す。共通鍵暗号復号処理部５９は、共通鍵を用いて平文データを暗号化し、暗号されたデータ（暗号データ）を通信部５２に渡す。通信部５２は、暗号データを通信部３２に送信する。
【００５１】
サーバ装置３０では、通信部３２は、端末Ｎからの暗号データを受信する。共通鍵暗号復号処理部３９は、通信部３２から暗号データを取得し、共通鍵記憶部３５に記憶された共通鍵を取得する。共通鍵暗号復号処理部３９は、共通鍵を用いて暗号データを復号化し、平文データを得て、平文データをデータ記憶部３６へ渡す。データ記憶部３６は、平文データを記憶する。
【００５２】
例えば、サーバ装置３０が端末Ｎへデータを送信することを想定する。この場合、サーバ装置３０では、共通鍵暗号復号処理部３９は、データ記憶部３６に記憶された平文データを読み出し、共通鍵記憶部３５に記憶された共通鍵を読み出す。共通鍵暗号復号処理部３９は、共通鍵を用いて平文データを暗号化し、暗号されたデータ（暗号データ）を通信部３２に渡す。通信部３２は、暗号データを通信部５２に送信する。
【００５３】
端末Ｎでは、通信部５２は、サーバ装置３０からの暗号データを受信する。共通鍵暗号復号処理部５９は、通信部５２から暗号データを取得し、共通鍵記憶部５７に記憶された共通鍵を取得する。共通鍵暗号復号処理部５９は、共通鍵を用いて暗号データを復号化し、平文データを得て、平文データをデータ記憶部５５に渡す。データ記憶部５５は、平文データを記憶する。
【００５４】
尚、サーバ装置３０及び端末５０間において通信される平文データは、例えば、セッション鍵でもよい。サーバ装置３０及び端末５０は、例えばサーバ装置３０及び端末５０間の通信開始時に、セッション鍵を生成する。セッション鍵を用いて暗号通信することで、同じ共通鍵を継続して用いる場合と比較すると、鍵が漏洩する可能性を低減できる。このセッション鍵が平文データとして暗号化されて通信されることで、サーバ装置３０及び端末５０は、安全にセッション鍵を取得でき、相互に共有できる。
【００５５】
図５は、サーバ装置３０の動作手順の一例を示すフローチャートである。図５の処理は、例えば、サーバ装置３０と端末５０とが通信する際に行われる。
【００５６】
まず、通信部３２は、いずれかの端末ＮのＩＤ番号を受信するまで待機する（Ｓ１）。
【００５７】
通信部３２がＩＤ番号を受信すると、共通鍵算出部３８は、前述した手順に従って共通鍵（例えばハッシュ値Ｈａｓｈ（ＩＤ_Ｎ＋Ｒ））を計算し、共通鍵記憶部３５に記憶する（Ｓ２）。
【００５８】
通信部３２は、データ記憶部３６に記憶された送信データ（平文データ）があるか否かを判別する（Ｓ３）。
【００５９】
送信データがある場合、共通鍵暗号復号処理部３９は、データ記憶部３６に記憶された送信データを読み出し、共通鍵で送信データを暗号化する。通信部３２は、暗号化されたデータを端末Ｎに送信する（Ｓ４）。
【００６０】
データの送信後又はＳ３において送信データが無い場合、通信部３２は、端末Ｎからの受信データ（暗号データ）があるか否かを判別する（Ｓ５）。
【００６１】
受信データがある場合、共通鍵暗号復号処理部３９は、通信部３２から受信データを取得し、受信データを共通鍵で復号化し、平文データを得る。共通鍵暗号復号処理部３９は、平文データをデータ記憶部３６に記憶する等の処理を行う（Ｓ６）。
【００６２】
データの記憶後又はＳ５において受信データが無い場合、Ｓ３の処理に戻り、サーバ装置３０は、同様の処理を繰り返す。
【００６３】
サーバ装置３０の動作例によれば、端末ＮのＩＤ番号に基づいて共通鍵を導出するので、端末Ｎ毎に異なる共通鍵を生成できる。従って、端末Ｎが複数存在し、いずれかの端末Ｎ用の共通鍵が漏洩しても、この漏洩に起因して他の端末Ｎ用の共通鍵の漏洩が発生することは抑制される。また、サーバ装置３０は、事前に端末Ｎ用の共通鍵を保持せずに、例えば端末Ｎとの通信時に共通鍵を生成できるので、共通鍵が漏洩する可能性を低減できる。また、端末Ｎとの間の通信後には、端末Ｎの共通鍵を消去することで、端末Ｎの台数分の共通鍵を記憶しなくて済む。従って、共通鍵の管理における安全性を容易に向上できる。
【００６４】
尚、Ｓ３〜Ｓ４の処理とＳ５〜Ｓ６の処理とは順序が逆でもよい。
【００６５】
図６は、端末５０（端末Ｎ）の動作手順の一例を示すフローチャートである。図６の処理は、例えば、サーバ装置３０と端末５０とが通信する際に行われる。
【００６６】
まず、通信部５２は、ＩＤ番号記憶部５４に記憶されたＩＤ番号を通知する（Ｓ１１）。
【００６７】
通信部５２は、データ記憶部５５に記憶された送信データ（平文データ）があるか否かを判別する（Ｓ１２）。
【００６８】
送信データがある場合、共通鍵暗号復号処理部５９は、データ記憶部５５に記憶された送信データを読み出し、共通鍵で暗号化する（Ｓ１３）。通信部５２は、暗号化されたデータをサーバ装置３０に送信する。
【００６９】
データの送信後又はＳ１３において送信データが無い場合、通信部５２は、サーバ装置３０からの受信データ（暗号データ）があるか否かを判別する（Ｓ１４）。
【００７０】
受信データがある場合、共通鍵暗号復号処理部５９は、通信部５２から受信データを取得し、受信データを共通鍵で復号化し、平文データを得る。共通鍵暗号復号処理部５９は、平文データをデータ記憶部５５に記憶する等の処理を行う（Ｓ１５）。
【００７１】
データの記憶後又はＳ１４において受信データが無い場合、Ｓ１２の処理に戻り、端末Ｎは同様の処理を繰り返す。
【００７２】
端末５０の動作例によれば、サーバ装置３０へ端末５０のＩＤ番号を送信するので、サーバ装置３０が、端末５０のＩＤ番号に基づいて共通鍵を導出でき、端末５０毎（端末Ｎ毎）に異なる共通鍵を生成できる。従って、端末５０が複数存在し、いずれかの端末Ｎ用の共通鍵が漏洩しても、この漏洩に起因して他の端末Ｎ用の共通鍵の漏洩が発生することを抑制できる。
【００７３】
尚、Ｓ１２〜Ｓ１３の処理とＳ１４〜Ｓ１５の処理とは順序が逆でもよい。
【００７４】
このように、通信システム１０では、端末５０は、例えば、ＩＤ番号記憶部５４に記憶された、自身の端末を識別するためのＩＤ番号（識別番号）をサーバ装置３０に通知する。サーバ装置３０内の共通鍵算出部３８は、例えば、乱数記憶部３４に記憶された乱数、及び端末５０から通知されたＩＤ番号を用いて共通鍵を算出する。サーバ装置３０は、例えば、共通鍵算出部３８によって算出された共通鍵を共通鍵記憶部３５に記憶する。
【００７５】
端末５０は、例えば、共通鍵算出部３８によって算出される共通鍵と同一の共通鍵を共通鍵記憶部５７に記憶しておく。端末５０内の共通鍵暗号復号処理部５９は、例えば、共通鍵記憶部５７に記憶された共通鍵を用いて、サーバ装置３０及び端末５０間で通信が行われるデータを暗号化（復号化）する。
【００７６】
サーバ装置３０内の共通鍵暗号復号処理部３９は、例えば、共通鍵記憶部３５に記憶された共通鍵を用いて、サーバ装置３０及び端末５０間で通信が行われるデータを復号化（暗号化）する。
【００７７】
通信システム１０によれば、端末５０のＩＤ番号及び乱数を用いて共通鍵が算出されるので、端末５０毎に共通鍵が異なる。従って、仮に１つの端末用の共通鍵が漏洩しても、他の端末５０用の共通鍵の漏洩が発生することを抑制できる。
【００７８】
また、サーバ装置３０は、例えば、乱数を記憶し、端末５０との通信時に乱数から共通鍵を算出するので、サーバ装置３０との間で通信する端末５０の台数分の共通鍵を予め記憶しなくて済む。従って、各端末５０用の共通鍵の漏洩を抑制でき、共通鍵の管理に係る負担を軽減できる。
【００７９】
また、端末５０は、乱数Ｒに基づくハッシュ値を記憶し、乱数Ｒを記憶しない。つまり、端末５０は、乱数Ｒを考慮していない。また、端末５０は、ハッシュ値から乱数Ｒを算出できない。従って、サーバ装置３０がどのように共通鍵を算出しているか把握できないので、サーバ装置３０と他の端末５０とが用いる共通鍵を導出することはできず、セキュリティが保たれる。
【００８０】
また、端末５０が耐タンパエリア６０を備える場合、耐タンパエリア６０を共通鍵記憶部５７及び共通鍵暗号復号処理部５９が設けられるので、外部から共通鍵を読み出すことが困難であり、共通鍵の漏洩抑制に繋がる。
【００８１】
また、端末５０毎に共通鍵が異なり、サーバ装置３０と同じ共通鍵を持った端末５０によりデータが暗号化され、サーバ装置３０により復号化される。従って、この通信方法（例えば図３〜図６に示した手順）は、サーバ装置３０による端末５０の認証、又は端末５０によるサーバ装置３０の認証、つまり装置認証にも利用できる。
【００８２】
このように、サーバ装置３０と各端末５０との間で用いられる各共通鍵の漏洩を抑制し、各共通鍵の管理を容易化できる。従って、共通鍵の管理における安全性を容易に向上できる。
【００８３】
以上、図面を参照しながら各種の実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【００８４】
上記実施形態では、共通鍵で暗号化された暗号データを送信することを例示した。更に、端末５０は、この暗号データをサーバ装置３０の公開鍵で暗号化してから送信してもよい。つまり、共通鍵暗号方式と公開鍵暗号方式とが組み合わせて実施されてもよい。これにより、通信システム１０のセキュリティを一層強化できる。
【００８５】
上記実施形態では、端末５０が耐タンパエリア６０を備えることを例示したが、耐タンパエリア６０を備えなくてもよい。
【００８６】
上記実施形態では、ＣＰＵ／ＲＡＭ部３７，５８は、専用回路（専用チップ）により構成されてもよい。
【００８７】
（本発明の一態様の概要）
本発明の一態様の通信システムは、第１の通信装置と第２の通信装置とがネットワークを介して接続された通信システムであって、前記第１の通信装置は、前記第２の通信装置の識別情報を取得する取得部と、乱数を記憶する乱数記憶部と、前記乱数及び前記第２の通信装置の識別情報を用いて、共通鍵を導出する共通鍵導出部と、前記導出された共通鍵を記憶する第１の共通鍵記憶部と、前記共通鍵を用いて、データを暗号化又は復号化する第１の共通鍵処理部と、を備え、前記第２の通信装置は、前記第２の通信装置の識別情報を通知する通知部と、前記第１の通信装置により導出された共通鍵と同一の共通鍵を記憶する第２の共通鍵記憶部と、前記共通鍵を用いて、データを暗号化又は復号化する第２の共通鍵処理部と、を備える。
【００８８】
この構成によれば、第２の通信装置の識別番号及び乱数を用いて共通鍵が導出されるので、第２の通信装置毎に共通鍵が異なる。従って、第２の通信装置が複数存在する場合、仮に１つの第２の通信装置用の共通鍵が漏洩しても、この漏洩に起因した他の第２の通信装置用の共通鍵の漏洩は発生しない。また、第１の通信装置は、乱数を記憶しておき、第２の通信装置と通信する際に共通鍵を導出する場合、第２の通信装置の台数分の共通鍵を記憶しなくて済む。従って、共通鍵の管理における安全性を容易に向上できる。
【００８９】
本発明の一態様の通信システムは、前記第２の通信装置が、耐タンパ性を有するセキュア領域を有し、前記第２の共通鍵記憶部及び前記第２の共通鍵処理部が、前記セキュア領域に配置される。
【００９０】
この構成によれば、セキュア領域内の各部に記憶されたデータや各部により処理されたデータの抽出が困難となる。従って、第２の通信装置の外部から共通鍵及び共通鍵を用いた処理の確認が困難となり、共通鍵の漏洩を一層抑制できる。
【００９１】
本発明の一態様の通信システムは、前記第１の共通鍵処理部が、前記第１の通信装置と前記第２の通信装置との間での通信が終了した場合、前記第１の共通鍵記憶部に記憶された共通鍵を消去する。
【００９２】
この構成によれば、通信期間にある第２の通信装置との間で使用される共通鍵が第１の共通鍵記憶部に保持され、通信期間にない第２の通信装置との間で使用される共通鍵が第１の共通鍵記憶部に保持されない。従って、第１の共通鍵記憶部に記憶される共通鍵を低減でき、記憶効率を向上できる。
【００９３】
本発明の一態様の通信システムは、前記第１の通信装置が、前記共通鍵を用いて暗号化されたデータを通信する第１の通信部を備え、前記第２の通信装置が、前記共通鍵を用いて暗号化されたデータを通信する第２の通信部を備える。
【００９４】
この構成によれば、安全性高く管理された共通鍵を用いて、第１の通信装置と第２の通信装置とが共通鍵暗号通信を実行でき、通信データの秘匿性を向上できる。
【００９５】
本発明の一態様の通信装置は、他の通信装置との間で通信する通信装置であって、前記他の通信装置の識別情報を取得する取得部と、乱数を記憶する乱数記憶部と、前記乱数及び前記他の通信装置の識別情報を用いて、共通鍵を導出する共通鍵導出部と、前記導出された共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化する共通鍵処理部と、を備える。
【００９６】
この構成によれば、他の通信装置の識別番号及び乱数を用いて共通鍵が導出されるので、他の通信装置毎に共通鍵が異なる。従って、他の通信装置が複数存在する場合、仮に１つの他の通信装置用の共通鍵が漏洩しても、この漏洩に起因して全ての他の通信装置用の共通鍵の漏洩が発生することは抑制される。また、通信装置は、乱数を記憶しておき、他の通信装置と通信する際に共通鍵を導出する場合、他の通信装置の台数分の共通鍵を記憶しなくて済む。従って、共通鍵の管理における安全性を容易に向上できる。
【００９７】
本発明の一態様の通信装置は、他の通信装置との間で通信する通信装置であって、当該通信装置の識別情報を前記他の通信装置に通知する通知部と、前記他の通信装置において導出された共通鍵と同一の共通鍵を記憶する共通鍵記憶部と、前記共通鍵記憶部に記憶された共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化する共通鍵処理部と、を備える。
【００９８】
この構成によれば、他の通信装置が、通信装置の識別番号及び乱数を用いて共通鍵を導出できる。従って、他の通信装置は、通信装置毎に異なる共通鍵を導出できる。従って、通信装置が複数存在する場合、仮に１つの通信装置用の共通鍵が漏洩しても、この漏洩に起因して全ての通信装置用の共通鍵の漏洩が発生することは回避される。
【００９９】
本発明の一態様の通信方法は、他の通信装置との間で通信する通信装置における通信方法であって、前記他の通信装置の識別情報を取得するステップと、前記通信装置が備える乱数記憶部に記憶された乱数及び前記他の通信装置の識別情報を用いて、共通鍵を導出するステップと、前記導出された共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化するステップと、を備える。
【０１００】
この方法によれば、他の通信装置の識別番号及び乱数を用いて共通鍵が導出されるので、他の通信装置毎に共通鍵が異なる。従って、他の通信装置が複数存在する場合、仮に１つの他の通信装置用の共通鍵が漏洩しても、この漏洩に起因して全ての他の通信装置用の共通鍵の漏洩が発生することは抑制される。また、通信装置は、乱数を記憶しておき、他の通信装置と通信する際に共通鍵を導出する場合、他の通信装置の台数分の共通鍵を記憶しなくて済む。従って、共通鍵の管理における安全性を容易に向上できる。
【０１０１】
本発明の一態様の通信方法は、他の通信装置との間で通信する通信装置における通信方法であって、前記通信装置の識別情報を前記他の通信装置に通知するステップと、前記通信装置が備える共通鍵記憶部に記憶された、前記他の通信装置において導出された共通鍵と同一の共通鍵を用いて、前記他の通信装置との間で通信されるデータを暗号化又は復号化するステップと、を備える。
【０１０２】
この方法によれば、他の通信装置が、通信装置の識別番号及び乱数を用いて共通鍵を導出できる。従って、他の通信装置は、通信装置毎に異なる共通鍵を導出できる。従って、通信装置が複数存在する場合、仮に１つの通信装置用の共通鍵が漏洩しても、この漏洩に起因して全ての通信装置用の共通鍵の漏洩が発生することは回避される。
【産業上の利用可能性】
【０１０３】
本発明は、共通鍵の管理における安全性を容易に向上できる通信システム、通信装置及び通信方法等に有用である。
【符号の説明】
【０１０４】
１０  通信システム
３０  サーバ装置
３１，５１  ＭＡＣ／ＰＨＹ部
３２，５２  通信部
３３，５３  ＨＤＤ部
３４  乱数記憶部
３５，５７  共通鍵記憶部
３６，５５  データ記憶部
３７，５８  ＣＰＵ／ＲＡＭ部
３８  共通鍵算出部
３９，５９  共通鍵暗号復号処理部
５０  端末
５４  ＩＤ番号記憶部
５６  不揮発性メモリ
６０  耐タンパエリア
７０  ネットワーク
８０  情報機器
【図１】
2015233201.tif 000003
【図２】
2015233201.tif 000004
【図３】
2015233201.tif 000005
【図４】
2015233201.tif 000006
【図５】
2015233201.tif 000007
【図６】
2015233201.tif 000008