JP2010004420A - 鍵管理サーバ、端末、通信システム、鍵配信方法、鍵配信プログラム、鍵受信方法及び鍵受信プログラム - Google Patents
鍵管理サーバ、端末、通信システム、鍵配信方法、鍵配信プログラム、鍵受信方法及び鍵受信プログラム Download PDFInfo
- Publication number
- JP2010004420A JP2010004420A JP2008162769A JP2008162769A JP2010004420A JP 2010004420 A JP2010004420 A JP 2010004420A JP 2008162769 A JP2008162769 A JP 2008162769A JP 2008162769 A JP2008162769 A JP 2008162769A JP 2010004420 A JP2010004420 A JP 2010004420A
- Authority
- JP
- Japan
- Prior art keywords
- key
- update
- master
- communication
- master key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
【解決手段】鍵管理サーバ101と各通信機器102とはデバイス鍵を用いて通信する。通信機器102と通信機器102とはマスター鍵を用いて通信する。鍵管理サーバ101は、マスター鍵を管理し、デバイス鍵を用いて暗号化して各通信機器102へ配信する。また、鍵管理サーバ101は任意のタイミングでデバイス鍵を更新する命令を各通信機器102へ配信する。命令の配信後、鍵管理サーバ101は所定の一方向関数により現在のデバイス鍵を更新して、更新前のデバイス鍵を削除する。各通信機器102は命令を受信すると、上記所定の一方向関数により現在のデバイス鍵を更新して、更新前のデバイス鍵を削除する。
【選択図】図1
Description
特許文献1には鍵配信システムについての記載がある。この鍵配信システムでは、利用者を木構造でグルーピングして、グループ内で共有するグループ鍵を、利用者の新規入会あるいは脱会要求に基づいて鍵管理サーバで生成する。そして、鍵管理サーバと各々の利用者の間で事前共有しておいた利用者の個人鍵で暗号化することによって、グループ鍵の更新・配布を行う。
まず、上記鍵配信システムでは、グループ鍵を更新しているものの、鍵管理サーバで生成した更新グループ鍵を配布する際に、鍵管理サーバと各々の利用者の間で事前共有しておいた利用者の個人鍵を繰り返し利用する。そのため、暗号化された通信内容と暗号化されて配布される更新グループ鍵を入手・記録しておき、利用者の個人鍵の解読に成功した場合、解読した個人鍵からグループ鍵が漏洩し、最終的に全ての通信内容が漏洩してしまうという課題がある。
また、上記鍵配信システムでは、グループ鍵の更新は、グループを構成する利用者の新規入会あるいは脱会要求が発生した時のみ行われる。そのため、グループ構成する利用者の新規入会あるいは脱会要求が発生しない場合、同一のグループ鍵を繰り返し利用することになり、グループ鍵の解読攻撃に晒されやすいという課題がある。
また、Diffie−Hellmanの鍵交換方式では通信相手の認証、即ち正当性の確認は行えないため、例えば、公開鍵暗号アルゴリズムと組み合わせて使用しなければならないという課題がある。
上記複数の端末間の通信の暗号化処理に用いるマスター鍵を上記複数の端末が受信する際に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を処理装置により作成するデバイス鍵更新命令作成部と、
上記デバイス鍵更新命令作成部が作成したデバイス鍵更新命令を上記複数の端末の少なくともいずれかの端末を宛先として通信装置により送信するデータ送信部と
を備えることを特徴とする。
図1は実施の形態1におけるシステム構成図である。
図1において、鍵管理サーバ101は通信機器102間の通信に用いる暗号鍵(マスター鍵)を作成して配布し、また通信機器102間で共有されたマスター鍵や後述するデバイス鍵の更新を指示するサーバである。通信機器102は他の通信機器102との間でマスター鍵を用いて暗号化処理を行い通信をする機器である。ネットワーク103は鍵管理サーバ101と通信機器102の間、および通信機器102同士の間の通信路として用いられるバックボーンネットワークである。
鍵管理サーバ101と通信機器102とは、通信機器102毎に異なる暗号鍵(デバイス鍵)を予め共有しており、鍵管理サーバ101と通信機器102の間で、様々な命令データを暗号化や改ざん防止を施した上で通信することが可能となっている。
実施の形態1では、鍵管理サーバ101と通信機器102とで共有したデバイス鍵を所定のタイミングに新たなデバイス鍵に更新することにより、鍵管理サーバ101から通信機器102へのマスター鍵等の配信の安全性を高める。
デバイス鍵の更新は、デバイス鍵一括更新命令600を用いて全てのデバイス鍵を一括更新する方法と、デバイス鍵個別更新命令700を用いて特定の通信機器102との間で共有するデバイス鍵のみを更新する方法との二通りがある。さらに、これらの命令(デバイス鍵一括更新命令600、デバイス鍵個別更新命令700)にデバイス鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にデバイス鍵の更新を行う。
鍵管理サーバ101は、全てのデバイス鍵の一括更新を指示する命令を作成し、各々の通信機器102が命令の正当性を検証するための電子署名集合を付与して、デバイス鍵一括更新命令600を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、デバイス鍵一括更新命令600を全ての通信機器102に向けて送信する。そして、鍵管理サーバ101は、全てのデバイス鍵を更新する。一方、通信機器102は、ネットワーク103を介して、デバイス鍵一括更新命令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に対して施された署名である。
鍵管理サーバ101は、特定の通信機器102のデバイス鍵の個別更新を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための電子署名を付与して、デバイス鍵個別更新命令700を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、デバイス鍵個別更新命令700を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するデバイス鍵を更新する。一方、通信機器102は、ネットワーク103を介して、デバイス鍵個別更新命令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に対して施された署名である。
図6は実施の形態1における鍵管理サーバ101の機能ブロック図である。鍵管理サーバ101は、入力インタフェース201、データ送信部202、更新鍵生成部204(デバイス更新鍵生成部、マスター更新鍵生成部)、署名値計算部206、鍵管理データベース207、デバイス鍵更新命令作成部208を備える。
入力インタフェース201は、鍵管理サーバ101の操作者による入力を入力装置を介して受け付ける。
データ送信部202は、鍵管理サーバ101で作成した各種命令データを、ネットワーク103を介して通信装置により通信機器102へ送信する。
更新鍵生成部204は、一方向性関数により現在の鍵から次の世代の鍵を処理装置により生成する。
署名値計算部206は、署名対象のデータに対して、指定されたデバイス鍵を用いて署名を処理装置により生成する。
鍵管理データベース207は、鍵管理サーバ101が管理する必要のある全ての鍵を記憶装置に記憶(管理)する。
デバイス鍵更新命令作成部208は、デバイス鍵一括更新命令600やデバイス鍵個別更新命令700を処理装置により作成する。
デバイス鍵管理テーブル301は、鍵管理サーバ101と各々の通信機器102との間で共有しているデバイス鍵を、通信機器102を特定するデバイスID、鍵の世代番号、鍵の有効期限との組合せで管理する。なお、鍵の世代番号とは、デバイス鍵が何回更新されたかを示す世代情報であり、例えば、初めに共有したデバイス鍵を1(第1世代)とし、その後デバイス鍵の更新がされる度に2(第2世代)、3(第3世代)、・・・とインクリメント(+1)される。
図8は実施の形態1における通信機器102の機能ブロック図である。通信機器102は、データ受信部401、更新鍵生成部403、署名値検証部405、管理データベース406、デバイス鍵更新命令解釈部407を備える。
データ受信部401は、ネットワーク103を介して鍵管理サーバ101から送られてくる各種命令データを通信装置により受信する。
更新鍵生成部403は、一方向性関数により現在の鍵から次の世代の鍵を処理装置により生成する。
署名値検証部405は、署名対象のデータおよび署名値に対して、指定された鍵を用いて処理装置により署名を検証する。
管理データベース406は、通信機器102が管理する必要のある全ての情報および鍵を記憶装置に記憶(管理)する。
デバイス鍵更新命令解釈部407は、データ受信部401で受信したデバイス鍵一括更新命令600やデバイス鍵個別更新命令700を解釈し、更新鍵生成部403にデバイス鍵を更新させる。
デバイスID管理テーブル501は、通信機器102毎に異なる様に、機器に割り当てられたデバイスIDの値を管理する。
デバイス鍵管理テーブル502は、鍵管理サーバ101との間で共有しているデバイス鍵を、鍵の世代番号、鍵の有効期限との組合せで管理する。
まず、デバイス鍵を一括更新する場合の動作について説明する。図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に格納する。
デバイス鍵個別更新命令作成処理(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に格納すると共に、更新前のデバイス鍵を削除する。
鍵管理サーバ101は、鍵管理データベース207のデバイス鍵管理テーブル301において、デバイス鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部204はデバイス鍵を更新し、鍵管理データベース207のデバイス鍵管理テーブル301に格納すると共に、更新前の該当デバイス鍵を削除する。
同様に、通信機器102は、管理データベース406のデバイス鍵管理テーブル502において、デバイス鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部403はデバイス鍵を更新し、管理データベース406のデバイス鍵管理テーブル502に格納すると共に、更新前のデバイス鍵を削除する。
実施の形態2では、鍵管理サーバ101からのマスター鍵配布命令800の配布による、通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の配布と、鍵管理サーバ101と通信機器102の間の暗号化通信に用いる共有鍵(デバイス鍵)の更新とについて説明する。
鍵管理サーバ101は、通信機器102同士が暗号化通信を行う際に用いる暗号鍵(マスター鍵)を生成し、鍵を利用する通信機器102のデバイス鍵で暗号化し、マスター鍵配布命令800として該当通信機器102へ送信する。マスター鍵配布命令800を受信した通信機器102は、マスター鍵配布命令800の正当性を検証する際、鍵管理サーバ101と共有するデバイス鍵に世代のずれが生じていることを検出した場合、必要に応じてデバイス鍵の更新処理を行う。さらに、これらの命令にマスター鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にマスター鍵の更新を行う。
鍵管理サーバ101は、特定の通信機器102同士の間で暗号化通信に用いるマスター鍵の配布を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための署名値を付与して、マスター鍵配布命令800を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵配布命令800を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するマスター鍵を記憶する。一方、通信機器102は、ネットワーク103を介して、マスター鍵配布命令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に有効期限を設定する場合に指定する日時であり、有効期限を設定しない場合は省略可能である。
図14は実施の形態2における鍵管理サーバ101の機能ブロック図である。実施の形態2における鍵管理サーバ101は、実施の形態1における鍵管理サーバ101に加え、初期鍵生成部203、暗号化部205、マスター鍵配布命令作成部209を備える。
初期鍵生成部203は、乱数生成機能を持ち、第1世代目の鍵を処理装置により生成する。
暗号化部205は、暗号化対象のデータに対して、指定されたデバイス鍵を用いて所定の情報を処理装置により暗号化する。
マスター鍵配布命令作成部209は、マスター鍵配布命令800を処理装置により作成する。
マスター鍵管理テーブル302は、鍵管理サーバ101において生成配布し、通信機器102同士の間の暗号化に用いるマスター鍵を、マスター鍵ID、鍵の世代番号、鍵を利用する通信機器102を示す利用者デバイスID、鍵の有効期限との組合せで管理する。
図16は実施の形態2における通信機器102の機能ブロック図である。実施の形態2における通信機器102は、実施の形態1における通信機器102に加え、復号部404、マスター鍵配布命令解釈部408を備える。
復号部404は、暗号化されたデータに対して、指定された鍵を用いて処理装置により復号する。
マスター鍵配布命令解釈部408は、データ受信部401で受信したマスター鍵配布命令800を処理装置により解釈し、第1世代目のマスター鍵を管理データベース406に記憶させる。
マスター鍵管理テーブル503は、他の通信機器102との間で共有しているマスター鍵を、マスター鍵ID、鍵の世代番号、この鍵を利用する全ての通信機器102を示す利用者デバイスIDの集合、鍵の有効期限との組合せで管理する。
マスター鍵生成処理(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に格納すると共に、更新前のデバイス鍵を削除する。
鍵管理サーバ101は、鍵管理データベース207のマスター鍵管理テーブル302において、マスター鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部204はマスター鍵を更新し、鍵管理データベース207のマスター鍵管理テーブル302に格納すると共に、更新前の該当マスター鍵を削除する。
同様に、通信機器102において、管理データベース406のマスター鍵管理テーブル503において、マスター鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部403はマスター鍵を更新し、管理データベース406のマスター鍵管理テーブル503に格納すると共に、更新前のマスター鍵を削除する。
実施の形態3では、鍵管理サーバ101からのマスター鍵一括更新命令900またはマスター鍵個別更新命令1000の配布による、通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の更新と、鍵管理サーバ101と通信機器102の間の暗号化通信に用いる共有鍵(デバイス鍵)の更新とについて説明する。
マスター鍵の更新は、マスター鍵一括更新命令900を用いて全てのマスター鍵を一括更新する方法と、マスター鍵個別更新命令1000を用いて特定のマスター鍵のみを更新する方法の二通りがある。マスター鍵一括更新命令900またはマスター鍵個別更新命令1000を受信した通信機器102は、これらの命令の正当性を検証する際、鍵管理サーバ101と共有するデバイス鍵に世代のずれが生じていることを検出した場合、必要に応じてデバイス鍵の更新処理を行う。さらに、これらの命令にマスター鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にマスター鍵の更新を行う。
鍵管理サーバ101は、全てのマスター鍵の一括更新を指示する命令を作成し、各々の通信機器102が命令の正当性を検証するための電子署名集合を付与して、マスター鍵一括更新命令900を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵一括更新命令900を全ての通信機器102に向けて送信する。そして、鍵管理サーバ101は、全てのマスター鍵を更新する。一方、通信機器102は、ネットワーク103を介して、マスター鍵一括更新命令900を受信し、命令に含まれる電子署名集合を検証して命令の正当性を確認し、マスター鍵の更新を行う。マスター鍵一括更新命令900の正当性を検証する際、鍵管理サーバ101と共有するデバイス鍵に世代のずれが生じていることを検出した場合、必要に応じてデバイス鍵の更新処理を行う。
図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に対して施された署名である。
鍵管理サーバ101は、特定のマスター鍵の個別更新を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための電子署名集合を付与して、マスター鍵個別更新命令1000を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵個別更新命令1000を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するマスター鍵を更新する。一方、通信機器102は、ネットワーク103を介して、マスター鍵個別更新命令1000を受信し、命令が自分宛であるかどうか確認し、命令に含まれる電子署名集合を検証して命令の正当性を確認し、マスター鍵の更新を行う。マスター鍵個別更新命令1000の正当性を検証する際、鍵管理サーバ101と共有するデバイス鍵に世代のずれが生じていることを検出した場合、必要に応じてデバイス鍵の更新処理を行う。
図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に対して施された署名である。
図23は実施の形態3における鍵管理サーバ101の機能ブロック図である。実施の形態3における鍵管理サーバ101は、実施の形態2における鍵管理サーバ101に加え、マスター鍵更新命令作成部210を備える。
マスター鍵更新命令作成部210は、マスター鍵一括更新命令900やマスター鍵個別更新命令1000を処理装置により作成する。
実施の形態3における鍵管理データベース207は、実施の形態2における鍵管理データベース207と同一である。
図24は実施の形態3における通信機器102の機能ブロック図である。実施の形態3における通信機器102は、実施の形態2における通信機器102に加え、マスター鍵更新命令解釈部409を備える。
マスター鍵更新命令解釈部409は、データ受信部401で受信したマスター鍵一括更新命令900やマスター鍵個別更新命令1000を処理装置により解釈し、更新鍵生成部403にマスター鍵を更新させる。
実施の形態3における管理データベース406は、実施の形態2における管理データベース406と同一である。
まず、マスター鍵を一括更新する場合の動作について説明する。図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に格納すると共に、更新前のデバイス鍵を削除する。
マスター鍵個別更新命令作成処理(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に格納すると共に、更新前のデバイス鍵を削除する。
鍵管理サーバ101は、鍵管理データベース207のマスター鍵管理テーブル302において、マスター鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部204はマスター鍵を更新し、鍵管理データベース207のマスター鍵管理テーブル302に格納すると共に、更新前の該当マスター鍵を削除する。
同様に、通信機器102において、管理データベース406のマスター鍵管理テーブル503において、マスター鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部403はマスター鍵を更新し、管理データベース406のマスター鍵管理テーブル503に格納すると共に、更新前のマスター鍵を削除する。
実施の形態4では、通信機器102同士の間の機器間通信データ1100のやり取りによる、通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の更新について説明する。
図27は図1に示したシステム構成において、機器間通信データ1100のやり取りによってマスター鍵を更新する際のデータの流れを示した図である。
通信機器102同士が通信を行う場合、第三者による盗聴や改ざんを防止するため、機器間通信データ1100に対して暗号化や電子署名の付与を行う。送信者側の通信機器102は、受信者側の通信機器102との間で共有するマスター鍵を用いて暗号化や電子署名の生成を行い、機器間通信データ1100を作成する。次に、送信者側の通信機器102は、ネットワーク103を介して、機器間通信データ1100を受信者側の通信機器102に向けて送信する。一方、受信者側の通信機器102は、ネットワーク103を介して、機器間通信データ1100を受信し、送信者側の通信機器102との間で共有するマスター鍵を用いて、復号や電子署名の検証を行う。この時、受信者側の通信機器102は、機器間通信データ1100に含まれるマスター鍵の世代情報から、送信者側の通信機器102との間でマスター鍵の世代が一致しているか否かを確認し、世代のずれが生じていた場合はマスター鍵の更新を行う。
図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のマスター鍵に設定された有効期限を示す日時であり、有効期限が設定されていない場合は省略可能である。
図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と同一である。
機器間通信データ作成処理(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に格納すると共に、更新前のマスター鍵を削除する。
実施の形態5では、通信機器102同士の間で鍵管理サーバ101から受信したデバイス鍵一括更新命令を転送することによる、鍵管理サーバ101と通信機器102の間の暗号化通信に用いる共有鍵(デバイス鍵)の更新について説明する。
図31は図1に示したシステム構成において、デバイス鍵一括更新命令600を転送することによってマスター鍵を更新する際のデータの流れを示した図である。
通信機器102は、鍵管理サーバ101から送信されたデバイス鍵一括更新命令600を受信した場合、これらの命令を一時的に通信機器102の内部に保管する。通信機器102は、他の通信機器102との間でデータのやり取りを行う際、あるいは任意のタイミングで、保管しておいたデバイス鍵一括更新命令600を他の通信機器102に転送する。
他の通信機器102から転送されたデバイス鍵一括更新命令600を受信した通信機器102は、鍵管理サーバ101から受信した場合と同様に、デバイス鍵一括更新命令600に含まれる電子署名集合を検証してデバイス鍵一括更新命令600の正当性を確認し、デバイス鍵の更新を行う。また、このデバイス鍵一括更新命令600を一時的に通信機器102の内部に保管し、さらに別の通信機器102に転送してもよい。
図32は実施の形態5における通信機器102の機能ブロック図である。実施の形態5における通信機器102は、実施の形態4における通信機器102に加え、デバイス鍵更新命令転送部421(デバイス鍵機器間通信部)を備える。
デバイス鍵更新命令転送部421は、受信したデバイス鍵一括更新命令600を一時的に通信機器102内部に保管して、他の通信機器102へ通信装置により転送する。
実施の形態5における管理データベース406は、実施の形態2から実施の形態4までにおける管理データベース406と同一である。
デバイス鍵一括更新命令保管処理(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内部に保管してもよい。
実施の形態6では、通信機器102同士の間で鍵管理サーバ101から受信したマスター鍵一括更新命令900を転送することによる、通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の更新について説明する。
図34は図1に示したシステム構成において、マスター鍵一括更新命令900を転送することによってマスター鍵を更新する際のデータの流れを示した図である。
通信機器102は、鍵管理サーバ101から送信されたマスター鍵一括更新命令900を受信した場合、これらの命令を一時的に通信機器102の内部に保管する。通信機器102は、他の通信機器102との間でデータのやり取りを行う際、あるいは任意のタイミングで、保管しておいたマスター鍵一括更新命令900を他の通信機器102に転送する。
他の通信機器102から転送されたマスター鍵一括更新命令900を受信した通信機器102は、鍵管理サーバ101から受信した場合と同様に、マスター鍵一括更新命令900に含まれる電子署名集合を検証してマスター鍵一括更新命令900の正当性を確認し、マスター鍵の更新を行う。また、このマスター鍵一括更新命令900を一時的に通信機器102の内部に保管し、さらに別の通信機器102に転送してもよい。
図35は実施の形態6における通信機器102の機能ブロック図である。実施の形態6における通信機器102は、実施の形態5における通信機器102に加え、マスター鍵更新命令転送部422(マスター鍵機器間通信部)を備える。
マスター鍵更新命令転送部422は、受信したマスター鍵一括更新命令900を一時的に通信機器102内部に保管して、他の通信機器102へ通信装置により転送する。
実施の形態6における管理データベース406は、実施の形態2から実施の形態5までにおける管理データベース406と同一である。
マスター鍵一括更新命令保管処理(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内部に保管してもよい。
以上の実施の形態1から実施の形態6まででは、鍵管理サーバ101から通信機器102へ送信する命令の盗聴防止や改ざん防止に共通鍵暗号アルゴリズムを用いていた。そして、鍵管理サーバ101と各々の通信機器102が共有している共通鍵であるデバイス鍵を用いた暗号化や署名値の計算を行っていた。実施の形態7では、鍵管理サーバ101から通信機器102へ送信する命令の暗号化や署名値の計算に公開鍵暗号アルゴリズムを用いた場合のデバイス鍵更新命令の配布による鍵管理サーバ101と通信機器102との間のデバイス鍵の更新について説明する。
デバイス鍵の更新は、実施の形態1と同様に、デバイス鍵一括更新命令1200を用いて全てのデバイス鍵を一括更新する方法と、デバイス鍵個別更新命令1300を用いて特定の通信機器102との間で共有するデバイス鍵のみを更新する方法との二通りがある。さらに、これらの命令(デバイス鍵一括更新命令1200、デバイス鍵個別更新命令1300)にデバイス鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にデバイス鍵の更新を行う。
鍵管理サーバ101は、全てのデバイス鍵の一括更新を指示する命令を作成し、各々の通信機器102が命令の正当性を検証するための電子署名をサーバ秘密鍵により付与して、デバイス鍵一括更新命令1200を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、デバイス鍵一括更新命令1200を全ての通信機器102に向けて送信する。そして、鍵管理サーバ101は、全てのデバイス公開鍵を更新する。一方、通信機器102は、ネットワーク103を介して、デバイス鍵一括更新命令1200を受信し、命令に含まれる電子署名を検証して命令の正当性を確認し、デバイス秘密鍵とデバイス公開鍵との更新を行う。
図38に基づき、鍵管理サーバ101が配布するデバイス鍵一括更新命令1200について、デバイス鍵一括更新命令600と異なる部分について説明する。
デバイス鍵一括更新命令1200は、電子署名1203を1つ備えている。つまり、デバイス鍵一括更新命令600は、通信機器102毎に異なる個別電子署名を備えていたが、デバイス鍵一括更新命令1200は、全ての通信機器102に共通の電子署名1203を1つ備えている。
電子署名1203は、全ての通信機器102に共通であるから、デバイスIDは備えていない。また、電子署名1203の署名値1222は、鍵管理サーバ101の秘密鍵であるサーバ秘密鍵を用いて施された署名である。
鍵管理サーバ101は、特定の通信機器102のデバイス鍵の個別更新を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための電子署名をサーバ秘密鍵により付与して、デバイス鍵個別更新命令1300を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、デバイス鍵個別更新命令1300を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するデバイス公開鍵を更新する。一方、通信機器102は、ネットワーク103を介して、デバイス鍵個別更新命令1300を受信し、命令が自分宛であるかどうか確認し、命令に含まれる電子署名を検証して命令の正当性を確認し、デバイス秘密鍵とデバイス公開鍵との更新を行う。
図40に基づき、鍵管理サーバ101が配布するデバイス鍵個別更新命令1300について、デバイス鍵個別更新命令700と異なる部分について説明する。
デバイス鍵個別更新命令1300の署名値1322は、鍵管理サーバ101の秘密鍵であるサーバ秘密鍵を用いて施された署名である。
図41は実施の形態7における鍵管理サーバ101の機能ブロック図である。鍵管理サーバ101は、入力インタフェース201、データ送信部202、更新鍵生成部2204、電子署名生成部2206、鍵管理データベース2207、デバイス鍵更新命令作成部2208を備える。入力インタフェース201、データ送信部202は、実施の形態1における鍵管理サーバ101の機能と同一である。
更新鍵生成部2204は、所定の方法により現在のデバイス公開鍵から次の世代のデバイス公開鍵を処理装置により生成する。現在のデバイス公開鍵から次の世代のデバイス公開鍵を生成する方法については後述する。
電子署名生成部2206は、署名対象のデータに対して、サーバ秘密鍵を用いて署名を生成する。
鍵管理データベース2207は、実施の形態7における鍵管理サーバ101が管理する必要のある全ての鍵を記憶装置に記憶(管理)する。
デバイス鍵更新命令作成部2208は、デバイス鍵一括更新命令1200やデバイス鍵個別更新命令1300を処理装置により作成する。
サーバ公開鍵ペア管理テーブル3301は、鍵管理サーバ101の公開鍵ペア、即ちサーバ秘密鍵とサーバ公開鍵とを、鍵の世代番号、鍵の有効期限との組合せで管理する。
デバイス公開鍵管理テーブル3302は、各々の通信機器102のデバイス公開鍵を、通信機器102を特定するデバイスID、鍵の世代番号、鍵の有効期限との組合せで管理する。
デバイスシード管理テーブル3303は、デバイス公開鍵を生成する場合に、公開鍵暗号方式の鍵を生成する関数への入力(シード)となるデバイス鍵生成用シードを管理する。デバイスシード管理テーブル3303で管理するデバイス鍵生成用シードは、各々の通信機器102と予め共有している。
サーバシード管理テーブル3304は、サーバ秘密鍵とサーバ公開鍵とを生成する場合に、公開鍵暗号方式の鍵を生成する関数への入力(シード)となるサーバ鍵生成用シードを管理する。サーバシード管理テーブル3304で管理するサーバ鍵生成用シードは、各々の通信機器102と予め共有している。
図43は実施の形態7における通信機器102の機能ブロック図である。通信機器102は、データ受信部401、更新鍵生成部4403、電子署名検証部4405、管理データベース4406、デバイス鍵更新命令解釈部4407を備える。データ受信部401は、実施の形態1における通信機器102の機能と同一である。
更新鍵生成部4403は、所定の方法により現在のデバイス秘密鍵から次の世代のデバイス秘密鍵を処理装置により生成するとともに、現在のデバイス公開鍵から次の世代のデバイス公開鍵を処理装置により生成する。現在のデバイス秘密鍵・デバイス公開鍵から次の世代のデバイス秘密鍵・デバイス公開鍵を生成する方法については後述する。
電子署名検証部4405は、署名対象のデータおよび署名値に対して、サーバ公開鍵を用いて処理装置により署名を検証する。
管理データベース4406は、通信機器102が管理する必要のある全ての情報および鍵を記憶装置に記憶(管理)する。
デバイス鍵更新命令解釈部4407はデータ受信部401で受信したデバイス鍵一括更新命令1200やデバイス鍵個別更新命令1300を解釈し、更新鍵生成部403にデバイス秘密鍵とデバイス公開鍵とを更新させる。
サーバ公開鍵管理テーブル5501は、サーバの公開鍵を、鍵の世代番号、鍵の有効期限との組合せで管理する。
デバイス公開鍵ペア管理テーブル5502は、デバイス公開鍵ペア、即ちデバイス公開鍵とデバイス秘密鍵を、鍵の世代番号、鍵の有効期限との組合せで管理する。
デバイスシード管理テーブル5303は、デバイス秘密鍵とデバイス公開鍵とを生成する場合に、公開鍵暗号方式の鍵を生成する関数への入力(シード)となるデバイス鍵生成用シードを管理する。デバイスシード管理テーブル5303で管理するデバイス鍵生成用シードは、鍵管理サーバ101と予め共有している。
まず、デバイス鍵を一括更新する場合の動作について説明する。図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に生成したデバイス秘密鍵とデバイス公開鍵とを格納すると共に、更新前のデバイス秘密鍵とデバイス公開鍵とを削除する。
デバイス鍵個別更新命令作成処理(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に生成したデバイス秘密鍵とデバイス公開鍵とを格納すると共に、更新前のデバイス秘密鍵とデバイス公開鍵とを削除する。
これを実現するためには、デバイス鍵の更新命令を受信した通信機器102が生成したデバイス公開鍵を鍵管理サーバ101へ送信する必要がある。つまり、鍵管理サーバ101は自身でデバイス公開鍵を生成するのではなく、通信機器102が生成したデバイス公開鍵を取得する。
すなわち、上記サーバ側デバイス鍵更新処理(S903)(S1003)では、鍵管理サーバ101はデバイス公開鍵の更新を行わない。代わりに、端末側デバイス鍵更新処理(S906)(S1007)で新たなデバイス公開鍵を生成した後、通信機器102から鍵管理サーバ101へデバイス公開鍵を送信する。この際、送信するデバイス公開鍵には、更新前のデバイス秘密鍵で署名を付すことにより改ざん検出可能としてもよい。なお、デバイス公開鍵は公開情報であるため、暗号化する必要はない。また、この場合には、通信機器102から鍵管理サーバ101へ向けて通信できることが必要になる。
また、サーバ秘密鍵とサーバ公開鍵の更新に関しては、サーバ秘密鍵を所定の公開鍵暗号方式の鍵を生成する関数への入力として用いて鍵管理サーバ101でサーバ秘密鍵とサーバ公開鍵とを更新した後、更新後のサーバ公開鍵を各通信機器102へ送信する。
鍵管理サーバ101は、鍵管理データベース2207のデバイス公開鍵管理テーブル3302において、デバイス公開鍵を有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部2204はデバイス公開鍵を更新し、鍵管理データベース2207のデバイス公開鍵管理テーブル3302に格納すると共に、更新前の該当デバイス公開鍵を削除する。また、鍵管理サーバ101は、鍵管理データベース2207のサーバ公開鍵ペア管理テーブル3301において、サーバ秘密鍵とサーバ公開鍵とを有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部2204はサーバ秘密鍵とサーバ公開鍵とを更新し、鍵管理データベース2207のサーバ公開鍵ペア管理テーブル3301に格納すると共に、更新前のサーバ秘密鍵とサーバ公開鍵とを削除する。さらに、鍵管理サーバ101は、更新したデバイス公開鍵を全ての通信機器102に配布する。
同様に、通信機器102は、管理データベース4406のデバイス公開鍵ペア管理テーブル5502において、デバイス秘密鍵とデバイス公開鍵とを有効期限と共に管理している。有効期限を経過した場合は、更新鍵生成部4403はデバイス秘密鍵とデバイス公開鍵とを更新し、管理データベース4406のデバイス公開鍵ペア管理テーブル5502に格納すると共に、更新前のデバイス秘密鍵とデバイス公開鍵とを削除する。
実施の形態8では、鍵管理サーバ101から通信機器102へ送信する命令の暗号化や署名値の計算に公開鍵暗号アルゴリズムを用いた場合のマスター鍵配布命令1400の配布による通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の配布及びデバイス秘密鍵、デバイス公開鍵の更新について説明する。
鍵管理サーバ101は、通信機器102同士が暗号化通信を行う際に用いる暗号鍵(マスター鍵)を生成し、鍵を利用する通信機器102のデバイス公開鍵で暗号化し、マスター鍵配布命令1400として該当通信機器102へ送信する。マスター鍵配布命令1400を受信した通信機器102は、マスター鍵配布命令1400の正当性を検証する際、デバイス秘密鍵、デバイス公開鍵に世代のずれが生じていることを検出した場合、必要に応じてデバイス秘密鍵、デバイス公開鍵の更新処理を行う。さらに、これらの命令にマスター鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にマスター鍵の更新を行う。
鍵管理サーバ101は、特定の通信機器102同士の間で暗号化通信に用いるマスター鍵の配布を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための電子署名を付与して、マスター鍵配布命令1400を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵配布命令1400を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するマスター鍵を記憶する。一方、通信機器102は、ネットワーク103を介して、マスター鍵配布命令1400を受信し、命令が自分宛であるかどうか確認し、命令に含まれる電子署名を検証して命令の正当性を確認し、マスター鍵の取得を行う。
図48に基づき、鍵管理サーバ101が配布するマスター鍵配布命令1400について、マスター鍵配布命令800と異なる部分について説明する。
マスター鍵配布命令1400は、デバイス鍵世代番号1404とサーバ鍵世代番号1406とを備えている。デバイス鍵世代番号1404は、マスター鍵配布命令情報1403を暗号化する際に用いたデバイス公開鍵の世代番号である。サーバ鍵世代番号1406は、署名値を計算する際に用いたサーバ秘密鍵の世代番号である。
図49は実施の形態8における鍵管理サーバ101の機能ブロック図である。実施の形態8における鍵管理サーバ101は、実施の形態7における鍵管理サーバ101に加え、初期鍵生成部203、暗号化部2205、マスター鍵配布命令作成部2209を備える。初期鍵生成部203は、実施の形態2の機能と同様である。
暗号化部2205は、暗号化対象のデータに対して、指定されたデバイス公開鍵を用いて内容を処理装置により暗号化する。
マスター鍵配布命令作成部2209は、マスター鍵配布命令1400を処理装置により作成する。
実施の形態8におけるマスター鍵管理テーブル302は、実施の形態2における鍵管理サーバ101の鍵管理データベース207のマスター鍵管理テーブル302と同一である。
図51は実施の形態8における通信機器102の機能ブロック図である。実施の形態8における通信機器102は、実施の形態7における通信機器102に加え、復号部4404、マスター鍵配布命令解釈部4408を備える。
復号部4404は、暗号化されたデータに対して、指定された鍵を用いて処理装置により復号する。
マスター鍵配布命令解釈部4408は、データ受信部401が受信したマスター鍵配布命令800を解釈し、第1世代目のマスター鍵を管理データベース4406に格納させる。
実施の形態8におけるマスター鍵管理テーブル503は、実施の形態2における通信機器102の管理データベース406のマスター鍵管理テーブル503と同一である。
マスター鍵生成処理(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に格納すると共に、更新前のデバイス秘密鍵とデバイス公開鍵とを削除する。
実施の形態9では、鍵管理サーバ101から通信機器102へ送信する命令の暗号化や署名値の計算に公開鍵暗号アルゴリズムを用いた場合のマスター鍵一括更新命令1500またはマスター鍵個別更新命令1600の配布による通信機器102同士の間の暗号化通信に用いる暗号鍵(マスター鍵)の更新について説明する。
マスター鍵の更新は、マスター鍵一括更新命令1500を用いて全てのマスター鍵を一括更新する方法と、マスター鍵個別更新命令1600を用いて特定のマスター鍵のみを更新する方法の二通りがある。さらに、これらの命令にマスター鍵の有効期限が記載されていた場合、鍵管理サーバ101と通信機器102において、有効期限に従って自動的にマスター鍵の更新を行う。
鍵管理サーバ101は、全てのマスター鍵の一括更新を指示する命令を作成し、各々の通信機器102が命令の正当性を検証するための電子署名を付与して、マスター鍵一括更新命令1500を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵一括更新命令1500を全ての通信機器102に向けて送信する。そして、鍵管理サーバ101は、全てのマスター鍵を更新する。一方、通信機器102は、ネットワーク103を介して、マスター鍵一括更新命令1500を受信し、命令に含まれる電子署名を検証して命令の正当性を確認し、マスター鍵の更新を行う。
図55に基づき、鍵管理サーバ101が配布するマスター鍵一括更新命令1500について、マスター鍵一括更新命令900と異なる部分について説明する。
マスター鍵一括更新命令1500は、電子署名1503を1つ備えている。つまり、マスター鍵一括更新命令900は、通信機器102毎に異なる個別電子署名904を備えていたが、マスター鍵一括更新命令1500は、全ての通信機器102に共通の電子署名1503を1つ備えている。
電子署名1503は、全ての通信機器102に共通であるから、デバイスIDは備えていない。また、電子署名1503の署名値1522は、鍵管理サーバ101の秘密鍵であるサーバ秘密鍵を用いて施された署名である。
鍵管理サーバ101は、特定のマスター鍵の個別更新を指示する命令を作成し、該当する通信機器102が命令の正当性を検証するための電子署名を付与して、マスター鍵個別更新命令1600を作成する。次に、鍵管理サーバ101は、ネットワーク103を介して、マスター鍵個別更新命令1600を該当する通信機器102に向けて送信する。そして、鍵管理サーバ101は、該当するマスター鍵を更新する。一方、通信機器102は、ネットワーク103を介して、マスター鍵個別更新命令1600を受信し、命令が自分宛であるかどうか確認し、命令に含まれる電子署名を検証して命令の正当性を確認し、マスター鍵の更新を行う。
図57に基づき、鍵管理サーバ101が配布するマスター鍵個別更新命令1600について、マスター鍵個別更新命令1000と異なる部分について説明する。
マスター鍵個別更新命令1600は、電子署名1603を1つ備えている。つまり、マスター鍵個別更新命令1000は、通信機器102毎に異なる個別電子署名1004を備えていたが、マスター鍵個別更新命令1600は、全ての通信機器102に共通の電子署名1603を1つ備えている。
電子署名1603は、全ての通信機器102に共通であるから、デバイスIDは備えていない。また、電子署名1603の署名値1622は、鍵管理サーバ101の秘密鍵であるサーバ秘密鍵を用いて施された署名である。
図58は実施の形態9における鍵管理サーバ101の機能ブロック図である。実施の形態9における鍵管理サーバ101は、実施の形態8における鍵管理サーバ101に加え、マスター鍵更新命令作成部2210を備える。
マスター鍵更新命令作成部2210は、マスター鍵一括更新命令1500やマスター鍵個別更新命令1600を処理装置により作成する。
実施の形態9における鍵管理データベース2207は、実施の形態8における鍵管理データベース2207と同一である。
図59は実施の形態9における通信機器102の機能ブロック図である。実施の形態9における通信機器102は、実施の形態8における通信機器102に加え、マスター鍵更新命令解釈部4409を備える。
マスター鍵更新命令解釈部4409は、データ受信部401が受信したマスター鍵一括更新命令1500やマスター鍵個別更新命令1600を解釈し、マスター鍵を処理装置により更新する。
実施の形態9における管理データベース4406は、実施の形態8における管理データベース4406と同一である。
まず、マスター鍵を一括更新する場合の動作について説明する。図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に格納すると共に、更新前のマスター鍵を削除する。
マスター鍵個別更新命令作成処理(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に格納すると共に、更新前のマスター鍵を削除する。
実施の形態10では、鍵管理サーバ101から通信機器102へ送信する命令の暗号化や署名値の計算に公開鍵暗号アルゴリズムを用いた場合の通信機器102同士の間の機器間通信データ1100のやり取りによるマスター鍵の更新と、デバイス鍵一括更新命令1200の転送によるデバイス鍵(デバイス秘密鍵、デバイス公開鍵)の更新と、マスター鍵一括更新命令1500の転送によるマスター鍵の更新とについて説明する。
同様に、マスター鍵一括更新命令1500の転送によるマスター鍵の更新は、実施の形態6で説明した(S801)の「実施の形態3で説明した手順((S405)から(S407)まで)」を、「実施の形態9で説明した手順((S1205)から(S1206)まで)」と置き換え、(S804)の「((S405)から(S407)まで)」を「((S1205)から(S1206)まで)」と置き換えれば、実施の形態6で説明した方法を適用できる。なお、実施の形態6では、マスター鍵一括更新命令900の転送によってデバイス鍵を更新する場合が存在したが、実施の形態10では、マスター鍵一括更新命令1500の転送によってデバイス鍵(デバイス秘密鍵、デバイス公開鍵)を更新することはない。
以上の実施の形態では、図1に示すように、鍵管理サーバ101と通信機器102との間をネットワーク103で接続して鍵管理サーバ101から通信機器102へネットワーク103を介してデータを配信すると説明した。実施の形態11では、鍵管理サーバ101から通信機器102へのデータの配信方法について説明する。
図62において、鍵管理サーバ101は、配信するデータ(デバイス鍵一括更新命令600等)を地上局104を介して、通信衛星105から通信機器102へ配信する。地上局104は鍵管理サーバ101から各通信機器102に向けて発信された各種データを、通信衛星105を通して送信するための中継設備である。通信衛星105は地上局104から中継された各種データを、各通信機器102へ向けて送信する衛星設備である。また、ネットワーク103は、通信機器102同士の通信の通信路として用いられるバックボーンネットワークである。
つまり、鍵管理サーバ101は、通信衛星105から一方向通信により各種データを各通信機器102へ同報通信する。つまり、鍵管理サーバ101は、通信衛星105を介して各種データを各通信機器102へ一方的に送信する。
図63において、鍵管理サーバ101は、配信するデータ(デバイス鍵一括更新命令600等)を地上波放送設備106から通信機器102へ配信する。地上波放送設備106は鍵管理サーバ101から送信された各種データを、各通信機器102へ向けて送信する放送設備である。また、ネットワーク103は、通信機器102同士の通信の通信路として用いられるバックボーンネットワークである。
つまり、鍵管理サーバ101は、地上波放送設備106から一方向通信により各種データを各通信機器102へ同報通信する。つまり、鍵管理サーバ101は、各種データを各通信機器102へ一方的に送信する。
図64において、鍵管理サーバ101は、配信するデータ(デバイス鍵一括更新命令600等)をインターネット放送設備107からインターネット網108を介して通信機器102へ配信する。インターネット放送設備107は鍵管理サーバ101から送信された各種データを、各通信機器102へ向けてインターネット網108を介して送信する放送設備である。また、インターネット網108は、通信機器102同士の通信及び通信機器102とインターネット放送設備107との間の通信の通信路として用いられるバックボーンネットワークである。
つまり、鍵管理サーバ101は、インターネット放送設備107から双方向通信により各種データを各通信機器102へ同報通信する。
図65において、鍵管理サーバ101、通信機器102は、プログラムを実行するCPU1911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU1911は、バス1912を介してROM1913、RAM1914、LCD1901(Liquid Crystal Display)、キーボード1902(K/B)、通信ボード1915、磁気ディスク装置1920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置1920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ファイル群1924には、上記の説明において「デバイス鍵一括更新命令600」、「デバイス鍵個別更新命令700」、「マスター鍵配布命令800」、「マスター鍵一括更新命令900」、「マスター鍵個別更新命令1000」、「機器間通信データ1100」、「デバイス鍵一括更新命令1200」、「デバイス鍵個別更新命令1300」、「マスター鍵配布命令1400」、「マスター鍵一括更新命令1500」、「マスター鍵個別更新命令1600」等の情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU1911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU1911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU1911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM1914のメモリ、その他光ディスク等の記録媒体に記録される。また、データや信号は、バス1912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
Claims (24)
- 複数の端末と通信可能な鍵管理サーバにおいて、
上記複数の端末間の通信の暗号化処理に用いるマスター鍵を上記複数の端末が受信する際に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を処理装置により作成するデバイス鍵更新命令作成部と、
上記デバイス鍵更新命令作成部が作成したデバイス鍵更新命令を上記複数の端末の少なくともいずれかの端末を宛先として通信装置により送信するデータ送信部と
を備えることを特徴とする鍵管理サーバ。 - 上記鍵管理サーバは、さらに、
上記データ送信部がデバイス鍵更新命令を送信した場合、上記所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵を処理装置により生成するとともに、次の世代のデバイス鍵を生成した場合、上記現在のデバイス鍵を削除するデバイス更新鍵生成部
を備えることを特徴とする請求項1に記載の鍵管理サーバ。 - 上記デバイス更新鍵生成部は、管理するデバイス鍵に有効期限が付されている場合、上記有効期限を過ぎると、現在のデバイス鍵から次の世代のデバイス鍵を生成する
ことを特徴とする請求項2に記載の鍵管理サーバ。 - 上記鍵管理サーバは、さらに、
上記複数の端末のいずれかの端末へマスター鍵を配信するためのマスター鍵配信命令であって、管理するデバイス鍵の現在の世代情報を含むマスター鍵配布命令を処理装置により作成するマスター鍵配布命令作成部を備え、
上記データ送信部は、上記マスター鍵配布命令作成部が作成したマスター鍵配布命令を上記マスター鍵を使用する端末を宛先として通信装置により送信する
ことを特徴とする請求項1から3までのいずれかに記載の鍵管理サーバ。 - 上記鍵管理サーバは、さらに、
所定の一方向性関数により現在のマスター鍵から次の世代のマスター鍵への更新を指示するマスター鍵更新命令を処理装置により作成するマスター鍵更新命令作成部と、
上記マスター鍵更新命令作成部が作成したマスター鍵更新命令を上記マスター鍵を使用する端末を宛先として通信装置により送信するデータ送信部と
を備えることを特徴とする請求項1から4までのいずれかに記載の鍵管理サーバ。 - 上記マスター鍵更新命令作成部は、管理するデバイス鍵の現在の世代情報をマスター鍵更新命令に含めて作成する
ことを特徴とする請求項5に記載の鍵管理サーバ。 - 上記鍵管理サーバは、さらに、
上記データ送信部がマスター鍵更新命令を送信した場合、所定の一方向性関数により現在のマスター鍵から次の世代のマスター鍵を処理装置により生成するとともに、次の世代のマスター鍵を生成した場合、上記現在のマスター鍵を削除するマスター更新鍵生成部
を備えることを特徴とする請求項5又は6に記載の鍵管理サーバ。 - 上記マスター更新鍵生成部は、管理するマスター鍵に有効期限が付されている場合、上記有効期限を過ぎると、現在のマスター鍵から次の世代のマスター鍵を生成する
ことを特徴とする請求項5から7までのいずれかに記載の鍵管理サーバ。 - 他の端末との通信の暗号化処理に使用するマスター鍵を鍵管理サーバから受信する場合に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を通信装置を介して受信するデータ受信部と、
上記データ受信部が受信したデバイス鍵更新命令に従い、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵を処理装置により生成する更新鍵生成部と
を備えることを特徴とする端末。 - 上記更新鍵生成部は、次の世代のデバイス鍵を生成した場合、上記現在のデバイス鍵を削除する
ことを特徴とする請求項9に記載の端末。 - 上記更新鍵生成部は、管理するデバイス鍵に有効期限が付されている場合、上記有効期限を過ぎると、現在のデバイス鍵から次の世代のデバイス鍵を生成する
ことを特徴とする請求項9又は10に記載の端末。 - 上記端末は、さらに、
上記データ受信部が受信したデバイス鍵更新命令を他の端末へ通信装置を介して送信するデバイス鍵機器間通信部
を備えることを特徴とする請求項9から11までのいずれかに記載の端末。 - 上記データ受信部は、マスター鍵を配信するためのマスター鍵配布命令であって、上記鍵管理サーバが管理する現在のデバイス鍵の世代情報を含むマスター鍵配布命令を受信し、
上記更新鍵生成部は、所定の一方向性関数により上記マスター鍵配布命令に含まれる世代情報が示す世代まで現在のデバイス鍵を更新する
ことを特徴とする請求項9から12までのいずれかに記載の端末。 - 上記データ受信部は、鍵管理サーバが送信したマスター鍵の更新を指示するマスター鍵更新命令を受信し、
上記更新鍵生成部は、上記マスター鍵更新命令に従い、所定の一方向性関数により現在のマスター鍵から次の世代のマスター鍵を生成する
ことを特徴とする請求項9から13までのいずれかに記載の端末。 - 上記更新鍵生成部は、次の世代のマスター鍵を生成した場合、上記現在のマスター鍵を削除する
ことを特徴とする請求項14に記載の端末。 - 上記データ受信部は、上記鍵管理サーバが管理する現在のデバイス鍵の世代情報を含むマスター鍵更新命令を受信し、
上記更新鍵生成部は、所定の一方向性関数により上記マスター鍵更新命令に含まれる世代情報が示す世代まで現在のデバイス鍵を更新する
ことを特徴とする請求項14又は15に記載の端末。 - 上記端末は、さらに、
上記データ受信部が受信したマスター鍵更新命令を他の端末へ通信装置を介して送信するマスター鍵機器間通信部
を備えることを特徴とする請求項14から16までのいずれかに記載の端末。 - 上記更新鍵生成部は、管理するマスター鍵に有効期限が付されている場合、上記有効期限を過ぎると、現在のマスター鍵から次の世代のマスター鍵を生成する
ことを特徴とする請求項13から17までのいずれかに記載の端末。 - 他の端末から所定の通信情報を受信する場合に、上記他の端末との通信に使用するマスター鍵の上記他の端末における現在の世代情報を上記所定の通信情報とともに通信装置を介して受信するマスター鍵世代情報通信部を備え、
上記更新鍵生成部は、所定の一方向性関数により上記マスター鍵世代情報通信部が受信した現在のマスター鍵の世代情報が示す世代まで現在のマスター鍵を更新する
ことを特徴とする請求項9から18までのいずれかに記載の端末。 - 鍵管理サーバと複数の端末とを備える通信システムにおいて、
上記鍵管理サーバは、
上記複数の端末間の通信の暗号化処理に用いるマスター鍵を上記複数の端末が受信する際に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵へ更新させるデバイス鍵更新命令を処理装置により作成するデバイス鍵更新命令作成部と、
上記デバイス鍵更新命令作成部が作成したデバイス鍵更新命令を上記複数の端末の少なくともいずれかの端末を宛先として通信装置により送信するデータ送信部とを備え、
上記端末は、
上記データ送信部が送信したデバイス鍵更新命令を通信装置を介して受信するデータ受信部と、
上記データ受信部が受信したデバイス鍵更新命令に従い、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵を処理装置により生成する更新鍵生成部とを備えることを特徴とする通信システム。 - 複数の端末と通信可能な鍵配信方法において、
処理装置が、上記複数の端末間の通信の暗号化処理に用いるマスター鍵を上記複数の端末が受信する際に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を作成するデバイス鍵更新命令作成ステップと、
通信装置が、上記デバイス鍵更新命令作成ステップで作成したデバイス鍵更新命令を上記複数の端末の少なくともいずれかの端末を宛先として送信するデータ送信ステップと
を備えることを特徴とする鍵配信方法。 - 複数の端末と通信可能な鍵配信プログラムにおいて、
上記複数の端末間の通信の暗号化処理に用いるマスター鍵を上記複数の端末が受信する際に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を作成するデバイス鍵更新命令作成処理と、
上記デバイス鍵更新命令作成処理で作成したデバイス鍵更新命令を上記複数の端末の少なくともいずれかの端末を宛先として送信するデータ送信処理と
をコンピュータに実行させることを特徴とする鍵配信プログラム。 - 通信装置が、他の端末との通信の暗号化処理に使用するマスター鍵を鍵管理サーバから受信する場合に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を受信するデータ受信ステップと、
処理装置が、上記データ受信ステップで受信したデバイス鍵更新命令に従い、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵を生成する更新鍵生成ステップと
を備えることを特徴とする鍵受信方法。 - 他の端末との通信の暗号化処理に使用するマスター鍵を鍵管理サーバから受信する場合に使用するデバイス鍵の更新を指示するデバイス鍵更新命令であって、現在のデバイス鍵から次の世代のデバイス鍵への更新を指示するデバイス鍵更新命令を受信するデータ受信処理と、
上記データ受信処理で受信したデバイス鍵更新命令に従い、所定の一方向性関数により現在のデバイス鍵から次の世代のデバイス鍵を生成する更新鍵生成処理と
をコンピュータに実行させることを特徴とする鍵受信プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008162769A JP5288901B2 (ja) | 2008-06-23 | 2008-06-23 | 鍵管理サーバ、端末、通信システム、鍵配信方法、鍵配信プログラム、鍵受信方法及び鍵受信プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008162769A JP5288901B2 (ja) | 2008-06-23 | 2008-06-23 | 鍵管理サーバ、端末、通信システム、鍵配信方法、鍵配信プログラム、鍵受信方法及び鍵受信プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010004420A true JP2010004420A (ja) | 2010-01-07 |
JP5288901B2 JP5288901B2 (ja) | 2013-09-11 |
Family
ID=41585716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008162769A Expired - Fee Related JP5288901B2 (ja) | 2008-06-23 | 2008-06-23 | 鍵管理サーバ、端末、通信システム、鍵配信方法、鍵配信プログラム、鍵受信方法及び鍵受信プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5288901B2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013175633A1 (ja) * | 2012-05-25 | 2013-11-28 | トヨタ自動車 株式会社 | 通信装置、通信システム及び通信方法 |
JP2014103590A (ja) * | 2012-11-21 | 2014-06-05 | Toshiba Corp | 通信装置、通信方法、システム及びプログラム |
JP2016537888A (ja) * | 2013-11-15 | 2016-12-01 | ランディス・ギア イノベーションズ インコーポレイテッドLandis+Gyr Innovations, Inc. | ネットワークにわたって暗号鍵を更新するためのシステムおよび方法 |
EP3104548A1 (en) * | 2015-06-08 | 2016-12-14 | Nxp B.V. | Method and system for facilitating secure communication |
US10193691B2 (en) | 2016-09-09 | 2019-01-29 | Kabushiki Kaisha Toshiba | Information processing device, server device, information processing system, moving object, and information processing method |
US10554640B2 (en) | 2016-06-13 | 2020-02-04 | Nxp B.V. | Method and system for facilitating secure communication |
CN112543100A (zh) * | 2020-11-27 | 2021-03-23 | 中国银联股份有限公司 | 一种动态密钥生成方法和系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000196616A (ja) * | 1998-12-28 | 2000-07-14 | Toshiba Corp | 情報通信ネットワ―クを用いた暗号化方式 |
JP2001148731A (ja) * | 1999-09-07 | 2001-05-29 | Nippon Telegr & Teleph Corp <Ntt> | 位置情報サービスシステム、並びに、位置情報サービスシステムにおける位置情報利用方法、発信端末、鍵更新センタ、及び、着信端末 |
JP2001148735A (ja) * | 1999-09-07 | 2001-05-29 | Nippon Telegr & Teleph Corp <Ntt> | 位置情報サービスシステム、並びに、位置情報サービスシステムにおける位置情報利用方法、発信端末、及び、デコーダモジュール |
JP2006245663A (ja) * | 2005-02-28 | 2006-09-14 | Matsushita Electric Ind Co Ltd | 暗号化マルチキャスト通信鍵管理システム、暗号化マルチキャスト通信鍵管理方法、送信端末、受信端末、およびプログラム |
JP2007508778A (ja) * | 2003-10-14 | 2007-04-05 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 暗号用鍵の世代の効率的な管理 |
JP2007174083A (ja) * | 2005-12-20 | 2007-07-05 | Oki Electric Ind Co Ltd | マルチホップネットワークにおける鍵更新システム,鍵管理装置,通信端末および鍵情報構築方法 |
JP2007181213A (ja) * | 2002-03-20 | 2007-07-12 | Matsushita Electric Ind Co Ltd | コンテンツを再生する再生装置 |
JP2007201522A (ja) * | 2005-12-26 | 2007-08-09 | Nec Corp | 暗号通信システム、鍵共有方法、鍵提供装置、および情報処理装置 |
JP2008135816A (ja) * | 2006-11-27 | 2008-06-12 | Mitsubishi Electric Corp | 鍵管理サーバ、端末、鍵共有システム、鍵配信プログラム、鍵受信プログラム、鍵配信方法及び鍵受信方法 |
JP2008187399A (ja) * | 2007-01-29 | 2008-08-14 | Kddi Corp | 処理負荷分散方法およびプログラム |
-
2008
- 2008-06-23 JP JP2008162769A patent/JP5288901B2/ja not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000196616A (ja) * | 1998-12-28 | 2000-07-14 | Toshiba Corp | 情報通信ネットワ―クを用いた暗号化方式 |
JP2001148731A (ja) * | 1999-09-07 | 2001-05-29 | Nippon Telegr & Teleph Corp <Ntt> | 位置情報サービスシステム、並びに、位置情報サービスシステムにおける位置情報利用方法、発信端末、鍵更新センタ、及び、着信端末 |
JP2001148735A (ja) * | 1999-09-07 | 2001-05-29 | Nippon Telegr & Teleph Corp <Ntt> | 位置情報サービスシステム、並びに、位置情報サービスシステムにおける位置情報利用方法、発信端末、及び、デコーダモジュール |
JP2007181213A (ja) * | 2002-03-20 | 2007-07-12 | Matsushita Electric Ind Co Ltd | コンテンツを再生する再生装置 |
JP2007508778A (ja) * | 2003-10-14 | 2007-04-05 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 暗号用鍵の世代の効率的な管理 |
JP2006245663A (ja) * | 2005-02-28 | 2006-09-14 | Matsushita Electric Ind Co Ltd | 暗号化マルチキャスト通信鍵管理システム、暗号化マルチキャスト通信鍵管理方法、送信端末、受信端末、およびプログラム |
JP2007174083A (ja) * | 2005-12-20 | 2007-07-05 | Oki Electric Ind Co Ltd | マルチホップネットワークにおける鍵更新システム,鍵管理装置,通信端末および鍵情報構築方法 |
JP2007201522A (ja) * | 2005-12-26 | 2007-08-09 | Nec Corp | 暗号通信システム、鍵共有方法、鍵提供装置、および情報処理装置 |
JP2008135816A (ja) * | 2006-11-27 | 2008-06-12 | Mitsubishi Electric Corp | 鍵管理サーバ、端末、鍵共有システム、鍵配信プログラム、鍵受信プログラム、鍵配信方法及び鍵受信方法 |
JP2008187399A (ja) * | 2007-01-29 | 2008-08-14 | Kddi Corp | 処理負荷分散方法およびプログラム |
Non-Patent Citations (3)
Title |
---|
大津 一樹 他: "P2Pファイル共有システムにおける鍵管理効率化手法の実装評価", 情報処理学会論文誌, vol. 第47巻 第8号, JPN6013013881, 15 August 2006 (2006-08-15), JP, pages 2464 - 2476, ISSN: 0002524460 * |
大津 一樹 他: "P2Pファイル共有システムにおける鍵管理効率化手法の検討", マルチメディア,分散,協調とモバイル(DICOMO 2005)シンポジウム論文集, JPN6013013877, 6 July 2005 (2005-07-06), JP, pages 609 - 612, ISSN: 0002524459 * |
宝木 和夫 他: "暗号方式と応用", 情報処理, vol. 第32巻 第6号, JPN6013013875, 15 June 1991 (1991-06-15), JP, pages 714 - 723, ISSN: 0002489350 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013175633A1 (ja) * | 2012-05-25 | 2013-11-28 | トヨタ自動車 株式会社 | 通信装置、通信システム及び通信方法 |
JP2014103590A (ja) * | 2012-11-21 | 2014-06-05 | Toshiba Corp | 通信装置、通信方法、システム及びプログラム |
JP2016537888A (ja) * | 2013-11-15 | 2016-12-01 | ランディス・ギア イノベーションズ インコーポレイテッドLandis+Gyr Innovations, Inc. | ネットワークにわたって暗号鍵を更新するためのシステムおよび方法 |
EP3104548A1 (en) * | 2015-06-08 | 2016-12-14 | Nxp B.V. | Method and system for facilitating secure communication |
US10554640B2 (en) | 2016-06-13 | 2020-02-04 | Nxp B.V. | Method and system for facilitating secure communication |
US10193691B2 (en) | 2016-09-09 | 2019-01-29 | Kabushiki Kaisha Toshiba | Information processing device, server device, information processing system, moving object, and information processing method |
CN112543100A (zh) * | 2020-11-27 | 2021-03-23 | 中国银联股份有限公司 | 一种动态密钥生成方法和系统 |
CN112543100B (zh) * | 2020-11-27 | 2023-07-28 | 中国银联股份有限公司 | 一种动态密钥生成方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP5288901B2 (ja) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7257561B2 (ja) | コンピュータに実装される方法、ホストコンピュータ、コンピュータ読み取り可能な媒体 | |
KR101130415B1 (ko) | 비밀 데이터의 노출 없이 통신 네트워크를 통해 패스워드 보호된 비밀 데이터를 복구하는 방법 및 시스템 | |
JP5241818B2 (ja) | 端末 | |
CN107659406B (zh) | 一种资源操作方法及装置 | |
US10708047B2 (en) | Computer-readable recording medium storing update program and update method, and computer-readable recording medium storing management program and management method | |
JP5288901B2 (ja) | 鍵管理サーバ、端末、通信システム、鍵配信方法、鍵配信プログラム、鍵受信方法及び鍵受信プログラム | |
US20090316909A1 (en) | Utilization apparatus, servicer apparatus, service utilization system, service utilization method, service utilization program, and integrated circuit | |
JPWO2020050390A1 (ja) | 権利者端末、利用者端末、権利者プログラム、利用者プログラム、コンテンツ利用システムおよびコンテンツ利用方法 | |
KR101648364B1 (ko) | 대칭키 암호화와 비대칭키 이중 암호화를 복합적으로 적용한 암/복호화 속도개선 방법 | |
WO2016132547A1 (ja) | データ保管装置及びデータ更新システム及びデータ処理方法及びデータ処理プログラム | |
KR102169695B1 (ko) | 자가검증이 가능한 블록체인 전자투표 관리 방법 | |
JP5012574B2 (ja) | 共通鍵自動共有システム及び共通鍵自動共有方法 | |
JP2007312128A (ja) | 電子データ閲覧システム、装置及びプログラム | |
JP2003345930A (ja) | 属性証明書管理方法および装置 | |
JP6939313B2 (ja) | 分散認証システム | |
WO2019163040A1 (ja) | アクセス管理システム、及びそのプログラム | |
KR101256114B1 (ko) | 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템 | |
JP2010028689A (ja) | 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム | |
CN110611674B (zh) | 不同计算机系统之间的协议交互方法、系统及存储介质 | |
JP5643251B2 (ja) | 秘密情報通知システム、秘密情報通知方法、プログラム | |
JP2009212747A (ja) | 電子署名システム | |
KR20210036700A (ko) | 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템 | |
CN112350920A (zh) | 基于区块链的即时通讯系统 | |
KR101434736B1 (ko) | Pc에서 스마트 기기로의 안전한 공인인증서 복사 방법 | |
CN112689276B (zh) | 蓝牙耳机固件更新处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110404 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130326 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130415 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130604 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |