説明

情報共有方法とシステム

【課題】鍵の管理コストの抑制、暗号化/復号化の高速化を図る方法、システムの提供。
【解決手段】ネットワーク上に始点ノードと終点ノードを除く各ノードの入力リンクが1本、出力リンクが3本の論理ネットワークを構築し、各ノードからの3本の出力リンクにはHall行列の3つの行列、及び、前記3つの行列の逆行列のうちいずれかを割り当て、ユーザからの要求に対して1次元経路を割り当て、始点ノードの既約ピタゴラス3角形、始点ノードに接続される始点リンクから終点リンクまでの各リンクに割り当てられたHall行列を始点リンクから順に終点リンクまで積算して得られる積行列、及び、該積行列の構成を暗号鍵として作成し秘密に共有し、ユーザの要求情報を配置するノードの位置情報として該ノードの一次元経路の始点ノードから相対的な距離情報を暗号化し、ユーザに送信し、ユーザは前記要求情報を得る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報共有技術に関し、例えばユーザの求める情報をネットワーク上のノード上に配置するようなシステムに適用して好適なシステム及び方法に関する。
【背景技術】
【0002】
ファイル共有ソフトの1つであるWinny(非特許文献1参照)やBitTorrent(非特許文献2参照)等では、Peer−to−Peer(「P2P」と略記される)型ファイル共有システムに用いられる共通鍵暗号方式の1つであるRC4(非特許文献3)を用いている。
【0003】
共通鍵暗号方式では、情報管理者は、ユーザ毎に暗号鍵を作成する。Winnyでは、不特定多数の相手と共通鍵暗号を用いて通信するため、鍵の管理コストが増大する。
【0004】
ファイル共有システムで用いられるセキュリティが要求される通信のためのプロトコルであるSecure Socket Layer(SSL、またはTLSとも呼ばれる。以下、「SSL」という)のように、TCP(Transport Control Protocol)レベルでのプロトコルを用いているものもある(非特許文献4)。SSLは、HTTP(HyperText Tranfer Protocol)を用いた通信において標準的な暗号手段として用いられている。SSLの秘匿性は、桁数が大きな乱数は推測が難しいという前提を根拠としており、その乱数を公開鍵として用いる。しかし、何らかの理由で、乱数の出現確率が大きく偏るようなことがあれば、総当たり攻撃で解読される可能性が上昇する。
【0005】
なお、本願出願人による先行技術文献サーチの結果、後述される本発明の技術的特徴と同種、同類の発明を開示した特許文献は無いものと判断したことを付言しておく。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】金子勇著、「Winnyの技術」、第150頁、アスキー書籍編集部、ISBN−10 4756145485
【非特許文献2】BitTorrent インターネット<URL:http://en.wikipedia.org/wiki/BitTorrent_protocol_encryption>
【非特許文献3】RC4 RC4/arcfourの調査 白石善明 2002年2月 インターネット<URL:http://cryptrec.nict.go.jp/rep_ID0031.pdf>
【非特許文献4】The Transport Layer Security (TLS) Protocol インターネット<URL:http://tools.ietf.org/html/rfc5246>
【非特許文献5】A.Hall, Genealogy of Pythagorean Triads, Math. Gazette 54, No. 390 (1970), 377-379.
【発明の概要】
【発明が解決しようとする課題】
【0007】
以下に、上記関連技術の分析を与える。
【0008】
上記非特許文献1、2、3によれば、情報管理者はユーザ毎に暗号鍵を作成するが、Winnyは不特定多数の相手と共通鍵暗号を使って通信するので、鍵の管理コストが大きくなる。
【0009】
非特許文献4では、実用的には非常に大きな桁数(数100桁)の乱数または素数を発生させる必要があり、そのため暗号化/復号化のための処理が遅くなる。
【0010】
したがって、本発明の目的は、鍵の管理コストの抑制、暗号化/復号化の高速化を図る全く新規な方法、システムを提供することにある。
【0011】
また本発明は、上記目的を達成するとともに、ユーザの求める情報をネットワーク上のノード上に配置するにあたり、簡易、且つ安全な情報を配置し、該配置情報のユーザへの安全な通知を実現する方法、システムを提供することもその目的としている。
【課題を解決するための手段】
【0012】
前記課題の少なくとも1つを解決する本発明は概略以下の構成とされる。
【0013】
本発明によれば、ユーザが求める要求情報を情報管理者によりネットワーク上のノードに配置し、前記要求情報を前記ユーザが前記ノードから取得する情報共有方法であって、
ノードからの出力リンク数が3、ノードへの入力リンク数が1とされ、各リンクにHall行列が割り付けられた木構造型の論理ネットワーク上で前記ユーザに割り付けられた1次元経路に関して、前記ユーザの要求情報を配置するノードの位置情報として、前記1次元経路の始点ノードからの相対的な距離情報を、前記Hall行列積の固有値の和で暗号化したものを、前記情報管理者から前記ユーザに送信し、
前記ユーザは、前記1次元経路の始点ノードの既約ピタゴラス3角形と、前記Hall行列積の構成とを用いて、前記ノードに配置された前記要求情報を得るようにした情報共有方法が提供される。
【0014】
本発明によれば、ユーザノードと情報管理者ノードとを備え、ユーザノードの求める要求情報をネットワーク上のノードに配置し、前記要求情報を前記ユーザノードが前記ノードから取得するシステムであって、
ノードからの出力リンク数が3、ノードへの入力リンク数が1とされ、各リンクにHall行列が割り付けられた木構造型の論理ネットワーク上で前記ユーザに割り付けられた1次元経路に関して、前記ユーザの要求情報を配置するノードの位置情報として、前記1次元経路の始点ノードからの相対的な距離情報を、前記Hall行列積の固有値の和を用いて暗号化したものを、前記情報管理者ノードから前記ユーザノードに送信し、
前記ユーザノードは、前記1次元経路の始点ノードの既約ピタゴラス3角形と、前記Hall行列積の構成とを用いて、前記ノードに配置された前記要求情報を得るシステムが提供される。
【発明の効果】
【0015】
本発明によれば、ユーザの求める情報をネットワーク上のノード上に配置するにあたり、簡易、且つ安全な情報をノードへ配置し、該配置情報のユーザへの安全な通知を実現することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施形態の動作手順を説明する図である。
【図2】(a)、(b)は本発明の一実施形態を説明する図である。
【図3】(a)、(b)、(c)は本発明の一実施形態を説明する図である。
【図4】本発明の他の実施形態の動作手順を説明する図である。
【発明を実施するための形態】
【0017】
本発明は、情報共有システムにおいて、ユーザの要求する情報をネットワーク上のどのノード上に配置したか等の情報を、情報管理者から要求元のユーザに対して安全に通知するための簡易な手法を提供するものである。本発明においては、情報管理者(システム管理者)は、ユーザ(利用者)の要求情報を配置するノードを含む物理ネットワーク上に始点ノードと終点ノードを除く各ノードの入力リンクが1本であり出力リンクが3本となる論理ネットワークを構築し、前記論理ネットワークの始点ノードに、既約ピタゴラス3角形を割り当て、各ノードからの3本の出力リンクにはHall行列の3つの行列、及び、前記3つの行列の逆行列のうちいずれかを割り当てる。
【0018】
そして、情報管理者(システム管理者)は、ユーザからの要求に対して前記論理ネットワークの1次元経路を割り当て、
a)前記1次元経路の始点ノードの既約ピタゴラス3角形、
b)前記1次元経路の始点ノードに接続されている始点リンクから終点ノードに接続されている終点リンクまでの各リンクに割り当てられたHall行列を前記始点リンクから順に前記終点リンクまでの各リンクに割当てられた行列積算して得られるHall行列積、及び、
c)前記Hall行列積の構成を、
暗号鍵として作成し、前記暗号鍵を、前記情報管理者と前記ユーザ間で秘密に共有する。さらに、前記情報管理者と前記ユーザとの間でやり取りする情報を暗号化する場合には、前記Hall行列積から得られる情報を用いて暗号化する。
【0019】
前記情報管理者は、前記要求情報を、前記Hall行列積の固有値の和で暗号化し、暗号化した要求情報を前記1次元経路のあるノードに配置し、前記要求情報を配置した前記ノードの位置として、前記ノードの、前記一次元経路の始点ノードから何番目であるかの情報を、前記Hall行列積の固有値の和で暗号化したものを前記ユーザに送信する。
【0020】
前記ユーザは、前記情報管理者から前記暗号化された位置情報を受けとり、前記Hall行列積の固有値の和で復号化して前記位置情報を特定し、前記ユーザに割当てられた前記1次元経路の始点ノードの既約ピタゴラス3角形と、前記Hall行列積の構成とを用いて、前記暗号化した前記要求情報を配置したノードから、前記暗号化した前記要求情報を取得し、前記Hall行列積の固有値の和を用いて復号化し前記要求情報を得る。
【0021】
以下では、本発明の前提となる原理、基本手順を説明し、つづいて実施形態について説明する。
【0022】
正則行列及びHall行列(非特許文献5参照)に関する4つの数学的性質を説明する。本発明においては、正則行列(行列式が0にならない行列)に関する以下の数学的特性を用いる。
【0023】
(性質1)
任意の正則行列A、B、Cについて、行列A、B、Cの積行列X=A*B*Cの固有値e(X)は、行列Xの要素行列である行列A、B、Cの積の順番を巡回させても不変である。つまり、
e(X)=e(A*B*C)=e(B*C*A)=e(C*B*A)
である。
【0024】
なお、行列Y、ベクトルaに関して、Ya=λaを成り立たせるλ(スカラー値)を固有値(eigenvalue)といい、aを固有ベクトル(eigenvector)という。
【0025】
(性質2)
任意の正則行列Yについて、行列Yの固有値の和は、行列Yのトレース(Trace)に等しい。ここで、行列YのトレースTr(Y)は、行列Yの対角要素の和のことである。すなわち、例えばn×n行列Yの固有値λ〜λ、対角要素y11〜ynnについて
λ+λ+・・・λ=y11+y22+・・・ynn=Tr(Y)
【0026】
次に、ピタゴラスの定理に基づく特殊な行列であるHall行列(非特許文献5)を用いる。Hall行列は、正則行列である以下のU、A、Dの3つの行列である。


