説明

鍵管理サーバ、端末、通信システム、鍵配信方法、鍵配信プログラム、鍵受信方法及び鍵受信プログラム

【課題】通信機器にかかる処理負荷を低くおさえつつ、安全性の高い通信機器間の通信を可能とする鍵配信を行うことを目的とする。
【解決手段】鍵管理サーバ101と各通信機器102とはデバイス鍵を用いて通信する。通信機器102と通信機器102とはマスター鍵を用いて通信する。鍵管理サーバ101は、マスター鍵を管理し、デバイス鍵を用いて暗号化して各通信機器102へ配信する。また、鍵管理サーバ101は任意のタイミングでデバイス鍵を更新する命令を各通信機器102へ配信する。命令の配信後、鍵管理サーバ101は所定の一方向関数により現在のデバイス鍵を更新して、更新前のデバイス鍵を削除する。各通信機器102は命令を受信すると、上記所定の一方向関数により現在のデバイス鍵を更新して、更新前のデバイス鍵を削除する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、複数の端末間において暗号化通信を行う場合に使用する暗号鍵の配布及び暗号鍵の共有技術に関する。
【背景技術】
【0002】
複数の通信機器において、暗号アルゴリズムの鍵を共有し、通信機器間の通信内容の電子署名や暗号化を行うことによって、通信内容の盗聴防止や改ざん検出を実現することができる。この時、暗号アルゴリズムとして共通鍵暗号アルゴリズムを用いる場合は、全ての通信機器が同一の共通鍵を共有する必要がある。また、暗号アルゴリズムとして公開鍵暗号アルゴリズムを用いる場合は、全ての通信機器が機器自身の秘密鍵と他の機器の公開鍵を持っている必要がある。即ち、通信機器間で、秘密鍵または秘密鍵に対応付けされた公開鍵を共有する必要がある。この時、同一の鍵を継続利用し続けると、鍵解析や紛失した通信機器からの鍵読み出し等によって、鍵が漏洩する可能性があるため、共有した鍵を更新する必要がある。
【0003】
従来の複数通信機器における共有鍵の更新に関する技術としては、以下のような技術がある。
特許文献1には鍵配信システムについての記載がある。この鍵配信システムでは、利用者を木構造でグルーピングして、グループ内で共有するグループ鍵を、利用者の新規入会あるいは脱会要求に基づいて鍵管理サーバで生成する。そして、鍵管理サーバと各々の利用者の間で事前共有しておいた利用者の個人鍵で暗号化することによって、グループ鍵の更新・配布を行う。
【0004】
特許文献2には、鍵交換システムについての記載がある。この鍵交換システムでは、DHCP(Dynamic Host Configuration Protocol)サーバであるゲートウェイ装置と通信端末との間で、Diffie−Hellmanの鍵交換方式を用いて、鍵データを交換することによって共有鍵を更新する。特に、この鍵交換システムでは、通信端末がネットワーク情報の有効期限切れまでにゲートウェイ装置に対して行うネットワーク情報の延長申請要求から始まるDHCP通信時に、Diffie−Hellmanの鍵交換方式を用いて、鍵データを新たに交換する。
【0005】
特許文献3には、鍵更新方法についての記載がある。この鍵更新方法では、予め秘密情報に対して一方向性関数を繰り返し適用して作成されたn個の各値から導出された鍵の系列を、作成した順番の逆方向の順番に、即ち秘密情報に対して一方向性関数をn回適用した値から導出された鍵から順番に、更新するグループ鍵として利用する。これにより、この鍵更新方法では、最新のグループ鍵のみを保持していれば、過去のグループ鍵を用いて暗号化された情報を復号可能である。
【特許文献1】特開2006−203363号公報
【特許文献2】特開2001−292135号公報
【特許文献3】特開2000−244474号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来の複数通信機器における共有鍵の更新方式には、以下のような課題がある。
まず、上記鍵配信システムでは、グループ鍵を更新しているものの、鍵管理サーバで生成した更新グループ鍵を配布する際に、鍵管理サーバと各々の利用者の間で事前共有しておいた利用者の個人鍵を繰り返し利用する。そのため、暗号化された通信内容と暗号化されて配布される更新グループ鍵を入手・記録しておき、利用者の個人鍵の解読に成功した場合、解読した個人鍵からグループ鍵が漏洩し、最終的に全ての通信内容が漏洩してしまうという課題がある。
また、上記鍵配信システムでは、グループ鍵の更新は、グループを構成する利用者の新規入会あるいは脱会要求が発生した時のみ行われる。そのため、グループ構成する利用者の新規入会あるいは脱会要求が発生しない場合、同一のグループ鍵を繰り返し利用することになり、グループ鍵の解読攻撃に晒されやすいという課題がある。
【0007】
また、上記鍵交換システムでは、Diffie−Hellmanの鍵交換方式を用いている。そのため、ゲートウェイ装置と通信端末のそれぞれにおいて、素数を含む複雑な演算を行う必要があり、処理負荷が高いという課題がある。
また、Diffie−Hellmanの鍵交換方式では通信相手の認証、即ち正当性の確認は行えないため、例えば、公開鍵暗号アルゴリズムと組み合わせて使用しなければならないという課題がある。
【0008】
また、上記鍵更新方法では、最新のグループ鍵から過去の全てのグループ鍵を導出することが可能である。そのため、暗号化された通信内容を入手・記録しておき、最新のグループ鍵の解読や入手に成功すれば、過去のグループ鍵全てが漏洩し、最終的に全ての通信内容が漏洩してしまうという課題がある。
【0009】
この発明は、例えば、通信機器にかかる処理負荷を低くおさえつつ、安全性の高い通信機器間の通信を可能とする鍵配信(鍵共有)を行うことを目的とする。
【課題を解決するための手段】
【0010】
本発明に係る鍵管理サーバは、例えば、複数の端末と通信可能な鍵管理サーバにおいて、
上記複数の端末間の通信の暗号化処理に用いるマスター鍵を上記複数の端末が受信する際に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を処理装置により作成するデバイス鍵更新命令作成部と、
上記デバイス鍵更新命令作成部が作成したデバイス鍵更新命令を上記複数の端末の少なくともいずれかの端末を宛先として通信装置により送信するデータ送信部と
を備えることを特徴とする。
【発明の効果】
【0011】
本発明に係る鍵配信サーバによれば、デバイス鍵を更新するため、マスター鍵の配信を安全に行うことができる。特に、一方向性関数によりデバイス鍵を更新するため、たとえ現在のデバイス鍵が漏洩しても、過去のデバイス鍵により通信した情報が漏洩することはない。また、本発明に係る鍵配信サーバによれば、デバイス鍵自体を配信しないため、通信を傍受されることによりデバイス鍵が漏洩することがない。さらに、本発明に係る鍵配信サーバによれば、デバイス鍵自体を配信しないため、通信情報を暗号化する必要がない、つまり複雑な暗号化演算をする必要がない。そのため、鍵管理サーバと端末とにおける処理負荷が低い。
【発明を実施するための最良の形態】
【0012】
実施の形態1.
図1は実施の形態1におけるシステム構成図である。
図1において、鍵管理サーバ101は通信機器102間の通信に用いる暗号鍵(マスター鍵)を作成して配布し、また通信機器102間で共有されたマスター鍵や後述するデバイス鍵の更新を指示するサーバである。通信機器102は他の通信機器102との間でマスター鍵を用いて暗号化処理を行い通信をする機器である。ネットワーク103は鍵管理サーバ101と通信機器102の間、および通信機器102同士の間の通信路として用いられるバックボーンネットワークである。
鍵管理サーバ101と通信機器102とは、通信機器102毎に異なる暗号鍵(デバイス鍵)を予め共有しており、鍵管理サーバ101と通信機器102の間で、様々な命令データを暗号化や改ざん防止を施した上で通信することが可能となっている。
実施の形態1では、鍵管理サーバ101と通信機器102とで共有したデバイス鍵を所定のタイミングに新たなデバイス鍵に更新することにより、鍵管理サーバ101から通信機器102へのマスター鍵等の配信の安全性を高める。
【0013】
まず、デバイス鍵更新命令の配布による鍵管理サーバ101と通信機器102との間の共有鍵(デバイス鍵)の更新の動作の概要について説明する。
デバイス鍵の更新は、デバイス鍵一括更新命令600を用いて全てのデバイス鍵を一括更新する方法と、デバイス鍵個別更新命令700を用いて特定の通信機器102との間で共有するデバイス鍵のみを更新する方法との二通りがある。さらに、これらの命令(デバイス鍵一括更新命令600、デバイス鍵個別更新命令700)にデバイス鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にデバイス鍵の更新を行う。
【0014】
図2は図1に示したシステム構成において、全てのデバイス鍵を一括に更新する際のデータの流れを示した図である。
鍵管理サーバ101は、全てのデバイス鍵の一括更新を指示する命令を作成し、各々の通信機器102が命令の正当性を検証するための電子署名集合を付与して、デバイス鍵一括更新命令600を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、デバイス鍵一括更新命令600を全ての通信機器102に向けて送信する。そして、鍵管理サーバ101は、全てのデバイス鍵を更新する。一方、通信機器102は、ネットワーク103を介して、デバイス鍵一括更新命令600を受信し、命令に含まれる電子署名集合を検証して命令の正当性を確認し、デバイス鍵の更新を行う。
【0015】
次に、図3に基づき、鍵管理サーバ101が配布するデバイス鍵一括更新命令600について説明する。
図3は、図2におけるデバイス鍵一括更新命令600のデータ形式を示した図である。
図3において、デバイス鍵一括更新命令600は、データ種別601、デバイス鍵一括更新命令情報602、電子署名集合603を備える。
データ種別601は命令データの種類がデバイス鍵一括更新命令であることを示すフラグである。デバイス鍵一括更新命令情報602は全ての通信機器102においてデバイス鍵を更新するための具体的な指示内容である。電子署名集合603はこのデバイス鍵一括更新命令600が鍵管理サーバ101で作成された正規命令であることを確認するために、宛先である通信機器102毎に作成された個別電子署名604の集合である。個別電子署名604は各々の通信機器102が検証可能な電子署名である。
デバイス鍵一括更新命令情報602は、更新後世代番号611、有効期限612を備える。更新後世代番号611は何世代目のデバイス鍵に更新すればよいかを示す世代番号である。有効期限612は更新後のデバイス鍵に有効期限を設定する場合に指定する日時であり、有効期限を設定しない場合は省略可能である。
個別電子署名604は、デバイスID621、署名鍵世代番号622、署名値623を備える。デバイスID621はその個別電子署名604が対象とする通信機器102を示す、機器毎に異なる値である。署名鍵世代番号622は署名を生成する際に用いたデバイス鍵の世代番号である。署名値623はデバイスID621の通信機器102に対応する署名鍵世代番号622のデバイス鍵を用いて、データ種別601およびデバイス鍵一括更新命令情報602に対して施された署名である。
【0016】
図4は図1に示したシステム構成において、特定のデバイス鍵のみを個別に更新する際のデータの流れを示した図である。
鍵管理サーバ101は、特定の通信機器102のデバイス鍵の個別更新を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための電子署名を付与して、デバイス鍵個別更新命令700を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、デバイス鍵個別更新命令700を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するデバイス鍵を更新する。一方、通信機器102は、ネットワーク103を介して、デバイス鍵個別更新命令700を受信し、命令が自分宛であるかどうか確認し、命令に含まれる電子署名を検証して命令の正当性を確認し、デバイス鍵の更新を行う。
【0017】
次に、図5に基づき、鍵管理サーバ101が配布するデバイス鍵個別更新命令700について説明する。
図5は、図4におけるデバイス鍵個別更新命令700のデータ形式を示した図である。
図5において、デバイス鍵個別更新命令700は、データ種別701、デバイス鍵個別更新命令情報702、電子署名703を備える。
データ種別701は命令データの種類がデバイス鍵個別更新命令であることを示すフラグである。デバイス鍵個別更新命令情報702は特定の通信機器102においてデバイス鍵を更新するための具体的な指示内容である。電子署名703はこのデバイス鍵個別更新命令700が鍵管理サーバ101で作成された正規命令であることを確認するために作成された、該当する通信機器102が検証可能な電子署名である。
デバイス鍵個別更新命令情報702は、デバイスID711、更新後世代番号712、有効期限713を備える。デバイスID711はデバイス鍵更新を指示する通信機器102を示す、機器毎に異なる値である。更新後世代番号712は何世代目のデバイス鍵に更新すればよいかを示す世代番号である。有効期限713は更新後のデバイス鍵に有効期限を設定する場合に指定する日時であり、有効期限を設定しない場合は省略可能である。
電子署名703は、署名鍵世代番号721、署名値722を備える。署名鍵世代番号721は署名を生成する際に用いたデバイス鍵の世代番号である。署名値722はデバイスID711の通信機器102に対応する署名鍵世代番号721のデバイス鍵を用いて、データ種別701およびデバイス鍵個別更新命令情報702に対して施された署名である。
【0018】
次に、図6、図7に基づき、実施の形態1における鍵管理サーバ101の機能について説明する。
図6は実施の形態1における鍵管理サーバ101の機能ブロック図である。鍵管理サーバ101は、入力インタフェース201、データ送信部202、更新鍵生成部204(デバイス更新鍵生成部、マスター更新鍵生成部)、署名値計算部206、鍵管理データベース207、デバイス鍵更新命令作成部208を備える。
入力インタフェース201は、鍵管理サーバ101の操作者による入力を入力装置を介して受け付ける。
データ送信部202は、鍵管理サーバ101で作成した各種命令データを、ネットワーク103を介して通信装置により通信機器102へ送信する。
更新鍵生成部204は、一方向性関数により現在の鍵から次の世代の鍵を処理装置により生成する。
署名値計算部206は、署名対象のデータに対して、指定されたデバイス鍵を用いて署名を処理装置により生成する。
鍵管理データベース207は、鍵管理サーバ101が管理する必要のある全ての鍵を記憶装置に記憶(管理)する。
デバイス鍵更新命令作成部208は、デバイス鍵一括更新命令600やデバイス鍵個別更新命令700を処理装置により作成する。
【0019】
図7は実施の形態1における鍵管理サーバ101内部の鍵管理データベース207が記憶する情報を示す図である。鍵管理データベース207は、デバイス鍵管理テーブル301を備える。
デバイス鍵管理テーブル301は、鍵管理サーバ101と各々の通信機器102との間で共有しているデバイス鍵を、通信機器102を特定するデバイスID、鍵の世代番号、鍵の有効期限との組合せで管理する。なお、鍵の世代番号とは、デバイス鍵が何回更新されたかを示す世代情報であり、例えば、初めに共有したデバイス鍵を1(第1世代)とし、その後デバイス鍵の更新がされる度に2(第2世代)、3(第3世代)、・・・とインクリメント(+1)される。
【0020】
次に、図8、図9に基づき、実施の形態1における通信機器102の機能について説明する。
図8は実施の形態1における通信機器102の機能ブロック図である。通信機器102は、データ受信部401、更新鍵生成部403、署名値検証部405、管理データベース406、デバイス鍵更新命令解釈部407を備える。
データ受信部401は、ネットワーク103を介して鍵管理サーバ101から送られてくる各種命令データを通信装置により受信する。
更新鍵生成部403は、一方向性関数により現在の鍵から次の世代の鍵を処理装置により生成する。
署名値検証部405は、署名対象のデータおよび署名値に対して、指定された鍵を用いて処理装置により署名を検証する。
管理データベース406は、通信機器102が管理する必要のある全ての情報および鍵を記憶装置に記憶(管理)する。
デバイス鍵更新命令解釈部407は、データ受信部401で受信したデバイス鍵一括更新命令600やデバイス鍵個別更新命令700を解釈し、更新鍵生成部403にデバイス鍵を更新させる。
【0021】
図9は実施の形態1における通信機器102内部の管理データベース406が記憶する情報を示す図である。管理データベース406は、デバイスID管理テーブル501、デバイス鍵管理テーブル502を備える。
デバイスID管理テーブル501は、通信機器102毎に異なる様に、機器に割り当てられたデバイスIDの値を管理する。
デバイス鍵管理テーブル502は、鍵管理サーバ101との間で共有しているデバイス鍵を、鍵の世代番号、鍵の有効期限との組合せで管理する。
【0022】
次に動作について説明する。
まず、デバイス鍵を一括更新する場合の動作について説明する。図10は、デバイス鍵を一括更新する場合の通信システムの動作を示すフローチャートである。
デバイス鍵一括更新命令作成処理(S101)では、鍵管理サーバ101のデバイス鍵更新命令作成部208は、デバイス鍵一括更新命令600を作成する。この際、署名値計算部206は、鍵管理データベース207のデバイス鍵管理テーブル301で管理する全てのデバイス鍵を入力として、データ種別601とデバイス鍵一括更新命令情報602に対する署名値623を通信機器102毎に生成する。
データ送信処理(S102)では、データ送信部202は、デバイス鍵一括更新命令600を全ての通信機器102へ送信する。
サーバ側デバイス鍵更新処理(S103)では、更新鍵生成部204は、デバイス鍵一括更新命令600の送信に成功した後、一方向関数により全てのデバイス鍵を更新し、鍵管理データベース207のデバイス鍵管理テーブル301に格納すると共に、更新前のデバイス鍵全てを削除する。
データ受信処理(S104)では、通信機器102のデータ受信部401は、デバイス鍵一括更新命令600を受信する。デバイス鍵更新命令解釈部407は、デバイス鍵一括更新命令600のデータ種別601により、受信した情報がデバイス鍵一括更新命令600であることを認識する。
署名判定処理(S105)では、署名値検証部405は、管理データベース406のデバイスID管理テーブル501で管理するデバイスIDを用いて、電子署名集合603から自分宛の個別電子署名604を選択する。署名値検証部405は、管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵を入力として、データ種別601とデバイス鍵一括更新命令情報602に対する署名値を計算し、自分宛の個別電子署名604の署名値623と比較して、デバイス鍵一括更新命令600の正当性を確認する。この時、署名に用いられたデバイス鍵の署名鍵世代番号622が管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵の世代番号より新しい場合、署名値検証部405は、一時的に新しい世代の鍵を更新鍵生成部403に生成させて、生成された鍵により確認する。一方、署名に用いられたデバイス鍵の署名鍵世代番号622が管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵の世代番号より古い場合、署名値検証部405は、不正な署名と判定する。
ここで、一時的に生成する新しい世代の鍵とは、署名に用いられたデバイス鍵の世代番号622が示す世代のデバイス鍵である。つまり、署名に用いられたデバイス鍵の世代番号622が、管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵の世代番号よりも2世代新しい場合、更新鍵生成部403は一方向関数を2度通すことにより新しい世代の鍵を生成する。また、一時的にとは、デバイス鍵一括更新命令600の正当性を確認できなければ、生成した新しい世代の鍵は削除して元の世代の鍵のままとすることを意味する。
署名の検証に成功した場合(S105でYES)、デバイス鍵更新命令解釈部407は(S106)へ進む。一方、署名の検証に失敗した場合(S105でNO)、デバイス鍵更新命令解釈部407はデバイス鍵一括更新命令600を正当でないと判断し、処理を終了する。
端末側デバイス鍵更新処理(S106)では、署名の検証に成功した場合、更新鍵生成部403は、鍵管理サーバ101と同一の一方向性関数によりデバイス鍵を更新し、管理データベース406のデバイス鍵管理テーブル502に格納すると共に、更新前のデバイス鍵を削除する。なお、(S105)において、新しい世代の鍵を生成して確認を行った場合には、新しい世代の鍵をさらに次世代以降の世代に更新した鍵を更新後のデバイス鍵として管理データベース406のデバイス鍵管理テーブル502に格納する。つまり、デバイス鍵一括更新命令600の更新後世代番号611が示す世代のデバイス鍵を生成して、管理データベース406のデバイス鍵管理テーブル502に格納する。
【0023】
次に特定のデバイス鍵のみを更新する場合の動作について説明する。図11は、特定のデバイス鍵のみを更新する場合の通信システムの動作を示すフローチャートである。
デバイス鍵個別更新命令作成処理(S201)では、鍵管理サーバ101のデバイス鍵更新命令作成部208は、デバイス鍵個別更新命令700を作成する。この際、署名値計算部206は、鍵管理データベース207のデバイス鍵管理テーブル301で管理する該当する通信機器102のデバイス鍵を入力として、データ種別701とデバイス鍵個別更新命令情報702に対する署名値722を生成する。
データ送信処理(S202)では、データ送信部202は、デバイス鍵個別更新命令700を該当する通信機器102へ送信する。
サーバ側デバイス鍵更新処理(S203)では、更新鍵生成部204は、デバイス鍵個別更新命令700の送信に成功した後、一方向性関数により該当するデバイス鍵を更新し、鍵管理データベース207のデバイス鍵管理テーブル301に格納すると共に、更新前の該当デバイス鍵を削除する。
データ受信処理(S204)では、通信機器102のデータ受信部401は、デバイス鍵個別更新命令700を受信する。デバイス鍵更新命令解釈部407は、デバイス鍵個別更新命令700のデータ種別701により、受信した情報がデバイス鍵個別更新命令700であることを認識する。
宛先判定処理(S205)では、デバイス鍵更新命令解釈部407は、管理データベース406のデバイスID管理テーブル501で管理するデバイスIDとデバイス鍵個別更新命令700に含まれるデバイスID711とが一致するか確認して、デバイス鍵個別更新命令700が自分宛か否か確認する。
デバイス鍵個別更新命令700が自分宛である場合(S205でYES)、デバイス鍵更新命令解釈部407は(S206)へ進む。一方、デバイス鍵個別更新命令700が自分宛でない場合(S205でNO)、デバイス鍵更新命令解釈部407はデバイス鍵個別更新命令700を無視し、処理を終了する。
署名判定処理(S206)では、デバイス鍵個別更新命令700が自分宛である場合は、署名値検証部405は、管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵を入力として、データ種別701とデバイス鍵個別更新命令情報702に対する署名値を計算し、デバイス鍵個別更新命令700の署名値722と比較して、デバイス鍵個別更新命令700の正当性を確認する。デバイス鍵個別更新命令700の正当性を確認する時、署名に用いられたデバイス鍵の署名鍵世代番号721が管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵の世代番号より新しい場合、署名値検証部405は、一時的に新しい世代の鍵を更新鍵生成部403に生成させて確認する。署名に用いられたデバイス鍵の署名鍵世代番号721が管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵の世代番号より古い場合、署名値検証部405は、不正な署名と判定する。
署名の検証に成功した場合(S206でYES)、デバイス鍵更新命令解釈部407は(S207)へ進む。一方、署名の検証に失敗した場合(S206でNO)、デバイス鍵更新命令解釈部407はデバイス鍵個別更新命令700を正当でないと判断し、処理を終了する。
端末側デバイス鍵更新処理(S207)では、署名の検証に成功した場合、更新鍵生成部403は、鍵管理サーバ101と同一の一方向性関数によりデバイス鍵を更新し、管理データベース406のデバイス鍵管理テーブル502に格納すると共に、更新前のデバイス鍵を削除する。
【0024】
次に、デバイス鍵の有効期限に従って、鍵管理サーバ101および通信機器102においてデバイス鍵を自動的に更新する場合の動作について説明する。
鍵管理サーバ101は、鍵管理データベース207のデバイス鍵管理テーブル301において、デバイス鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部204はデバイス鍵を更新し、鍵管理データベース207のデバイス鍵管理テーブル301に格納すると共に、更新前の該当デバイス鍵を削除する。
同様に、通信機器102は、管理データベース406のデバイス鍵管理テーブル502において、デバイス鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部403はデバイス鍵を更新し、管理データベース406のデバイス鍵管理テーブル502に格納すると共に、更新前のデバイス鍵を削除する。
【0025】
以上のように、鍵管理サーバ101は、通信機器102との間で予め共有しておいた鍵(デバイス鍵)を更新するので、事前共有鍵の繰り返し利用に起因する事前共有鍵の解読による通信内容の漏洩を防止することができる。また、デバイス鍵を更新する際、更新する鍵自体をネットワーク103経由で配布しないので、暗号化して配布されるデバイス鍵の解読による通信内容の漏洩を防止することができる。事前共有するデバイス鍵を用いた電子署名値の計算、一方向性関数を用いた鍵更新を行っているので、Diffie−Hellman鍵交換方式の様な複雑な演算や公開鍵暗号アルゴリズムなどとの組合せ利用を不要として、デバイス鍵の更新を行うことができる。一方向性関数を用いてデバイス鍵を更新し、更新前のデバイス鍵を削除しているので、最新のデバイス鍵の解読による過去の通信内容の漏洩を防止することができる。
【0026】
実施の形態2.
実施の形態2では、鍵管理サーバ101からのマスター鍵配布命令800の配布による、通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の配布と、鍵管理サーバ101と通信機器102の間の暗号化通信に用いる共有鍵(デバイス鍵)の更新とについて説明する。
【0027】
まず、マスター鍵配布命令800の配布によるマスター鍵の配布およびデバイス鍵の更新の動作の概要について説明する。
鍵管理サーバ101は、通信機器102同士が暗号化通信を行う際に用いる暗号鍵(マスター鍵)を生成し、鍵を利用する通信機器102のデバイス鍵で暗号化し、マスター鍵配布命令800として該当通信機器102へ送信する。マスター鍵配布命令800を受信した通信機器102は、マスター鍵配布命令800の正当性を検証する際、鍵管理サーバ101と共有するデバイス鍵に世代のずれが生じていることを検出した場合、必要に応じてデバイス鍵の更新処理を行う。さらに、これらの命令にマスター鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にマスター鍵の更新を行う。
【0028】
図12は図1に示したシステム構成において、通信機器102間の暗号化に用いるマスター鍵を配布する際のデータの流れを示した図である。
鍵管理サーバ101は、特定の通信機器102同士の間で暗号化通信に用いるマスター鍵の配布を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための署名値を付与して、マスター鍵配布命令800を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵配布命令800を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するマスター鍵を記憶する。一方、通信機器102は、ネットワーク103を介して、マスター鍵配布命令800を受信し、命令が自分宛であるかどうか確認し、命令に含まれる署名値を検証して命令の正当性を確認し、マスター鍵の取得を行う。
【0029】
次に、図13に基づき、鍵管理サーバ101が配布するマスター鍵配布命令800について説明する。
図13は、図12におけるマスター鍵配布命令800のデータ形式を示した図である。
図13において、マスター鍵配布命令800は、データ種別801、受信者デバイスID802、マスター鍵配布命令情報(暗号化後)803、デバイス鍵世代番号804、署名値805を備える。
データ種別801は命令データの種類がマスター鍵配布命令であることを示すフラグである。受信者デバイスID802はこの命令によってマスター鍵を配布される通信機器102を示すデバイスIDである。マスター鍵配布命令情報(暗号化後)803はマスター鍵配布命令情報(暗号化前)811を該当する通信機器102のデバイス鍵で暗号化した内容である。デバイス鍵世代番号804は暗号化および署名を生成する際に用いたデバイス鍵の世代番号である。署名値805はこのマスター鍵配布命令800が鍵管理サーバ101で作成された正規命令であることを確認するために、受信者デバイスID802の通信機器102に対応するデバイス鍵世代番号804のデバイス鍵を用いて、データ種別801、受信者デバイスID802およびマスター鍵配布命令情報(暗号化後)803に対して施された署名である。
マスター鍵配布命令情報(暗号化前)811はマスター鍵配布命令情報(暗号化後)803をデバイス鍵により復号した情報であり、通信機器102同士の間の暗号化に用いるマスター鍵の内容である。マスター鍵配布命令情報(暗号化前)811は、マスター鍵ID821、利用者デバイスID822、マスター鍵823、有効期限824を備える。
マスター鍵ID821は鍵管理サーバ101によってマスター鍵毎に一意に割り当てられた値である。利用者デバイスID822はマスター鍵823を利用する二台以上の通信機器102を示す、機器毎に異なる値の集合である。マスター鍵823はマスター鍵ID821の第1世代目のマスター鍵である。有効期限824はマスター鍵823に有効期限を設定する場合に指定する日時であり、有効期限を設定しない場合は省略可能である。
【0030】
次に、図14、図15に基づき、実施の形態2における鍵管理サーバ101の機能について説明する。
図14は実施の形態2における鍵管理サーバ101の機能ブロック図である。実施の形態2における鍵管理サーバ101は、実施の形態1における鍵管理サーバ101に加え、初期鍵生成部203、暗号化部205、マスター鍵配布命令作成部209を備える。
初期鍵生成部203は、乱数生成機能を持ち、第1世代目の鍵を処理装置により生成する。
暗号化部205は、暗号化対象のデータに対して、指定されたデバイス鍵を用いて所定の情報を処理装置により暗号化する。
マスター鍵配布命令作成部209は、マスター鍵配布命令800を処理装置により作成する。
【0031】
図15は実施の形態2における鍵管理サーバ101内部の鍵管理データベース207が記憶する情報を示す図である。実施の形態2における鍵管理データベース207は、実施の形態1における鍵管理データベース207に加え、マスター鍵管理テーブル302を備える。
マスター鍵管理テーブル302は、鍵管理サーバ101において生成配布し、通信機器102同士の間の暗号化に用いるマスター鍵を、マスター鍵ID、鍵の世代番号、鍵を利用する通信機器102を示す利用者デバイスID、鍵の有効期限との組合せで管理する。
【0032】
次に、図16、図17に基づき、実施の形態2における通信機器102の機能について説明する。
図16は実施の形態2における通信機器102の機能ブロック図である。実施の形態2における通信機器102は、実施の形態1における通信機器102に加え、復号部404、マスター鍵配布命令解釈部408を備える。
復号部404は、暗号化されたデータに対して、指定された鍵を用いて処理装置により復号する。
マスター鍵配布命令解釈部408は、データ受信部401で受信したマスター鍵配布命令800を処理装置により解釈し、第1世代目のマスター鍵を管理データベース406に記憶させる。
【0033】
図17は実施の形態2における通信機器102内部の管理データベース406が記憶する情報を示す図である。実施の形態2における管理データベース406は、実施の形態1における管理データベース406に加え、マスター鍵管理テーブル503を備える。
マスター鍵管理テーブル503は、他の通信機器102との間で共有しているマスター鍵を、マスター鍵ID、鍵の世代番号、この鍵を利用する全ての通信機器102を示す利用者デバイスIDの集合、鍵の有効期限との組合せで管理する。
【0034】
次に動作について説明する。図18は、マスター鍵を配信する場合の通信システムの動作を示すフローチャートである。
マスター鍵生成処理(S301)では、鍵管理サーバ101の初期鍵生成部203はマスター鍵を生成し、鍵管理データベース207に記憶させる。
そして、鍵管理サーバ101は、生成したマスター鍵を利用する通信機器102に対して、以下の操作を繰り返し行い、該当する通信機器102の全てにマスター鍵配布命令800を送信する。
マスター鍵配布命令作成処理(S302)では、マスター鍵配布命令作成部209は、マスター鍵配布命令800を作成する。この際、暗号化部205は、鍵管理データベース207のデバイス鍵管理テーブル301で管理する該当通信機器102のデバイス鍵を用いて、マスター鍵配布命令情報(暗号化前)811を暗号化し、マスター鍵配布命令情報(暗号化後)803を作成する。署名値計算部206は、鍵管理データベース207のデバイス鍵管理テーブル301で管理する該当通信機器102のデバイス鍵を入力として、データ種別801と受信者デバイスID802とマスター鍵配布命令情報(暗号化後)803に対する署名値805を計算する。
データ送信処理(S303)では、データ送信部202は、マスター鍵配布命令800を該当する通信機器102へ送信する。
データ受信処理(S304)では、通信機器102のデータ受信部401は、マスター鍵配布命令800を受信する。マスター鍵配布命令解釈部408は、マスター鍵配布命令800のデータ種別801により、受信した情報がマスター鍵配布命令800であることを認識する。
宛先判定処理(S305)では、マスター鍵配布命令解釈部408は、管理データベース406のデバイスID管理テーブル501で管理するデバイスIDとマスター鍵配布命令800に含まれる受信者デバイスID802とが一致するか確認して、マスター鍵配布命令800が自分宛か否か確認する。
マスター鍵配布命令800が自分宛である場合(S305でYES)、マスター鍵配布命令解釈部408は(S306)へ進む。一方、マスター鍵配布命令800が自分宛でない場合(S305でNO)、マスター鍵配布命令解釈部408はマスター鍵配布命令800を無視し、処理を終了する。
署名判定処理(S306)では、マスター鍵配布命令800が自分宛である場合、署名値検証部405は、管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵を入力として、データ種別801と受信者デバイスID802とマスター鍵配布命令情報(暗号化後)803に対する署名値を計算し、マスター鍵配布命令800の署名値805と比較して、マスター鍵配布命令800の正当性を確認する。マスター鍵配布命令800の正当性を確認する時、署名に用いられたデバイス鍵の世代番号804が管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵の世代番号より新しい場合、署名値検証部405は、更新鍵生成部403を用いて一時的に新しい世代の鍵を生成して確認する。署名に用いられたデバイス鍵の世代番号804が管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵の世代番号より古い場合、署名値検証部405は、不正な署名と判定する。
署名の検証に成功した場合(S306でYES)、マスター鍵配布命令解釈部408は(S307)へ進む。一方、署名の検証に失敗した場合(S306でNO)、マスター鍵配布命令解釈部408はマスター鍵配布命令800を正当でないと判断し、処理を終了する。
マスター鍵記憶処理(S307)では、署名の検証に成功した場合、復号部404はマスター鍵配布命令情報(暗号化後)803を復号する。そして、マスター鍵配布命令解釈部408は、マスター鍵配布命令情報(暗号化前)811から取り出したマスター鍵823を管理データベース406のマスター鍵管理テーブル503に格納する。
端末側デバイス鍵更新処理(S308)では、署名の検証時、デバイス鍵を一時的に新しい世代の鍵に更新を行って検証に成功した場合は、更新鍵生成部403は署名の検証時に生成した新しい世代の鍵を新たなデバイス鍵として管理データベース406のデバイス鍵管理テーブル502に格納すると共に、更新前のデバイス鍵を削除する。
【0035】
次に、マスター鍵の有効期限に従って、鍵管理サーバ101および通信機器102においてマスター鍵を自動的に更新する場合の動作について説明する。
鍵管理サーバ101は、鍵管理データベース207のマスター鍵管理テーブル302において、マスター鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部204はマスター鍵を更新し、鍵管理データベース207のマスター鍵管理テーブル302に格納すると共に、更新前の該当マスター鍵を削除する。
同様に、通信機器102において、管理データベース406のマスター鍵管理テーブル503において、マスター鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部403はマスター鍵を更新し、管理データベース406のマスター鍵管理テーブル503に格納すると共に、更新前のマスター鍵を削除する。
【0036】
以上のように、鍵管理サーバ101は、通信機器102との間で予め共有しておいた鍵(デバイス鍵)を用いてマスター鍵を配布し、鍵管理サーバ101と通信機器102の間でデバイス鍵の世代に矛盾が生じていた場合修正する。そのため、通信機器102がデバイス鍵一括更新命令600やデバイス鍵個別更新命令700の受信に失敗していたとしてもデバイス鍵を更新し、事前共有鍵の繰り返し利用に起因する事前共有鍵の解読による通信内容の漏洩を防止することができる。
【0037】
実施の形態3.
実施の形態3では、鍵管理サーバ101からのマスター鍵一括更新命令900またはマスター鍵個別更新命令1000の配布による、通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の更新と、鍵管理サーバ101と通信機器102の間の暗号化通信に用いる共有鍵(デバイス鍵)の更新とについて説明する。
【0038】
まず、マスター鍵更新命令の配布による通信機器102同士の間の共有鍵(マスター鍵)の更新およびデバイス鍵の更新の動作の概要について説明する。
マスター鍵の更新は、マスター鍵一括更新命令900を用いて全てのマスター鍵を一括更新する方法と、マスター鍵個別更新命令1000を用いて特定のマスター鍵のみを更新する方法の二通りがある。マスター鍵一括更新命令900またはマスター鍵個別更新命令1000を受信した通信機器102は、これらの命令の正当性を検証する際、鍵管理サーバ101と共有するデバイス鍵に世代のずれが生じていることを検出した場合、必要に応じてデバイス鍵の更新処理を行う。さらに、これらの命令にマスター鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にマスター鍵の更新を行う。
【0039】
図19は図1に示したシステム構成において、全てのマスター鍵を一括に更新する際のデータの流れを示した図である。
鍵管理サーバ101は、全てのマスター鍵の一括更新を指示する命令を作成し、各々の通信機器102が命令の正当性を検証するための電子署名集合を付与して、マスター鍵一括更新命令900を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵一括更新命令900を全ての通信機器102に向けて送信する。そして、鍵管理サーバ101は、全てのマスター鍵を更新する。一方、通信機器102は、ネットワーク103を介して、マスター鍵一括更新命令900を受信し、命令に含まれる電子署名集合を検証して命令の正当性を確認し、マスター鍵の更新を行う。マスター鍵一括更新命令900の正当性を検証する際、鍵管理サーバ101と共有するデバイス鍵に世代のずれが生じていることを検出した場合、必要に応じてデバイス鍵の更新処理を行う。
【0040】
次に、図20に基づき、鍵管理サーバ101が配布するマスター鍵一括更新命令900について説明する。
図20は、図19におけるマスター鍵一括更新命令900のデータ形式を示した図である。
図20において、マスター鍵一括更新命令900は、データ種別901、マスター鍵一括更新命令情報902、電子署名集合903を備える。
データ種別901は命令データの種類がマスター鍵一括更新命令であることを示すフラグである。マスター鍵一括更新命令情報902は全ての通信機器102においてマスター鍵を更新するための具体的な指示内容である。電子署名集合903はこのマスター鍵一括更新命令900が鍵管理サーバ101で作成された正規命令であることを確認するために、宛先である通信機器102毎に作成された個別電子署名904の集合である。個別電子署名904は各々の通信機器102が検証可能な電子署名である。
マスター鍵一括更新命令情報902は、更新後世代番号911、有効期限912を備える。更新後世代番号911は何世代目のマスター鍵に更新すればよいかを示す世代番号である。有効期限912は更新後のマスター鍵に有効期限を設定する場合に指定する日時であり、有効期限を設定しない場合は省略可能である。
個別電子署名904は、デバイスID921、署名鍵世代番号922、署名値923を備える。デバイスID921はその個別電子署名904が対象とする通信機器102を示す、機器毎に異なる値である。署名鍵世代番号922は署名を生成する際に用いたデバイス鍵の世代番号である。署名値923はデバイスID921の通信機器102に対応する署名鍵世代番号922のデバイス鍵を用いて、データ種別901およびマスター鍵一括更新命令情報902に対して施された署名である。
【0041】
図21は図1に示したシステム構成において、特定のマスター鍵のみを個別に更新する際のデータの流れを示した図である。
鍵管理サーバ101は、特定のマスター鍵の個別更新を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための電子署名集合を付与して、マスター鍵個別更新命令1000を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵個別更新命令1000を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するマスター鍵を更新する。一方、通信機器102は、ネットワーク103を介して、マスター鍵個別更新命令1000を受信し、命令が自分宛であるかどうか確認し、命令に含まれる電子署名集合を検証して命令の正当性を確認し、マスター鍵の更新を行う。マスター鍵個別更新命令1000の正当性を検証する際、鍵管理サーバ101と共有するデバイス鍵に世代のずれが生じていることを検出した場合、必要に応じてデバイス鍵の更新処理を行う。
【0042】
次に、図22に基づき、鍵管理サーバ101が配布するマスター鍵個別更新命令1000について説明する。
図22は、図21におけるマスター鍵個別更新命令1000のデータ形式を示した図である。
図22において、マスター鍵個別更新命令1000は、データ種別1001、マスター鍵個別更新命令情報1002、電子署名集合1003を備える。
データ種別1001は命令データの種類がマスター鍵個別更新命令であることを示すフラグである。マスター鍵個別更新命令情報1002は特定のマスター鍵を更新するための具体的な指示内容である。電子署名集合1003はこのマスター鍵個別更新命令1000が鍵管理サーバ101で作成された正規命令であることを確認するために、宛先である通信機器102毎に作成された個別電子署名1004の集合である。個別電子署名1004は各々の通信機器102が検証可能な電子署名である。ここで、マスター鍵個別更新命令は、同一のマスター鍵を使用する通信機器102全てへ送信するため、宛先は複数であり、署名値1023も複数になる。
マスター鍵個別更新命令情報1002は、マスター鍵ID1011、更新後世代番号1012、有効期限1013を備える。マスター鍵ID1011は鍵更新を指示するマスター鍵を示す、鍵毎に異なる値である。更新後世代番号1012は何世代目のマスター鍵に更新すればよいかを示す世代番号である。有効期限1013は更新後のマスター鍵に有効期限を設定する場合に指定する日時であり、有効期限を設定しない場合は省略可能である。
個別電子署名1004は、デバイスID1021、署名鍵世代番号1022、署名値1023を備える。デバイスID1021はその個別署名1004が対象とする通信機器102を示す、機器毎に異なる値である。署名鍵世代番号1022は署名を生成する際に用いたデバイス鍵の世代番号である。署名値1023はデバイスID1021の通信機器102に対応する署名鍵世代番号1022のデバイス鍵を用いて、データ種別1001およびマスター鍵個別更新命令情報1002に対して施された署名である。
【0043】
次に、図23に基づき、実施の形態3における鍵管理サーバ101の機能について説明する。
図23は実施の形態3における鍵管理サーバ101の機能ブロック図である。実施の形態3における鍵管理サーバ101は、実施の形態2における鍵管理サーバ101に加え、マスター鍵更新命令作成部210を備える。
マスター鍵更新命令作成部210は、マスター鍵一括更新命令900やマスター鍵個別更新命令1000を処理装置により作成する。
実施の形態3における鍵管理データベース207は、実施の形態2における鍵管理データベース207と同一である。
【0044】
次に、図24に基づき、実施の形態3における通信機器102の機能について説明する。
図24は実施の形態3における通信機器102の機能ブロック図である。実施の形態3における通信機器102は、実施の形態2における通信機器102に加え、マスター鍵更新命令解釈部409を備える。
マスター鍵更新命令解釈部409は、データ受信部401で受信したマスター鍵一括更新命令900やマスター鍵個別更新命令1000を処理装置により解釈し、更新鍵生成部403にマスター鍵を更新させる。
実施の形態3における管理データベース406は、実施の形態2における管理データベース406と同一である。
【0045】
次に動作について説明する。
まず、マスター鍵を一括更新する場合の動作について説明する。図25は、マスター鍵を一括更新する場合の通信システムの動作を示すフローチャートである。
マスター鍵一括更新命令作成処理(S401)では、鍵管理サーバ101のマスター鍵更新命令作成部210は、マスター鍵一括更新命令900を作成する。この際、署名値計算部206は、鍵管理データベース207のデバイス鍵管理テーブル301で管理する全てのデバイス鍵を入力として、データ種別901とマスター鍵一括更新命令情報902に対する署名値923を通信機器102毎に生成する。
データ送信処理(S402)では、データ送信部202は、マスター鍵一括更新命令900を全ての通信機器102へ送信する。
サーバ側マスター鍵更新処理(S403)では、マスター鍵一括更新命令900の送信に成功した後、更新鍵生成部204は、一方向性関数により全てのマスター鍵を更新し、鍵管理データベース207のマスター鍵管理テーブル302に格納すると共に、更新前のマスター鍵全てを削除する。
データ受信処理(S404)では、通信機器102のデータ受信部401は、マスター鍵一括更新命令900を受信する。マスター鍵更新命令解釈部409は、マスター鍵一括更新命令900のデータ種別901により、受信した情報がマスター鍵一括更新命令900であることを認識する。
署名判定処理(S405)では、署名値検証部405は、管理データベース406のデバイスID管理テーブル501で管理するデバイスIDを用いて、電子署名集合903から自分宛の個別電子署名904を選択する。署名値検証部405は、管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵を入力として、データ種別901とマスター鍵一括更新命令情報902に対する署名値を計算し、自分宛の個別電子署名904の署名値923と比較して、命令の正当性を確認する。この時、署名に用いられたデバイス鍵の世代番号922が管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵の世代番号より新しい場合、署名値検証部405は、更新鍵生成部403に一時的に新しい世代の鍵を生成させて確認する。一方、署名に用いられたデバイス鍵の世代番号922が管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵の世代番号より古い場合、署名値検証部405は、不正な署名と判定する。
署名の検証に成功した場合(S405でYES)、マスター鍵更新命令解釈部409は(S406)へ進む。一方、署名の検証に失敗した場合(S405でNO)、マスター鍵更新命令解釈部409はマスター鍵一括更新命令900を正当でないと判断し、処理を終了する。
端末側マスター鍵更新処理(S406)では、署名の検証に成功した場合、更新鍵生成部403は、鍵管理サーバ101と同一の一方向性関数により管理データベース406のマスター鍵管理テーブル503に格納されている全てのマスター鍵を更新し、管理データベース406のマスター鍵管理テーブル503に格納すると共に、更新前のマスター鍵を削除する。
端末側デバイス鍵更新処理(S407)では、署名の検証時、デバイス鍵を一時的に新しい世代の鍵に更新を行って検証に成功した場合は、更新鍵生成部403は署名の検証時に生成した新しい世代の鍵を新たなデバイス鍵として管理データベース406のデバイス鍵管理テーブル502に格納すると共に、更新前のデバイス鍵を削除する。
【0046】
次に特定のマスター鍵のみを更新する場合の動作について説明する。図26は、特定のマスター鍵のみを更新する場合の通信システムの動作を示すフローチャートである。
マスター鍵個別更新命令作成処理(S501)では、鍵管理サーバ101のマスター鍵更新命令作成部210は、マスター鍵個別更新命令1000を作成する。署名値計算部206は、鍵管理データベース207のデバイス鍵管理テーブル301で管理する宛先通信機器102のデバイス鍵を入力として、データ種別1001とマスター鍵個別更新命令情報1002に対する署名値1023を通信機器102毎に生成する。
データ送信処理(S502)では、データ送信部202は、マスター鍵個別更新命令1000を該当する通信機器102へ送信する。該当する通信機器102とは、更新対象のマスター鍵を使用する(利用する)通信機器102である。
サーバ側デバイス鍵更新処理(S503)では、マスター鍵個別更新命令1000の送信に成功した後、更新鍵生成部204は、一方向性関数により該当するマスター鍵を更新し、鍵管理データベース207のマスター鍵管理テーブル302に格納すると共に、更新前の該当マスター鍵を削除する。
データ受信処理(S504)では、通信機器102のデータ受信部401は、マスター鍵個別更新命令1000を受信する。マスター鍵更新命令解釈部409は、マスター鍵個別更新命令1000のデータ種別1001により、受信した情報がマスター鍵個別更新命令1000であることを認識する。
宛先判定処理(S505)では、マスター鍵更新命令解釈部409は、管理データベース406のマスター鍵管理テーブル503で管理するマスター鍵IDとマスター鍵個別更新命令1000に含まれるマスター鍵ID1011とが一致するか確認してマスター鍵個別更新命令1000が自分宛か否か確認する。
マスター鍵個別更新命令1000が自分宛である場合(S505でYES)、マスター鍵更新命令解釈部409は(S506)へ進む。一方、マスター鍵個別更新命令1000が自分宛でない場合(S505でNO)、マスター鍵更新命令解釈部409はマスター鍵個別更新命令1000を無視し、処理を終了する。
署名判定処理(S506)では、マスター鍵個別更新命令1000が自分宛である場合は、署名値検証部405は、管理データベース406のデバイスID管理テーブル501で管理するデバイスIDを用いて、電子署名集合1003から自分宛の個別電子署名1004を選択する。署名値検証部405は、管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵を入力として、データ種別1001とマスター鍵個別更新命令情報1002に対する署名値を計算し、マスター鍵個別更新命令1000から選択した署名値1023と比較して、命令の正当性を確認する。マスター鍵個別更新命令1000の正当性を確認する時、署名に用いられたデバイス鍵の世代番号1022が管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵の世代番号より新しい場合、署名値検証部405は、更新鍵生成部403に一時的に新しい世代の鍵を生成させて確認する。署名に用いられたデバイス鍵の世代番号1022が管理データベース406のデバイス鍵管理テーブル502で管理するデバイス鍵の世代番号より古い場合、署名値検証部405は、不正な署名と判定する。
署名の検証に成功した場合(S506でYES)、マスター鍵更新命令解釈部409は(S507)へ進む。一方、署名の検証に失敗した場合(S506でNO)、マスター鍵更新命令解釈部409はマスター鍵個別更新命令1000を正当でないと判断し、処理を終了する。
端末側マスター鍵更新処理(S507)では、署名の検証に成功した場合、更新鍵生成部403は、鍵管理サーバ101と同一の一方向性関数により該当するマスター鍵を更新し、管理データベース406のマスター鍵管理テーブル503に格納すると共に、更新前のマスター鍵を削除する。
端末側デバイス鍵更新処理(S508)では、署名の検証時、デバイス鍵を一時的に新しい世代の鍵に更新を行って検証に成功した場合は、更新鍵生成部403は署名の検証時に生成した新しい世代の鍵を新たなデバイス鍵として管理データベース406のデバイス鍵管理テーブル502に格納すると共に、更新前のデバイス鍵を削除する。
【0047】
次に、マスター鍵の有効期限に従って、鍵管理サーバ101および通信機器102においてマスター鍵を自動的に更新する場合の動作について説明する。
鍵管理サーバ101は、鍵管理データベース207のマスター鍵管理テーブル302において、マスター鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部204はマスター鍵を更新し、鍵管理データベース207のマスター鍵管理テーブル302に格納すると共に、更新前の該当マスター鍵を削除する。
同様に、通信機器102において、管理データベース406のマスター鍵管理テーブル503において、マスター鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部403はマスター鍵を更新し、管理データベース406のマスター鍵管理テーブル503に格納すると共に、更新前のマスター鍵を削除する。
【0048】
以上のように、鍵管理サーバ101の指示によって、通信機器102は他の通信機器102との間で予め共有しておいた鍵(マスター鍵)を更新するので、事前共有鍵の繰り返し利用に起因する事前共有鍵の解読による通信内容の漏洩を防止することができる。また、マスター鍵を更新する際、更新する鍵自体をネットワーク103経由で配布しないので、暗号化して配布されるマスター鍵の解読による通信内容の漏洩を防止することができる。事前共有するデバイス鍵を用いた電子署名値の計算、一方向性関数を用いた鍵更新を行っているので、Diffie−Hellman鍵交換方式の様な複雑な演算や公開鍵暗号アルゴリズムなどとの組合せ利用を不要として、マスター鍵の更新を行うことができる。一方向性関数を用いてマスター鍵を更新し、更新前のマスター鍵を削除しているので、最新のマスター鍵の解読による過去の通信内容の漏洩を防止することができる。さらに、鍵管理サーバ101と通信機器102の間でデバイス鍵の世代に矛盾が生じていた場合修正するので、通信機器102がマスター鍵一括更新命令900やマスター鍵個別更新命令1000の受信に失敗していたとしてもデバイス鍵を更新し、事前共有鍵の繰り返し利用に起因する事前共有鍵の解読による通信内容の漏洩を防止することができる。
【0049】
実施の形態4.
実施の形態4では、通信機器102同士の間の機器間通信データ1100のやり取りによる、通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の更新について説明する。
【0050】
まず、機器間通信データ1100のやり取りによる通信機器102同士の間の共有鍵(マスター鍵)の更新の動作の概要について説明する。
図27は図1に示したシステム構成において、機器間通信データ1100のやり取りによってマスター鍵を更新する際のデータの流れを示した図である。
通信機器102同士が通信を行う場合、第三者による盗聴や改ざんを防止するため、機器間通信データ1100に対して暗号化や電子署名の付与を行う。送信者側の通信機器102は、受信者側の通信機器102との間で共有するマスター鍵を用いて暗号化や電子署名の生成を行い、機器間通信データ1100を作成する。次に、送信者側の通信機器102は、ネットワーク103を介して、機器間通信データ1100を受信者側の通信機器102に向けて送信する。一方、受信者側の通信機器102は、ネットワーク103を介して、機器間通信データ1100を受信し、送信者側の通信機器102との間で共有するマスター鍵を用いて、復号や電子署名の検証を行う。この時、受信者側の通信機器102は、機器間通信データ1100に含まれるマスター鍵の世代情報から、送信者側の通信機器102との間でマスター鍵の世代が一致しているか否かを確認し、世代のずれが生じていた場合はマスター鍵の更新を行う。
【0051】
次に、図28に基づき、通信機器102がやり取りする機器間通信データ1100について説明する。
図28は、図27における機器間通信データ1100のデータ形式を示した図である。
図28において、機器間通信データ1100は、保護された通信内容1101、マスター鍵情報1102、署名値1103を備える。
保護された通信内容1101は通信機器102間でやり取りするデータの内容である。盗聴を防止する必要がある場合は、保護された通信内容1101はマスター鍵情報1102が示すマスター鍵を用いて暗号化されている。改ざん防止のみで十分な場合は、保護された通信内容1101は暗号化されていなくてもよい。マスター鍵情報1102は保護された通信内容1101の暗号化や電子署名に用いたマスター鍵を指定するための情報である。署名値1103はマスター鍵情報1102が示すマスター鍵を用いて、保護された通信内容1101に対して施された署名である。
マスター鍵情報1102は、マスター鍵ID1111、マスター鍵世代番号1112、有効期限1113を備える。マスター鍵ID1111は暗号化や電子署名に用いられたマスター鍵を示す、鍵毎に異なる値である。マスター鍵世代番号1112はマスター鍵ID1111のマスター鍵の現時点での世代を示す世代番号である。有効期限1113はマスター鍵ID1111かつマスター鍵世代番号1112のマスター鍵に設定された有効期限を示す日時であり、有効期限が設定されていない場合は省略可能である。
【0052】
次に、図29に基づき、実施の形態4における通信機器102の機能について説明する。
図29は実施の形態4における通信機器102の機能ブロック図である。実施の形態4における通信機器102は、実施の形態3における通信機器102に加え、機器間通信部402、機器間通信データ作成解釈部410(マスター鍵世代情報通信部)、署名値生成部411、暗号化部412を備える。
機器間通信部402は、ネットワーク103を介して通信装置により他の通信機器102との間でデータのやり取りを行う。
機器間通信データ作成解釈部410は、機器間通信データ1100を処理装置により作成する。また、機器間通信データ作成解釈部410は、他の通信機器102から受信した機器間通信データ1100を処理装置により解釈し、必要に応じてマスター鍵を更新鍵生成部403に更新させる。
署名値生成部411は、署名対象のデータに対して、指定された鍵を用いて署名を生成して署名値を処理装置により作成する。
暗号化部412は、暗号化対象のデータに対して、指定された鍵を用いて処理装置により暗号化する。
実施の形態4における管理データベース406は、実施の形態2〜実施の形態3における管理データベース406と同一である。
【0053】
次に動作について説明する。図30は、機器間通信データ1100のやり取りによってマスター鍵を更新する場合の通信システムの動作を示すフローチャートである。
機器間通信データ作成処理(S601)では、送信者側の通信機器102の機器間通信データ作成解釈部410は、機器間通信データ1100を作成する。署名値生成部411は、管理データベース406のマスター鍵管理テーブル503で管理する宛先通信機器102と共有するマスター鍵を入力として、保護された通信内容1101に対する署名値1103を生成する。暗号化を行う場合、暗号化部412は、管理データベース406のマスター鍵管理テーブル503で管理する宛先通信機器102と共有するマスター鍵を入力として、保護された通信内容1101を暗号化する。
データ送信処理(S602)では、機器間通信部402は、機器間通信データ1100を通信相手の通信機器102へ送信する。
データ受信処理(S603)では、受信者側の通信機器102の機器間通信部402は、機器間通信データ1100を受信する。
マスター鍵検索処理(S604)では、機器間通信データ作成解釈部410は、マスター鍵ID1111と一致するマスター鍵を、管理データベース406のマスター鍵管理テーブル503で管理するマスター鍵から探し出す。
マスター鍵ID1111と一致するマスター鍵が見つかった場合(S604でYES)、機器間通信データ作成解釈部410は(S605)へ進む。一方、マスター鍵ID1111と一致するマスター鍵が見つからない場合(S604でNO)、マスター鍵更新命令解釈部409は機器間通信データ1100を無視し、処理を終了する。
復号署名判定処理(S605)では、保護された通信内容1101が暗号化されていた場合は、復号部404はマスター鍵を指定して保護された通信内容1101の復号を行う。また、署名値検証部405は、マスター鍵を入力として、保護された通信内容1101に対する署名値を計算し、機器間通信データ1100の署名値1103と比較して、通信内容が改ざんされていないことを確認する。復号や署名の検証を行った時、署名や暗号化に用いられたマスター鍵の世代番号1112が管理データベース406のマスター鍵管理テーブル503で管理するマスター鍵の世代番号より新しい場合、署名値検証部405は、更新鍵生成部403に一時的に新しい世代の鍵を生成させて確認する。署名や暗号化に用いられたマスター鍵の世代番号1112が管理データベース406のマスター鍵管理テーブル503で管理するマスター鍵の世代番号より古い場合、署名値検証部405は、不正な署名と判定する。
署名の検証に成功した場合(S605でYES)、機器間通信データ作成解釈部410は(S606)へ進む。一方、署名の検証に失敗した場合(S605でNO)、機器間通信データ作成解釈部410は機器間通信データ1100を正当でないと判断し、処理を終了する。
マスター鍵更新処理(S606)では、署名の検証に成功した場合であって、署名の検証時、マスター鍵を一時的に新しい世代の鍵に更新を行って検証に成功した場合は、更新鍵生成部403は署名の検証時に生成した新しい世代の鍵を新たなマスター鍵として管理データベース406のマスター鍵管理テーブル503に格納すると共に、更新前のマスター鍵を削除する。
【0054】
以上のように、通信機器102は、鍵管理サーバ101の指示がなくても、通信機器102同士の通信機器102間のデータのやり取りによって、通信機器102同士の間でマスター鍵の世代に矛盾が生じていた場合修正する。そのため、通信機器102がマスター鍵一括更新命令やマスター鍵個別更新命令の受信に失敗していたとしてもマスター鍵を更新することができる。したがって、事前共有鍵の繰り返し利用に起因する事前共有鍵の解読による通信内容の漏洩を防止することができる。また、マスター鍵を更新する際、更新する鍵自体をネットワーク103経由で配布しないので、暗号化して配布されるマスター鍵の解読による通信内容の漏洩を防止することができる。事前共有するマスター鍵を用いた電子署名値の計算、一方向性関数を用いた鍵更新を行っているので、Diffie−Hellman鍵交換方式の様な複雑な演算や公開鍵暗号アルゴリズムなどと組合せ利用を不要として、マスター鍵の更新を行うことができる。一方向性関数を用いてマスター鍵を更新し、更新前のマスター鍵を削除しているので、最新のマスター鍵の解読による過去の通信内容の漏洩を防止することができる。
【0055】
実施の形態5.
実施の形態5では、通信機器102同士の間で鍵管理サーバ101から受信したデバイス鍵一括更新命令を転送することによる、鍵管理サーバ101と通信機器102の間の暗号化通信に用いる共有鍵(デバイス鍵)の更新について説明する。
【0056】
まず、鍵管理サーバ101から受信したデバイス鍵一括更新命令を転送することによる鍵管理サーバ101と通信機器102の間の共有鍵(デバイス鍵)の更新の動作の概要について説明する。
図31は図1に示したシステム構成において、デバイス鍵一括更新命令600を転送することによってマスター鍵を更新する際のデータの流れを示した図である。
通信機器102は、鍵管理サーバ101から送信されたデバイス鍵一括更新命令600を受信した場合、これらの命令を一時的に通信機器102の内部に保管する。通信機器102は、他の通信機器102との間でデータのやり取りを行う際、あるいは任意のタイミングで、保管しておいたデバイス鍵一括更新命令600を他の通信機器102に転送する。
他の通信機器102から転送されたデバイス鍵一括更新命令600を受信した通信機器102は、鍵管理サーバ101から受信した場合と同様に、デバイス鍵一括更新命令600に含まれる電子署名集合を検証してデバイス鍵一括更新命令600の正当性を確認し、デバイス鍵の更新を行う。また、このデバイス鍵一括更新命令600を一時的に通信機器102の内部に保管し、さらに別の通信機器102に転送してもよい。
【0057】
次に、図32に基づき、実施の形態5における通信機器102の機能について説明する。
図32は実施の形態5における通信機器102の機能ブロック図である。実施の形態5における通信機器102は、実施の形態4における通信機器102に加え、デバイス鍵更新命令転送部421(デバイス鍵機器間通信部)を備える。
デバイス鍵更新命令転送部421は、受信したデバイス鍵一括更新命令600を一時的に通信機器102内部に保管して、他の通信機器102へ通信装置により転送する。
実施の形態5における管理データベース406は、実施の形態2から実施の形態4までにおける管理データベース406と同一である。
【0058】
次に動作について説明する。図33は、デバイス鍵一括更新命令600を転送することによってデバイス鍵を更新する場合の通信システムの動作を示すフローチャートである。
デバイス鍵一括更新命令保管処理(S701)では、転送元の通信機器102は、鍵管理サーバ101から送信されたデバイス鍵一括更新命令600を受信した場合は、実施の形態1で説明した手順((S104)から(S106)まで)に従って命令の正当性を確認し、デバイス鍵を更新する。その後、転送元の通信機器102のデバイス鍵更新命令転送部421は、受信したデバイス鍵一括更新命令600を一時的に通信機器102内部(記憶装置)に保管する。
データ転送処理(S702)では、他の通信機器102との間で通信が発生した場合、機器間通信部402は、デバイス鍵一括更新命令600を通信相手の通信機器102へ送信する。あるいは、デバイス鍵更新命令転送部421は、任意のタイミングで他の通信機器102との間で新たに通信を開始し、機器間通信部402に、デバイス鍵一括更新命令600を通信相手の通信機器102へ送信させる。
転送データ受信処理(S703)では、転送先の通信機器102の機器間通信部402は、デバイス鍵一括更新命令600を受信する。デバイス鍵更新命令転送部421は、デバイス鍵一括更新命令600のデータ種別601により、受信した情報がデバイス鍵一括更新命令600であることを認識する。
転送データ解釈処理(S704)では、デバイス鍵更新命令転送部421は、受信したデバイス鍵一括更新命令600をデバイス鍵更新命令解釈部407に引き渡し、鍵管理サーバ101から受信した場合と同様の処理((S105)と(S106))を行う。さらに、デバイス鍵更新命令転送部421は、転送されたデバイス鍵一括更新命令600を一時的に通信機器102内部に保管してもよい。
【0059】
以上のように、通信機器102同士の間のデバイス鍵一括更新命令600の転送によって、通信機器102は鍵管理サーバ101との間で予め共有しておいた鍵(デバイス鍵)を更新する。そのため、事前共有鍵(デバイス鍵)の繰り返し利用に起因する事前共有鍵の解読による通信内容の漏洩を防止することができる。また、デバイス鍵を更新する際、更新する鍵自体をネットワーク103経由で配布しないので、暗号化して配布されるデバイス鍵の解読による通信内容の漏洩を防止することができる。事前共有するデバイス鍵を用いた電子署名値の計算、一方向性関数を用いた鍵更新を行っているので、Diffie−Hellman鍵交換方式の様な複雑な演算や公開鍵暗号アルゴリズムなどとの組合せ利用を不要として、デバイス鍵の更新を行うことができる。一方向性関数を用いてデバイス鍵を更新し、更新前のデバイス鍵を削除しているので、最新のデバイス鍵の解読による過去の通信内容の漏洩を防止することができる。さらに、鍵管理サーバ101と通信機器102の間でデバイス鍵の世代に矛盾が生じていた場合修正するので、通信機器102がデバイス鍵一括更新命令600やデバイス鍵個別更新命令700の受信に失敗していたとしてもデバイス鍵を更新し、事前共有鍵の繰り返し利用に起因する事前共有鍵の解読による通信内容の漏洩を防止することができる。
【0060】
実施の形態6.
実施の形態6では、通信機器102同士の間で鍵管理サーバ101から受信したマスター鍵一括更新命令900を転送することによる、通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の更新について説明する。
【0061】
まず、鍵管理サーバ101から受信したマスター鍵一括更新命令900を転送することによる通信機器102同士の間の共有鍵(マスター鍵)の更新の動作の概要について説明する。
図34は図1に示したシステム構成において、マスター鍵一括更新命令900を転送することによってマスター鍵を更新する際のデータの流れを示した図である。
通信機器102は、鍵管理サーバ101から送信されたマスター鍵一括更新命令900を受信した場合、これらの命令を一時的に通信機器102の内部に保管する。通信機器102は、他の通信機器102との間でデータのやり取りを行う際、あるいは任意のタイミングで、保管しておいたマスター鍵一括更新命令900を他の通信機器102に転送する。
他の通信機器102から転送されたマスター鍵一括更新命令900を受信した通信機器102は、鍵管理サーバ101から受信した場合と同様に、マスター鍵一括更新命令900に含まれる電子署名集合を検証してマスター鍵一括更新命令900の正当性を確認し、マスター鍵の更新を行う。また、このマスター鍵一括更新命令900を一時的に通信機器102の内部に保管し、さらに別の通信機器102に転送してもよい。
【0062】
次に、図35に基づき、実施の形態6における通信機器102の機能について説明する。
図35は実施の形態6における通信機器102の機能ブロック図である。実施の形態6における通信機器102は、実施の形態5における通信機器102に加え、マスター鍵更新命令転送部422(マスター鍵機器間通信部)を備える。
マスター鍵更新命令転送部422は、受信したマスター鍵一括更新命令900を一時的に通信機器102内部に保管して、他の通信機器102へ通信装置により転送する。
実施の形態6における管理データベース406は、実施の形態2から実施の形態5までにおける管理データベース406と同一である。
【0063】
次に動作について説明する。図36は、マスター鍵一括更新命令900を転送することによってマスター鍵を更新する場合の通信システムの動作を示すフローチャートである。
マスター鍵一括更新命令保管処理(S801)では、転送元の通信機器102は、鍵管理サーバ101から送信されたマスター鍵一括更新命令900を受信した場合は、実施の形態3で説明した手順((S403)から(S407)まで)に従って命令の正当性を確認し、マスター鍵を更新するとともに、必要に応じてデバイス鍵を更新する。その後、転送元の通信機器102のマスター鍵更新命令転送部422は、受信したマスター鍵一括更新命令900を一時的に通信機器102内部(記憶装置)に保管する。
データ転送処理(S802)では、他の通信機器102との間で通信が発生した場合、機器間通信部402は、マスター鍵一括更新命令900を通信相手の通信機器102へ送信する。あるいは、マスター鍵更新命令転送部422は、任意のタイミングで他の通信機器102との間で新たに通信を開始し、機器間通信部402に、マスター鍵一括更新命令900を通信相手の通信機器102へ送信させる。
転送データ受信処理(S803)では、転送先の通信機器102の機器間通信部402は、マスター鍵一括更新命令900を受信する。マスター鍵更新命令転送部422は、マスター鍵一括更新命令900のデータ種別901により、受信した情報がマスター鍵一括更新命令900であることを認識する。
転送データ解釈処理(S804)では、マスター鍵更新命令転送部422は、受信したマスター鍵一括更新命令900をマスター鍵更新命令解釈部409に引き渡し、鍵管理サーバ101から受信した場合と同様の処理((S405)から(S407)まで)を行う。さらに、マスター鍵更新命令転送部422は、転送されたマスター鍵一括更新命令900を一時的に通信機器102内部に保管してもよい。
【0064】
以上のように、通信機器102同士の間のマスター鍵一括更新命令900の転送によって、通信機器102は他の通信機器102との間で予め共有しておいた鍵(マスター鍵)を更新する。そのため、事前共有鍵(マスター鍵)の繰り返し利用に起因する事前共有鍵の解読による通信内容の漏洩を防止することができる。また、マスター鍵を更新する際、更新する鍵自体をネットワーク103経由で配布しないので、暗号化して配布されるマスター鍵の解読による通信内容の漏洩を防止することができる。事前共有するデバイス鍵を用いた電子署名値の計算、一方向性関数を用いた鍵更新を行っているので、Diffie−Hellman鍵交換方式の様な複雑な演算や公開鍵暗号アルゴリズムなどとの組合せ利用を不要として、マスター鍵の更新を行うことができる。一方向性関数を用いてマスター鍵を更新し、更新前のマスター鍵を削除しているので、最新のマスター鍵の解読による過去の通信内容の漏洩を防止することができる。さらに、鍵管理サーバ101と通信機器102の間でデバイス鍵の世代に矛盾が生じていた場合修正するので、通信機器102がデバイス鍵一括更新命令600やデバイス鍵個別更新命令700の受信に失敗していたとしてもデバイス鍵を更新し、事前共有鍵の繰り返し利用に起因する事前共有鍵の解読による通信内容の漏洩を防止することができる。
【0065】
実施の形態7.
以上の実施の形態1から実施の形態6まででは、鍵管理サーバ101から通信機器102へ送信する命令の盗聴防止や改ざん防止に共通鍵暗号アルゴリズムを用いていた。そして、鍵管理サーバ101と各々の通信機器102が共有している共通鍵であるデバイス鍵を用いた暗号化や署名値の計算を行っていた。実施の形態7では、鍵管理サーバ101から通信機器102へ送信する命令の暗号化や署名値の計算に公開鍵暗号アルゴリズムを用いた場合のデバイス鍵更新命令の配布による鍵管理サーバ101と通信機器102との間のデバイス鍵の更新について説明する。
【0066】
まず、デバイス鍵更新命令の配布による鍵管理サーバ101と通信機器102との間のデバイス鍵の更新の動作の概要について説明する。ここで、デバイス鍵とは、各通信機器102の秘密鍵であるデバイス秘密鍵と、そのデバイス秘密鍵と対をなすデバイス公開鍵とである。一方、鍵管理サーバ101の秘密鍵と公開鍵とは、サーバ秘密鍵とサーバ公開鍵と呼ぶ。
デバイス鍵の更新は、実施の形態1と同様に、デバイス鍵一括更新命令1200を用いて全てのデバイス鍵を一括更新する方法と、デバイス鍵個別更新命令1300を用いて特定の通信機器102との間で共有するデバイス鍵のみを更新する方法との二通りがある。さらに、これらの命令(デバイス鍵一括更新命令1200、デバイス鍵個別更新命令1300)にデバイス鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にデバイス鍵の更新を行う。
【0067】
図37は図1に示したシステム構成において、全てのデバイス鍵を一括に更新する際のデータの流れを示した図である。
鍵管理サーバ101は、全てのデバイス鍵の一括更新を指示する命令を作成し、各々の通信機器102が命令の正当性を検証するための電子署名をサーバ秘密鍵により付与して、デバイス鍵一括更新命令1200を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、デバイス鍵一括更新命令1200を全ての通信機器102に向けて送信する。そして、鍵管理サーバ101は、全てのデバイス公開鍵を更新する。一方、通信機器102は、ネットワーク103を介して、デバイス鍵一括更新命令1200を受信し、命令に含まれる電子署名を検証して命令の正当性を確認し、デバイス秘密鍵とデバイス公開鍵との更新を行う。
【0068】
図38は、デバイス鍵一括更新命令1200のデータ形式を示した図である。
図38に基づき、鍵管理サーバ101が配布するデバイス鍵一括更新命令1200について、デバイス鍵一括更新命令600と異なる部分について説明する。
デバイス鍵一括更新命令1200は、電子署名1203を1つ備えている。つまり、デバイス鍵一括更新命令600は、通信機器102毎に異なる個別電子署名を備えていたが、デバイス鍵一括更新命令1200は、全ての通信機器102に共通の電子署名1203を1つ備えている。
電子署名1203は、全ての通信機器102に共通であるから、デバイスIDは備えていない。また、電子署名1203の署名値1222は、鍵管理サーバ101の秘密鍵であるサーバ秘密鍵を用いて施された署名である。
【0069】
図39は図1に示したシステム構成において、特定のデバイス鍵のみを個別に更新する際のデータの流れを示した図である。
鍵管理サーバ101は、特定の通信機器102のデバイス鍵の個別更新を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための電子署名をサーバ秘密鍵により付与して、デバイス鍵個別更新命令1300を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、デバイス鍵個別更新命令1300を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するデバイス公開鍵を更新する。一方、通信機器102は、ネットワーク103を介して、デバイス鍵個別更新命令1300を受信し、命令が自分宛であるかどうか確認し、命令に含まれる電子署名を検証して命令の正当性を確認し、デバイス秘密鍵とデバイス公開鍵との更新を行う。
【0070】
図40は、デバイス鍵個別更新命令1300のデータ形式を示した図である。
図40に基づき、鍵管理サーバ101が配布するデバイス鍵個別更新命令1300について、デバイス鍵個別更新命令700と異なる部分について説明する。
デバイス鍵個別更新命令1300の署名値1322は、鍵管理サーバ101の秘密鍵であるサーバ秘密鍵を用いて施された署名である。
【0071】
次に、図41、図42に基づき、実施の形態7における鍵管理サーバ101の機能について説明する。
図41は実施の形態7における鍵管理サーバ101の機能ブロック図である。鍵管理サーバ101は、入力インタフェース201、データ送信部202、更新鍵生成部2204、電子署名生成部2206、鍵管理データベース2207、デバイス鍵更新命令作成部2208を備える。入力インタフェース201、データ送信部202は、実施の形態1における鍵管理サーバ101の機能と同一である。
更新鍵生成部2204は、所定の方法により現在のデバイス公開鍵から次の世代のデバイス公開鍵を処理装置により生成する。現在のデバイス公開鍵から次の世代のデバイス公開鍵を生成する方法については後述する。
電子署名生成部2206は、署名対象のデータに対して、サーバ秘密鍵を用いて署名を生成する。
鍵管理データベース2207は、実施の形態7における鍵管理サーバ101が管理する必要のある全ての鍵を記憶装置に記憶(管理)する。
デバイス鍵更新命令作成部2208は、デバイス鍵一括更新命令1200やデバイス鍵個別更新命令1300を処理装置により作成する。
【0072】
図42は実施の形態7における鍵管理サーバ101内部の鍵管理データベース2207が記憶する情報を示す図である。鍵管理データベース2207は、サーバ公開鍵ペア管理テーブル3301、デバイス公開鍵管理テーブル3302、デバイスシード管理テーブル3303、サーバシード管理テーブル3304を備える。
サーバ公開鍵ペア管理テーブル3301は、鍵管理サーバ101の公開鍵ペア、即ちサーバ秘密鍵とサーバ公開鍵とを、鍵の世代番号、鍵の有効期限との組合せで管理する。
デバイス公開鍵管理テーブル3302は、各々の通信機器102のデバイス公開鍵を、通信機器102を特定するデバイスID、鍵の世代番号、鍵の有効期限との組合せで管理する。
デバイスシード管理テーブル3303は、デバイス公開鍵を生成する場合に、公開鍵暗号方式の鍵を生成する関数への入力(シード)となるデバイス鍵生成用シードを管理する。デバイスシード管理テーブル3303で管理するデバイス鍵生成用シードは、各々の通信機器102と予め共有している。
サーバシード管理テーブル3304は、サーバ秘密鍵とサーバ公開鍵とを生成する場合に、公開鍵暗号方式の鍵を生成する関数への入力(シード)となるサーバ鍵生成用シードを管理する。サーバシード管理テーブル3304で管理するサーバ鍵生成用シードは、各々の通信機器102と予め共有している。
【0073】
次に、図43、図44に基づき、実施の形態7における通信機器102の機能について説明する。
図43は実施の形態7における通信機器102の機能ブロック図である。通信機器102は、データ受信部401、更新鍵生成部4403、電子署名検証部4405、管理データベース4406、デバイス鍵更新命令解釈部4407を備える。データ受信部401は、実施の形態1における通信機器102の機能と同一である。
更新鍵生成部4403は、所定の方法により現在のデバイス秘密鍵から次の世代のデバイス秘密鍵を処理装置により生成するとともに、現在のデバイス公開鍵から次の世代のデバイス公開鍵を処理装置により生成する。現在のデバイス秘密鍵・デバイス公開鍵から次の世代のデバイス秘密鍵・デバイス公開鍵を生成する方法については後述する。
電子署名検証部4405は、署名対象のデータおよび署名値に対して、サーバ公開鍵を用いて処理装置により署名を検証する。
管理データベース4406は、通信機器102が管理する必要のある全ての情報および鍵を記憶装置に記憶(管理)する。
デバイス鍵更新命令解釈部4407はデータ受信部401で受信したデバイス鍵一括更新命令1200やデバイス鍵個別更新命令1300を解釈し、更新鍵生成部403にデバイス秘密鍵とデバイス公開鍵とを更新させる。
【0074】
図44は実施の形態7における通信機器102内部の管理データベース4406が記憶する情報を示す図である。管理データベース4406は、デバイスID管理テーブル501、サーバ公開鍵管理テーブル5501、デバイス公開鍵ペア管理テーブル5502、デバイスシード管理テーブル5303、サーバシード管理テーブル5304を備える。
サーバ公開鍵管理テーブル5501は、サーバの公開鍵を、鍵の世代番号、鍵の有効期限との組合せで管理する。
デバイス公開鍵ペア管理テーブル5502は、デバイス公開鍵ペア、即ちデバイス公開鍵とデバイス秘密鍵を、鍵の世代番号、鍵の有効期限との組合せで管理する。
デバイスシード管理テーブル5303は、デバイス秘密鍵とデバイス公開鍵とを生成する場合に、公開鍵暗号方式の鍵を生成する関数への入力(シード)となるデバイス鍵生成用シードを管理する。デバイスシード管理テーブル5303で管理するデバイス鍵生成用シードは、鍵管理サーバ101と予め共有している。
【0075】
次に動作について説明する。
まず、デバイス鍵を一括更新する場合の動作について説明する。図45は、デバイス鍵を一括更新する場合の通信システムの動作を示すフローチャートである。
デバイス鍵一括更新命令作成処理(S901)では、鍵管理サーバ101のデバイス鍵更新命令作成部2208は、デバイス鍵一括更新命令1200を作成する。この際、電子署名生成部2206は、鍵管理データベース2207のサーバ公開鍵ペア管理テーブル3301で管理するサーバ秘密鍵を入力として、データ種別1201とデバイス鍵一括更新命令情報1202に対する署名値1222を生成する。
データ送信処理(S902)では、データ送信部202は、デバイス鍵一括更新命令1200を全ての通信機器102へ送信する。
サーバ側デバイス鍵更新処理(S903)では、更新鍵生成部2204は、デバイス鍵一括更新命令1200の送信に成功した後、一方向関数により鍵管理データベース2207のデバイスシード管理テーブル3303で管理する全てのデバイス鍵生成用シードを更新して、更新後の各デバイス鍵生成用シードを所定の公開鍵暗号方式の鍵を生成する関数へ入力して新たなデバイス公開鍵を生成する。そして、更新鍵生成部2204は鍵管理データベース2207のデバイス公開鍵管理テーブル3302に生成したデバイス公開鍵を格納すると共に、前のデバイス公開鍵を全て削除する。
データ受信処理(S904)では、通信機器102のデータ受信部401は、デバイス鍵一括更新命令1200を受信する。デバイス鍵更新命令解釈部4407は、デバイス鍵一括更新命令1200のデータ種別1201により、受信した情報がデバイス鍵一括更新命令1200であることを認識する。
署名判定処理(S905)では、電子署名検証部4405は、管理データベース4406のサーバ公開鍵管理テーブル5501で管理するサーバ公開鍵を入力として、電子署名1203の署名値1222を検証して、デバイス鍵一括更新命令1200の正当性を確認する。この時、署名に用いられたサーバ秘密鍵の署名鍵世代番号1221が管理データベース4406のサーバ公開鍵管理テーブル5501で管理するサーバ公開鍵の世代番号より古い場合、電子署名検証部4405は、不正な署名と判定する。
署名の検証に成功した場合(S905でYES)、デバイス鍵更新命令解釈部4407は(S906)へ進む。一方、署名の検証に失敗した場合(S905でNO)、デバイス鍵更新命令解釈部4407はデバイス鍵一括更新命令1200を正当でないと判断し、処理を終了する。
端末側デバイス鍵更新処理(S906)では、署名の検証に成功した場合、更新鍵生成部4403は、鍵管理サーバ101と同一の一方向性関数により管理データベース4406のデバイスシード管理テーブル5303で管理するデバイス鍵生成用シードを更新して、更新後の各デバイス鍵生成用シードを所定の公開鍵暗号方式の鍵を生成する関数へ入力して新たなデバイス秘密鍵とデバイス公開鍵とを生成する。更新鍵生成部4403は、管理データベース4406のデバイス公開鍵ペア管理テーブル5502に生成したデバイス秘密鍵とデバイス公開鍵とを格納すると共に、更新前のデバイス秘密鍵とデバイス公開鍵とを削除する。
【0076】
次に特定のデバイス鍵のみを更新する場合の動作について説明する。図46は、特定のデバイス鍵のみを更新する場合の通信システムの動作を示すフローチャートである。
デバイス鍵個別更新命令作成処理(S1001)では、鍵管理サーバ101のデバイス鍵更新命令作成部2208は、デバイス鍵個別更新命令1300を作成する。この際、電子署名生成部2206は、鍵管理データベース2207のサーバ公開鍵ペア管理テーブル3301で管理するサーバ秘密鍵を入力として、データ種別1301とデバイス鍵個別更新命令情報1302に対する署名値1322を生成する。
データ送信処理(S1002)では、データ送信部202は、デバイス鍵個別更新命令1300を該当する通信機器102へ送信する。
サーバ側デバイス鍵更新処理(S1003)では、更新鍵生成部2204は、デバイス鍵個別更新命令1300の送信に成功した後、一方向関数により鍵管理データベース2207のデバイスシード管理テーブル3303で管理する該当の通信機器102と共有したデバイス鍵生成用シードを更新して、更新後のデバイス鍵生成用シードに基づき新たなデバイス公開鍵を生成する。そして、更新鍵生成部2204は鍵管理データベース2207のデバイス公開鍵管理テーブル3302の該当する通信機器102の欄に生成したデバイス公開鍵を格納すると共に、前のデバイス公開鍵を削除する。
データ受信処理(S1004)では、通信機器102のデータ受信部401は、デバイス鍵個別更新命令1300を受信する。デバイス鍵更新命令解釈部4407は、デバイス鍵個別更新命令1300のデータ種別1301により、受信した情報がデバイス鍵個別更新命令1300であることを認識する。
宛先判定処理(S1005)では、デバイス鍵更新命令解釈部4407は、管理データベース4406のデバイスID管理テーブル501で管理するデバイスIDとデバイス鍵個別更新命令1300に含まれるデバイスID1311とが一致するか確認して、デバイス鍵個別更新命令1300が自分宛か否か確認する。
デバイス鍵個別更新命令1300が自分宛である場合(S1005でYES)、デバイス鍵更新命令解釈部4407は(S1006)へ進む。一方、デバイス鍵個別更新命令1300が自分宛でない場合(S1005でNO)、デバイス鍵更新命令解釈部4407はデバイス鍵個別更新命令1300を無視し、処理を終了する。
署名判定処理(S1006)では、デバイス鍵個別更新命令1300が自分宛である場合は、電子署名検証部4405は、管理データベース4406のサーバ公開鍵管理テーブル5501で管理するサーバ公開鍵を入力として、デバイス鍵個別更新命令1300の署名値1322を検証して、デバイス鍵個別更新命令1300の正当性を確認する。デバイス鍵個別更新命令1300の正当性を確認する時、署名に用いられたサーバ秘密鍵の署名鍵世代番号1321が管理データベース4406のサーバ公開鍵管理テーブル5501で管理するサーバ公開鍵の世代番号より古い場合、電子署名検証部4405は、不正な署名と判定する。
署名の検証に成功した場合(S1006でYES)、デバイス鍵更新命令解釈部4407は(S1007)へ進む。一方、署名の検証に失敗した場合(S1006でNO)、デバイス鍵更新命令解釈部4407はデバイス鍵個別更新命令1300を正当でないと判断し、処理を終了する。
端末側デバイス鍵更新処理(S1007)では、署名の検証に成功した場合、更新鍵生成部4403は、鍵管理サーバ101と同一の一方向性関数によりデバイスシード管理テーブル5303で管理するデバイス鍵生成用シードを更新して、更新後のデバイス鍵生成用シードを所定の公開鍵暗号方式の鍵を生成する関数へ入力して新たなデバイス秘密鍵とデバイス公開鍵とを生成する。更新鍵生成部4403は、管理データベース4406のデバイス公開鍵ペア管理テーブル5502に生成したデバイス秘密鍵とデバイス公開鍵とを格納すると共に、更新前のデバイス秘密鍵とデバイス公開鍵とを削除する。
【0077】
上記説明では、鍵管理サーバ101は、デバイス鍵(デバイス秘密鍵、デバイス公開鍵)を生成するためのデバイス鍵生成用シードを保持している。つまり、上記説明では、鍵管理サーバ101は、デバイス公開鍵を生成するとしたが、デバイス秘密鍵もデバイス公開鍵とともに生成される。つまり、通信機器102の秘密鍵であるデバイス秘密鍵を鍵管理サーバ101が知り得る状態である。しかし、ここでは、鍵管理サーバ101は信用できることが前提である。そのため、鍵管理サーバ101はデバイス秘密鍵を悪用することはなく、安全性は保たれるものとする。なお、鍵管理サーバ101は、生成されるとすぐにデバイス秘密鍵を削除するものとし、デバイス秘密鍵が漏洩することを防止する。
【0078】
また、鍵管理サーバ101はデバイス公開鍵を生成せず、鍵管理サーバ101がデバイス秘密鍵を生成できないようにすることも可能である。この場合、鍵管理サーバ101はデバイス公開鍵を生成しないため、デバイス鍵生成用シードを保持する必要がない。したがって、鍵管理サーバ101がデバイス秘密鍵を生成できないため、デバイス秘密鍵の安全性が高くなる。
これを実現するためには、デバイス鍵の更新命令を受信した通信機器102が生成したデバイス公開鍵を鍵管理サーバ101へ送信する必要がある。つまり、鍵管理サーバ101は自身でデバイス公開鍵を生成するのではなく、通信機器102が生成したデバイス公開鍵を取得する。
すなわち、上記サーバ側デバイス鍵更新処理(S903)(S1003)では、鍵管理サーバ101はデバイス公開鍵の更新を行わない。代わりに、端末側デバイス鍵更新処理(S906)(S1007)で新たなデバイス公開鍵を生成した後、通信機器102から鍵管理サーバ101へデバイス公開鍵を送信する。この際、送信するデバイス公開鍵には、更新前のデバイス秘密鍵で署名を付すことにより改ざん検出可能としてもよい。なお、デバイス公開鍵は公開情報であるため、暗号化する必要はない。また、この場合には、通信機器102から鍵管理サーバ101へ向けて通信できることが必要になる。
【0079】
また、上記説明では、デバイス鍵生成用シードを所定の公開鍵暗号方式の鍵を生成する関数への入力として用いた。しかし、デバイス秘密鍵を所定の公開鍵暗号方式の鍵を生成する関数への入力として用いてもよい。この場合、デバイス秘密鍵は、通信機器102のみが保持しているため、通信機器102が生成したデバイス公開鍵を鍵管理サーバ101へ送信する必要がある。
また、サーバ秘密鍵とサーバ公開鍵の更新に関しては、サーバ秘密鍵を所定の公開鍵暗号方式の鍵を生成する関数への入力として用いて鍵管理サーバ101でサーバ秘密鍵とサーバ公開鍵とを更新した後、更新後のサーバ公開鍵を各通信機器102へ送信する。
【0080】
次に、有効期限に従って、鍵管理サーバ101および通信機器102においてデバイス鍵、サーバ鍵を自動的に更新する場合の動作について説明する。
鍵管理サーバ101は、鍵管理データベース2207のデバイス公開鍵管理テーブル3302において、デバイス公開鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部2204はデバイス公開鍵を更新し、鍵管理データベース2207のデバイス公開鍵管理テーブル3302に格納すると共に、更新前の該当デバイス公開鍵を削除する。また、鍵管理サーバ101は、鍵管理データベース2207のサーバ公開鍵ペア管理テーブル3301において、サーバ秘密鍵とサーバ公開鍵とを有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部2204はサーバ秘密鍵とサーバ公開鍵とを更新し、鍵管理データベース2207のサーバ公開鍵ペア管理テーブル3301に格納すると共に、更新前のサーバ秘密鍵とサーバ公開鍵とを削除する。さらに、鍵管理サーバ101は、更新したデバイス公開鍵を全ての通信機器102に配布する。
同様に、通信機器102は、管理データベース4406のデバイス公開鍵ペア管理テーブル5502において、デバイス秘密鍵とデバイス公開鍵とを有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部4403はデバイス秘密鍵とデバイス公開鍵とを更新し、管理データベース4406のデバイス公開鍵ペア管理テーブル5502に格納すると共に、更新前のデバイス秘密鍵とデバイス公開鍵とを削除する。
【0081】
以上のように、鍵管理サーバ101と通信機器102の通信に公開鍵暗号アルゴリズムを用いても、実施の形態1と同一の効果を得ることができる。
【0082】
実施の形態8.
実施の形態8では、鍵管理サーバ101から通信機器102へ送信する命令の暗号化や署名値の計算に公開鍵暗号アルゴリズムを用いた場合のマスター鍵配布命令1400の配布による通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の配布及びデバイス秘密鍵、デバイス公開鍵の更新について説明する。
【0083】
まず、マスター鍵配布命令1400の配布によるマスター鍵の配布およびデバイス鍵の更新の動作の概要について説明する。
鍵管理サーバ101は、通信機器102同士が暗号化通信を行う際に用いる暗号鍵(マスター鍵)を生成し、鍵を利用する通信機器102のデバイス公開鍵で暗号化し、マスター鍵配布命令1400として該当通信機器102へ送信する。マスター鍵配布命令1400を受信した通信機器102は、マスター鍵配布命令1400の正当性を検証する際、デバイス秘密鍵、デバイス公開鍵に世代のずれが生じていることを検出した場合、必要に応じてデバイス秘密鍵、デバイス公開鍵の更新処理を行う。さらに、これらの命令にマスター鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にマスター鍵の更新を行う。
【0084】
図47は図1に示したシステム構成において、通信機器102間の暗号化に用いるマスター鍵を配布する際のデータの流れを示した図である。
鍵管理サーバ101は、特定の通信機器102同士の間で暗号化通信に用いるマスター鍵の配布を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための電子署名を付与して、マスター鍵配布命令1400を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵配布命令1400を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するマスター鍵を記憶する。一方、通信機器102は、ネットワーク103を介して、マスター鍵配布命令1400を受信し、命令が自分宛であるかどうか確認し、命令に含まれる電子署名を検証して命令の正当性を確認し、マスター鍵の取得を行う。
【0085】
図48は、マスター鍵配布命令1400のデータ形式を示した図である。
図48に基づき、鍵管理サーバ101が配布するマスター鍵配布命令1400について、マスター鍵配布命令800と異なる部分について説明する。
マスター鍵配布命令1400は、デバイス鍵世代番号1404とサーバ鍵世代番号1406とを備えている。デバイス鍵世代番号1404は、マスター鍵配布命令情報1403を暗号化する際に用いたデバイス公開鍵の世代番号である。サーバ鍵世代番号1406は、署名値を計算する際に用いたサーバ秘密鍵の世代番号である。
【0086】
次に、図49、図50に基づき、実施の形態8における鍵管理サーバ101の機能について説明する。
図49は実施の形態8における鍵管理サーバ101の機能ブロック図である。実施の形態8における鍵管理サーバ101は、実施の形態7における鍵管理サーバ101に加え、初期鍵生成部203、暗号化部2205、マスター鍵配布命令作成部2209を備える。初期鍵生成部203は、実施の形態2の機能と同様である。
暗号化部2205は、暗号化対象のデータに対して、指定されたデバイス公開鍵を用いて内容を処理装置により暗号化する。
マスター鍵配布命令作成部2209は、マスター鍵配布命令1400を処理装置により作成する。
【0087】
図50は実施の形態8における鍵管理サーバ101内部の鍵管理データベース2207が記憶する情報を示す図である。実施の形態8における鍵管理データベース2207は、実施の形態7における鍵管理データベース2207に加え、マスター鍵管理テーブル302を備える。
実施の形態8におけるマスター鍵管理テーブル302は、実施の形態2における鍵管理サーバ101の鍵管理データベース207のマスター鍵管理テーブル302と同一である。
【0088】
次に、図51、図52に基づき、実施の形態8における通信機器102の機能について説明する。
図51は実施の形態8における通信機器102の機能ブロック図である。実施の形態8における通信機器102は、実施の形態7における通信機器102に加え、復号部4404、マスター鍵配布命令解釈部4408を備える。
復号部4404は、暗号化されたデータに対して、指定された鍵を用いて処理装置により復号する。
マスター鍵配布命令解釈部4408は、データ受信部401が受信したマスター鍵配布命令800を解釈し、第1世代目のマスター鍵を管理データベース4406に格納させる。
【0089】
図52は実施の形態8における通信機器102内部の管理データベース4406が記憶する情報を示す図である。実施の形態8における管理データベース4406は、実施の形態7における管理データベース4406に加え、マスター鍵管理テーブル503を備える。
実施の形態8におけるマスター鍵管理テーブル503は、実施の形態2における通信機器102の管理データベース406のマスター鍵管理テーブル503と同一である。
【0090】
次に動作について説明する。図53は、マスター鍵を配信する場合の通信システムの動作を示すフローチャートである。
マスター鍵生成処理(S1101)では、鍵管理サーバ101の初期鍵生成部203はマスター鍵を生成し、鍵管理データベース2207に記憶させる。
そして、鍵管理サーバ101は、生成したマスター鍵を利用する通信機器102に対して、以下の操作を繰り返し行い、該当する通信機器102の全てにマスター鍵配布命令1400を送信する。
マスター鍵配布命令作成処理(S1102)では、マスター鍵配布命令作成部2209は、マスター鍵配布命令1400を作成する。この際、暗号化部2205は、鍵管理データベース2207のデバイス公開鍵管理テーブル3302で管理する該当通信機器102のデバイス公開鍵を用いて、マスター鍵配布命令情報(暗号化前)1411を暗号化し、マスター鍵配布命令情報(暗号化後)1403を作成する。電子署名生成部2206は、鍵管理データベース2207のサーバ公開鍵ペア管理テーブル3301で管理するサーバ秘密鍵を入力として、データ種別1401と受信者デバイスID1402とマスター鍵配布命令情報(暗号化後)1403に対する署名値1405を計算する。
データ送信処理(S1103)では、データ送信部202は、マスター鍵配布命令1400を該当する通信機器102へ送信する。
データ受信処理(S1104)では、通信機器102のデータ受信部401は、マスター鍵配布命令1400を受信する。マスター鍵配布命令解釈部4408は、マスター鍵配布命令1400のデータ種別1401により、受信した情報がマスター鍵配布命令1400であることを認識する。
宛先判定処理(S1105)では、マスター鍵配布命令解釈部4408は、管理データベース4406のデバイスID管理テーブル501で管理するデバイスIDとマスター鍵配布命令1400に含まれる受信者デバイスID1402とが一致するか確認して、マスター鍵配布命令1400が自分宛か否か確認する。
マスター鍵配布命令1400が自分宛である場合(S1105でYES)、マスター鍵配布命令解釈部4408は(S1106)へ進む。一方、マスター鍵配布命令1400が自分宛でない場合(S1105でNO)、マスター鍵配布命令解釈部4408はマスター鍵配布命令1400を無視し、処理を終了する。
署名判定処理(S1106)では、マスター鍵配布命令1400が自分宛である場合、電子署名検証部4405は、管理データベース4406のサーバ公開鍵管理テーブル5501で管理するサーバ公開鍵を入力として、マスター鍵配布命令1400の署名値1405を検証して、マスター鍵配布命令1400の正当性を確認する。マスター鍵配布命令1400の正当性を確認する時、署名に用いられたサーバ秘密鍵のサーバ鍵世代番号1406が管理データベース4406のサーバ公開鍵管理テーブル5501で管理するサーバ公開鍵の世代番号より古い場合、電子署名検証部4405は、不正な署名と判定する。
署名の検証に成功した場合(S1106でYES)、マスター鍵配布命令解釈部4408は(S1107)へ進む。一方、署名の検証に失敗した場合(S1106でNO)、マスター鍵配布命令解釈部4408はマスター鍵配布命令1400を正当でないと判断し、処理を終了する。
マスター鍵記憶処理(S1107)では、署名の検証に成功した場合、復号部4404はマスター鍵配布命令情報(暗号化後)1403をデバイス秘密鍵を用いて復号する。そして、マスター鍵配布命令解釈部4408は、マスター鍵配布命令情報(暗号化前)1411から取り出したマスター鍵を管理データベース4406のマスター鍵管理テーブル503に格納する。なお、復号する時、暗号化に用いられたデバイス公開鍵のデバイス鍵世代番号1404が管理データベース4406のデバイス公開鍵ペア管理テーブル5502で管理するデバイス秘密鍵の世代番号より新しい場合、復号部4404は、一時的に新しい世代のデバイス秘密鍵とデバイス公開鍵とを更新鍵生成部4403に生成させて復号する。暗号化に用いられたデバイス公開鍵のデバイス鍵世代番号1404が管理データベース4406のデバイス公開鍵ペア管理テーブル5502で管理するデバイス秘密鍵の世代番号より古い場合、復号部4404は、不正なマスター鍵配布命令1400と判定する。
端末側デバイス鍵更新処理(S1108)では、(S1107)において、新しい世代のデバイス秘密鍵を生成して復号した場合には、新しい世代のデバイス秘密鍵とデバイス公開鍵とを更新後のデバイス秘密鍵とデバイス公開鍵として管理データベース4406のデバイス公開鍵ペア管理テーブル5502に格納すると共に、更新前のデバイス秘密鍵とデバイス公開鍵とを削除する。
【0091】
有効期限に従いマスター鍵を更新する方法については、実施の形態2の方法と同様である。
【0092】
以上のように、鍵管理サーバ101と通信機器102の通信に公開鍵暗号アルゴリズムを用いても、実施の形態2と同一の効果を得ることができる。
【0093】
実施の形態9.
実施の形態9では、鍵管理サーバ101から通信機器102へ送信する命令の暗号化や署名値の計算に公開鍵暗号アルゴリズムを用いた場合のマスター鍵一括更新命令1500またはマスター鍵個別更新命令1600の配布による通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の更新について説明する。
【0094】
まず、マスター鍵更新命令の配布による通信機器102同士の間の共有鍵(マスター鍵)の更新の動作の概要について説明する。
マスター鍵の更新は、マスター鍵一括更新命令1500を用いて全てのマスター鍵を一括更新する方法と、マスター鍵個別更新命令1600を用いて特定のマスター鍵のみを更新する方法の二通りがある。さらに、これらの命令にマスター鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にマスター鍵の更新を行う。
【0095】
図54は図1に示したシステム構成において、全てのマスター鍵を一括に更新する際のデータの流れを示した図である。
鍵管理サーバ101は、全てのマスター鍵の一括更新を指示する命令を作成し、各々の通信機器102が命令の正当性を検証するための電子署名を付与して、マスター鍵一括更新命令1500を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵一括更新命令1500を全ての通信機器102に向けて送信する。そして、鍵管理サーバ101は、全てのマスター鍵を更新する。一方、通信機器102は、ネットワーク103を介して、マスター鍵一括更新命令1500を受信し、命令に含まれる電子署名を検証して命令の正当性を確認し、マスター鍵の更新を行う。
【0096】
図55は、マスター鍵一括更新命令1500のデータ形式を示した図である。
図55に基づき、鍵管理サーバ101が配布するマスター鍵一括更新命令1500について、マスター鍵一括更新命令900と異なる部分について説明する。
マスター鍵一括更新命令1500は、電子署名1503を1つ備えている。つまり、マスター鍵一括更新命令900は、通信機器102毎に異なる個別電子署名904を備えていたが、マスター鍵一括更新命令1500は、全ての通信機器102に共通の電子署名1503を1つ備えている。
電子署名1503は、全ての通信機器102に共通であるから、デバイスIDは備えていない。また、電子署名1503の署名値1522は、鍵管理サーバ101の秘密鍵であるサーバ秘密鍵を用いて施された署名である。
【0097】
図56は図1に示したシステム構成において、特定のマスター鍵のみを個別に更新する際のデータの流れを示した図である。
鍵管理サーバ101は、特定のマスター鍵の個別更新を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための電子署名を付与して、マスター鍵個別更新命令1600を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵個別更新命令1600を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するマスター鍵を更新する。一方、通信機器102は、ネットワーク103を介して、マスター鍵個別更新命令1600を受信し、命令が自分宛であるかどうか確認し、命令に含まれる電子署名を検証して命令の正当性を確認し、マスター鍵の更新を行う。
【0098】
図57は、マスター鍵個別更新命令1600のデータ形式を示した図である。
図57に基づき、鍵管理サーバ101が配布するマスター鍵個別更新命令1600について、マスター鍵個別更新命令1000と異なる部分について説明する。
マスター鍵個別更新命令1600は、電子署名1603を1つ備えている。つまり、マスター鍵個別更新命令1000は、通信機器102毎に異なる個別電子署名1004を備えていたが、マスター鍵個別更新命令1600は、全ての通信機器102に共通の電子署名1603を1つ備えている。
電子署名1603は、全ての通信機器102に共通であるから、デバイスIDは備えていない。また、電子署名1603の署名値1622は、鍵管理サーバ101の秘密鍵であるサーバ秘密鍵を用いて施された署名である。
【0099】
次に、図58に基づき、実施の形態9における鍵管理サーバ101の機能について説明する。
図58は実施の形態9における鍵管理サーバ101の機能ブロック図である。実施の形態9における鍵管理サーバ101は、実施の形態8における鍵管理サーバ101に加え、マスター鍵更新命令作成部2210を備える。
マスター鍵更新命令作成部2210は、マスター鍵一括更新命令1500やマスター鍵個別更新命令1600を処理装置により作成する。
実施の形態9における鍵管理データベース2207は、実施の形態8における鍵管理データベース2207と同一である。
【0100】
次に、図59に基づき、実施の形態9における通信機器102の機能について説明する。
図59は実施の形態9における通信機器102の機能ブロック図である。実施の形態9における通信機器102は、実施の形態8における通信機器102に加え、マスター鍵更新命令解釈部4409を備える。
マスター鍵更新命令解釈部4409は、データ受信部401が受信したマスター鍵一括更新命令1500やマスター鍵個別更新命令1600を解釈し、マスター鍵を処理装置により更新する。
実施の形態9における管理データベース4406は、実施の形態8における管理データベース4406と同一である。
【0101】
次に動作について説明する。
まず、マスター鍵を一括更新する場合の動作について説明する。図60は、マスター鍵を一括更新する場合の通信システムの動作を示すフローチャートである。
マスター鍵一括更新命令作成処理(S1201)では、鍵管理サーバ101のマスター鍵更新命令作成部2210は、マスター鍵一括更新命令1500を作成する。電子署名生成部2206は、鍵管理データベース2207のサーバ公開鍵ペア管理テーブル3301で管理するサーバ秘密鍵を入力として、データ種別1501とマスター鍵一括更新命令情報1502に対する署名値1522を生成する。
データ送信処理(S1202)では、データ送信部202は、マスター鍵一括更新命令1500を全ての通信機器102へ送信する。
サーバ側マスター鍵更新処理(S1203)では、マスター鍵一括更新命令1500の送信に成功した後、更新鍵生成部2204は、全てのマスター鍵を更新し、鍵管理データベース2207のマスター鍵管理テーブル302に格納すると共に、更新前のマスター鍵全てを削除する。なお、マスター鍵については、実施の形態3と同様に所定の一方向関数を通すことにより更新する。
データ受信処理(S1204)では、通信機器102のデータ受信部401は、マスター鍵一括更新命令1500を受信する。マスター鍵更新命令解釈部4409は、マスター鍵一括更新命令1500のデータ種別1501により、受信した情報がマスター鍵一括更新命令1500であることを認識する。
署名判定処理(S1205)では、電子署名検証部4405は、管理データベース4406のサーバ公開鍵管理テーブル5501で管理するサーバ公開鍵を入力として、電子署名1503の署名値1522を検証して、マスター鍵一括更新命令1500の正当性を確認する。この時、署名に用いられたサーバ秘密鍵の署名鍵世代番号1521が管理データベース4406のサーバ公開鍵管理テーブル5501で管理するサーバ公開鍵の世代番号より古い場合、電子署名検証部4405は、不正な署名と判定する。
署名の検証に成功した場合(S1205でYES)、マスター鍵更新命令解釈部4409は(S1206)へ進む。一方、署名の検証に失敗した場合(S1205でNO)、マスター鍵更新命令解釈部4409はマスター鍵一括更新命令1500を正当でないと判断し、処理を終了する。
端末側マスター鍵更新処理(S1206)では、署名の検証に成功した場合、更新鍵生成部4403は、管理データベース406のマスター鍵管理テーブル503に格納した全てのマスター鍵を更新させ、管理データベース406のマスター鍵管理テーブル503に格納すると共に、更新前のマスター鍵を削除する。
【0102】
次に特定のマスター鍵のみを更新する場合の動作について説明する。図61は、特定のマスター鍵のみを更新する場合の通信システムの動作を示すフローチャートである。
マスター鍵個別更新命令作成処理(S1301)では、鍵管理サーバ101のマスター鍵更新命令作成部2210は、マスター鍵個別更新命令1600を作成する。電子署名生成部2206は、鍵管理データベース2207のサーバ公開鍵ペア管理テーブル3301で管理するサーバ秘密鍵を入力として、データ種別1601とマスター鍵個別更新命令情報1602に対する署名値1622を生成する。
データ送信処理(S1302)では、データ送信部202は、マスター鍵個別更新命令1600を該当する通信機器102へ送信する。
サーバ側デバイス鍵更新処理(S1303)では、マスター鍵個別更新命令1600の送信に成功した後、更新鍵生成部2204は、該当するマスター鍵を更新し、鍵管理データベース2207のマスター鍵管理テーブル302に格納すると共に、更新前の該当マスター鍵を削除する。
データ受信処理(S1304)では、通信機器102のデータ受信部401は、マスター鍵個別更新命令1600を受信する。マスター鍵更新命令解釈部4409は、マスター鍵個別更新命令1600のデータ種別1601により、受信した情報がマスター鍵個別更新命令1600であることを認識する。
宛先判定処理(S1305)では、マスター鍵更新命令解釈部4409は、管理データベース4406のマスター鍵管理テーブル503で管理するマスター鍵IDとマスター鍵個別更新命令1600に含まれるマスター鍵ID1611とが一致するか確認してマスター鍵個別更新命令1600が自分宛か否か確認する。
マスター鍵個別更新命令1600が自分宛である場合(S1305でYES)、マスター鍵更新命令解釈部4409は(S1306)へ進む。一方、マスター鍵個別更新命令1600が自分宛でない場合(S1305でNO)、マスター鍵更新命令解釈部4409はマスター鍵個別更新命令1600を無視し、処理を終了する。
署名判定処理(S1306)では、マスター鍵個別更新命令1600が自分宛である場合は、電子署名検証部4405は、管理データベース4406のサーバ公開鍵管理テーブル5501で管理するサーバ公開鍵を入力として、マスター鍵個別更新命令1600の署名値1622を検証して、マスター鍵個別更新命令1600の正当性を確認する。マスター鍵個別更新命令1600の正当性を確認する時、署名に用いられたサーバ秘密鍵の署名鍵世代番号1621が管理データベース4406のサーバ公開鍵管理テーブル5501で管理するサーバ公開鍵の世代番号より古い場合、電子署名検証部4405は、不正な署名と判定する。
署名の検証に成功した場合(S1306でYES)、マスター鍵更新命令解釈部4409は(S1307)へ進む。一方、署名の検証に失敗した場合(S1306でNO)、マスター鍵更新命令解釈部4409はマスター鍵個別更新命令1600を正当でないと判断し、処理を終了する。
端末側マスター鍵更新処理(S1307)では、署名の検証に成功した場合、更新鍵生成部4403は該当するマスター鍵を更新し、管理データベース4406のマスター鍵管理テーブル503に格納すると共に、更新前のマスター鍵を削除する。
【0103】
有効期限に従いマスター鍵を更新する方法については、実施の形態3の方法と同様である。
【0104】
以上のように、鍵管理サーバ101と通信機器102の通信に公開鍵暗号アルゴリズムを用いても、実施の形態3と同一の効果を得ることができる。
【0105】
実施の形態10.
実施の形態10では、鍵管理サーバ101から通信機器102へ送信する命令の暗号化や署名値の計算に公開鍵暗号アルゴリズムを用いた場合の通信機器102同士の間の機器間通信データ1100のやり取りによるマスター鍵の更新と、デバイス鍵一括更新命令1200の転送によるデバイス鍵(デバイス秘密鍵、デバイス公開鍵)の更新と、マスター鍵一括更新命令1500の転送によるマスター鍵の更新とについて説明する。
【0106】
機器間通信データ1100のやり取りによるマスター鍵の更新については、公開鍵暗号アルゴリズムを用いた場合であっても、実施の形態4で説明した動作と同一の動作で実現することができる。
【0107】
デバイス鍵一括更新命令1200の転送によるデバイス鍵(デバイス秘密鍵、デバイス公開鍵)の更新は、実施の形態5で説明した(S701)の「実施の形態1で説明した手順((S104)から(S106)まで)」を、「実施の形態7で説明した((S904)から(S906)まで)と置き換え、(S704)の「((S105)と(S106))」を「((S905)と(S906))」と置き換えれば、実施の形態5で説明した方法を適用できる。
同様に、マスター鍵一括更新命令1500の転送によるマスター鍵の更新は、実施の形態6で説明した(S801)の「実施の形態3で説明した手順((S405)から(S407)まで)」を、「実施の形態9で説明した手順((S1205)から(S1206)まで)」と置き換え、(S804)の「((S405)から(S407)まで)」を「((S1205)から(S1206)まで)」と置き換えれば、実施の形態6で説明した方法を適用できる。なお、実施の形態6では、マスター鍵一括更新命令900の転送によってデバイス鍵を更新する場合が存在したが、実施の形態10では、マスター鍵一括更新命令1500の転送によってデバイス鍵(デバイス秘密鍵、デバイス公開鍵)を更新することはない。
【0108】
以上のように、鍵管理サーバ101と通信機器102の通信に公開鍵暗号アルゴリズムを用いても、実施の形態4から実施の形態6までと同一の効果を得ることができる。
【0109】
実施の形態11.
以上の実施の形態では、図1に示すように、鍵管理サーバ101と通信機器102との間をネットワーク103で接続して鍵管理サーバ101から通信機器102へネットワーク103を介してデータを配信すると説明した。実施の形態11では、鍵管理サーバ101から通信機器102へのデータの配信方法について説明する。
【0110】
図62は、鍵管理サーバ101が衛星通信を用いた一方向通信により各通信機器102へデータを配信する場合のシステム構成図である。
図62において、鍵管理サーバ101は、配信するデータ(デバイス鍵一括更新命令600等)を地上局104を介して、通信衛星105から通信機器102へ配信する。地上局104は鍵管理サーバ101から各通信機器102に向けて発信された各種データを、通信衛星105を通して送信するための中継設備である。通信衛星105は地上局104から中継された各種データを、各通信機器102へ向けて送信する衛星設備である。また、ネットワーク103は、通信機器102同士の通信の通信路として用いられるバックボーンネットワークである。
つまり、鍵管理サーバ101は、通信衛星105から一方向通信により各種データを各通信機器102へ同報通信する。つまり、鍵管理サーバ101は、通信衛星105を介して各種データを各通信機器102へ一方的に送信する。
【0111】
図63は、鍵管理サーバ101が地上波放送を用いた一方向通信により各通信機器102へデータを配信する場合のシステム構成図である。
図63において、鍵管理サーバ101は、配信するデータ(デバイス鍵一括更新命令600等)を地上波放送設備106から通信機器102へ配信する。地上波放送設備106は鍵管理サーバ101から送信された各種データを、各通信機器102へ向けて送信する放送設備である。また、ネットワーク103は、通信機器102同士の通信の通信路として用いられるバックボーンネットワークである。
つまり、鍵管理サーバ101は、地上波放送設備106から一方向通信により各種データを各通信機器102へ同報通信する。つまり、鍵管理サーバ101は、各種データを各通信機器102へ一方的に送信する。
【0112】
図64は、鍵管理サーバ101が双方向通信可能な通信路を用いて各通信機器102へデータを配信する場合のシステム構成図である。
図64において、鍵管理サーバ101は、配信するデータ(デバイス鍵一括更新命令600等)をインターネット放送設備107からインターネット網108を介して通信機器102へ配信する。インターネット放送設備107は鍵管理サーバ101から送信された各種データを、各通信機器102へ向けてインターネット網108を介して送信する放送設備である。また、インターネット網108は、通信機器102同士の通信及び通信機器102とインターネット放送設備107との間の通信の通信路として用いられるバックボーンネットワークである。
つまり、鍵管理サーバ101は、インターネット放送設備107から双方向通信により各種データを各通信機器102へ同報通信する。
【0113】
図65は、上記実施の形態における鍵管理サーバ101、通信機器102のハードウェア資源の一例を示す図である。
図65において、鍵管理サーバ101、通信機器102は、プログラムを実行するCPU1911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU1911は、バス1912を介してROM1913、RAM1914、LCD1901(Liquid Crystal Display)、キーボード1902(K/B)、通信ボード1915、磁気ディスク装置1920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置1920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
【0114】
ROM1913、磁気ディスク装置1920は、不揮発性メモリの一例である。RAM1914は、揮発性メモリの一例である。ROM1913とRAM1914と磁気ディスク装置1920とは、記憶装置(メモリ)の一例である。また、キーボード1902、通信ボード1915は、入力装置の一例である。また、通信ボード1915は、通信装置の一例である。さらに、LCD1901は、表示装置の一例である。
【0115】
磁気ディスク装置1920又はROM1913などには、オペレーティングシステム1921(OS)、ウィンドウシステム1922、プログラム群1923、ファイル群1924が記憶されている。プログラム群1923のプログラムは、CPU1911、オペレーティングシステム1921、ウィンドウシステム1922により実行される。
【0116】
プログラム群1923には、上記の説明において「入力インタフェース201」、「データ送信部202」、「初期鍵生成部203」、「更新鍵生成部204」、「暗号化部205」、「署名値計算部206」、「鍵管理データベース207」、「デバイス鍵更新命令作成部208」、「マスター鍵配布命令作成部209」、「マスター鍵更新命令作成部210」、「データ受信部401」、「機器間通信部402」、「更新鍵生成部403」、「復号部404」、「署名値検証部405」、「管理データベース406」、「デバイス鍵更新命令解釈部407」、「マスター鍵配布命令解釈部408」、「マスター鍵更新命令解釈部409」、「機器間通信データ作成解釈部410」、「署名値生成部411」、「暗号化部412」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、CPU1911により読み出され実行される。
ファイル群1924には、上記の説明において「デバイス鍵一括更新命令600」、「デバイス鍵個別更新命令700」、「マスター鍵配布命令800」、「マスター鍵一括更新命令900」、「マスター鍵個別更新命令1000」、「機器間通信データ1100」、「デバイス鍵一括更新命令1200」、「デバイス鍵個別更新命令1300」、「マスター鍵配布命令1400」、「マスター鍵一括更新命令1500」、「マスター鍵個別更新命令1600」等の情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU1911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU1911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU1911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM1914のメモリ、その他光ディスク等の記録媒体に記録される。また、データや信号は、バス1912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0117】
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ROM1913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM1913等の記録媒体に記憶される。プログラムはCPU1911により読み出され、CPU1911により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【図面の簡単な説明】
【0118】
【図1】システム構成図。
【図2】全てのデバイス鍵を一括に更新する際のデータの流れを示した図。
【図3】デバイス鍵一括更新命令600のデータ形式を示した図。
【図4】特定のデバイス鍵のみを個別に更新する際のデータの流れを示した図。
【図5】デバイス鍵個別更新命令700のデータ形式を示した図。
【図6】実施の形態1における鍵管理サーバ101の機能ブロック図。
【図7】実施の形態1における鍵管理サーバ101内部の鍵管理データベース207を示す図。
【図8】実施の形態1における通信機器102の機能ブロック図。
【図9】実施の形態1における通信機器102内部の管理データベース406を示す図。
【図10】デバイス鍵を一括更新する場合の通信システムの動作を示すフローチャート。
【図11】特定のデバイス鍵のみを更新する場合の通信システムの動作を示すフローチャート。
【図12】通信機器102間の暗号化に用いるマスター鍵を配布する際のデータの流れを示した図。
【図13】マスター鍵配布命令800のデータ形式を示した図。
【図14】実施の形態2における鍵管理サーバ101の機能ブロック図。
【図15】実施の形態2における鍵管理サーバ101内部の鍵管理データベース207を示す図。
【図16】実施の形態2における通信機器102の機能ブロック図。
【図17】実施の形態2における通信機器102内部の管理データベース406を示す図。
【図18】マスター鍵を配信する場合の通信システムの動作を示すフローチャート。
【図19】全てのマスター鍵を一括に更新する際のデータの流れを示した図。
【図20】マスター鍵一括更新命令900のデータ形式を示した図。
【図21】特定のマスター鍵のみを個別に更新する際のデータの流れを示した図。
【図22】マスター鍵個別更新命令1000のデータ形式を示した図。
【図23】実施の形態3における鍵管理サーバ101の機能ブロック図。
【図24】実施の形態3における通信機器102の機能ブロック図。
【図25】マスター鍵を一括更新する場合の通信システムの動作を示すフローチャート。
【図26】特定のマスター鍵のみを更新する場合の通信システムの動作を示すフローチャート。
【図27】機器間通信データ1100のやり取りによってマスター鍵を更新する際のデータの流れを示した図。
【図28】機器間通信データ1100のデータ形式を示した図。
【図29】実施の形態4における通信機器102の機能ブロック図。
【図30】機器間通信データ1100のやり取りによってマスター鍵を更新する場合の通信システムの動作を示すフローチャート。
【図31】デバイス鍵一括更新命令600を転送することによってマスター鍵を更新する際のデータの流れを示した図。
【図32】実施の形態5における通信機器102の機能ブロック図。
【図33】デバイス鍵一括更新命令600を転送することによってマスター鍵を更新する場合の通信システムの動作を示すフローチャート。
【図34】マスター鍵一括更新命令900を転送することによってマスター鍵を更新する際のデータの流れを示した図。
【図35】実施の形態6における通信機器102の機能ブロック図。
【図36】マスター鍵一括更新命令900を転送することによってマスター鍵を更新する場合の通信システムの動作を示すフローチャート。
【図37】全てのデバイス鍵を一括に更新する際のデータの流れを示した図。
【図38】デバイス鍵一括更新命令1200のデータ形式を示した図。
【図39】特定のデバイス鍵のみを個別に更新する際のデータの流れを示した図。
【図40】デバイス鍵個別更新命令1300のデータ形式を示した図。
【図41】実施の形態7における鍵管理サーバ101の機能ブロック図。
【図42】実施の形態7における鍵管理サーバ101内部の鍵管理データベース2207を示す図。
【図43】実施の形態7における通信機器102の機能ブロック図。
【図44】実施の形態7における通信機器102内部の管理データベース4406を示す図。
【図45】デバイス鍵を一括更新する場合の通信システムの動作を示すフローチャート。
【図46】特定のデバイス鍵のみを更新する場合の通信システムの動作を示すフローチャート。
【図47】通信機器102間の暗号化に用いるマスター鍵を配布する際のデータの流れを示した図。
【図48】マスター鍵配布命令1400のデータ形式を示した図。
【図49】実施の形態8における鍵管理サーバ101の機能ブロック図。
【図50】実施の形態8における鍵管理サーバ101内部の鍵管理データベース2207を示す図。
【図51】実施の形態8における通信機器102の機能ブロック図。
【図52】実施の形態8における通信機器102内部の管理データベース4406を示す図。
【図53】マスター鍵を配信する場合の通信システムの動作を示すフローチャート。
【図54】全てのマスター鍵を一括に更新する際のデータの流れを示した図。
【図55】マスター鍵一括更新命令1500のデータ形式を示した図。
【図56】特定のマスター鍵のみを個別に更新する際のデータの流れを示した図。
【図57】マスター鍵個別更新命令1600のデータ形式を示した図。
【図58】実施の形態9における鍵管理サーバ101の機能ブロック図。
【図59】実施の形態9における通信機器102の機能ブロック図。
【図60】マスター鍵を一括更新する場合の通信システムの動作を示すフローチャート。
【図61】特定のマスター鍵のみを更新する場合の通信システムの動作を示すフローチャート。
【図62】鍵管理サーバ101が衛星通信を用いた一方向通信により各通信機器102へデータを配信する場合のシステム構成図。
【図63】鍵管理サーバ101が地上波放送を用いた一方向通信により各通信機器102へデータを配信する場合のシステム構成図。
【図64】鍵管理サーバ101が双方向通信可能な通信路を用いて各通信機器102へデータを配信する場合のシステム構成図。
【図65】鍵管理サーバ101、通信機器102のハードウェア資源の一例を示す図。
【符号の説明】
【0119】
101 鍵管理サーバ、102 通信機器、201 入力インタフェース、202 データ送信部、203 初期鍵生成部、204,2204 更新鍵生成部、205,2205 暗号化部、206 署名値計算部、2206 電子署名生成部、207,2207 鍵管理データベース、208,2208 デバイス鍵更新命令作成部、209,2209 マスター鍵配布命令作成部、210,2210 マスター鍵更新命令作成部、401 データ受信部、402 機器間通信部、403,4403 更新鍵生成部、404,4404 復号部、405 署名値検証部、4405 電子署名検証部、406,4406 管理データベース、407,4407 デバイス鍵更新命令解釈部、408,4408 マスター鍵配布命令解釈部、409,4409 マスター鍵更新命令解釈部、410 機器間通信データ作成解釈部、411 署名値生成部、412 暗号化部、421 デバイス鍵更新命令転送部、422 マスター鍵更新命令転送部、600,1200 デバイス鍵一括更新命令、700,1300 デバイス鍵個別更新命令、800,1400 マスター鍵配布命令、900,1500 マスター鍵一括更新命令、1000,1600 マスター鍵個別更新命令、1100 機器間通信データ。

