JP2010219912A - 暗号鍵生成方法、ネットワークシステム及びプログラム - Google Patents
暗号鍵生成方法、ネットワークシステム及びプログラム Download PDFInfo
- Publication number
- JP2010219912A JP2010219912A JP2009064645A JP2009064645A JP2010219912A JP 2010219912 A JP2010219912 A JP 2010219912A JP 2009064645 A JP2009064645 A JP 2009064645A JP 2009064645 A JP2009064645 A JP 2009064645A JP 2010219912 A JP2010219912 A JP 2010219912A
- Authority
- JP
- Japan
- Prior art keywords
- server
- attribute value
- encryption key
- terminal device
- group
- 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.)
- Pending
Links
Images
Abstract
【課題】
ネットワークシステムのサーバと端末機器との間で暗号通信するため、常に保持しておかなければならない暗号鍵の数を、サーバにて保持する暗号鍵、端末機器にて保持する暗号鍵の両方で削減する。
【解決手段】
第1のサーバの暗号鍵と第1のサーバの下位に接続された第2のサーバの属性値とを一方向性関数に入力して暗号鍵を生成する処理を第1のサーバにて実行し、生成した暗号鍵を第2のサーバの暗号鍵として第1のサーバから第2のサーバに送信する。これを階層化ネットワークシステムの上位サーバから下位サーバに向かって順次繰り返して各サーバの暗号鍵を生成する。
【選択図】 図3
ネットワークシステムのサーバと端末機器との間で暗号通信するため、常に保持しておかなければならない暗号鍵の数を、サーバにて保持する暗号鍵、端末機器にて保持する暗号鍵の両方で削減する。
【解決手段】
第1のサーバの暗号鍵と第1のサーバの下位に接続された第2のサーバの属性値とを一方向性関数に入力して暗号鍵を生成する処理を第1のサーバにて実行し、生成した暗号鍵を第2のサーバの暗号鍵として第1のサーバから第2のサーバに送信する。これを階層化ネットワークシステムの上位サーバから下位サーバに向かって順次繰り返して各サーバの暗号鍵を生成する。
【選択図】 図3
Description
本発明は、ネットワークシステムにおいてサーバと端末機器の間で行う暗号通信に関し、特に、この種の暗号通信に使用する暗号鍵の生成及び管理に関する。
ネットワークシステムにおいてサーバから複数の端末機器に対して制御コマンドやデータを送信することがある。第三者に内容を知られても構わないデータを送信するのであれば、送信先の複数の端末機器に対してそのデータを平文のままマルチキャストしても問題はないが、守秘性を有するデータであれば暗号化して送信するのが一般的であり、暗号化には暗号鍵の生成及び管理が不可欠である。
暗号化方式が共通鍵方式の場合、送信側と受信側に同じ暗号鍵を用意する必要がある。単純な方式では、暗号鍵を管理するサーバを用意し、このサーバにて各端末機器の暗号鍵を生成して保持する一方、それぞれの暗号鍵を該当する端末機器になんらかの経路で通知し、サーバと端末機器間で暗号通信を行う際には、この暗号鍵を用いて暗号化/復号化を行うことが考えられる。
このような方式では、暗号通信に先立って、サーバは全端末機器の暗号鍵を生成しておく必要がある。つまり、暗号鍵の生成処理の負荷は全てサーバに集中することになる。また、サーバは生成した暗号鍵を全て保持しておく必要があり、このためには端末機器の数に比例した記憶容量がサーバ乃至ネットワークシステムのどこかに必要となる。
更に、ネットワークシステムにはサーバを階層化するものがある。例えば、会社組織として、複数の本社があり、各本社の配下に複数の支社があり、更に各支社の配下に複数のグループがあるような組織構造を有するものを考える。このような会社組織にネットワークシステムを構築する際、センターサーバを中核として、その下層に本社毎に本社サーバを設置し、本社サーバの下層に支社毎に支社サーバを設置し、支社サーバの下層にグループ毎にグループサーバを設置し、各グループサーバの配下に端末機器を設置するといったネットワーク構成をとることがある。このようなネットワーク構成では、センターサーバは根ノードであり、端末機器は葉ノードとなる。センターサーバは本社サーバの親ノードであり、本社サーバは支社サーバの親ノードであり、支社サーバはグループサーバの親ノードである。
この種の階層化したネットワークシステムにおいて、上述のような暗号鍵と暗号通信を行うための暗号鍵を、センターサーバ、本社サーバ、支社サーバ、グループサーバのサーバの個々について用意すると、ネットワークシステム全体として生成・保持する暗号鍵の数は大きく膨れ上がる。どの階層のサーバも下流に接続された端末機器それぞれのための暗号鍵を生成して保持しなければならない。また、端末機器に対してその端末機器が属するセンターサーバ、本社サーバ、支社サーバ、グループサーバの4つの暗号鍵を通知する必要があり、端末機器ではこれら4つの暗号鍵を保持する必要がある。
また、この種の階層化したネットワークシステムでは、上層のサーバは下層のサーバよりも強い権限、即ち、下層のサーバのもつ権限を包括した権限を与えられることが多い。こういった権限の構造を、暗号通信を復号する権限として階層化ネットワークシステムに持ち込むには、上流のサーバは、自身の下流のサーバと更に下流の端末機器との間の暗号通信の復号が可能であるが、逆に、下流のサーバが上流のサーバと端末機器との間の暗号通信を復号することはできないようにサーバ、端末機器に暗号鍵を付与することが望ましい。上述したような単純な方式をベースとしてこのような階層的な復号の権限を実装しようとすると、下流のサーバと端末機器との間の暗号通信のための暗号鍵を、上流のサーバでも保持する必要がある。つまりグループサーバ‐端末機器間の暗号通信用の暗号鍵を、そのグループサーバの上流にある支社サーバ、本社サーバ、センターサーバが保持する必要があり、支社サーバ‐端末機器間用の暗号鍵をその支社サーバの上流の本社サーバ、センターサーバが保持する必要があり、本社サーバ‐端末機器間用の暗号鍵をセンターサーバが保持する必要がある。結果として、サーバが上層にあるほど保持すべき暗号鍵の数は増加し、ネットワークシステム全体として保持すべき暗号鍵は更に膨れ上がることになる。
本発明と関連する技術が記載された文献として特許文献1、特許文献2を挙げる。これらの文献には、サーバと端末機器との間で暗号通信を行うための暗号鍵の生成に関する従来の技術が記載されている。これら文献に記載のシステムではノードを複数のグループに分類しているがグループ間に上下関係はなく、端末機器から見てサーバは全て同一階層に属する。
本発明はこのような状況に鑑みてなされたものであり、本発明が解決しようとする課題は、ネットワークシステムのサーバと端末機器との間で暗号通信するため、常に保持しておかなければならない暗号鍵の数を、サーバが保持すべき暗号鍵の数についても端末機器が保持すべき暗号鍵の数についても削減し、ネットワークシステム全体としても削減することができる技術を提供することである。
上述の課題を解決するため、本発明は、次のような暗号鍵生成方法、ネットワークシステム及びプログラムを提供する。
まず、本発明の一態様として、サーバS0、サーバS0に接続されたサーバS1、サーバS1に接続されたサーバS2、・・・、サーバSa−1に接続されたサーバSa(aは予め定められた自然数)を備えるネットワークシステムの、サーバS1、S2、…、Saの暗号鍵K1、K2、…、Kaを生成するため、サーバSi−1(iはa以下の自然数)に対して予め定められた暗号鍵Ki−1と、サーバSi−1に接続されたサーバSiに対して予め定められた属性値IDiとを、一方向性関数Fに入力して暗号鍵Kiを生成する処理を、サーバSi−1が実行する段階1、及び、暗号鍵KiをサーバSiに送信する処理をサーバSi−1が実行する段階2を、i=1、2、…、a−1の順に順次繰り返すことを特徴とする暗号鍵生成方法を提供する。
また、本発明の他の一態様として、サーバS0、サーバS0に接続されたサーバS1、サーバS1に接続されたサーバS2、・・・、サーバSa−1に接続されたサーバSa(aは予め定められた自然数)を備えるネットワークシステムであって、サーバSi−1(i=1、2、…、a)はそれぞれ、サーバSi−1に対して予め定められた暗号鍵Ki−1と、サーバSi−1に接続されたサーバSiに対して予め定められた属性値IDiとを、一方向性関数Fに入力して暗号鍵Kiを生成する手段と、生成した暗号鍵KiをサーバSiに送信する処理を実行する手段とを備えることを特徴とするネットワークシステムを提供する。
更に、本発明の他の一態様として、サーバS0、サーバS0に接続されたサーバS1、サーバS1に接続されたサーバS2、・・・、サーバSa−1に接続されたサーバSa(aは予め定められた自然数)を備えるネットワークシステムのサーバS0、S1、S2、…、Sa−1のいずれかのサーバの処理装置にて実行されて、当該処理装置がサーバSi−1(iはa以下の自然数)の処理装置であるとき、サーバSi−1に対して予め定められた暗号鍵Ki−1と、サーバSi−1に接続されたサーバSiに対して予め定められた属性値IDiとを、一方向性関数Fに入力して暗号鍵Kiを生成する手段、及び、生成した暗号鍵KiをサーバSiに送信する処理を実行する手段として当該処理装置を機能させるためのプログラムを提供する。
本発明によれば、上位のサーバは、自身の暗号鍵と、自身よりも下位のサーバの属性値と、一方向性関数を元に自身よりも下位の全てのサーバの暗号鍵を算出することができるが、逆に下位のサーバでは、逆関数の計算が不可能乃至困難であるという一方向性関数の性質により、自身よりも上位のサーバの暗号鍵を算出することが困難乃至事実上できない。
このため、本発明によれば、上位のサーバには下位のサーバ宛の暗号通信の復号が可能であるが、逆に下位のサーバには上位のサーバ宛の暗号通信の復号が不可能であるといった状況を立ち上げることができる。いうなれば階層的な体系を有する暗号鍵の一群を生成することができる。ある階層よりも上位に属する一群のサーバでのみ復号可能な暗号を生成することができることとなるので、マルチキャストで送信しても指定した階層よりも上位のサーバのみで復号可能な暗号を生成することができる。一般に、この種の階層化したネットワークシステムでは、上位階層のサーバは下位階層のサーバよりも強いアクセス権を与えられる場合が多いが、本発明はこうしたアクセス権を付与するネットワークシステムに特に好適である。
各サーバの属性値と一方向性関数についてはネットワークシステム内で公開した状態で管理してもよい。下位サーバの暗号鍵については、下位サーバの暗号通信を復号する必要に応じて、自身の暗号鍵、下位サーバの属性値及び一方向性関数から算出可能なので、各サーバが保持するのは自身の暗号鍵のみでも構わない。最上位のサーバS0はサーバS1の属性値ID1から暗号鍵K1を求めてその直下の階層に属するサーバS1に送信し、サーバS1は暗号鍵K1とその直下の階層に属するサーバS2の属性値ID2から暗号鍵K2を求めてサーバS2に送信するといったように、上位階層から下位階層に向かって逐次暗号鍵を求めることで、最終的にはサーバSaの暗号鍵Kaまで求めることができる。同様にして、サーバS1、S2、…、Saのどれでも自身より下位のサーバの暗号鍵を全て求めることができる。このため、各サーバが常時保持していければならない暗号鍵の数は自身の暗号鍵だけで済み、自身より下位のサーバの暗号鍵については必要に応じて生成することにしてもよい。このため、ネットワークシステム全体で常時保持すべき暗号鍵の数も少なくて済む。
本発明の実施の形態であるネットワークシステム100について説明する。図1に示すように、ネットワークシステム100はセンターサーバ1−1−1を頂点とする木構造の階層構造を有するネットワークシステムである。センターサーバ1−1−1の階層の下には、上から順に本社サーバ階層、支社サーバ階層、グループサーバ階層がある。本社サーバ階層には本社サーバ1−1−2、1−1−3が属し、支社サーバ階層には支社サーバ1−1−4〜1−1−7が属し、グループサーバ階層にはグループサーバ1−1−8〜1−1−15が属する。グループサーバには図2に示すように端末機器が接続されている。これらサーバ及び端末機器はコンピュータであり、いずれもコンピュータプログラムに従って動作する中央処理装置、主記憶装置、コンピュータプログラムやデータを格納する補助記憶装置、キーボード、マウス、ネットワークインタフェース装置、ディスプレイ等の入出力装置を備える。
ネットワークシステム100の全サーバ及び全端末機器はそれぞれ鍵生成機能を備える。紙面の都合上、図1、2では、センターサーバ1−1−1、本社サーバ1−1−2、支社サーバ1−1−4、グループサーバ1−1−8、端末機器1−2−1のみがそれぞれ鍵生成機能1−1−1−1、1−1−2−1、1−1−3−1、1−1−8−1、1−2−1−1を備えるように記載しているが、実際には全てのサーバ、端末機器が鍵生成機能を備える。鍵生成機能は、専用の回路としてハードウェア的に実現してもよいし、或いは、サーバ、端末機器の不図示の処理装置にて実行されるプログラムとしてソフトウェア的に実現してもよい。
各サーバには所属する階層に応じた属性が付与される。センターサーバには属性[センター]が付与され、各本社サーバには属性[本社]が付与され、各支社サーバには属性[支社]が付与され、各グループサーバには属性[グループ]が付与される。ネットワークシステム100は、[センター]を先頭に[本社]、[支社]、[グループ]の属性順にピラミッド構造を成している。つまり、ネットワークシステム100はセンターサーバ1−1−1を根ノードとし、本社サーバを第1階層のノード、支社サーバを第2階層のノード、グループサーバを第3階層のノードとし、グループサーバに接続された端末機器を葉ノードとする木構造を有する。
サーバに与えられた属性はそのサーバが有する管理権限の強弱を示す。ここで管理権限とは他のサーバや端末機器を管理する権限である。ピラミッド構造の上位にあるサーバはそのサーバより下の階層に属するサーバ、端末機器の管理権限を有するものとする。例えば、センターサーバ1−1−1はネットワークシステム100内の他の全サーバ及び全端末機器の管理権限を有する。本社サーバ1−1−2は、ピラミッド構造において自分の下にあるサーバ及び端末機器、即ち、支社サーバ1−1−4、1−1−5、グループサーバ1−1−8、1−1−9、1−1−10、1−1−11、端末機器1−2−1〜1−2−16の管理権限を有するが、本社サーバ1−1−3及びその配下のサーバ、端末機器の管理権限は有していない。支社サーバ、グループサーバについても同様であり、ピラミッド構造において自分の配下のサーバ、端末機器の管理権限を有する。尚、サーバAがサーバBの配下にあるとは、サーバAがサーバBよりも下の階層に属し、かつ、サーバAがサーバBに直接、或いは、サーバBの配下にある他のサーバを介して間接に接続されていることをいうものとする。
ピラミッド構造の最上位であるセンターサーバ1−1−1を除くサーバ、端末機器にはそれぞれ属性値が付与される。完全な属性値は属性[本社]、[支社]、[グループ]に対応する3つの属性値の組、即ち、本社属性値IDx、支社属性値IDy、グループ属性値IDzからなる。属性[本社]、[支社]、[グループ]はそれぞれピラミッド構造をなす階層のひとつに対応する。本社属性値IDx、支社属性値IDy、グループ属性値IDzを総称して階層属性値と呼ぶものとする。完全な属性値はピラミッド構造をなす全ての階層の階層属性値の組である。本実施の形態では本社サーバ及び支社サーバには完全な属性値を付与しない。図1においてサーバを示すブロックの中にある3桁の数字は、そのサーバの属性に対応する属性値である。例えば、本社サーバ1−1−2にはIDx=001が付与される。支社サーバ1−1−4、1−1−6にはそれぞれIDy=001が付与される。グループサーバ1−1−8、1−1−10、1−1−12、1−1−14にはそれぞれIDz=001が付与される。
以下、本社属性値IDx、支社属性値IDy、グループ属性値IDzの組からなる完全な属性値(IDx、IDy、IDz)を単に属性値と呼ぶものとする。あるグループサーバの配下にある端末機器群には、ネットワークシステム100においてセンターサーバ1−1−1からその端末機器群に至るまでの間に通過する本社サーバ、支社サーバ、グループサーバの本社属性値IDx、支社属性値IDy、グループ属性値IDzからなる属性値(IDx、IDy、IDz)が付与されて、端末機器群全体が一括表現される。例えば、端末機器1−2−1〜1−2−4には、属性値(001、001、001)が付与される。属性値(001、001、001)はピラミッド構造の上位階層でこれらの端末機器に接続される本社サーバはIDx=001であり、支社サーバはIDy=001であり、グループサーバはIDz=001であることを示す。図1において、各グループサーバの下に記載してあるのが属性値である。また、図2において、一のグループサーバの配下にある端末機器群を点線の四角形で囲んでいるが、四角形の底辺に沿って記載しているのがその端末機器群の属性値である。
属性値とは別に端末機器はそれぞれ固有IDを有する。固有IDはその端末機器に固有の識別子であり、例えばベンダー名に製造番号を連接したもので唯一無二の値である。図2において各端末機器の直下に記載したNと3桁の数字を連接したものが固有IDである。図2では、端末機器1−2−1〜1−2−32の固有IDは順にN001〜N032である。
次に、図3を参照してネットワークシステム100におけるデータ鍵の生成について説明する。ここで生成するデータ鍵は、各サーバと端末機器との間で暗号化したデータ通信を行う際に用いる共通鍵暗号方式の暗号鍵である。図3では、図1に示したブランチ構造の各属性[センター]、[本社]、[支社]、[グループ]、及び、図2に示した一グループサーバ配下の端末機器群のうち、親子関係にあるノードを抽象化し、センターサーバ1−3−5、本社サーバ1−3−4、支社サーバ1−3−3、グループサーバ1−3−2、端末機器1−3−1と記す。このような親子関係は、図1では例えばグループサーバ1−1−8、支社サーバ1−1−4、本社サーバ1−1−2、センターサーバ1−1−1の間に成り立つ。また、グループサーバ1−1−14、支社サーバ1−1−7、本社サーバ1−1−3、センターサーバ1−1−1の間に成り立つ。
端末機器1−3−1が接続されたある機器のステータス情報1−3−11をデータ鍵で暗号化し、ネットワークを介してグループサーバ1−3−2、支社サーバ1−3−3、本社サーバ1−3−4あるいはセンターサーバ1−3−5へ送信する。この暗号化されたステータス情報1−3−11は、その重要度に応じて、どの属性サーバで受信あるいは復号して良いかが端末機器1−3−1で定められている。この定めに従い、各属性のサーバがそれぞれに持つ受信権限の範囲内でそれら暗号化されたステータス情報1−3−11を受信できることになる。ここで言う受信権限とは、データ鍵で暗号化されたステータス情報1−3−11を受け取ったあるサーバが、それを復号できるか否かを意味し、そのサーバの受信権限の高低により区別されることを示す。
あるいは、ある属性のサーバから端末機器1−3−1へデータ鍵で暗号化されたコマンドを送信し、そのコマンドを受信した端末機器1−3−1は、送信相手サーバの送信権限の範囲内でそれらコマンドを受付けるか否か決定できる。ここでは、それら送信権限と受信権限を総称してアクセス権限と称すこととする。ここで、図1−3の場合、アクセス権限1−3−12は、センターサーバ1−3−5側が高く、グループサーバ1−3−2側が低い。このため、端末機器1−3−1から送信されるデータ鍵で暗号化されたステータス情報1−3−11は、4段階の階層を持ったそれぞれのデータ鍵1−3−6のいずれかによって暗号化される必要がある。なお、あるサーバから送信されるコマンドの場合も同様である。
データ鍵1−3−6は[センター][本社][支社][グループ]の4つの階層のそれぞれに対応する4つのデータ鍵s、dcx、dfxy、dsxyzからなる。これら4つのデータ鍵は、ある階層のデータ鍵と、その下の階層の属性に対応する属性値とを連接してハッシュ演算したものを、その下の階層のデータ鍵とすることを各階層で順次繰り返すことにより求める。
図3を参照すると、センターサーバ1−3−5のデータ鍵1−3−10はsそのものである。本社サーバ1−3−4のデータ鍵dcx1−3−9は、その本社サーバ1−3−4の属性IDxをsに連接し、それをハッシュ演算した結果である。支社サーバ1−3−3のデータ鍵dfxy1−3−8は、その支社サーバ1−3−3の属性IDyをdcxに連接し、ハッシュ演算した結果である。グループサーバ1−3−2のデータ鍵dsxyz1−3−7は、そのグループサーバ1−3−2の属性IDzをdfxyに連接し、ハッシュ演算した結果である。
一方、端末機器1−3−1は、上述の各サーバのデータ鍵s、dcx、dfxy、dsxyzのすべてをデータ鍵1−3−6として保持する。暗号通信を行う際、端末機器1−3−1は、送信しようとしているステータス情報[status]の重要度に応じて適切なデータ鍵を選択し、選択したデータ鍵を用いて暗号化した暗号化データを送信する。
ネットワークシステム100では、各サーバと端末機器とがこのようなデータ鍵を保持した後で、端末機器とサーバとの間で暗号通信を行う。暗号化に用いるデータ鍵を選択することによって、センターサーバ1−3−5以下のどのサーバまでで復号可能な暗号通信とするかを選択することができる。図4の表1−3−13を参照して説明すると、グループサーバ用データ鍵dsxyzにて暗号化したステータス情報[status]であるE(dsxyz、[status])は、グループサーバ1−3−2、支社サーバ1−3−3、本社サーバ1−3−4、センターサーバ1−3−5で復号可能である。支社サーバ用データ鍵dfxyにて暗号化したステータス情報[status]であるE(dfxy、[status])は、グループサーバ1−3−2では復号することができないが、支社サーバ1−3−3、本社サーバ1−3−4、センターサーバ1−3−5で復号可能である。本社サーバ用データ鍵dcxにて暗号化したステータス情報[status]であるE(dcx、[status])は、グループサーバ1−3−2、支社サーバ1−3−3では復号することができないが、本社サーバ1−3−4、センターサーバ1−3−5で復号可能である。センターサーバ用データ鍵、即ち秘密シードsにて暗号化したステータス情報[status]であるE(s、[status])はセンターサーバ1−3−5でのみ復号可能である。
センターサーバ1−3−5は自身のデータ鍵である秘密シードsと属性値IDx、IDy、IDzから容易に他サーバのデータ鍵を求めることができるのに対して、ハッシュ演算がもつ逆演算の困難性により、本社サーバ、支社サーバ、グループサーバでは秘密シードsを求めることが事実上できない。また、本社サーバは自身のデータ鍵dcxと属性値IDy、IDzから支社サーバ、グループサーバのデータ鍵を求めることができるが逆はできない。同様に、支社サーバは自身のデータ鍵dfxyと属性値IDzからグループサーバのデータ鍵を求めることができるが逆はできない。このようにして、ネットワークシステム100では、自分より下の階層に属するサーバのデータ鍵を各サーバは生成することができる一方、自分よりも上の階層に属するサーバのデータ鍵を生成することはできないようになる。
ネットワークシステム100によれば、端末機器にてひとつの暗号鍵で暗号化処理を行うだけで、指定した上位階層に属するサーバでのみ復号可能な暗号を生成することができる。従来のように送信先のサーバ毎に異なるデータ鍵を用いて暗号化処理を実行する必要がなく、端末機器での暗号化処理の負荷を軽減することができる。
また、ネットワークシステム100によれば、暗号化したデータを送信する際に、送信先のサーバ毎にユニキャスト通信を行う代わりにネットワークシステム全体に対してブロードキャストを行っても、所望のサーバでのみ復号可能であるので、ネットワーク負荷の軽減に資することができる。
また、ネットワークシステム100によれば、常に保持しておかなければならないデータ鍵の数を従来に比べて少なくすることができる。
まず、管理する全ての端末機器それぞれのデータ鍵をセンターサーバの記憶装置に秘密状態で保持する必要がなく、秘密鍵s、本社属性値IDx、支社属性値IDy、グループ属性値IDzを用いてハッシュ演算することにより必要に応じて通信相手の端末機器のデータ鍵を生成することができる。これらのうち、各属性値はネットワークシステム内で公開し、秘密鍵sのみを秘密状態で管理してもよい。このため、特に、端末機器の数が膨大な場合、端末機器毎にデータ鍵を管理する従来のシステムと比較して、ネットワークシステム全体でのデータ鍵の管理コストを軽減することができる。
同様に、端末機器にて管理しなければならないデータ鍵の数についても、秘密鍵sを保持した上で、他のデータ鍵dcx、dfxy、dsxyzについては必要に応じて端末機器にて生成することとしてもよい。このようにすれば、各端末機器が常時記憶装置に保持しておかなければならないデータ鍵は秘密シードsだけで済む。特に、ネットワークシステム全体で見たときの端末機器のデータ鍵の管理コストを低減することができる。
上述の実施の形態では、本社属性値IDx、支社属性値IDy、グループ属性値IDzは予めネットワークシステム100内の各サーバ、端末機器に通知されていることを前提として説明した。本実施例では、ネットワークシステム100において本社属性値IDx、支社属性値IDy、グループ属性値IDzを配信する方法について説明する。尚、センターサーバは配下の全てのサーバ及び端末機器のアドレス、特にマルチキャストアドレスを予め取得しているものとする。
はじめに以下の説明中で参照する図面について説明する。図5〜10はネットワークシステム100に相当するネットワークシステムにおいて、IPマルチキャストを用いてIDx、IDy、IDzを配信する過程を示すものである。図11にはこのネットワークシステムにおいてグループサーバ2−1−8〜2−1−15の配下にある端末機器2−2−1〜2−2−32を図示している。ネットワークシステム100ではIDx、IDy、IDzはそれぞれ001または002の値を取る為、属性値は2×2×2=8通りであり、一の属性値が一のグループサーバに設定され、グループサーバの下位にある各端末機器には上位のグループサーバと同じ属性値が設定される。つまり同じグループサーバ配下の端末機器には同じ属性値が設定される。また、端末機器はそれぞれ固有IDを備える。例えば、属性値(001,001,001)が設定される4つの端末機器2−2−1、2−2−2、2−2−3、2−2−4は順にN001、N002、N003、N004を有する。固有IDは例えばベンダー名に製造番号を連接した唯一無二のものである。
<1回目:(1)IDx=001をIPマルチキャスト通知>
図5を参照して説明すると、センターサーバ2−1−1から、IPマルチキャストパケットを使い、属性値(IDx,IDy,IDz)のうちのIDxが001であることを、本社サーバ2−1−2、及び、本社サーバ2−1−2に連なる親子関係を有するノードに順次送信していく。具体的には、図5の略左半分に図示した本社サーバ2−1−2、支社サーバ2−1−4、2−1−5、グループサーバ2−1−8〜2−1−11と、図11の上段に図示した端末機器2−2−1〜2−2−16に対し、IDx=001をIPマルチキャストする。端末機器2−2−1〜2−2−16にはその端末機器の親ノードにあたるグループサーバと同じ属性値が設定される。
図5を参照して説明すると、センターサーバ2−1−1から、IPマルチキャストパケットを使い、属性値(IDx,IDy,IDz)のうちのIDxが001であることを、本社サーバ2−1−2、及び、本社サーバ2−1−2に連なる親子関係を有するノードに順次送信していく。具体的には、図5の略左半分に図示した本社サーバ2−1−2、支社サーバ2−1−4、2−1−5、グループサーバ2−1−8〜2−1−11と、図11の上段に図示した端末機器2−2−1〜2−2−16に対し、IDx=001をIPマルチキャストする。端末機器2−2−1〜2−2−16にはその端末機器の親ノードにあたるグループサーバと同じ属性値が設定される。
このIPマルチキャストを受信した本社サーバ、支社サーバ、グループサーバの各サーバ及び端末機器は自身の属性値の本社属性値IDxを次のようにセットする。
属性値(IDx,IDy,IDz)=(001,???,???)
“?”は属性値が未設定であることを示す。
“?”は属性値が未設定であることを示す。
<2回目:(1)IDx=002をIPマルチキャスト通知>
今度は図中の略右半分のノードに本社属性値IDx=002を通知する。センターサーバ2−1−1から、IPマルチキャストパケットを使い、属性値(IDx,IDy,IDz)のうちのIDxが002であることを本社サーバ2−1−3、支社サーバ2−1−6、2−1−7、グループサーバ2−1−12〜2−1−15、端末機器2−2−17〜2−2−32に送信する。
今度は図中の略右半分のノードに本社属性値IDx=002を通知する。センターサーバ2−1−1から、IPマルチキャストパケットを使い、属性値(IDx,IDy,IDz)のうちのIDxが002であることを本社サーバ2−1−3、支社サーバ2−1−6、2−1−7、グループサーバ2−1−12〜2−1−15、端末機器2−2−17〜2−2−32に送信する。
このIPマルチキャストを受信した本社サーバ、支社サーバ、グループサーバの各サーバ及び端末機器は自身の属性値の本社属性値IDxを次のようにセットする。
属性値(IDx,IDy,IDz)=(002,???,???)
尚、グループサーバ配下の各端末機器にはそのグループサーバと同じ属性値が設定される。
尚、グループサーバ配下の各端末機器にはそのグループサーバと同じ属性値が設定される。
<3回目:(2)IDy=001をIPマルチキャスト通知>
次に、本社サーバ2−1−2及び2−1−3それぞれの配下の図中左側の枝に連なる支社サーバ、グループサーバ、端末機器に対しIDy=001を通知する。図7及び図11を参照すると、本社サーバ2−1−2側では、属性値(IDx,IDy,IDz)のうちのIDyが001であることを、本社サーバ2−1−2、支社サーバ2−1−4、グループサーバ2−1−8、2−1−9、端末機器2−2−1〜2−2−8に対して、センターサーバ2−1−1からIPマルチキャストパケットを使って送信する。同様に、本社サーバ2−1−3側では、本社サーバ2−1−3、支社サーバ2−1−6、グループサーバ2−1−12、2−1−13、端末機器2−2−17〜2−2−24へセンターサーバ2−1−1からIPマルチキャストパケットを使って送信する。尚、この過程で、各本社サーバは、配下の支社サーバの支社属性値IDy=001を取得する。
次に、本社サーバ2−1−2及び2−1−3それぞれの配下の図中左側の枝に連なる支社サーバ、グループサーバ、端末機器に対しIDy=001を通知する。図7及び図11を参照すると、本社サーバ2−1−2側では、属性値(IDx,IDy,IDz)のうちのIDyが001であることを、本社サーバ2−1−2、支社サーバ2−1−4、グループサーバ2−1−8、2−1−9、端末機器2−2−1〜2−2−8に対して、センターサーバ2−1−1からIPマルチキャストパケットを使って送信する。同様に、本社サーバ2−1−3側では、本社サーバ2−1−3、支社サーバ2−1−6、グループサーバ2−1−12、2−1−13、端末機器2−2−17〜2−2−24へセンターサーバ2−1−1からIPマルチキャストパケットを使って送信する。尚、この過程で、各本社サーバは、配下の支社サーバの支社属性値IDy=001を取得する。
このようにして、支社サーバ2−1−4、2−1−6、グループサーバ2−1−8、2−1−9、2−1−12、2−1−13、及びこれらの配下の端末機器2−2−1〜2−2−8、2−2−17〜2−2−24の属性値の支社属性値IDyを次のように定める。
属性値(IDx,IDy,IDz)=(00*,001,???)
記号“*”はサーバ、端末機器によって異なる値が既定されていることを示す。例えばこの段階における端末機器2−2−1の属性値は(001,001,???)であり、端末機器2−2−10の属性値は(002,001,???)である。
記号“*”はサーバ、端末機器によって異なる値が既定されていることを示す。例えばこの段階における端末機器2−2−1の属性値は(001,001,???)であり、端末機器2−2−10の属性値は(002,001,???)である。
<4回目:(2)IDy=002をIPマルチキャスト通知>
今度は、本社サーバ2−1−2及び2−1−3それぞれの配下の図中右側の枝に連なる支社サーバ、グループサーバ、端末機器に対しIDy=002を通知する。図8に示すように、属性値(IDx,IDy,IDz)のうちのIDyが002であることを、本社サーバ2−1−2、支社サーバ2−1−5、グループサーバ2−1−10、2−1−11、端末機器2−2−9〜2−2−16に対し、センターサーバ2−1−1からIPマルチキャストパケットを使って送信する。同様に、同様に、本社サーバ2−1−3側では、本社サーバ2−1−3、支社サーバ2−1−7、グループサーバ2−1−14、2−1−15、端末機器2−2−25〜2−2−32へセンターサーバ2−1−1からIPマルチキャストパケットを使って送信する。尚、この過程で、各本社サーバは、配下の支社サーバの支社属性値IDy=002を取得する。
今度は、本社サーバ2−1−2及び2−1−3それぞれの配下の図中右側の枝に連なる支社サーバ、グループサーバ、端末機器に対しIDy=002を通知する。図8に示すように、属性値(IDx,IDy,IDz)のうちのIDyが002であることを、本社サーバ2−1−2、支社サーバ2−1−5、グループサーバ2−1−10、2−1−11、端末機器2−2−9〜2−2−16に対し、センターサーバ2−1−1からIPマルチキャストパケットを使って送信する。同様に、同様に、本社サーバ2−1−3側では、本社サーバ2−1−3、支社サーバ2−1−7、グループサーバ2−1−14、2−1−15、端末機器2−2−25〜2−2−32へセンターサーバ2−1−1からIPマルチキャストパケットを使って送信する。尚、この過程で、各本社サーバは、配下の支社サーバの支社属性値IDy=002を取得する。
このようにして、支社サーバ2−1−5、2−1−7、グループサーバ2−1−10、2−1−11、2−1−14、2−1−15、及びこれらの配下の端末機器2−2−9〜2−2−16、2−2−25〜2−2−32の属性値の支社属性値IDyを次のように定める。
属性値(IDx,IDy,IDz)=(00*,002,???)
例えばこの段階における端末機器2−2−9の属性値は(001,002,???)であり、端末機器2−2−25の属性値は(002,002,???)である。
例えばこの段階における端末機器2−2−9の属性値は(001,002,???)であり、端末機器2−2−25の属性値は(002,002,???)である。
<5回目:(3)IDz=001をIPマルチキャスト通知>
次に、図9に示すように、各支社サーバ配下の図中左側のグループサーバ及びそのグループサーバ配下の端末機器に対して、IDz=001を通知する。属性値(IDx,IDy,IDz)のうちのIDzが001であることを、本社サーバ2−1−2、2−1−3、支社サーバ2−1−4〜2−1−7、グループサーバ2−1−8、2−1−10、2−1−12、2−1−14、端末機器2−2−1〜2−2−4、2−2−9〜2−2−12、2−2−17〜2−2−20、2−2−25〜2−2−28に対して、センターサーバ2−1−1からIPマルチキャストパケットを使って送信する。尚、この過程で、各本社サーバ、各支社サーバは、配下のグループサーバのグループ属性値IDz=001を取得する。
次に、図9に示すように、各支社サーバ配下の図中左側のグループサーバ及びそのグループサーバ配下の端末機器に対して、IDz=001を通知する。属性値(IDx,IDy,IDz)のうちのIDzが001であることを、本社サーバ2−1−2、2−1−3、支社サーバ2−1−4〜2−1−7、グループサーバ2−1−8、2−1−10、2−1−12、2−1−14、端末機器2−2−1〜2−2−4、2−2−9〜2−2−12、2−2−17〜2−2−20、2−2−25〜2−2−28に対して、センターサーバ2−1−1からIPマルチキャストパケットを使って送信する。尚、この過程で、各本社サーバ、各支社サーバは、配下のグループサーバのグループ属性値IDz=001を取得する。
これにより、グループサーバ2−1−8、2−1−10、2−1−12、2−1−14、端末機器2−2−1〜2−2−4、2−2−9〜2−2−12、2−2−17〜2−2−20、2−2−25〜2−2−28に対して、属性値のグループ属性値IDzを次のように定める。
属性値(IDx,IDy,IDz)=(00*,00*,001)
例えば、端末機器2−2−1の属性値は(001,001,001)であり、端末機器2−2−9の属性値は(001,002,001)であり、端末機器2−2−17の属性値は(002,001,001)であり、端末機器2−2−25の属性値は(002,002,001)である。
例えば、端末機器2−2−1の属性値は(001,001,001)であり、端末機器2−2−9の属性値は(001,002,001)であり、端末機器2−2−17の属性値は(002,001,001)であり、端末機器2−2−25の属性値は(002,002,001)である。
<6回目:(3)IDz=002をIPマルチキャスト通知>
次に、図10に示すように、各支社サーバ配下の図中右側のグループサーバ及びそのグループサーバ配下の端末機器に対して、IDz=002を通知する。属性値(IDx,IDy,IDz)のうちのIDzが002であることを、本社サーバ2−1−2、2−1−3、支社サーバ2−1−4〜2−1−7、グループサーバ2−1−9、2−1−11、2−1−13、2−1−15、端末機器2−2−5〜2−2−8、2−2−13〜2−2−16、2−2−21〜2−2−24、2−2−29〜2−2−32に対して、センターサーバ2−1−1からIPマルチキャストパケットを使って送信する。尚、この過程で、各本社サーバ、各支社サーバは、配下のグループサーバのグループ属性値IDz=002を取得する。
次に、図10に示すように、各支社サーバ配下の図中右側のグループサーバ及びそのグループサーバ配下の端末機器に対して、IDz=002を通知する。属性値(IDx,IDy,IDz)のうちのIDzが002であることを、本社サーバ2−1−2、2−1−3、支社サーバ2−1−4〜2−1−7、グループサーバ2−1−9、2−1−11、2−1−13、2−1−15、端末機器2−2−5〜2−2−8、2−2−13〜2−2−16、2−2−21〜2−2−24、2−2−29〜2−2−32に対して、センターサーバ2−1−1からIPマルチキャストパケットを使って送信する。尚、この過程で、各本社サーバ、各支社サーバは、配下のグループサーバのグループ属性値IDz=002を取得する。
これにより、グループサーバ2−1−9、2−1−11、2−1−13、2−1−15、端末機器2−2−5〜2−2−8、2−2−13〜2−2−16、2−2−21〜2−2−24、2−2−29〜2−2−32に対して、属性値のグループ属性値IDzを次のように定める。
属性値(IDx,IDy,IDz)=(00*,00*,002)
例えば、端末機器2−2−5の属性値は(001,001,002)であり、端末機器2−2−13の属性値は(001,002,002)であり、端末機器2−2−21の属性値は(002,001,002)であり、端末機器2−2−29の属性値は(002,002,002)である。
例えば、端末機器2−2−5の属性値は(001,001,002)であり、端末機器2−2−13の属性値は(001,002,002)であり、端末機器2−2−21の属性値は(002,001,002)であり、端末機器2−2−29の属性値は(002,002,002)である。
このようにして、ネットワークシステム100内のグループサーバ及び端末機器のそれぞれに対し、属性値(IDx,IDy,IDz)を設定する。尚、以上の手順では、本社サーバに対して支社属性値IDy、グループ属性値IDzを設定することについては考慮していない。また、支社サーバに対して、グループ属性値IDzを設定することについても考慮していない。
次に、図12を参照して、ネットワークシステム100におけるデータ鍵の生成について説明する。図12では各サーバ、端末機器の鍵生成機能のみを取り上げている。
<センターサーバにおける鍵生成機能2−1−1−1の動作>
例えばセンターサーバ2−1−1のキーボードからの入力やサーバに内蔵する乱数生成機等により、センターサーバ2−1−1には予め秘密シードsが与えられている。鍵生成機能2−1−1−1は、秘密シードsと本社サーバそれぞれの本社属性値IDxとを連接した値をハッシュ演算することにより、本社サーバ2−1−2のデータ鍵dc1、本社サーバ2−1−3のデータ鍵dc2を算出してセンターサーバ2−1−1に渡す。
例えばセンターサーバ2−1−1のキーボードからの入力やサーバに内蔵する乱数生成機等により、センターサーバ2−1−1には予め秘密シードsが与えられている。鍵生成機能2−1−1−1は、秘密シードsと本社サーバそれぞれの本社属性値IDxとを連接した値をハッシュ演算することにより、本社サーバ2−1−2のデータ鍵dc1、本社サーバ2−1−3のデータ鍵dc2を算出してセンターサーバ2−1−1に渡す。
dc1=h(s||IDX1)
dc2=h(s||IDX2)
dc2=h(s||IDX2)
センターサーバ2−1−1は、データ鍵dc1、dc2をそれぞれ配下の本社サーバ2−1−2、2−1−3へ送信する。
<本社サーバにおける鍵生成機能2−1−2−1、2−1−3−1の動作>
各本社サーバは、センターサーバから受け取った自身のデータ鍵と自身の配下の支社サーバの支社属性値IDyとを連接した値をハッシュ演算することにより、その支社サーバのデータ鍵を生成する。
各本社サーバは、センターサーバから受け取った自身のデータ鍵と自身の配下の支社サーバの支社属性値IDyとを連接した値をハッシュ演算することにより、その支社サーバのデータ鍵を生成する。
センターサーバ2−1−1から本社サーバ2−1−2がデータ鍵dc1を受信すると、鍵生成機能2−1−2−1は、データ鍵dc1と、配下の支社サーバ2−1−4の支社属性値IDy1とを連接した値をハッシュ演算することにより、支社サーバ2−1−4のデータ鍵df1.1を生成し、また、データ鍵dc1と、配下の支社サーバ2−1−5の支社属性値IDy2とを連接した値をハッシュ演算することにより、支社サーバ2−1−5のデータ鍵df1.2を生成する。
同様にして、センターサーバ2−1−1から本社サーバ2−1−3がデータ鍵dc2を受信すると、鍵生成機能2−1−3−1は、データ鍵dc2と、配下の支社サーバ2−1−6の支社属性値IDy1とを連接した値をハッシュ演算することにより、支社サーバ2−1−6のデータ鍵df2.1を生成し、また、データ鍵dc2と、配下の支社サーバ2−1−7の支社属性値IDy2とを連接した値をハッシュ演算することにより、支社サーバ2−1−7のデータ鍵df2.2を生成する。
df1,1=h(dc1||IDy1)
df1,2=h(dc1||IDy2)
df2,1=h(dc2||IDy1)
df2,2=h(dc2||IDy2)
df1,2=h(dc1||IDy2)
df2,1=h(dc2||IDy1)
df2,2=h(dc2||IDy2)
鍵生成機能2−1−2−1からデータ鍵df1.1、df1.2を受け取った本社サーバ2−1−2は、それぞれのデータ鍵を対応する支社サーバ2−1−4、2−1−5に送信する。また、鍵生成機能2−1−3−1からデータ鍵df2.1、df2.2を受け取った本社サーバ2−1−3は、それぞれのデータ鍵を対応する支社サーバ2−1−6、2−1−7にも同様に送信する。
<支社サーバにおける鍵生成機能2−1−4−1〜2−1−7−1の動作>
各支社サーバの鍵生成機能では、自身の上位の本社サーバから受け取った自身のデータ鍵と、自身の配下のグループサーバのグループ属性値IDzとを連接した値をハッシュ演算することにより、そのグループサーバのデータ鍵を生成する。
各支社サーバの鍵生成機能では、自身の上位の本社サーバから受け取った自身のデータ鍵と、自身の配下のグループサーバのグループ属性値IDzとを連接した値をハッシュ演算することにより、そのグループサーバのデータ鍵を生成する。
支社サーバ2−1−4では、本社サーバ2−1−2からデータ鍵df1,1を受信すると、鍵生成機能2−1−4−1は、このデータ鍵df1,1と、支社サーバ2−1−4の配下のグループサーバ2−1−8のグループ属性値IDz1とを連接した値をハッシュ演算することにより、グループサーバ2−1−8のデータ鍵ds1,1,1を生成する。また、鍵生成機能2−1−4−1は、データ鍵df1,1と、配下のもう一方のグループサーバ2−1−9のグループ属性値IDz2とを連接した値をハッシュ演算することにより、グループサーバ2−1−9のデータ鍵ds1,1,2を生成する。
つまり、支社サーバ2−1−4の鍵生成機能2−1−4−1では、次の演算を行うことにより、グループサーバ2−1−8のデータ鍵ds1,1,1、グループサーバ2−1−9のデータ鍵ds1,1,2を生成する。
ds1,1,1=h(df1,1||IDZ1)
ds1,1,2=h(df1,1||IDZ2)
ds1,1,2=h(df1,1||IDZ2)
支社サーバ2−1−5の鍵生成機能2−1−5−1では、次の演算を行うことにより、グループサーバ2−1−10のデータ鍵ds1,2,1、グループサーバ2−1−11のデータ鍵ds1,2,2を生成する。
ds1,2,1=h(df1,2||IDZ1)
ds1,2,2=h(df1,2||IDZ2)
ds1,2,2=h(df1,2||IDZ2)
支社サーバ2−1−6の鍵生成機能2−1−6−1では、次の演算を行うことにより、グループサーバ2−1−12のデータ鍵ds2,1,1、グループサーバ2−1−13のデータ鍵ds2,1,2を生成する。
ds2,1,1=h(df2,1||IDZ1)
ds2,1,2=h(df2,1||IDZ2)
ds2,1,2=h(df2,1||IDZ2)
支社サーバ2−1−7の鍵生成機能2−1−7−1では、次の演算を行うことにより、グループサーバ2−1−14のデータ鍵ds2,2,1、グループサーバ2−1−15のデータ鍵ds2,2,2を生成する。
ds2,2,1=h(df2,2||IDZ1)
ds2,2,2=h(df2,2||IDZ2)
ds2,2,2=h(df2,2||IDZ2)
このようにしてグループサーバのデータ鍵を生成すると、各支社サーバは、配下のグループサーバに対し、そのグループサーバのデータ鍵を送信する。上記サーバー間でのデータ鍵の受け渡しは事前に用意されたデータ鍵受け渡し用の暗号鍵で暗号化して行われる。
<端末機器における鍵生成機能2−2−1−1〜2−2−32−1の動作>
図5〜10を参照して行った説明により、ネットワークシステム100内の全ての端末機器に対して属性値を通知した。これらの属性値における本社属性値はその端末機器を配下とする本社サーバの本社属性値と同じである。同様に、端末機器の属性値の支社属性値は、その端末機器を配下とする支社サーバの支社属性値と同じであり、また、端末機器の属性値のグループ属性値は、その端末機器を配下とするグループサーバのグループ属性値と同じである。つまり、端末機器は、自身の属性値から、自身を配下とする本社サーバの本社属性値、支社サーバの支社属性値、グループサーバのグループ属性値を取得することができる。
図5〜10を参照して行った説明により、ネットワークシステム100内の全ての端末機器に対して属性値を通知した。これらの属性値における本社属性値はその端末機器を配下とする本社サーバの本社属性値と同じである。同様に、端末機器の属性値の支社属性値は、その端末機器を配下とする支社サーバの支社属性値と同じであり、また、端末機器の属性値のグループ属性値は、その端末機器を配下とするグループサーバのグループ属性値と同じである。つまり、端末機器は、自身の属性値から、自身を配下とする本社サーバの本社属性値、支社サーバの支社属性値、グループサーバのグループ属性値を取得することができる。
一方で、端末機器2−2−1〜2−2−32には秘密シードsを通知しておく。この通知は例えばセンターサーバ2−1−1から各端末機器にユニキャストやブロードキャストで送信することによって行う。公開鍵暗号方式を用いて通知する例として、センターの公開鍵を端末機器が取得可能な状態で、秘密シードsをセンターの秘密鍵で暗号化し、各端末機器に暗号化した秘密シードsを送信するものがある。或いは、予め端末機器の記憶装置に秘密シードsを記憶しておくことで実現してもよい。
端末機器2−2−1〜2−2−32はそれぞれ鍵生成機能2−2−1−1〜2−2−32−1を備える。鍵生成機能2−2−1−1〜2−2−32−1はそれぞれ、その端末機器の属性値(IDx,IDy,IDz)と秘密シードsとを元に、その端末機器を配下とする本社サーバ、支社サーバ、グループサーバのデータ鍵を生成する。
これらサーバのデータ鍵は、そのサーバの上位のサーバのデータ鍵と、そのサーバが属する階層に対応する属性値とを連接した値をハッシュ演算することにより求める。センターサーバのデータ鍵は秘密シードsである。秘密シードsと本社属性値IDxとを連接した値をハッシュ演算して本社サーバのデータ鍵dcxを生成し、生成したデータ鍵dcxと支社属性値IDyとを連接した値をハッシュ演算して支社サーバのデータ鍵dfxyを生成し、生成したデータ鍵dfxyとグループ属性値IDzとを連接した値をハッシュ演算してグループサーバのデータ鍵dsxyzを生成する。同一グループサーバ配下にある端末機器のデータ鍵dcx、dfxy、dsxyzは共通である。
例えば、グループサーバ2−1−8の配下である端末機器2−2−1〜2−2−4においては、鍵生成機能2−2−1−1〜2−2−4−1は、本社サーバ2−1−2のデータ鍵dc1、支社サーバ2−1−4のデータ鍵df1,1、グループサーバ2−1−8のデータ鍵ds1,1,1を次の演算を実行して生成する。
dc1=h(s||IDX1)
df1,1=h(dc1||IDy1)
ds1,1,1=h(df1,1||IDZ1)
df1,1=h(dc1||IDy1)
ds1,1,1=h(df1,1||IDZ1)
また、例えば、グループサーバ2−1−9の配下である端末機器2−2−5〜2−2−8においては、鍵生成機能2−2−5−1〜2−2−8−1は、本社サーバ2−1−2のデータ鍵dc1、支社サーバ2−1−4のデータ鍵df1,1、グループサーバ2−1−9のデータ鍵ds1,1,2を次の演算を実行して生成する。
dc1=h(s||IDX1)
df1,1=h(dc1||IDy1)
ds1,1,2=h(df1,1||IDZ2)
df1,1=h(dc1||IDy1)
ds1,1,2=h(df1,1||IDZ2)
別の例としては、グループサーバ2−1−15の配下である端末機器2−2−29〜2−2−32においては、鍵生成機能2−2−29−1〜2−2−32−1は、本社サーバ2−1−3のデータ鍵dc2、支社サーバ2−1−7のデータ鍵df2,2、グループサーバ2−1−15のデータ鍵ds2,2,2を次の演算により生成する。
dc2=h(s||IDX2)
df2,2=h(dc2||IDy2)
ds2,2,2=h(df2,2||IDZ2)
df2,2=h(dc2||IDy2)
ds2,2,2=h(df2,2||IDZ2)
<暗号通信>
図12に示すように、センターサーバ2−1−1、本社サーバ2−1−2、2−1−3、支社サーバ2−1−4〜2−1−7、グループサーバ2−1−8〜2−1−15は、それぞれ、自身のデータ鍵として秘密シードs、データ鍵dc、df、dsを取得する一方、端末機器2−2−1〜2−2−32は、それぞれ自身を配下とするセンターサーバ、本社サーバ、支社サーバ、グループサーバの秘密鍵s、データ鍵dc、df、dsを取得した。
図12に示すように、センターサーバ2−1−1、本社サーバ2−1−2、2−1−3、支社サーバ2−1−4〜2−1−7、グループサーバ2−1−8〜2−1−15は、それぞれ、自身のデータ鍵として秘密シードs、データ鍵dc、df、dsを取得する一方、端末機器2−2−1〜2−2−32は、それぞれ自身を配下とするセンターサーバ、本社サーバ、支社サーバ、グループサーバの秘密鍵s、データ鍵dc、df、dsを取得した。
各端末機器は秘密シードsを含む4種類のデータ鍵を適宜使い分けて暗号通信を行うことにより、図4に示すように、復号可能なサーバを階層化した暗号化情報を生成することができる。
以上、本実施例によれば、各階層におけるデータ鍵は、自己の階層より1つ上の階層の属性から順次計算して与えるので、データ鍵を生成するための演算処理を多数のサーバにて分散処理することができる。つまり、K1を予め与えられた秘密シードsとし、mを2以上の自然数、階層Lmのデータ鍵をKm、階層Lmの階層属性値をAm、階層Lmに属するサーバをSmと表すとき、本実施の形態では、求めようとするデータ鍵Kmの階層Lmのひとつ上の階層Lm−1のデータ鍵Km−1と、階層Lmの階層属性値Amとを連接し、連接した値Km−1||Amをハッシュ演算してKm=h(Km−1||Am)を求める処理を、階層Lm−1のサーバSm−1において実行した後、求めたデータ鍵KmをサーバSm−1からサーバSmに通知する。このような処理を上位の階層から下位の階層に向かって順次繰り返すことにより、ネットワークシステム内のすべてのサーバのデータ鍵を生成する。各サーバは自分の直下の階層に属するサーバの数だけハッシュ演算を行う。このため、一箇所のセンターサーバ等にてデータ鍵の生成処理を実行する従来の技術と比較すると、生成処理のための負荷を複数のコンピュータに分散して実行することができる点で異なる。
また、本実施例によれば、ネットワークシステム内のデータ鍵同士の間に、ネットワークシステムを構成するサーバ間の階層構造に似た階層構造を与えることができる。ネットワークシステム100において、各サーバは、階層構造の上位にあるサーバから自身のデータ鍵を通知される一方、その配下の下位のサーバに対しそのサーバの階層属性値を通知する過程で、これら下位サーバの階層属性値を取得し、自身のデータ鍵と下位サーバの階層属性値から、直下の階層のサーバのデータ鍵だけではなく、更にその下の階層のサーバのデータ鍵をも必要に応じて生成することができる。逆に、下位階層のサーバは、自身のデータ鍵と上位階層のサーバの階層属性値とから上位階層サーバのデータ鍵を求めるのは極めて困難である。これはハッシュ演算の逆演算が困難であることによる。
また、本実施例によれば、端末機器に対して上位階層のサーバ全てのデータ鍵を通知する必要はなく、秘密シードsとその端末機器の属性値(IDx、IDy、IDz)を通知するだけでよい。各サーバと暗号通信する際に用いるデータ鍵は、上位サーバのデータ鍵から順にハッシュ演算にて求めることができるからである。
実施例2のネットワークシステムのネットワーク構造は、実施例1のネットワークシステムと同じであるが、参照符号の先頭の数字が異なる。例えば、実施例1ではセンターサーバの参照符号は2−1−1であるが、実施例2のセンターサーバの参照符号は3−1−1である。本社サーバ、支社サーバ、グループサーバ、端末機器、鍵生成機能の参照符号についても同様である。
上述の実施例1では、端末機器及びグループサーバに完全な属性値を割り当てたが、本実施例では、端末機器及びグループサーバに加えて本社サーバ及び支社サーバにも完全な属性値を割り当てる点で異なる。
本来、本社サーバは支社の属性を有していないが、本社サーバの支社属性値IDyを000と定義する。同様に、本社サーバ及び支社サーバはグループの属性を有していないが、本社サーバ及び支社サーバのグループ属性値IDzを000と定義する。
本社サーバ、支社サーバ、グループサーバ、端末機器への完全な属性値の通知は、図13から図20に示す8回のIPマルチキャスト通信により行う。これら8回のIPマルチキャスト通信のうち、1回目(図13)、2回目(図14)、4回目(図16)、5回目(図17)、7回目(図19)、8回目(図20)は、それぞれ、実施例1において説明した1〜6回目(図5〜10)に順に対応する。例えば、本社属性値IDx=001及びIDx=002のマルチキャスト通知動作は図13及び図14に示すようにして行われるが、この動作は、参照符号の先頭の数字が異なる点を除けば実施例1にて図5及び図6を参照して行った動作と同様である。このため、ここでは実施例1と同様の動作については説明を省略し、実施例1では行わなかった3回目(図15)、6回目(図18)の動作について説明する。
<3回目:(2)IDy=000をIPマルチキャスト通知>
図15に示すように、センターサーバ3−1−1からIPマルチキャストパケットを用いて、属性値(IDx,IDy,IDz)のうちの支社属性値IDyが000であることを本社サーバ3−1−2、および本社サーバ3−1−3に通知する。この通知に応じて各本社サーバは自身の属性値を次のように設定する。
図15に示すように、センターサーバ3−1−1からIPマルチキャストパケットを用いて、属性値(IDx,IDy,IDz)のうちの支社属性値IDyが000であることを本社サーバ3−1−2、および本社サーバ3−1−3に通知する。この通知に応じて各本社サーバは自身の属性値を次のように設定する。
本社サーバ3−1−2:
(IDx,IDy,IDz)=(001,000,???)
本社サーバ3−1−3:
(IDx,IDy,IDz)=(002,000,???)
(IDx,IDy,IDz)=(001,000,???)
本社サーバ3−1−3:
(IDx,IDy,IDz)=(002,000,???)
<6回目:(3)IDz=000をIPマルチキャスト通知>
図18に示すように、センターサーバ3−1−1からIPマルチキャストパケットを使い、属性値(IDx,IDy,IDz)のうちのグループ属性値IDzが000であることを、本社サーバ3−1−2、3−1−3、支社サーバ3−1−4、3−1−5、3−1−6、3−1−7へ送信する。これにより本社サーバ及び支社サーバの属性値は次のように設定される。
図18に示すように、センターサーバ3−1−1からIPマルチキャストパケットを使い、属性値(IDx,IDy,IDz)のうちのグループ属性値IDzが000であることを、本社サーバ3−1−2、3−1−3、支社サーバ3−1−4、3−1−5、3−1−6、3−1−7へ送信する。これにより本社サーバ及び支社サーバの属性値は次のように設定される。
本社サーバ3−1−2:
(IDx,IDy,IDz)=(001,000,000)
本社サーバ3−1−3:
(IDx,IDy,IDz)=(002,000,000)
支社サーバ3−1−4:
(IDx,IDy,IDz)=(001,001,000)
支社サーバ3−1−5:
(IDx,IDy,IDz)=(001,002,000)
支社サーバ3−1−6:
(IDx,IDy,IDz)=(002,001,000)
支社サーバ3−1−7:
(IDx,IDy,IDz)=(002,002,000)
(IDx,IDy,IDz)=(001,000,000)
本社サーバ3−1−3:
(IDx,IDy,IDz)=(002,000,000)
支社サーバ3−1−4:
(IDx,IDy,IDz)=(001,001,000)
支社サーバ3−1−5:
(IDx,IDy,IDz)=(001,002,000)
支社サーバ3−1−6:
(IDx,IDy,IDz)=(002,001,000)
支社サーバ3−1−7:
(IDx,IDy,IDz)=(002,002,000)
実施例1にて行ったIPマルチキャスト通信に加えて、図15及び18のIPマルチキャスト通信を行うことにより、本社サーバ、支社サーバ、グループサーバ、端末機器に対して、本社属性値IDx、支社属性値IDy、グループ属性値IDzからなる完全な属性値(IDx,IDy,IDz)を設定する。各端末機器3−2−1〜3−2−32には、図21に示すように、それぞれその端末機器が接続されたグループサーバの属性値が設定される。本社サーバと支社サーバにて属性値の形式が同じために、属性値からデータ鍵を算出する鍵生成機能として、本社サーバと支社サーバはほとんど同じ条件の処理を適用することができる。
次に、センターサーバ、本社サーバ、支社サーバ、端末機器の鍵生成機能にて行うデータ鍵の算出について図22を参照して説明する。
<センターサーバの鍵生成機能3−1−1−1の動作>
センターサーバ3−1−1の鍵生成機能3−1−1−1では、秘密シードのsと本社サーバの属性値IDxをハッシュ演算することにより、本社サーバのデータ鍵を算出する。
センターサーバ3−1−1の鍵生成機能3−1−1−1では、秘密シードのsと本社サーバの属性値IDxをハッシュ演算することにより、本社サーバのデータ鍵を算出する。
本社サーバ3−1−2のデータ鍵dc1,0,0:
dc1,0,0=h(s||IDX1)
本社サーバ3−1−3のデータ鍵dc2,0,0:
dc2,0,0=h(s||IDX2)
dc1,0,0=h(s||IDX1)
本社サーバ3−1−3のデータ鍵dc2,0,0:
dc2,0,0=h(s||IDX2)
データ鍵生成後、センターサーバ3−1−1は、データ鍵dc1,0,0を本社サーバ3−1−2に送信し、データ鍵dc2,0,0を本社サーバ3−1−3に送信する。センターサーバ3−1−1は生成したデータ鍵dc1,0,0及びdc2,0,0を記憶装置に保持してもいいし、或いは、必要に応じて生成することとしてもよい。これにより、端末機器がデータ鍵dc1,0,0及びdc2,0,0を用いて暗号化した通信を復号することができる。
また、鍵生成機能3−1−1−1は、予め生成したデータ鍵dc1,0,0及びdc2,0,0を用いて、必要に応じて或いは予め、支社サーバのデータ鍵を生成する。データ鍵を求めようとする支社サーバの上流に位置する本社サーバのデータ鍵と、その支社サーバの属性値IDyをハッシュ演算する以下のような演算処理を実行することにより、所望の支社サーバのデータ鍵を算出する。
支社サーバ3−1−4のデータ鍵df1,1,0:
df1,1,0=h(dc1,0,0||IDy1)
支社サーバ3−1−5のデータ鍵df1,2,0:
df1,2,0=h(dc1,0,0||IDy2)
支社サーバ3−1−6のデータ鍵df2,1,0:
df2,1,0=h(dc2,0,0||IDy1)
支社サーバ3−1−7のデータ鍵df2,2,0:
df2,2,0=h(dc2,0,0||IDy2)
df1,1,0=h(dc1,0,0||IDy1)
支社サーバ3−1−5のデータ鍵df1,2,0:
df1,2,0=h(dc1,0,0||IDy2)
支社サーバ3−1−6のデータ鍵df2,1,0:
df2,1,0=h(dc2,0,0||IDy1)
支社サーバ3−1−7のデータ鍵df2,2,0:
df2,2,0=h(dc2,0,0||IDy2)
更に、鍵生成機能3−1−1−1は、予め生成したデータ鍵df1,1,0、df1,2,0、df2,1,0、df2,2,0と、グループ属性値IDzを用いて、必要に応じて或いは予め、グループサーバのデータ鍵を生成する。データ鍵を求めようとするグループサーバの上流に位置する支社サーバのデータ鍵と、そのグループサーバの属性値IDzをハッシュ演算する以下のような演算処理を実行することにより、所望のグループサーバのデータ鍵を算出する。
グループサーバ3−1−8のデータ鍵ds1,1,1:
ds1,1,1=h(df1,1,0||IDZ1)
グループサーバ3−1−9のデータ鍵ds1,1,2:
ds1,1,2=h(df1,1,0||IDZ2)
グループサーバ3−1−10のデータ鍵ds1,2,1:
ds1,2,1=h(df1,2,0||IDZ1)
グループサーバ3−1−11のデータ鍵ds1,2,2:
ds1,2,2=h(df1,2,0||IDZ2)
グループサーバ3−1−12のデータ鍵ds2,1,1:
ds2,1,1=h(df2,1,0||IDZ1)
グループサーバ3−1−13のデータ鍵ds2,1,2:
ds2,1,2=h(df2,1,0||IDZ2)
グループサーバ3−1−14のデータ鍵ds2,2,1:
ds2,2,1=h(df2,2,0||IDZ1)
グループサーバ3−1−15のデータ鍵ds2,2,2:
ds2,2,2=h(df2,2,0||IDZ2)
ds1,1,1=h(df1,1,0||IDZ1)
グループサーバ3−1−9のデータ鍵ds1,1,2:
ds1,1,2=h(df1,1,0||IDZ2)
グループサーバ3−1−10のデータ鍵ds1,2,1:
ds1,2,1=h(df1,2,0||IDZ1)
グループサーバ3−1−11のデータ鍵ds1,2,2:
ds1,2,2=h(df1,2,0||IDZ2)
グループサーバ3−1−12のデータ鍵ds2,1,1:
ds2,1,1=h(df2,1,0||IDZ1)
グループサーバ3−1−13のデータ鍵ds2,1,2:
ds2,1,2=h(df2,1,0||IDZ2)
グループサーバ3−1−14のデータ鍵ds2,2,1:
ds2,2,1=h(df2,2,0||IDZ1)
グループサーバ3−1−15のデータ鍵ds2,2,2:
ds2,2,2=h(df2,2,0||IDZ2)
<本社サーバの鍵生成機能3−1−2−1、3−1−3−1の動作>
本社サーバ3−1−2において、鍵生成機能3−1−2−1は、センターサーバ3−1−1から受信したデータ鍵dc1,0,0と、支社サーバの属性値IDyを用いて、必要に応じて或いは予め、支社サーバ3−1−4、3−1−5のデータ鍵df1,1,0、df1,2,0を生成する。ここで実行される演算処理は、センターサーバ3−1−1において、鍵生成機能3−1−1−1がデータ鍵df1,1,0、df1,2,0を生成するために行う演算として既に説明したものと同じである。
本社サーバ3−1−2において、鍵生成機能3−1−2−1は、センターサーバ3−1−1から受信したデータ鍵dc1,0,0と、支社サーバの属性値IDyを用いて、必要に応じて或いは予め、支社サーバ3−1−4、3−1−5のデータ鍵df1,1,0、df1,2,0を生成する。ここで実行される演算処理は、センターサーバ3−1−1において、鍵生成機能3−1−1−1がデータ鍵df1,1,0、df1,2,0を生成するために行う演算として既に説明したものと同じである。
また、鍵生成機能3−1−4−1は、予め生成したデータ鍵df1,1,0、df1,2,0と、グループ属性値IDzを用いて、必要に応じて或いは予め、グループサーバ3−1−8〜3−1−11のデータ鍵を生成する。ここで実行される演算処理は、センターサーバ3−1−1において、鍵生成機能3−1−1−1がデータ鍵ds1,1,1、ds1,1,2、ds1,2,1、ds1,2,2を生成するために行う演算として既に説明したものと同じである。
他方、本社サーバ3−1−3において、鍵生成機能3−1−3−1は、上述の鍵生成機能3−1−2−1と同様に、センターサーバ3−1−1から受信したデータ鍵dc2,0,0と、支社属性値IDyを用いてデータ鍵df2,1,0、df2,2,0を生成する。更に、鍵生成機能3−1−3−1は、生成したデータ鍵df2,1,0、df2,2,0と、グループ属性値IDzを用いてデータ鍵ds2,1,1、ds2,1,2、ds2,2,1、ds2,2,2を生成する。このとき鍵生成機能3−1−3−1が実行する演算処理は、鍵生成機能3−1−1−1が同じデータ鍵を生成する際に実行した既述の演算処理と同じである。
<支社サーバの鍵生成機能3−1−4−1〜3−1−7−1の動作>
支社サーバはいずれも上流にひとつの本社サーバが接続され、下流に2つのグループサーバが接続されている。支社サーバ3−1−4〜3−1−7において、鍵生成機能3−1−4−1〜3−1−7−1は、それぞれ、その支社サーバに接続された本社サーバから受信した自身のデータ鍵と、その支社サーバに接続されたグループサーバのグループ属性値IDzとを用いて、必要に応じて或いは予め、グループサーバのデータ鍵を生成する。支社サーバは、生成する際に用いたグループ属性値を有するグループサーバに対してそのデータ鍵を送信する。
支社サーバはいずれも上流にひとつの本社サーバが接続され、下流に2つのグループサーバが接続されている。支社サーバ3−1−4〜3−1−7において、鍵生成機能3−1−4−1〜3−1−7−1は、それぞれ、その支社サーバに接続された本社サーバから受信した自身のデータ鍵と、その支社サーバに接続されたグループサーバのグループ属性値IDzとを用いて、必要に応じて或いは予め、グループサーバのデータ鍵を生成する。支社サーバは、生成する際に用いたグループ属性値を有するグループサーバに対してそのデータ鍵を送信する。
支社サーバ3−1−4を例に挙げて説明する。支社サーバ3−1−4は、上流の本社サーバ3−1−2から自身のデータ鍵df1,1,0を受信する。データ鍵df1,1,0と、グループサーバ3−1−8のグループ属性値IDz1とを連接したものをハッシュ演算することにより、支社サーバ3−1−4は、グループサーバ3−1−8のデータ鍵ds1,1,1を生成する。このハッシュ演算は、センターサーバ3−1−1において鍵生成機能3−1−1−1がデータ鍵ds1,1,1を生成する際に行うものと同じである。
ds1,1,1=h(df1,1,0||IDZ1)
支社サーバ3−1−4は生成したデータ鍵ds1,1,1をグループサーバ3−1−8に送信する。また、支社サーバ3−1−4は、データ鍵df1,1,0と、グループサーバ3−1−9のグループ属性値IDz2とを連接したものをハッシュ演算することにより、グループサーバ3−1−9のデータ鍵ds1,1,2を生成する。このハッシュ演算は、鍵生成機能3−1−1−1がデータ鍵ds1,1,2を生成する際に行うものと同じである。
ds1,1,2=h(df1,1,0||IDZ2)
支社サーバ3−1−4は生成したデータ鍵ds1,1,2をグループサーバ3−1−9に送信する。
同様に、支社サーバ3−1−5〜3−1−7においても、その支社サーバの上流にある本社サーバから受け取った自身のデータ鍵と、生成しようとするデータ鍵の宛先となるグループサーバのグループ属性値IDzとを連接したものをハッシュ演算することにより、その支社サーバの下流のグループサーバのデータ鍵を生成し、対応するグループサーバに送信する。
支社サーバ3−1−5では鍵生成機能3−1−5−1にて次のハッシュ演算を行い、生成したデータ鍵ds1,2,1をグループサーバ3−1−10に送信する。
ds1,2,1=h(df1,2,0||IDZ1)
また、鍵生成機能3−1−5−1にて次のハッシュ演算を行い、生成したデータ鍵ds1,2,2をグループサーバ3−1−11に送信する。
ds1,2,2=h(df1,2,0||IDZ2)
支社サーバ3−1−6では鍵生成機能3−1−6−1にて次のハッシュ演算を行い、生成したデータ鍵ds2,1,1をグループサーバ3−1−12に送信する。
ds2,1,1=h(df2,1,0||IDZ1)
また、鍵生成機能3−1−6−1にて次のハッシュ演算を行い、生成したデータ鍵ds2,1,2をグループサーバ3−1−13に送信する。
ds2,1,2=h(df2,1,0||IDZ2)
支社サーバ3−1−7では鍵生成機能3−1−7−1にて次のハッシュ演算を行い、生成したデータ鍵ds2,2,1をグループサーバ3−1−14に送信する。
ds2,2,1=h(df2,2,0||IDZ1)
また、鍵生成機能3−1−7−1にて次のハッシュ演算を行い、生成したデータ鍵ds2,2,2をグループサーバ3−1−15に送信する。
ds2,2,2=h(df2,2,0||IDZ2)
上記サーバー間でのデータ鍵の受け渡しは事前に用意されたデータ鍵受け渡し用の暗号鍵で暗号化して行われる。
<端末機器の鍵生成機能3−2−1−1〜3−2−32−1の動作>
図13〜20に示した手順により、端末機器3−2−1〜3−2−32には、接続されたグループサーバと同じ属性値(IDx,IDy,IDz)が図21に示すように設定されている。本実施例では、8つのグループサーバそれぞれの配下に4つの端末機器が接続されているので、属性値が同じ端末機器が4台ずつ存在する。
図13〜20に示した手順により、端末機器3−2−1〜3−2−32には、接続されたグループサーバと同じ属性値(IDx,IDy,IDz)が図21に示すように設定されている。本実施例では、8つのグループサーバそれぞれの配下に4つの端末機器が接続されているので、属性値が同じ端末機器が4台ずつ存在する。
端末機器は自身に設定された属性値から、自身が属する本社サーバの本社属性値、支社サーバの支社属性値、グループサーバのグループ属性値を取得することができる。各端末機器の鍵生成機能は、自身に設定された属性値と、別途通知される秘密シードsとを元に、自身の上流にある本社サーバ、支社サーバ、グループサーバと通信するためのデータ鍵を生成する。秘密シードsと本社属性値IDxとを連接した値をハッシュ演算して本社サーバのデータ鍵dcxyzを生成し、生成したデータ鍵dcxyzと支社属性値IDyとを連接した値をハッシュ演算して支社サーバのデータ鍵dfxyzを生成し、生成したデータ鍵dfxyzとグループ属性値IDzとを連接した値をハッシュ演算してグループサーバのデータ鍵dsxyzを生成する。同一グループサーバ配下にある端末機器のデータ鍵dcxyz、dfxyz、dsxyzは共通である。
例えば、端末機器3−2−1〜3−2−4の鍵生成機能3−2−1−1〜3−2−4−1は、必要に応じて或いは予め、次の4つのハッシュ演算を行うことにより、本社サーバ3−1−2のデータ鍵dc1,0,0、支社サーバ3−1−4のデータ鍵df1,1,0、グループサーバ3−1−8のデータ鍵ds1,1,1を生成する。
dc1,0,0=h(s||IDX1)
df1,1,0=h(dc1,0,0||IDy1)
ds1,1,1=h(df1,1,0||IDZ1)
df1,1,0=h(dc1,0,0||IDy1)
ds1,1,1=h(df1,1,0||IDZ1)
また、例えば、端末機器3−2−5〜3−2−8の鍵生成機能3−2−5−1〜3−2−8−1は、必要に応じて或いは予め、次の4つのハッシュ演算を行うことにより、本社サーバ3−1−2のデータ鍵dc1,0,0、支社サーバ3−1−4のデータ鍵df1,1,0、グループサーバ3−1−9のデータ鍵ds1,1,2を生成する。
dc1,0,0=h(s||IDX1)
df1,1,0=h(dc1,0,0||IDy1)
ds1,1,2=h(df1,1,0||IDZ2)
df1,1,0=h(dc1,0,0||IDy1)
ds1,1,2=h(df1,1,0||IDZ2)
別の例としては、端末機器3−2−29〜3−2−32の鍵生成機能3−2−29−1〜3−2−32−1は、必要に応じて或いは予め、次の4つのハッシュ演算を行うことにより、本社サーバ3−1−3のデータ鍵dc2,0,0、支社サーバ3−1−7のデータ鍵df2,2,0、グループサーバ3−1−15のデータ鍵ds2,2,2を生成する。
dc2,0,0=h(s||IDX2)
df2,2,0=h(dc2,0,0||IDy2)
ds2,2,2=h(df2,2,0||IDZ2)
df2,2,0=h(dc2,0,0||IDy2)
ds2,2,2=h(df2,2,0||IDZ2)
<暗号通信>
実施例1では、各端末機器は4つのデータ鍵、即ち、自身を配下とするセンターサーバ、本社サーバ、支社サーバ、グループサーバの4種類のサーバそれぞれと暗号通信を行うためのデータ鍵を生成したが、これら4種類のサーバでは自身の直下にあるサーバのデータ鍵のみを生成して暗号通信を行った。例えば、センターサーバ2−1−1は本社サーバ2−1−2、2−1−3のデータ鍵を生成するが、支社サーバ2−1−4〜2−1−7、グループサーバ2−1−8〜2−1−15のデータ鍵は生成しなかった。
実施例1では、各端末機器は4つのデータ鍵、即ち、自身を配下とするセンターサーバ、本社サーバ、支社サーバ、グループサーバの4種類のサーバそれぞれと暗号通信を行うためのデータ鍵を生成したが、これら4種類のサーバでは自身の直下にあるサーバのデータ鍵のみを生成して暗号通信を行った。例えば、センターサーバ2−1−1は本社サーバ2−1−2、2−1−3のデータ鍵を生成するが、支社サーバ2−1−4〜2−1−7、グループサーバ2−1−8〜2−1−15のデータ鍵は生成しなかった。
これに対して、本実施例では、各サーバの鍵生成機能は、自身の直下にあるサーバだけではなく、そのサーバの更に下流にあるサーバのデータ鍵も生成する。例えば、ネットワークシステムの最上位にあるセンターサーバ3−1−1では全てのサーバのデータ鍵を生成する。また、本社サーバ3−1−2では直下にある、本社サーバ3−1−1を親とすればいわば子に相当する関係にある支社サーバ3−1−4、3−1−5だけではなく、孫に相当するグループサーバ3−1−8〜3−1−11のデータ鍵についても生成する。これにより、図4に示すような暗号通信の可否の関係を構築する。
例えば、端末機器3−2−1は秘密シードs、データ鍵dc1,0,0、df1,1,0、ds1,1,1を用いて暗号通信を行うことができるが、秘密シードsを用いて暗号化した場合、復号に必要な鍵である秘密シードsを有するのはセンターサーバ3−1−1のみであり、他のサーバは鍵を保持していないため復号できない。本社サーバ3−1−2のデータ鍵dc1,0,0にて暗号化した暗号通信の場合、本社サーバ3−1−2とその上位にあるセンターサーバ3−1−1はデータ鍵dc1,0,0を生成可能であり復号可能であるが、他のサーバでは生成できず復号できない。
以上、本発明を実施の形態及び実施例に即して説明したが、本発明はこれに限定されるものではなく、発明の技術的範囲内で様々な変形が可能であることは当業者には明らかであろう。
例えば、属性値とは別に端末機器に付与される固有IDを用いて、センターサーバが特定の端末機器と暗号通信を行うことが考えられる。手順は例えば次の通りである。
(1)センターサーバは、暗号通信しようとする端末機器からその端末機器の固有IDを取得する。
(2)センターサーバは、その固有IDと秘密シードsとを連接し、それをハッシュして暗号鍵dkiを生成する。
(3)センターサーバは暗号鍵dkiを用いて通信文を暗号化してその特定の端末機器に送信する。
(4)センターサーバから暗号文を受信した端末機器は、自身の固有IDと予め通知されている秘密シードsとを連接し、それをハッシュして暗号鍵dkiを生成する。
(5)端末機器は自身で生成した暗号鍵dkiを用いて暗号文を復号する。
上述したデータ鍵による暗号通信では、センターサーバと、一のグループサーバ配下の複数の端末機器との間での暗号通信を行うものであり、いわば一対多の暗号通信であったが、ここで述べたような暗号鍵dkiによる暗号通信を併用することにより、センターサーバと特定の端末装置との間の暗号通信をも可能とすることができる。尚、この例ではセンターサーバと端末機器の間の個別暗号鍵での暗号通信を示したが、本社サーバと端末機器、支社サーバと端末機器、グループサーバと端末機器の各々の間でも同様に各サーバの暗号鍵と端末機器の個有IDを用い個別の暗号通信を行うことが出来る。
100 ネットワークシステム
1−1−1、2−1−1、3−1−1 センターサーバ
1−1−2、1−1−3、2−1−2、2−1−3 本社サーバ
1−1−4〜1−1−7、2−1−4〜2−1−7、3−1−4〜3−1−7 支社サーバ
1−1−8〜1−1−15、2−1−8〜2−1−15、3−1−8〜3−1−15 グループサーバ
1−1−1−1、1−1−2−1、1−1−4−1、1−1−8−1、1−2−1−1、2−1−1−1、2−1−2−1、2−1−4−1、2−1−8−1、2−2−1−1、3−1−1−1、3−1−2−1、3−1−4−1、3−1−8−1、3−2−1−1 鍵生成機能
1−2−1〜1−2−32、2−2−1〜2−2−32、3−2−1〜3−2−32 端末機器
1−3−7、1−3−8、1−3−9、1−3−10 データ鍵
1−1−1、2−1−1、3−1−1 センターサーバ
1−1−2、1−1−3、2−1−2、2−1−3 本社サーバ
1−1−4〜1−1−7、2−1−4〜2−1−7、3−1−4〜3−1−7 支社サーバ
1−1−8〜1−1−15、2−1−8〜2−1−15、3−1−8〜3−1−15 グループサーバ
1−1−1−1、1−1−2−1、1−1−4−1、1−1−8−1、1−2−1−1、2−1−1−1、2−1−2−1、2−1−4−1、2−1−8−1、2−2−1−1、3−1−1−1、3−1−2−1、3−1−4−1、3−1−8−1、3−2−1−1 鍵生成機能
1−2−1〜1−2−32、2−2−1〜2−2−32、3−2−1〜3−2−32 端末機器
1−3−7、1−3−8、1−3−9、1−3−10 データ鍵
Claims (16)
- サーバS0、サーバS0に接続されたサーバS1、サーバS1に接続されたサーバS2、・・・、サーバSa−1に接続されたサーバSa(aは予め定められた自然数)を備えるネットワークシステムの、サーバS1、S2、…、Saの暗号鍵K1、K2、…、Kaを生成するため、
サーバSi−1(iはa以下の自然数)に対して予め定められた暗号鍵Ki−1と、サーバSi−1に接続されたサーバSiに対して予め定められた属性値IDiとを、一方向性関数Fに入力して暗号鍵Kiを生成する処理を、サーバSi−1が実行する段階1、及び、
暗号鍵KiをサーバSiに送信する処理をサーバSi−1が実行する段階2を、
i=1、2、…、a−1の順に順次繰り返すことを特徴とする暗号鍵生成方法。 - 請求項1に記載の暗号鍵生成方法において、
ネットワークシステムはサーバS0を根ノードとし、サーバS1、S2、…、Saをそれぞれ第1階層のノード、第2階層のノード、…、第a階層のノードとし、サーバSaに接続された端末機器Tを葉ノードとする木構造を有し、
暗号鍵Kj(jはa−1以下の自然数)の生成に先立って、属性値IDjをサーバSjに通知する処理をサーバS0が実行する段階を含む
ことを特徴とする暗号鍵生成方法。 - 請求項2に記載の暗号鍵生成方法において、サーバSjの配下にあるサーバ及び端末機器に対し、サーバSjの属性値IDjを通知する処理をサーバS0が実行する段階を含むことを特徴とする暗号鍵生成方法。
- 請求項3に記載の暗号鍵生成方法において
端末機器Tと、サーバS1、S2、…、SaのいずれかであるサーバSx(xはa以下の自然数)との間で暗号通信を行うための共通鍵方式の暗号鍵Kxを端末機器Tが取得するため、
予め取得したサーバS0の暗号鍵K0、及び、予め通知された属性値ID1、ID2、…、IDxに基づいて、サーバSm−1(mはa以下の自然数)に対して予め定められた暗号鍵Km−1と、サーバSm−1に接続されたサーバSmの属性値IDmとを、一方向性関数Fに入力して暗号鍵Kmを生成する処理を、mがxになるまでmをひとつずつ増やしながら端末機器Tが繰り返し実行する
ことを特徴とする暗号鍵生成方法。 - 請求項1乃至4のいずれかに記載の暗号鍵生成方法において、一方向性関数Fはハッシュ関数であることを特徴とする暗号鍵生成方法。
- サーバS0、サーバS0に接続されたサーバS1、サーバS1に接続されたサーバS2、・・・、サーバSa−1に接続されたサーバSa(aは予め定められた自然数)を備えるネットワークシステムであって、
サーバSi−1(i=1、2、…、a)はそれぞれ、
サーバSi−1に対して予め定められた暗号鍵Ki−1と、サーバSi−1に接続されたサーバSiに対して予め定められた属性値IDiとを、一方向性関数Fに入力して暗号鍵Kiを生成する手段と、
生成した暗号鍵KiをサーバSiに送信する処理を実行する手段とを備える
ことを特徴とするネットワークシステム。 - 請求項6に記載のネットワークシステムにおいて、
サーバS0を根ノードとし、サーバS1、S2、…、Saをそれぞれ第1階層のノード、第2階層のノード、…、第a階層のノードとし、サーバSaに接続された端末機器Tを葉ノードとする木構造を有し、
サーバS0は、暗号鍵Kj(jはa−1以下の自然数)の生成に先立って、属性値IDjをサーバSjに通知する処理を実行する手段を備える
ことを特徴とするネットワークシステム。 - 請求項7に記載のネットワークシステムにおいて、サーバS0は、サーバSjの配下にあるサーバ及び端末機器に対し、サーバSjの属性値IDjを通知する処理を実行する手段を備えることを特徴とするネットワークシステム。
- 請求項8に記載のネットワークシステムにおいて、
端末機器Tと、サーバS1、S2、…、SaのいずれかであるサーバSx(xはa以下の自然数)との間で暗号通信を行うための共通鍵方式の暗号鍵Kxを生成するため、
予め取得したサーバS0の暗号鍵K0、及び、予め通知された属性値ID1、ID2、…、IDxに基づいて、サーバSm−1(mはa以下の自然数)に対して予め定められた暗号鍵Km−1と、サーバSm−1に接続されたサーバSmの属性値IDmとを、一方向性関数Fに入力して暗号鍵Kmを生成する処理を、mがxになるまでmをひとつずつ増やしながら繰り返し実行する手段を端末機器Tが備える
ことを特徴とするネットワークシステム。 - 請求項6乃至9のいずれかに記載のネットワークシステムにおいて、一方向性関数Fはハッシュ関数であることを特徴とするネットワークシステム。
- 請求項6乃至10のいずれかに記載のネットワークシステムにおいて、
端末機器はそれぞれ自端末機器に固有の識別子である固有IDを記憶する記憶装置を備え、
サーバSb(bは0以上a以下の整数)は端末機器それぞれの固有IDを記憶する記憶装置を備え、
サーバSb及び端末機器は暗号鍵Kbを記憶する記憶装置を備え、
サーバSbと一の端末機器は、それぞれ、その端末機器の固有IDと暗号鍵Kbとを元に生成した暗号鍵を用いて、サーバSbとその端末機器との間の暗号通信を行うことを特徴とするネットワークシステム。 - サーバS0、サーバS0に接続されたサーバS1、サーバS1に接続されたサーバS2、・・・、サーバSa−1に接続されたサーバSa(aは予め定められた自然数)を備えるネットワークシステムのサーバS0、S1、S2、…、Sa−1のいずれかのサーバの処理装置にて実行されて、
当該処理装置がサーバSi−1(iはa以下の自然数)の処理装置であるとき、
サーバSi−1に対して予め定められた暗号鍵Ki−1と、サーバSi−1に接続されたサーバSiに対して予め定められた属性値IDiとを、一方向性関数Fに入力して暗号鍵Kiを生成する手段、及び、
生成した暗号鍵KiをサーバSiに送信する処理を実行する手段
として当該処理装置を機能させるためのプログラム。 - 請求項12に記載のプログラムにおいて、
ネットワークシステムは、サーバS0を根ノードとし、サーバS1、S2、…、Saをそれぞれ第1階層のノード、第2階層のノード、…、第a階層のノードとし、サーバSaに接続された端末機器Tを葉ノードとする木構造を有し、
サーバS0の処理装置にて実行され、
暗号鍵Kj(jはa−1以下の自然数)の生成に先立って、属性値IDjをサーバSjに通知する処理を実行する手段としてサーバS0の処理装置を機能させるためのプログラム。 - 請求項13に記載のプログラムにおいて、サーバSjの配下にあるサーバ及び端末機器に対してサーバSjの属性値IDjを通知する処理を実行する手段として、サーバS0の処理装置を機能させるためのプログラム。
- サーバS0を根ノードとし、サーバS1、S2、…、Saをそれぞれ第1階層のノード、第2階層のノード、…、第a階層のノードとし、サーバSaに接続された端末機器Tを葉ノードとする木構造を有するネットワークシステムの端末機器Tの処理装置にて実行され、
端末機器Tと、サーバS1、S2、…、SaのいずれかであるサーバSx(xはa以下の自然数)との間で暗号通信を行うための共通鍵方式の暗号鍵Kxを生成するため、
予め取得したサーバS0の暗号鍵K0、及び、予め通知された属性値ID1、ID2、…、IDxに基づいて、サーバSm−1(mはa以下の自然数)に対して予め定められた暗号鍵Km−1と、サーバSm−1に接続されたサーバSmの属性値IDmとを、一方向性関数Fに入力して暗号鍵Kmを生成する処理を、mがxになるまでmをひとつずつ増やしながら繰り返し実行する手段として、端末機器Tの処理装置を機能させるプログラム。 - 請求項12乃至15のいずれかに記載のプログラムにおいて、一方向性関数Fはハッシュ関数であることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009064645A JP2010219912A (ja) | 2009-03-17 | 2009-03-17 | 暗号鍵生成方法、ネットワークシステム及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009064645A JP2010219912A (ja) | 2009-03-17 | 2009-03-17 | 暗号鍵生成方法、ネットワークシステム及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010219912A true JP2010219912A (ja) | 2010-09-30 |
Family
ID=42978256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009064645A Pending JP2010219912A (ja) | 2009-03-17 | 2009-03-17 | 暗号鍵生成方法、ネットワークシステム及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010219912A (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016100832A (ja) * | 2014-11-25 | 2016-05-30 | 富士電機株式会社 | 鍵データ生成装置、鍵データ生成システム、及び鍵データ生成方法 |
CN109074562A (zh) * | 2016-02-23 | 2018-12-21 | 区块链控股有限公司 | 基于区块链的合并式数据传输控制方法和系统 |
US11120437B2 (en) | 2016-02-23 | 2021-09-14 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
US11182782B2 (en) | 2016-02-23 | 2021-11-23 | nChain Holdings Limited | Tokenisation method and system for implementing exchanges on a blockchain |
US11194898B2 (en) | 2016-02-23 | 2021-12-07 | nChain Holdings Limited | Agent-based turing complete transactions integrating feedback within a blockchain system |
US11308486B2 (en) | 2016-02-23 | 2022-04-19 | nChain Holdings Limited | Method and system for the secure transfer of entities on a blockchain |
US11349645B2 (en) | 2016-02-23 | 2022-05-31 | Nchain Holdings Ltd. | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11356280B2 (en) | 2016-02-23 | 2022-06-07 | Nchain Holdings Ltd | Personal device security using cryptocurrency wallets |
US11373152B2 (en) | 2016-02-23 | 2022-06-28 | nChain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
US11410145B2 (en) | 2016-02-23 | 2022-08-09 | nChain Holdings Limited | Blockchain-implemented method for control and distribution of digital content |
US11455378B2 (en) | 2016-02-23 | 2022-09-27 | nChain Holdings Limited | Method and system for securing computer software using a distributed hash table and a blockchain |
US11606219B2 (en) | 2016-02-23 | 2023-03-14 | Nchain Licensing Ag | System and method for controlling asset-related actions via a block chain |
US11621833B2 (en) | 2016-02-23 | 2023-04-04 | Nchain Licensing Ag | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US11625694B2 (en) | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
US11727501B2 (en) | 2016-02-23 | 2023-08-15 | Nchain Licensing Ag | Cryptographic method and system for secure extraction of data from a blockchain |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185014A (ja) * | 1997-09-12 | 1999-03-30 | Teruo Matsumoto | 暗号情報交換方式 |
JP2004030592A (ja) * | 2002-04-11 | 2004-01-29 | Ricoh Co Ltd | 紙識別情報管理システム、紙識別情報管理サーバ、およびクライアント装置 |
JP2005539423A (ja) * | 2002-09-16 | 2005-12-22 | サムスン エレクトロニクス カンパニー リミテッド | メタデータ暗号化及び復号化方法と暗号化されたメタデータ管理方法及びそのシステム |
-
2009
- 2009-03-17 JP JP2009064645A patent/JP2010219912A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185014A (ja) * | 1997-09-12 | 1999-03-30 | Teruo Matsumoto | 暗号情報交換方式 |
JP2004030592A (ja) * | 2002-04-11 | 2004-01-29 | Ricoh Co Ltd | 紙識別情報管理システム、紙識別情報管理サーバ、およびクライアント装置 |
JP2005539423A (ja) * | 2002-09-16 | 2005-12-22 | サムスン エレクトロニクス カンパニー リミテッド | メタデータ暗号化及び復号化方法と暗号化されたメタデータ管理方法及びそのシステム |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016100832A (ja) * | 2014-11-25 | 2016-05-30 | 富士電機株式会社 | 鍵データ生成装置、鍵データ生成システム、及び鍵データ生成方法 |
CN109074562A (zh) * | 2016-02-23 | 2018-12-21 | 区块链控股有限公司 | 基于区块链的合并式数据传输控制方法和系统 |
JP2019508950A (ja) * | 2016-02-23 | 2019-03-28 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | 統合ブロックチェーンに基づくデータ転送制御方法及びシステム |
US11120437B2 (en) | 2016-02-23 | 2021-09-14 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
US11182782B2 (en) | 2016-02-23 | 2021-11-23 | nChain Holdings Limited | Tokenisation method and system for implementing exchanges on a blockchain |
US11194898B2 (en) | 2016-02-23 | 2021-12-07 | nChain Holdings Limited | Agent-based turing complete transactions integrating feedback within a blockchain system |
US11308486B2 (en) | 2016-02-23 | 2022-04-19 | nChain Holdings Limited | Method and system for the secure transfer of entities on a blockchain |
US11347838B2 (en) | 2016-02-23 | 2022-05-31 | Nchain Holdings Ltd. | Blockchain implemented counting system and method for use in secure voting and distribution |
US11349645B2 (en) | 2016-02-23 | 2022-05-31 | Nchain Holdings Ltd. | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11356280B2 (en) | 2016-02-23 | 2022-06-07 | Nchain Holdings Ltd | Personal device security using cryptocurrency wallets |
US11373152B2 (en) | 2016-02-23 | 2022-06-28 | nChain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
US11410145B2 (en) | 2016-02-23 | 2022-08-09 | nChain Holdings Limited | Blockchain-implemented method for control and distribution of digital content |
US11455378B2 (en) | 2016-02-23 | 2022-09-27 | nChain Holdings Limited | Method and system for securing computer software using a distributed hash table and a blockchain |
US11606219B2 (en) | 2016-02-23 | 2023-03-14 | Nchain Licensing Ag | System and method for controlling asset-related actions via a block chain |
US11621833B2 (en) | 2016-02-23 | 2023-04-04 | Nchain Licensing Ag | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
US11625694B2 (en) | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
US11727501B2 (en) | 2016-02-23 | 2023-08-15 | Nchain Licensing Ag | Cryptographic method and system for secure extraction of data from a blockchain |
US11755718B2 (en) | 2016-02-23 | 2023-09-12 | Nchain Licensing Ag | Blockchain implemented counting system and method for use in secure voting and distribution |
US11936774B2 (en) | 2016-02-23 | 2024-03-19 | Nchain Licensing Ag | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
US11972422B2 (en) | 2016-02-23 | 2024-04-30 | Nchain Licensing Ag | Registry and automated management method for blockchain-enforced smart contracts |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010219912A (ja) | 暗号鍵生成方法、ネットワークシステム及びプログラム | |
Chen et al. | Verifiable computation over large database with incremental updates | |
Chen et al. | Secure outsourced attribute-based signatures | |
KR101062995B1 (ko) | Scada 시스템 통신 환경에 효율적인 키 관리 방법 | |
CN107864233A (zh) | 全局唯一id结构及生成方法 | |
CN109937565B (zh) | 用于在基于主题的发布订阅系统中传递数据的方法和设备 | |
CN105915369A (zh) | 一种配置信息管理方法及装置 | |
CN103873236B (zh) | 一种可搜索加密方法及设备 | |
WO2003084166A1 (en) | Key management protocol | |
Lu | A novel high-order tree for secure multicast key management | |
CN113612604B (zh) | 面向异步网络的安全分布式随机数生成方法及装置 | |
JP2021145388A (ja) | デジタル署名方法、署名情報検証方法、関連装置及び電子機器 | |
JP4938763B2 (ja) | ブロードキャスト暗号化システムにおけるタグの形成方法 | |
CN102187615A (zh) | 生成加密密钥的方法、网络及其计算机程序 | |
CN108512914A (zh) | 一种业务id生成方法及装置 | |
JP2010166228A (ja) | 分散型秘匿化データ統合装置、分散型秘匿化データ統合方法および分散型秘匿化データ統合用プログラム | |
JP6100922B2 (ja) | 通信制御装置、通信制御方法、プログラムおよび通信システム | |
Liu et al. | On approximating minimum 3-connected $ m $-dominating set problem in unit disk graph | |
JP6029936B2 (ja) | 通信制御装置、通信装置およびプログラム | |
JP5992295B2 (ja) | 通信制御装置、通信装置およびプログラム | |
CN106789891A (zh) | 一种适用于IaaS云平台的多维度软件授权控制方法 | |
CN110570309B (zh) | 用于更换区块链网络的领导者的方法和系统 | |
CN103490890A (zh) | 一种基于圆锥曲线组合公钥认证密码方法 | |
CN108206756A (zh) | 一种视联网数据校验的方法和装置 | |
CN113965315B (zh) | 一种轻量级密码学安全伪随机数生成器及伪随机数生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110907 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131212 |