【0027】
(性質3)
3つのHall行列U、A、Dによって、3辺の長さが整数である、既約ピタゴラス3角形(各辺の長さが互いに素な3角形のこと。以下、「PT3角形」という)は、異なる大きさのPT3角形に写される。
【0028】
例えば、ピタゴラス三角形(辺:a=m−n、b=2mn,c=m+n)を表すベクトルを(a、b、c)と表し(上付のTは転置を表す)、PT3角形(3、4、5) (m=1、n=1)にU、A、Bの行列を順次掛けると、
U(3, 4, 5)T = (5, 12, 13)T, (m, n) = (3, 2)
U(5, 12, 13)T = (7, 24, 25)T, (m, n) = (4, 3)
A(5, 12, 13)T = (55, 48, 73)T, (m, n) = (8, 3)
D(5, 12, 13)T = (45, 28, 53)T, (m, n) = (7, 2)
A(3, 4, 5)T = (21, 20, 29)T, (m, n) = (5, 2)
U(21, 20, 29)T = (39, 80, 89)T, (m, n) = (8, 5)
A(21, 20, 29)T = (119, 120, 169)T, (m, n) = (12, 5)
D(21, 20, 29)T = (77, 36, 85)T, (m, n) = (9, 2)
D(3, 4, 5)T = (15, 8, 17)T, (m, n) = (4, 1)
U(15, 8, 17)T = (33, 56, 65)T, (m, n) = (7, 4)
A(15, 8, 17)T = (65, 72, 97)T, (m, n) = (9, 4)
D(15, 8, 17)T = (35, 12, 37)T, (m, n) = (6, 1)
の系統樹となる。
【0029】
すなわち、図2(b)に示すような、Hall行列(U、A、D)をリンクとし、PT3角形をノードとする系統樹が出来る。この系統樹は、始点と端点以外の次数(リンク数)は“4”(入り次数=1かつ、出次数=3(当該1つのノードに対して3つのHAll行列U、A、Dの演算で生成される3つノードに対応))である。
【0030】
(性質4)
図2(b)の系統樹において、ある大きさのPT3角形は唯一つ存在する。
【0031】
すなわち、全ての既約ピタゴラス3角形は、例えば(3,4,5)(progenitor)にHall行列(U、A、D)をある順序で掛け合わせたものを演算することで一意に表せる。
【0032】
以下、本発明における手順について説明する。
(手順1)
情報aの管理者(システム管理者、情報管理者)は、まず、情報共有に用いるネットワークP(図2(a))の物理構成について、各論理ノードの入り次数が“1”、出次数が”3“となるような論理ネットワークL(図2(b))を構築する。特に制限されるものではないが、このネットワークPは、例えばノード同士が対応の通信を行うP2P型ネットワークとする。
【0033】
(手順2)
情報aの管理者は、論理ネットワークL(図2(b))のリンクに対して3つのHall行列U、A、Dのうちいずれか1つを割り当てる。すなわち、1つのノードから派生する3つのリンクには3つの行列U、A、D(あるいは3つの行列U、A、Dの逆行列U−1、A−1、D−1)が重複なく割り当てられる。
【0034】
(手順3)
情報aの管理者は、該論理ネットワークLの始点となるノードに対して、任意のPT3角形を1つ割り当て、該PT3角形の面積を、該始点ノードの識別子とする。すなわち始点ノードのPT三角形を(a,b,c)=(m−n、b=2mn,c=m+n)とすると、その面積mn×(m−n)がノードの識別子となる。
【0035】
始点ノードが決まれば、(手順2)で構築されたHall行列をリンクとする論理ネットワークL上の各ノードのPT3角形が一意に決定される。
【0036】
このため、それぞれのPT3角形の面積を、それぞれの論理ネットワークL上のノードの識別子とする。そして、(性質4)により、各ノードの識別子は、論理ネットワークL上において、一意に決定される。
【0037】
(手順1)から(手順3)は、情報aの管理者による、事前準備である(情報共有システムの運用前に行われる)。
【0038】
(手順4)
ユーザiが、情報aの管理者に情報aを、ネットワーク上のどこかのノードに置いて欲しい、あるいは、既に該要求情報aの置かれているノードを知りたい場合、あるいは、情報共有システムに参加したい場合、ユーザiは情報aの管理者に対してアクセスする。なお、ユーザiによる情報aの管理者へのアクセスは、論理ネットワークL上で行われ、通常のIP(Internet Protocol)通信や、オーバレイネットワーク(既存のネットワークの上位層に構成された仮想のネットワーク)を介して行われるが、ユーザiによる情報aの管理者へのアクセス自体は本発明の主題に直接関係しない(すなわち発明の範囲外である)ため、詳細は省略する。
【0039】
(手順5)
情報aの管理者は、自身が事前に構築した論理ネットワークLの中から、ユーザiに対して1次元論理ネットワークLiを1つ与える。具体的には、1次元論理ネットワークLiの始点ノードから終点ノードまでの1次元経路上の各リンクに割当てられたHall行列を、始点ノードから終点ノードまで順に積算して得られた
(1)「Hall行列の積行列Mi」、
(2)「行列Miの構成(図3の例では、Mi=D*A*・・D−1*A*D*U−1*D)」、及び、
(3)「1次元論理ネットワークLiの始点となるPT3角形Ti」、
をそれぞれ暗号用の
共通鍵KC1、
共通鍵KC2、及び、
共通鍵KC3
として、ユーザi用に割り当てるとともに、情報aの管理者自身も有する。
【0040】
なお、上記手順5は、ネットワーク上で行ってもネットワーク上でなくても構わない。
【0041】
(手順6)
情報aの管理者は、ユーザiに割り当てた1次元論理ネットワークLi上のノードに情報aを配置する。
【0042】
(手順7)
ユーザiは、情報aの管理者が、情報aの配置位置を暗号化するための鍵として、
行列Miの固有値eiの和を公開鍵KO1とし、
行列Miの対角要素の絶対値の和Trace(Mi)(図3(c)参照)を公開鍵KO2として、
情報aの管理者に送る。図3の例では、公開鍵KO1=Miの固有値の和=Miの対角要素の和(=α+β+γ)であり、公開鍵KO2は|α|+|β|+|γ|である。
【0043】
これら2つの公開鍵KO1、KO2は、行列Miから得られる情報ではあるが、行列Miは、情報aの管理者と、ユーザiしか知らない共通鍵である。仮に、第3者が行列Miを知ったとしても、前記性質1、及び、行列積の要素行列への分解がNP完全(多項式時間帰着可能問題)であるため、それ以上の情報を得ることは出来ない。すなわち、上記行列Miを知ったとしても、行列積の要素行列への分解(例えば図3(b)のMi=D*A*・・・D−1*A*D*U−1*Dにおける右辺の積項)を得ることはできない。
【0044】
(手順8)
情報aの管理者は、情報aを置いたノードの位置として、「始点ノードから何番目」あるいは「終点ノードから何番目」という情報Iaを、共有鍵KC3(始点となるPT3角形Ti)で暗号化し、暗号した情報を、さらに(手順7)で用いた公開鍵KO1(行列Miの固有値ei)、又は、公開鍵KO1と公開鍵KO2(行列Miの対角要素の絶対値の和)を用いて、暗号化し、ユーザiに送る。
【0045】
(手順9)
ユーザiは、受信した情報Iaを復号化し、共有鍵KC2(行列Miの構成)を用いることで、情報aが配置されたノードの位置情報Iaを特定することが出来る。
【0046】
1次元論理ネットワークLiの位置情報Ia(「始点ノードから何番目」)が特定されると、1次元論理ネットワークLiの始点ノードの既約ピタゴラス3角形Tiと、Hall行列積の構成(例えば図3(b)のMi=D*A*・・・D−1*A*D*U−1*Dにおける右辺の積項)と、を用いて、前記位置情報Iaのノードに配置された情報aを得る。
【0047】
以上の手順によれば、通信の際に用いる共有鍵KC1及び共通鍵KC3が、仮に第3者に知られたとしても、共有鍵KC2は通信に用いないため、該第3者は、情報aの置かれたノードの位置を特定できない。
【0048】
本発明の作用効果を説明する。
【0049】
(性質1)を用いるため、通常の公開鍵暗号方式、ハイブリッド暗号方式(送信側は共通鍵暗号化方式で送信データを暗号化し共通鍵は公開鍵暗号化方式で暗号化し、受信側は受信した共通鍵を秘密鍵で復号する)を用いた情報共有システムと比べて、高速処理が可能である。
【0050】
情報を配置する位置を、1次元論理ネットワークLiの始点PT3角形からの相対位置で与えられるため、暗号化する情報量が、非常に小さくて済む。
【0051】
複数のユーザとやり取りする場合も、(手順1)から(手順3)で構築した論理ネットワークLを共通に用いることができるため、鍵の管理が容易である。
【0052】
なお、論理ネットワークL上の各ノードの識別子として、各ノードの既約ピタゴラス3角形の面積の代わりに、3つの辺の長さ(a,b,c)=(m−n,2mn,m+n)、あるいは(m、n)を用いてもよい。
【0053】
また論理ネットワークLのリンクに配置されるHall行列は、複数のHall行列の積であってもよい。
【0054】
例えばデータセンターのような専用に構築されたネットワークにデータセンターの管理者が様々な情報を配置するような集中管理型情報共有システム、または、Winny、GnutellaやBitTorrentのようなP2P型の情報(ファイル)共有システムにおいて、ユーザの要求する情報をネットワークのどのノードに配置したか等の情報を情報管理者からユーザに安全に通知する必要がある。本発明は、そのための簡易な手法を提供している。以下、実施形態について説明する。
【0055】
<実施形態1>
本発明の1つの実施形態について図面を参照して詳細に説明する。図1は、本発明の一実施形態の動作を説明する図である。図2、図3は、本発明の一実施形態を説明する図である。以下、図1乃至図3を参照して、本実施形態の各手順(図1のS1〜S11)を順次説明する。なお、図1において、情報管理者Oa(システム管理者)と、ユーザiにおける各手順はそれぞれの通信ノード(コンピュータ)で実行される。
【0056】
(手順1)
情報aの情報管理者Oaは、まず、ユーザの要求情報を配置するノードを含み、情報共有に用いるネットワークP(図2(a))の物理構成について、各論理ノードの入り次数が“1”、出次数が”3“となるような論理ネットワークL(図2(b))を構築する。ここで、ネットワークPはP2P型ネットワークからなる。
【0057】
(手順2)
情報aの情報管理者Oaは、図2(b)に示すように、論理ネットワークLのリンクに対して、1つのノード(○で示す)から分岐する3つのリンクに対してそれぞれ3つのHall行列U、A、Dを重複なく割り当てる。
【0058】
(手順3)
情報aの情報管理者Oaは、図2(b)に示すように、論理ネットワークLの始点となるノードに対して、任意のPT3角形PTaを1つ割り当て、該PT3角形PTaの面積Saを該始点ノードPTaの識別子とする。論理ネットワークLの始点ノードPTaが決まれば、(手順2)で構築されたHall行列をリンクとする論理ネットワークL上の各ノードのPT3角形PTa_jの面積Sa_jが一意に決定されるため、それぞれのPT3角形の面積Sa_jをそれぞれの論理ネットワーク上のノードの識別子とする。(性質4)により、各ノードの識別子は一意に決定される。
【0059】
(手順4)
あるユーザiが情報aの情報管理者Oaに、情報aを、物理ネットワークP上のどこかのノードに置いて欲しい、あるいは、既に該要求情報aの置かれているノードを知りたい場合、あるいは、情報共有システムに参加したい場合(P2P型のファイル共用システムの場合、例えば新規登録が該当する)、ユーザiは、情報aの情報管理者Oaに対してアクセスし、該要求を伝える。
【0060】
(手順5)
情報aの情報管理者Oaは、ユーザiに対して、認証識別子IDi、管理者Oaの識別子IDa、及び、管理者Oaが構築した論理ネットワークLの中から1次元論理ネットワークLi(図3(a))を1つ与える。1次元論理ネットワークLiは論理ネットワークL(木構造型ネットワーク)において、ユーザの要求情報を配置するノードを含む、任意の1次元経路からなる。
【0061】
具体的には、情報aの情報管理者Oaは、1次元論理ネットワークLiの始点ノードに接続されている始点リンクから終点ノードに接続されている終点リンクまでの各リンクに割り当てられたHall行列を、前記始点リンクから順に前記終点リンクまでの各リンクに割当てられた行列積算して得られる、Hall行列の積行列Miに関して、
(1)「Hall行列の積行列Miの対角要素の絶対値の和Trace(Mi)(例えば図3(c):Tr(Mi)=|α|+|β|+|γ|)」、
(2)「行列Miの構成(例えば図3(b):Mi=D*A*・・・D−1*A*D*U−1*D)」、及び
(3)「始点ノードのPT3角形Ti」、
をそれぞれ暗号用の
共通鍵KC1、
共通鍵KC2、
共通鍵KC3、
としてユーザi用に割り当てるとともに、情報aの情報管理者Oa自身も、これらの共通鍵KC1、共通鍵KC2、共通鍵KC3を有する。
【0062】
(手順6)
ユーザiは、
情報aの情報管理者Oaが情報aの配置位置を暗号化するための鍵として、
行列Miの固有値eiの和を公開鍵KO1とし、
ユーザiの認証識別子IDiを共通鍵KC1で暗号EC(i)_1に暗号化し、
公開鍵KO1と暗号EC(i)_1を情報aの情報管理者Oaに送る。なお、本手順において、認証識別子IDiを共通鍵KC1で暗号情報EC(i)_1に暗号化する手法としては、公知の任意の手法が用いられる。
【0063】
(手順7)
暗号化情報EC(i)_1を受信した情報aの情報管理者Oaは、共通鍵KC1を用いてユーザiの認証識別子IDiを復号化し、要求がユーザiからのものであることを確認する。
【0064】
(手順8)
情報aの情報管理者Oaは、公開鍵KO1を用いて情報aを暗号E(a)_1に暗号化し、ユーザiに割り当てた1次元論理ネットワークLi上のノードx(図3(a)参照)に、暗号化した情報E(a)_1を配置する。
【0065】
(手順9)
情報aの情報管理者Oaは、情報aを置いたノードの位置xをユーザiに通知するための手段として、
「始点ノードTiから何番目」という情報Ia_1を作成し、
情報Ia_1を公開鍵KO1で暗号E(Ia_1)に暗号化し、情報管理者Oaの識別子IDaを共有鍵KC1で暗号E(IDa)に暗号化し、
暗号E(Ia_1)と暗号E(IDa)とをユーザiに送る。
【0066】
(手順10)
ユーザiは、受信した暗号E(Ia_1)と暗号E(IDa)を(手順S9)に示した方法と逆の順番に復号化し、情報Ia_1と、情報管理者Oaの識別子IDaを得る。
【0067】
(手順10−1)
ユーザiは、復号化した情報管理者Oaの識別子IDaをユーザi自身の保有している情報管理者の識別子IDaと比較して一致することを確認する。
【0068】
確認の結果、復号化した情報管理者Oaの識別子IDaが自身の保有している情報管理者IDaと一致すれば、ユーザiは、情報Ia_1(情報aが「始点ノードTiから何番目」に配置されたかという情報)と、共通鍵KC2及び共通鍵KC3を用いて、情報aが配置されたノードの位置を特定する。位置情報Iaが特定されると、1次元論理ネットワークLiの始点ノードの既約ピタゴラス3角形Tiと、Hall行列積の構成(例えば図3(b)のMi=D*A*・・・D−1*A*D*U−1*Dにおける右辺の積項)とを用いて、前記位置情報Iaのノードに配置された情報E(a)_1(暗号化された情報a)を得る。
【0069】
(手順10−2)
一方、上記確認の結果、復号化した情報管理者Oaの識別子IDaが自身の保有している情報管理者IDaと不一致の場合、ユーザiは、暗号E(Ia_1)を復号化せず、情報管理者Oaに何らかの方法で問い合わせるか、あるいは、情報管理者Oaの識別子IDaが正しく得られる情報を受信するまで待つ。
【0070】
(手順11)
ユーザiは、ノードx上の暗号化された情報E(a)_1を、公開鍵KO1を用いて復号化し情報aを得る。
【0071】
上記(手順1)乃至(手順11)によれば、共有鍵KC2は通信に用いないため、通信の際に用いる共有鍵KC1及び共通鍵KC3が仮に第3者に知られたとしても、当該第3者は、情報aの置かれたノードの位置を特定することはできない。そのため、情報aを得ることも出来ない。
【0072】
なお、上記(手順5)はオンラインで行ってよいし、オフラインでもよい。
【0073】
なお、上記実施形態では、共通鍵KC1を、「Hall行列の積行列Miの対角要素の絶対値の和Trace(Mi)」とした例を説明したが、本発明はかかる構成に制限されるものではなく、
積行列Miに関する、
固有値ei、
行列Miの構成(例:Mi=Mi=D*A*・・D−1*A*D*U−1*D)、及び、
始点となるPT3角形Ti
以外のもので、行列Miの特徴を表すものであれば良い。
【0074】
また、本実施形態において、情報管理者Oaは情報aの管理のみを行い、例えば別の情報bは別の情報管理者Obが管理するようにしてもよいし、情報管理者Oaが、情報a以外の情報bの管理を行うようにしてもよい。なお、情報aはデータ又はファイルのいずれであってもよい。
【0075】
<実施形態2>
本発明の第2の実施形態について図面を参照して詳細に説明する。図4には、本発明の第2の実施形態の手順を説明する図である。なお、図1において、情報管理者Oa(システム管理者)と、ユーザiにおける各手順はそれぞれの通信ノード(コンピュータ)で実行される。本実施形態においては、情報aの情報管理者Oaは、共通鍵KC4(「行列Miの固有値の和」)を用いて、情報aを暗号化し、情報aを置いたノードの位置(例えば「始点ノードTiから何番目」という情報)を共有鍵KC4で暗号化している。図4、並びに、前記実施形態の説明に用いた図2と図3を参照して、本実施形態の各手順を説明する。
【0076】
(手順1)
情報aの情報管理者Oaは、図2(a)、(b)に示すように、まず、ユーザの要求情報を配置するノードを含み情報共有に用いるネットワークPの物理構成について、各論理ノードの入り次数が“4”、出次数が“3”となるような論理ネットワークLを構築する。
【0077】
(手順2)
情報aの情報管理者Oaは、図2(b)に示すように、該論理ネットワークLのリンクに対して、1つのノード(○で示す)から分岐する3つのリンクに対して3つのHall行列U、A、Dを重複なく割り当てる。
【0078】
(手順3)
情報aの情報管理者Oaは、図2(b)に示すように、論理ネットワークLの始点となるノードに対して、任意のPT3角形PTaを1つ割り当て、該PT3角形PTaの面積Saを該始点ノードPTaの識別子とする。
【0079】
始点ノードPTaが決まれば、(手順2)で構築されたHall行列をリンクとする論理ネットワークL上の各ノードのPT3角形PTa_jの面積Sa−jが一意に決定されるため、それぞれのPT3角形の面積Sa_jをそれぞれの論理ネットワーク上のノードの識別子とする。(性質4)により、各ノードの識別子は一意に決定される。
【0080】
(手順4)
あるユーザiが情報aの情報管理者Oaに、情報aを、ネットワークP上のどこかのノードに置いて欲しい、あるいは既に該要求情報aの置かれているノードを知りたい場合、あるいは、情報共有システムに参加したい場合、ユーザiは情報aの情報管理者Oaに対して何らかの手段によってアクセスし、該要求を伝える。このアクセス方法は公知の任意の手法が用いられる。
【0081】
(手順5)
情報aの情報管理者Oaは、図3(a)に示すように、ユーザiに対して、認証識別子IDi、管理者Oaの識別子IDa、及び自身が構築した論理ネットワークLの中から1次元論理ネットワークLiを1つ与える。1次元論理ネットワークLiは、論理ネットワークL(木構造型ネットワーク)において、ユーザの要求情報を配置するノードを含む、任意の1次元経路からなる。
【0082】
具体的には、情報aの情報管理者Oaは、1次元論理ネットワークLiの始点ノードに接続されている始点リンクから終点ノードに接続されている終点リンクまでの各リンクに割り当てられたHall行列を、前記始点リンクから順に前記終点リンクまでの各リンクに割当てられた行列積算して得られるHall行列の積行列Miに関して、
(1)「Hall行列の積行列Miの対角要素の絶対値の和Trace(Mi)」、
(2)「行列Miの構成(例:Mi=D*A*・・D−1*A*D*U−1*D)」、
(3)「始点ノードとなるPT3角形Ti」、及び
(4)「行列Miの固有値の和」、
をそれぞれ暗号用の
共通鍵KC1、
共通鍵KC2、
共通鍵KC3、
共通鍵KC4、
としてユーザi用に割り当てるとともに、情報aの情報管理者Oa自身も、共通鍵KC1〜共通鍵KC4を有する。
【0083】
(手順6)
ユーザiは、ユーザiの認証識別子IDiを共通鍵KC1で暗号EC(i)_2に暗号化して情報aの情報管理者Oaに送る。
【0084】
(手順7)
暗号化情報EC(i)_2を受信した情報aの情報管理者Oaは、共通鍵KC1を用いてユーザiの認証識別子IDiを復号化し、要求がユーザiからのものであることを確認する。
【0085】
(手順8)
情報aの情報管理者Oaは、共通鍵KC4を用いて、情報aを暗号E(a)_2に暗号化し、ユーザiに割り当てた1次元論理ネットワークLi上のノードx(図3(a)参照)に、暗号化した情報E(a)_2を配置する。
【0086】
(手順9)
情報aの情報管理者Oaは、情報aを置いたノードの位置xをユーザiに通知するための手段として、
「始点ノードTiから何番目」という情報Ia_2を作成し、
該情報Ia_2を共有鍵KC4で暗号E(Ia_2)に暗号化し、
情報管理者Oaの識別子IDaを共有鍵KC1で暗号E(IDa)に暗号化し、
暗号E(Ia_2)と暗号E(IDa)とをユーザiに送る。
【0087】
(手順10)
ユーザiは、受信した暗号E(Ia_2)と暗号E(IDa)を(手順9)に示した方法と逆の順番に復号化し情報Iaと情報管理者の識別子IDaを得る。
【0088】
(手順10−1)
ユーザiは、復号化した情報管理者aの識別子IDaをユーザi自身が保有している情報管理者の識別子IDaと比較して、一致することを確認する。
【0089】
確認の結果、復号化した情報管理者aの識別子IDaをユーザi自身が保有している情報管理者の識別子IDaが一致すれば、ユーザiは、共通鍵KC2及び共通鍵KC3を用いることで、配置されたノードの位置を特定することが出来る。位置情報Iaが特定されると、1次元論理ネットワークLiの始点ノードの既約ピタゴラス3角形Tiと、Hall行列積の構成(例えば図3(b)のMi=D*A*・・・D−1*A*D*U−1*Dにおける右辺の積項)とを用いて、前記位置情報Iaのノードに配置された情報E(a)_2(共有鍵KC4で暗号化された情報a)を得る。
【0090】
(手順10−2)
一方、確認の結果、復号化した情報管理者aの識別子IDaをユーザi自身が保有している情報管理者の識別子IDaが不一致の場合、ユーザiは、暗号E(Ia_1)を復号化せず、情報管理者aに何らかの方法で問い合わせるか、あるいは、情報管理者aの識別子IDaが正しく得られる情報を受信するまで待つ。
【0091】
(手順11)
ユーザiは、ノードx上の暗号化された情報E(a)_2を共通鍵KC4を用いて復号化し、情報aを得る。
【0092】
上記(手順1)乃至(手順11)によれば、共有鍵KC2は通信に用いないため、通信の際に用いる共有鍵KC1、KC3、KC4が仮に第3者に知られたとしても、該第3者は、情報aの置かれたノードの位置を特定できない。そのため、情報aを得ることも出来ない。
【0093】
本実施形態においても、前記実施形態同様、上記(手順5)はオンラインで行ってもオフラインで行ってもよい。
【0094】
また、本実施形態においても、前記実施形態同様、共通鍵KC1は、
「Hall行列の積行列Miの対角要素の絶対値の和Trace(Mi)」でなく、
積行列Miに関する固有値ei、
「行列Miの構成(例:Mi=D*A*・・・D−1*A*D*U−1*D)」、及び
「始点となるPT3角形Ti」以外で、行列Miの特徴を表すものであれば良い。
【0095】
本実施形態においても、前記実施形態と同様の作用効果を奏する。
【0096】
上記した実施形態に即して説明した本発明は、ユーザの求める情報をネットワーク上のノード上に配置するようなシステム、アプリケーションに利用可能である。具体的には、ファイル共有システム、ファイル交換システム、情報共有システム、情報交換システム等に適用可能である。
【0097】
なお、上記非特許文献1乃至5の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0098】
P 物理ネットワーク
L 物理ネットワークP上に構築された論理ネットワーク
U、D、A Hall行列
a 情報a
Oa 情報管理者(情報aの管理者)
PTa 論理ネットワークLの始点ノードに対して割り当てられた任意のPT3角形
Sa PTaの識別子で、PTaの面積
PTa_j 論理ネットワークL上のノードjのPT3角形
Sa_j ノードjの識別子(PT3角形PTa_jの面積)
i ユーザ
Ti ユーザiに割り当てられた始点ノードのPT3角形
Mi ユーザiに割り当てられたHall行列の行列積
Trace(Mi) Hall行列の積行列Miの対角要素の絶対値の和
IDa 情報管理者Oaの識別子
IDi ユーザiの認証識別子
KC1 共通鍵でTrace(Mi)に等しい
KC2 共通鍵で行列Miの構成(例:M=U*A*D*A・・・)
KC3 ユーザiに割り当てられた始点ノードのPT3角形 Ti
KC4 Hall行列の積行列Miの固有値の和
KO1 Hall行列の積行列Miの固有値の和
S1〜S11 手順1〜手順11
Ia_1、Ia_2 情報aを置いた位置
EC(i)_1 ユーザiの認証識別子IDiを共通鍵KC1で暗号化した暗号
EC(i)_2 ユーザiの認証識別子IDiを共通鍵KC1で暗号化した暗号
E(a)_1 情報aを公開鍵KO1で暗号化した
E(a)_2 情報aを公開鍵KO1で暗号化した暗号
E(Ia_1) Ia_1を公開鍵KO1で暗号化した暗号
E(Ia_2) Ia_1を公開鍵KO1で暗号化した暗号
E(IDa) 情報管理者Oaの識別子IDaを共有鍵KC1で暗号化した暗号