【特許請求の範囲】
【請求項1】
複数の端末と通信可能な鍵管理サーバにおいて、
上記複数の端末間の通信の暗号化処理に用いるマスター鍵を上記複数の端末が受信する際に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を処理装置により作成するデバイス鍵更新命令作成部と、
上記デバイス鍵更新命令作成部が作成したデバイス鍵更新命令を上記複数の端末の少なくともいずれかの端末を宛先として通信装置により送信するデータ送信部と
を備えることを特徴とする鍵管理サーバ。
【請求項2】
上記鍵管理サーバは、さらに、
上記データ送信部がデバイス鍵更新命令を送信した場合、上記所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵を処理装置により生成するとともに、次の世代のデバイス鍵を生成した場合、上記現在のデバイス鍵を削除するデバイス更新鍵生成部
を備えることを特徴とする請求項1に記載の鍵管理サーバ。
【請求項3】
上記デバイス更新鍵生成部は、管理するデバイス鍵に有効期限が付されている場合、上記有効期限を過ぎると、現在のデバイス鍵から次の世代のデバイス鍵を生成する
ことを特徴とする請求項2に記載の鍵管理サーバ。
【請求項4】
上記鍵管理サーバは、さらに、
上記複数の端末のいずれかの端末へマスター鍵を配信するためのマスター鍵配信命令であって、管理するデバイス鍵の現在の世代情報を含むマスター鍵配布命令を処理装置により作成するマスター鍵配布命令作成部を備え、
上記データ送信部は、上記マスター鍵配布命令作成部が作成したマスター鍵配布命令を上記マスター鍵を使用する端末を宛先として通信装置により送信する
ことを特徴とする請求項1から3までのいずれかに記載の鍵管理サーバ。
【請求項5】
上記鍵管理サーバは、さらに、
所定の一方向性関数により現在のマスター鍵から次の世代のマスター鍵への更新を指示するマスター鍵更新命令を処理装置により作成するマスター鍵更新命令作成部と、
上記マスター鍵更新命令作成部が作成したマスター鍵更新命令を上記マスター鍵を使用する端末を宛先として通信装置により送信するデータ送信部と
を備えることを特徴とする請求項1から4までのいずれかに記載の鍵管理サーバ。
【請求項6】
上記マスター鍵更新命令作成部は、管理するデバイス鍵の現在の世代情報をマスター鍵更新命令に含めて作成する
ことを特徴とする請求項5に記載の鍵管理サーバ。
【請求項7】
上記鍵管理サーバは、さらに、
上記データ送信部がマスター鍵更新命令を送信した場合、所定の一方向性関数により現在のマスター鍵から次の世代のマスター鍵を処理装置により生成するとともに、次の世代のマスター鍵を生成した場合、上記現在のマスター鍵を削除するマスター更新鍵生成部
を備えることを特徴とする請求項5又は6に記載の鍵管理サーバ。
【請求項8】
上記マスター更新鍵生成部は、管理するマスター鍵に有効期限が付されている場合、上記有効期限を過ぎると、現在のマスター鍵から次の世代のマスター鍵を生成する
ことを特徴とする請求項5から7までのいずれかに記載の鍵管理サーバ。
【請求項9】
他の端末との通信の暗号化処理に使用するマスター鍵を鍵管理サーバから受信する場合に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を通信装置を介して受信するデータ受信部と、
上記データ受信部が受信したデバイス鍵更新命令に従い、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵を処理装置により生成する更新鍵生成部と
を備えることを特徴とする端末。
【請求項10】
上記更新鍵生成部は、次の世代のデバイス鍵を生成した場合、上記現在のデバイス鍵を削除する
ことを特徴とする請求項9に記載の端末。
【請求項11】
上記更新鍵生成部は、管理するデバイス鍵に有効期限が付されている場合、上記有効期限を過ぎると、現在のデバイス鍵から次の世代のデバイス鍵を生成する
ことを特徴とする請求項9又は10に記載の端末。
【請求項12】
上記端末は、さらに、
上記データ受信部が受信したデバイス鍵更新命令を他の端末へ通信装置を介して送信するデバイス鍵機器間通信部
を備えることを特徴とする請求項9から11までのいずれかに記載の端末。
【請求項13】
上記データ受信部は、マスター鍵を配信するためのマスター鍵配布命令であって、上記鍵管理サーバが管理する現在のデバイス鍵の世代情報を含むマスター鍵配布命令を受信し、
上記更新鍵生成部は、所定の一方向性関数により上記マスター鍵配布命令に含まれる世代情報が示す世代まで現在のデバイス鍵を更新する
ことを特徴とする請求項9から12までのいずれかに記載の端末。
【請求項14】
上記データ受信部は、鍵管理サーバが送信したマスター鍵の更新を指示するマスター鍵更新命令を受信し、
上記更新鍵生成部は、上記マスター鍵更新命令に従い、所定の一方向性関数により現在のマスター鍵から次の世代のマスター鍵を生成する
ことを特徴とする請求項9から13までのいずれかに記載の端末。
【請求項15】
上記更新鍵生成部は、次の世代のマスター鍵を生成した場合、上記現在のマスター鍵を削除する
ことを特徴とする請求項14に記載の端末。
【請求項16】
上記データ受信部は、上記鍵管理サーバが管理する現在のデバイス鍵の世代情報を含むマスター鍵更新命令を受信し、
上記更新鍵生成部は、所定の一方向性関数により上記マスター鍵更新命令に含まれる世代情報が示す世代まで現在のデバイス鍵を更新する
ことを特徴とする請求項14又は15に記載の端末。
【請求項17】
上記端末は、さらに、
上記データ受信部が受信したマスター鍵更新命令を他の端末へ通信装置を介して送信するマスター鍵機器間通信部
を備えることを特徴とする請求項14から16までのいずれかに記載の端末。
【請求項18】
上記更新鍵生成部は、管理するマスター鍵に有効期限が付されている場合、上記有効期限を過ぎると、現在のマスター鍵から次の世代のマスター鍵を生成する
ことを特徴とする請求項13から17までのいずれかに記載の端末。
【請求項19】
他の端末から所定の通信情報を受信する場合に、上記他の端末との通信に使用するマスター鍵の上記他の端末における現在の世代情報を上記所定の通信情報とともに通信装置を介して受信するマスター鍵世代情報通信部を備え、
上記更新鍵生成部は、所定の一方向性関数により上記マスター鍵世代情報通信部が受信した現在のマスター鍵の世代情報が示す世代まで現在のマスター鍵を更新する
ことを特徴とする請求項9から18までのいずれかに記載の端末。
【請求項20】
鍵管理サーバと複数の端末とを備える通信システムにおいて、
上記鍵管理サーバは、
上記複数の端末間の通信の暗号化処理に用いるマスター鍵を上記複数の端末が受信する際に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵へ更新させるデバイス鍵更新命令を処理装置により作成するデバイス鍵更新命令作成部と、
上記デバイス鍵更新命令作成部が作成したデバイス鍵更新命令を上記複数の端末の少なくともいずれかの端末を宛先として通信装置により送信するデータ送信部とを備え、
上記端末は、
上記データ送信部が送信したデバイス鍵更新命令を通信装置を介して受信するデータ受信部と、
上記データ受信部が受信したデバイス鍵更新命令に従い、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵を処理装置により生成する更新鍵生成部とを備えることを特徴とする通信システム。
【請求項21】
複数の端末と通信可能な鍵配信方法において、
処理装置が、上記複数の端末間の通信の暗号化処理に用いるマスター鍵を上記複数の端末が受信する際に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を作成するデバイス鍵更新命令作成ステップと、
通信装置が、上記デバイス鍵更新命令作成ステップで作成したデバイス鍵更新命令を上記複数の端末の少なくともいずれかの端末を宛先として送信するデータ送信ステップと
を備えることを特徴とする鍵配信方法。
【請求項22】
複数の端末と通信可能な鍵配信プログラムにおいて、
上記複数の端末間の通信の暗号化処理に用いるマスター鍵を上記複数の端末が受信する際に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を作成するデバイス鍵更新命令作成処理と、
上記デバイス鍵更新命令作成処理で作成したデバイス鍵更新命令を上記複数の端末の少なくともいずれかの端末を宛先として送信するデータ送信処理と
をコンピュータに実行させることを特徴とする鍵配信プログラム。
【請求項23】
通信装置が、他の端末との通信の暗号化処理に使用するマスター鍵を鍵管理サーバから受信する場合に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を受信するデータ受信ステップと、
処理装置が、上記データ受信ステップで受信したデバイス鍵更新命令に従い、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵を生成する更新鍵生成ステップと
を備えることを特徴とする鍵受信方法。
【請求項24】
他の端末との通信の暗号化処理に使用するマスター鍵を鍵管理サーバから受信する場合に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を受信するデータ受信処理と、
上記データ受信処理で受信したデバイス鍵更新命令に従い、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵を生成する更新鍵生成処理と
をコンピュータに実行させることを特徴とする鍵受信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate

【図53】
image rotate

【図54】
image rotate

【図55】
image rotate

【図56】
image rotate

【図57】
image rotate

【図58】
image rotate

【図59】
image rotate

【図60】
image rotate

【図61】
image rotate

【図62】
image rotate

【図63】
image rotate

【図64】
image rotate

【図65】
image rotate


【公開番号】特開2010−4420(P2010−4420A)
【公開日】平成22年1月7日(2010.1.7)
【国際特許分類】
【出願番号】特願2008−162769(P2008−162769)
【出願日】平成20年6月23日(2008.6.23)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】