【特許請求の範囲】
【請求項1】
ユーザが求める要求情報を情報管理者によりネットワーク上のノードに配置し、前記要求情報を前記ユーザが前記ノードから取得する情報共有方法であって、
ノードからの出力リンク数が3、ノードへの入力リンク数が1とされ、各リンクにHall行列が割り付けられた木構造型の論理ネットワーク上で前記ユーザに割り付けられた1次元経路に関して、前記ユーザの要求情報を配置するノードの位置情報として、前記1次元経路の始点ノードからの相対的な距離情報を、前記Hall行列積の固有値の和で暗号化したものを、前記情報管理者から前記ユーザに送信し、
前記ユーザは、前記1次元経路の始点ノードの既約ピタゴラス3角形と、前記Hall行列積の構成とを用いて、前記ノードに配置された前記要求情報を得る、情報共有方法。
【請求項2】
前記情報管理者は、
前記ユーザの要求情報を配置するノードを含む物理ネットワーク上に始点ノードと終点ノードを除く各ノードの入力リンクが1本であり出力リンクが3本となる論理ネットワークを構築し、
前記論理ネットワークの始点ノードに既約ピタゴラス3角形を割り当て、
前記論理ネットワークの各ノードからの3本の出力リンクにはHall行列の3つの行列、及び、前記3つの行列の逆行列のうちいずれかを割り当て、
前記ユーザからの要求に対して、前記論理ネットワークの1次元経路を割り当て、
前記1次元経路の始点ノードの既約ピタゴラス3角形、
前記1次元経路の始点ノードに接続されている始点リンクから終点ノードに接続されている終点リンクまでの各リンクに割り当てられたHall行列を、前記始点リンクから順に前記終点リンクまで積算して得られる積行列、及び、
前記積行列の構成を、
暗号鍵として作成し、
前記暗号鍵を、前記情報管理者と前記ユーザ間で秘密に共有し、
前記情報管理者と前記ユーザとの間でやり取りする情報を暗号化する場合には、前記Hall行列積から得られる情報を用いて暗号化し、
前記情報管理者は、前記要求情報を、前記Hall行列積の固有値の和で暗号化し、暗号化した要求情報を前記1次元経路のあるノードに配置し、
前記要求情報を配置した前記ノードの位置として、前記ノードが前記一次元経路の始点ノードから何番目であるかという情報を、前記Hall行列積の固有値の和で暗号化したものを、前記ユーザに送信し、
前記ユーザは、
前記情報管理者から前記暗号化された位置情報を受けとり前記Hall行列積の固有値の和で復号化して、前記要求情報を配置した前記ノードの前記位置情報を特定し、
前記ユーザに割当てられた前記1次元経路の始点ノードの既約ピタゴラス3角形と、前記Hall行列積の構成とを用いて、前記暗号化した前記要求情報を配置した前記ノードから、前記暗号化した前記要求情報を取得し、前記Hall行列積の固有値の和を用いて復号化し前記要求情報を得る、請求項1記載の情報共有方法。
【請求項3】
前記Hall行列積の固有値の和を、前記情報管理者と前記ユーザとの間でやり取りする公開鍵として用いる、請求項1又は2記載の情報共有方法。
【請求項4】
前記Hall行列積から得られる情報は、前記Hall行列積の対角要素の絶対値の演算結果である、請求項2に記載の情報共有方法。
【請求項5】
前記論理ネットワーク上の各ノードの識別子として、各ノードの既約ピタゴラス3角形の面積、又は、3つの辺の長さを用いる、請求項1乃至4のいずれか1項記載の情報共有方法。
【請求項6】
ユーザノードと情報管理者ノードとを備え、前記ユーザノードの求める要求情報を前記情報管理者ノードがネットワーク上のノードに配置し、前記要求情報を前記ユーザノードが前記ノードから取得するシステムであって、
ノードからの出力リンク数が3、ノードへの入力リンク数が1とされ、各リンクにHall行列が割り付けられた木構造型の論理ネットワーク上で前記ユーザに割り付けられた1次元経路に関して、前記ユーザの要求情報を配置するノードの位置情報として、前記1次元経路の始点ノードからの相対的な距離情報を、前記Hall行列積の固有値の和を用いて暗号化したものを、前記情報管理者ノードから前記ユーザノードに送信し、
前記ユーザノードは、前記1次元経路の始点ノードの既約ピタゴラス3角形と、前記Hall行列積の構成とを用いて、前記ノードに配置された前記要求情報を得る、システム。
【請求項7】
前記情報管理者ノードは、前記ユーザノードの要求情報を配置するノードを含む物理ネットワーク上に始点ノードと終点ノードを除く各ノードの入力リンクが1本であり出力リンクが3本となる論理ネットワークを構築し、
前記論理ネットワークの始点ノードに既約ピタゴラス3角形を割り当て、
前記論理ネットワークの各ノードからの3本の出力リンクにはHall行列の3つの行列、及び、前記3つの行列の逆行列のうちいずれかを割り当て、
前記ユーザノードからの要求に対して、前記論理ネットワークの1次元経路を割り当て、
前記1次元経路の始点ノードの既約ピタゴラス3角形、
前記1次元経路の始点ノードに接続されている始点リンクから終点ノードに接続されている終点リンクまでの各リンクに割り当てられたHall行列を、前記始点リンクから順に前記終点リンクまで積算して得られる積行列、及び、
前記積行列の構成を、
暗号鍵として作成する手段を備え、
前記暗号鍵を、前記情報管理者と前記ユーザノード間で秘密に共有し、
前記情報管理者ノードと前記ユーザノードとの間でやり取りする情報を暗号化する場合には、前記Hall行列積から得られる情報を用いて暗号化し、
前記情報管理者ノードは、前記要求情報を、前記Hall行列積の固有値の和で暗号化し、暗号化した要求情報を前記1次元経路のあるノードに配置し、
前記要求情報を配置した前記ノードの位置として、前記ノードの、前記一次元経路の始点ノードから何番目であるかという情報を、前記Hall行列積の固有値の和で暗号化したものを前記ユーザノードに送信し、
前記ユーザノードは、
前記情報管理者ノードから前記暗号化された位置情報を受けとり、前記Hall行列積の固有値の和で復号化して、前記要求情報を配置した前記ノードの前記位置情報を特定し、
前記ユーザに割当てられた前記1次元経路の始点ノードの既約ピタゴラス3角形と、前記Hall行列積の構成とを用いて、前記暗号化した前記要求情報を配置した前記ノードから、前記暗号化した前記要求情報を取得し、前記Hall行列積の固有値の和を用いて復号化し前記要求情報を得る、請求項6記載のシステム。
【請求項8】
前記Hall行列積の固有値の和を、前記情報管理者ノードと前記ユーザノードとの間でやり取りする公開鍵として用いる、請求項6又は7記載のシステム。
【請求項9】
前記Hall行列積から得られる情報は、前記Hall行列積の対角要素の絶対値の演算結果である、ことを特徴とする、請求項7に記載のシステム。
【請求項10】
前記ユーザノード及び前記情報管理者ノードにおいて、前記論理ネットワーク上の各ノードの識別子として、各ノードの既約ピタゴラス3角形の面積、又は、3つの辺の長さを用いる、請求項6乃至9のいずれか1項記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−54691(P2012−54691A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−194337(P2010−194337)
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】