Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4664008B2 - アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム - Google Patents
[go: Go Back, main page]

JP4664008B2 - アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム - Google Patents

アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム Download PDF

Info

Publication number
JP4664008B2
JP4664008B2 JP2004169001A JP2004169001A JP4664008B2 JP 4664008 B2 JP4664008 B2 JP 4664008B2 JP 2004169001 A JP2004169001 A JP 2004169001A JP 2004169001 A JP2004169001 A JP 2004169001A JP 4664008 B2 JP4664008 B2 JP 4664008B2
Authority
JP
Japan
Prior art keywords
data
terminal
encryption key
access right
encrypted data
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.)
Expired - Lifetime
Application number
JP2004169001A
Other languages
English (en)
Other versions
JP2005346006A5 (ja
JP2005346006A (ja
Inventor
利彦 荻原
誠 加賀谷
進 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Business Inc
Original Assignee
NTT Docomo Business Inc
NTT Communications Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to JP2004169001A priority Critical patent/JP4664008B2/ja
Application filed by NTT Docomo Business Inc, NTT Communications Corp filed Critical NTT Docomo Business Inc
Priority to PCT/JP2005/002514 priority patent/WO2005076518A1/en
Priority to CN2005800043932A priority patent/CN1918844B/zh
Priority to US10/588,155 priority patent/US8085938B2/en
Priority to EP05710362.4A priority patent/EP1714423B1/en
Priority to HK07105595.1A priority patent/HK1099152B/xx
Publication of JP2005346006A publication Critical patent/JP2005346006A/ja
Publication of JP2005346006A5 publication Critical patent/JP2005346006A5/ja
Application granted granted Critical
Publication of JP4664008B2 publication Critical patent/JP4664008B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、暗号化されたデータを他人に譲渡する、又は暗号化されたデータのアクセス権を他人に譲渡する場合のセキュリティ技術に関する。
従来、自己が保有するデータへのアクセスを制限する方法の1つとして、暗号化してデータへのアクセスを制限するという方法がある。例えば、自己の秘匿したいデータ、重要な機密データなどに対して、他人からのアクセスを防ぐには、データを暗号化して保管するというものである。このような場合、暗号化されたデータは、暗号鍵の所有者以外には誰も復号できない。
尚、この出願に関連する先行技術文献情報としては、次のものがある。
電子商取引実証推進協議会セキュリティWG、"暗号利用技術ハンドブック(第2版)"、[Online]、[平成16年5月20日検索]、インターネット<URL: http://www.ecom.jp/qecom/seika/naiyou/11report/e11-sec3.pdf>
しかしながら、このような暗号化されたデータのアクセス権限を他人に譲渡したい場合(暗号化されたデータ自体を他人に譲渡したい場合も含む。以下、同じ。)には、自己の暗号鍵を他人に譲渡する場合を除けば、一旦、暗号化されたデータを自己の暗号鍵で復号化し、さらに、譲渡後、他人が自己の暗号鍵でデータを暗号化する必要がある。この場合には、暗号化されたデータが一旦、復号化され、暗号化されていない状態で譲渡されるので、この状態でデータが漏洩した場合、セキュリティが十分確保されないという問題がある。
本発明は、上記の事情に鑑みてなされたものであり、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、データ復号化によるデータ漏洩の危険性を回避して、セキュリティを十分に確保し得るアクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラムを提供することを目的とする。
上記目的を達成するため、請求項1記載の本発明は、データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムであって、前記データのアクセス権限を有する譲渡側端末において、該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成する手段と、前記第1の暗号データを前記譲渡側端末から、前記データのアクセス権限を譲り受ける譲受側端末に送信する手段と、前記譲受側端末において、前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成する手段と、前記第2の暗号データを前記譲受側端末から前記譲渡側端末に送信する手段と、前記譲渡側端末において、前記譲渡側端末の前記第1の暗号鍵で前記第2の暗号データを暗号化し、第3の暗号データを生成する手段と、前記第3の暗号データを前記譲渡側端末から前記譲受側端末に送信する手段と、前記譲受側端末において、前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶する手段と、を有することを特徴とする。
請求項2記載の本発明は、請求項1記載の発明において、前記譲受側端末において、前記記憶部に記憶された前記第3の暗号データを前記第2の暗号鍵で復号し、前記データを生成する手段を有することを特徴とする。
請求項3記載の本発明は、複数の端末と相互に通信可能であり、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理装置であって、前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成する手段と、前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶する手段と、前記第1の暗号鍵を前記譲渡側端末に送信する手段と、前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信する手段と、前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成する手段と、前記第2の暗号データを前記記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶する手段と、前記第2の暗号鍵を前記譲受側端末に送信する手段と、を有することを特徴とする。
請求項4記載の本発明は、請求項3記載の発明において、前記データが使用されるときは、前記譲受側端末から前記第2の暗号鍵を受信する手段と、前記記憶部に記憶された第2の暗号データを、受信した第2の暗号鍵で復号化し、前記データを生成する手段と、を有することを特徴とする。
請求項5記載の本発明は、データをバーナム暗号を用いて暗号化する端末を複数備えたアクセス権管理システムの該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理方法であって、前記データのアクセス権限を有する譲渡側端末において、該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、前記第1の暗号データを前記譲渡側端末から、前記データのアクセス権限を譲り受ける譲受側端末に送信するステップと、前記譲受側端末において、前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成するステップと、前記第2の暗号データを前記譲受側端末から前記譲渡側端末に送信するステップと、前記譲渡側端末において、前記譲渡側端末の前記第1の暗号鍵で前記第2の暗号データを暗号化し、第3の暗号データを生成するステップと、前記第3の暗号データを前記譲渡側端末から前記譲受側端末に送信するステップと、前記譲受側端末において、前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶するステップと、を有することを特徴とする。
請求項6記載の本発明は、複数の端末と相互に通信可能なアクセス権管理装置が、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理方法であって、前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、前記第1の暗号鍵を前記譲渡側端末に送信するステップと、前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信するステップと、前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成するステップと、前記第2の暗号データを所定の記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、前記第2の暗号鍵を前記譲受側端末に送信するステップと、を有することを特徴とする。
請求項7記載の本発明は、データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムの端末用プログラムであって、前記データのアクセス権限を有する譲渡側端末に、該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、前記第1の暗号データを前記データのアクセス権限を譲り受ける譲受側端末に送信するステップと、前記譲受側端末から、前記譲受側端末の第2の暗号鍵で暗号化して、生成された第2の暗号データを受信するステップと、前記第1の暗号鍵で前記第2の暗号データを暗号し、第3の暗号データを生成するステップと、前記第3の暗号データを、アクセス権譲渡のデータとして前記譲受側端末に送信するステップと、を実行させることを特徴とする。
請求項8記載の本発明は、データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムの端末用プログラムであって、前記データのアクセス権限を譲り受ける譲受側端末に、前記データのアクセス権限を有する譲渡側端末から、該譲渡側端末の第1の暗号鍵で前記データを暗号化して、生成された第1の暗号データを受信するステップと、前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成するステップと、前記第2の暗号データを前記譲受側端末に送信するステップと、前記譲渡側端末から、前記第1の暗号鍵で前記第2の暗号データを暗号化して、生成された第3の暗号データを受信するステップと、前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶するステップと、を実行させることを特徴とする。
請求項9記載の本発明は、請求項8記載の発明において、前記記憶部に記憶された前記第3の暗号データを前記第2の暗号鍵で復号し、前記データを生成するステップを前記譲受側端末に実行させることを特徴とする。
請求項10記載の本発明は、複数の端末と相互に通信可能であり、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するためのコンピュータが読み取り可能なアクセス権管理プログラムであって、前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、前記第1の暗号鍵を前記譲渡側端末に送信するステップと、前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信するステップと、前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成するステップと、前記第2の暗号データを所定の記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、前記第2の暗号鍵を前記譲渡側端末に送信するステップと、を前記コンピュータに実行させることを特徴とする。
請求項11記載の本発明は、請求項10記載の発明において、前記データが使用されるときは、前記譲受側端末から前記第2の暗号鍵を受信するステップと、前記記憶部に記憶された第2の暗号データを、受信した第2の暗号鍵で復号化し、前記データを生成するステップと、を前記コンピュータに実行させることを特徴とする。
本発明によれば、バーナム暗号を用いて暗号化する端末を複数備え、データのアクセス権限を譲渡する譲渡側端末において第1の暗号鍵で暗号化した第1の暗号データを譲受側端末において第2の暗号鍵で暗号化して第2の暗号データとし、さらに、譲渡側端末において第2の暗号データを第1の暗号鍵で暗号化した第3の暗号データを生成し、該第3の暗号データを譲受側端末に譲渡するので、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、一旦復号せずにデータ権限を譲渡でき、セキュリティを十分に確保することができる。
また、本発明によれば、バーナム暗号を用いて暗号化するアクセス権管理装置及び複数の端末を備え、アクセス権管理装置は、譲渡側端末のための第1の暗号鍵でデータを暗号化して、第1の暗号データを管理し、第1の暗号鍵は譲渡側端末で管理する。そして、データのアクセス権限が譲渡された場合には、アクセス権管理装置は、譲渡側端末のための第1の暗号鍵及び譲受側端末のための第2の暗号鍵を用いて第1の暗号データをさらに暗号化し、第2の暗号データを管理し、第2の暗号鍵は譲受側端末で管理するので、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、一旦復号せずにデータ権限を譲渡でき、セキュリティを十分に確保することができる。
以下、本発明の実施の形態を図面を用いて説明する。
<第1の実施の形態>
図1は、本発明の第1の実施の形態に係るアクセス権管理システム10の概略構成を示す図である。
図1に示すように、アクセス権管理システム10は、ユーザが備えるクライアント端末(以下、単に端末とよぶ)1i(i=a,b)をインターネット等の通信ネットワーク2を介して接続しており、各端末1iが相互に通信可能となっている。尚、本実施の形態においては、1対の端末のうち、端末1aのユーザを甲(データ譲渡側)、端末1bのユーザを乙(データ譲受側)として、以下、説明する。
各端末1iは、バーナム暗号を利用してデータの暗号及び復号を行う装置であり、記憶部11、データ暗号部12、データ復号部13、及び通信部14を備えている。
ここで、バーナム暗号は、データと同じ長さの乱数列を用意し、暗号化に際してはデータのnビット目と乱数列のnビット目の排他的論理和演算(XOR)をし、復号化に際しては暗号化されたデータのnビット目と乱数列のnビット目の排他的論理和演算(XOR)をする暗号方式をいう。以下、排他的論理和演算(XOR)は、「*」なる演算記号で表すことにするが、排他的論理和演算のビット毎の演算規則での各演算結果は下記のとおりである。
0 * 0 の演算結果は 0
0 * 1 の演算結果は 1
1 * 0 の演算結果は 1
1 * 1 の演算結果は 0
また、XOR演算は交換法則、結合法則が成り立つ。すなわち、
a*b=b*a
(a*b)*c=a*(b*c)が成り立つことが数学的に証明される。
また、a*a=0,a*0=0*a=aが成り立つ。ここでa,b,cは同じ長さのビット列を表し、0はこれらと同じ長さですべて「0」からなるビット列を表す。
記憶部11には、ユーザがアクセスを制限したいデータS、データSを暗号するための暗号鍵(復号鍵)R、暗号化されたデータなどを記憶するようになっている。尚、図1においては、甲の暗号鍵をR、乙の暗号鍵をR’と表記して、両者を区別している。また、データSと暗号鍵R及び暗号鍵R’のデータ長は同一である。
データ暗号部12は、データSを暗号鍵Rで暗号化し、暗号データAを生成するようになっており、データ復号部13は、暗号データAを暗号鍵Rで復号し、データSを生成するようになっている。即ち、暗号化に際しては、A=S*R、復号化に際しては、S=A*Rであり、データSと暗号鍵Rとの排他的論理和演算により生成された暗号データAを、さらに、暗号鍵Rと排他的論理和演算を行うことにより、データSが復元されるものである。
また、データ暗号部12は、後述するように、データSを暗号化するだけでなく、他の端末1iから送られた暗号データA’に関しても、自己の暗号鍵Rでさらに暗号化するようになっている。また、データ復号部13は、後述するように、他の端末1iから送られた暗号データA’に関しても、自己の暗号鍵Rで復号できるようになっており、これにより、アクセス制限されたデータの譲渡が可能となっている。
通信部14は、端末1i間における暗号データの送受信を行うようになっている。
ここで、上述した端末1iは、少なくとも演算機能および制御機能を備えた中央演算装置(CPU)、プログラムやデータを格納する機能を有するRAM等からなる主記憶装置(メモリ)を有する電子的な装置から構成されているものである。また、上記装置は、主記憶装置の他、ハードディスクなどの補助記憶装置を具備していてもよい。
このうち、データ暗号部12、データ復号部13、及び通信部14は、上記CPUによる演算制御機能を具体的に示したものに他ならない。また、記憶部11は、上記主記憶装置及び補助記憶装置の機能を備えたものである。
また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置またはハードディスクに格納されているものである。そして、このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。
次に、本実施の形態に係るアクセス権管理システム10の動作を図2を用いて説明する。ここで、図2は、甲が暗号化したデータのデータ権限を乙に譲渡するときの端末1a及び端末1b間のデータのやりとりを示すシーケンス図である。
まず、端末1aにおいて、甲の暗号鍵Rを用いてデータSを暗号化した暗号化データAを生成し、記憶部11に保管する(ステップS10,S20)。ここで、A=S*Rである。
次に、データSのアクセス権限を譲渡するときは、譲渡端末1aから端末1bに暗号データAを送信する(ステップS30)。
端末1bにおいては、暗号データAを受信すると、さらに、乙の暗号鍵R’を用いて暗号データAを暗号化し、暗号データA’を生成する(ステップS40)。即ち、A’= A*R’である。
次に、端末1bから端末1aに暗号データA’を送信する(ステップS50)。
端末1aにおいては、暗号データA’を受信すると、さらに、甲の暗号鍵Rを用いて暗号データA’を暗号化し、暗号データA”を生成する(ステップS60)。即ち、A”= A’*Rである。
次に、端末1aから端末1bに暗号データA”を、アクセス権限が譲渡されたデータとして送信する(ステップS70)。
端末1bにおいては、受信した暗号データA”を記憶部11にアクセス権限が譲渡されたデータとして記憶する(ステップS80)。
次に、端末1bで暗号データA”を復号するときは、乙の暗号鍵R’を用いて、復号されたデータSを生成する(ステップS90)。これは、
A”= A’*R
=(A*R’)*R
=((S*R)*R’)*R
=S*R*R’*R
=S*(R*R)*R’
=S*0*R’
=S*R’
であるから、受信した暗号データA”と暗号鍵R’の排他的論理和により、
A”*R’= (S*R’)*R’=S
となることによる。尚、A”= S*R’より、暗号データA”は、甲の暗号鍵Rでは復号することができない。
従って、本実施の形態に係るアクセス権管理システム10によれば、バーナム暗号を用いて暗号化する端末1a及び1bを備え、データのアクセス権限を譲渡する譲渡側の端末1aにおいて暗号鍵Rで暗号化した暗号データAを譲受側の端末1bにおいて暗号鍵R’で暗号化して暗号化データA’とし、さらに、端末1aにおいて暗号化データA’を暗号鍵Rで暗号化された暗号データA”を生成し、該暗号データA”を端末1bに譲渡するので、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、一旦復号せずにデータ権限を譲渡でき、セキュリティを十分に確保することができる。
<第2の実施の形態>
図3は、本発明の第2の実施の形態に係るアクセス権管理システム20の概略構成を示す図である。
図3に示すように、アクセス権管理システム20は、ユーザが備えるクライアント端末(以下、単に端末とよぶ)3i(i=a,b)と、アクセス権管理サーバ4を通信ネットワーク2を介して接続しており、各端末3i及びアクセス権管理サーバ4が相互に通信可能となっている。尚、本実施の形態においては、1対の端末のうち、端末3aのユーザを甲(データ権限譲渡側)、端末3bのユーザを乙(データ権限譲受側)として、以下、説明する。
各端末3iは、アクセスを制限したいデータSを保持する端末であり、記憶部31、及び通信部32を備えている。
記憶部31には、アクセスを制限したいデータS、アクセス権管理サーバ4から送信される暗号鍵R(データ権限を有するユーザのデータ暗号化の際に用いられた暗号鍵)などを記憶するようになっている。尚、図1においては、甲の暗号鍵をR、乙の暗号鍵をR’と表記して、両者を区別している。また、データSと暗号鍵R及び暗号鍵R’のデータ長は同一である。
通信部32は、端末3iとアクセス権管理サーバ4間のデータの送受信を行うようになっている。
アクセス権管理サーバ4は、バーナム暗号を利用してデータの暗号及び復号を行う装置であり、暗号データ記憶部41、鍵生成部42、データ暗号部43、データ復号部44、及び通信部45を備えている。
暗号データ記憶部41は、データ暗号部43で暗号化された暗号データA(データSのアクセス権限を甲が有する場合の甲の暗号データ),A”( データSのアクセス権限を乙が有する場合の乙の暗号データ)を記憶するようになっている。
鍵生成部42は、データ暗号部43で暗号化に用いる暗号鍵(復号鍵)R,R’を生成するようになっている。
データ暗号部43は、端末3aから送信(送付)されたデータSを、甲の暗号鍵Rを用いて暗号化し、暗号データAを生成するようになっている。また、データSの権限を甲から乙に譲渡したときは、甲の暗号鍵R及び乙の暗号鍵R’を用いて、暗号データAをさらに暗号化し、暗号化データA”を生成するようになっている。尚、暗号化に用いた暗号鍵R及びR’は、それぞれ端末3a及び3bに通信部45を介して送信される。
データ復号部44は、データ権限を譲渡されたユーザ、即ち、乙から暗号鍵R’が送信されると、該暗号鍵R’を用いて暗号化データA”を復号し、データSを通信部45を介して、端末3bに送信(送付)するようになっている。
通信部45は、端末1iとアクセス権管理サーバ4間のデータの送受信を行うようになっている。
ここで、上述した端末3i及びアクセス権管理サーバ4は、それぞれ、少なくとも演算機能および制御機能を備えた中央演算装置(CPU)、プログラムやデータを格納する機能を有するRAM等からなる主記憶装置(メモリ)を有する電子的な装置から構成されているものである。また、上記装置は、主記憶装置の他、ハードディスクなどの補助記憶装置を具備していてもよい。
このうち、端末3iの通信部32、アクセス権管理サーバ4の鍵生成部42、データ暗号部43、データ復号部44、及び通信部45は、上記CPUによる演算制御機能を具体的に示したものに他ならない。また、端末3iの記憶部31、及びアクセス権管理サーバ4の暗号データ記憶部41は、上記主記憶装置及び補助記憶装置の機能を備えたものである。
また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置またはハードディスクに格納されているものである。そして、このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。
次に、本実施の形態に係るアクセス権管理システム20の動作を図4を用いて説明する。ここで、図4は、データSのデータ権限を甲から乙に譲渡するときの端末3a,端末3bとアクセス権管理サーバ4間のデータのやりとりを示すシーケンス図である。
まず、甲がデータSのアクセス権限を有する場合には、データSを甲の端末3aからアクセス管理サーバ4に送信する(ステップS110)。尚、データSの送信に際しては、通信内容の漏洩を防止するセキュアな通信ネットワーク2a(例えば、インターネット網などのオープンな通信ネットワーク2bではなく、LAN、IP−VPN、専用線、電話回線など)を用いる、また、通信ネットワーク2aを介した通信ではなく、例えば、郵便などの送付手段を用いてもよい。
アクセス権管理サーバ4は、端末3aからデータSを受け取ると、甲の暗号鍵Rを生成し、暗号鍵Rを用いて暗号データA=S*Rを生成する(ステップS120,S130)。そして、暗号データAを暗号データ記憶部41に記憶させるとともに、暗号鍵Rを通信ネットワーク2を介して甲の端末3aに送信する(ステップS140,S150)。
端末3aは、アクセス権管理サーバ4から暗号鍵Rを受け取ると、暗号鍵Rを記憶部31に記憶させる(ステップS160)。
以上の動作により、甲のデータSに対するアクセス権限は、アクセス権管理サーバ4で管理されることになる。
次に、甲がデータSのアクセス権限を乙に譲渡する場合には、甲から乙へのデータのアクセス権譲渡の要求、及び暗号鍵Rを、甲の端末3aから通信ネットワーク2を介してアクセス権管理サーバ4に送信する(ステップS210)。
アクセス権管理サーバ4は、端末3aから甲から乙へのアクセス権譲渡要求、及び暗号鍵Rを受け取ると、乙の暗号鍵R’を生成し、暗号データ記憶部41に記憶された暗号データAから暗号鍵R及びR’を用いて暗号データA”=A*R*R”を生成する(ステップS220,S230)。そして、暗号データA”を暗号データ記憶部41に記憶させるとともに、暗号鍵R’を通信ネットワーク2を介して乙の端末3bに送信する(ステップS240,S250)。
端末3bは、アクセス権管理サーバ4から暗号鍵R’を受け取ると、暗号鍵R’を記憶部31に記憶させる(ステップS260)。
以上の動作により、データSに対するアクセス権限は、甲から乙に譲渡されたことになる。
次に、乙がデータSを使用する場合には、データSの使用要求、及び暗号鍵R’を端末3bから通信ネットワーク2を介してアクセス管理サーバ4に送信する(ステップS310)。
アクセス権管理サーバ4は、端末3bから甲データSの使用要求、及び暗号鍵R’を受け取ると、暗号データ記憶部41に記憶された暗号データA”を暗号鍵R’を用いて復号し、データSを生成する(ステップS320)。これは、
A”=A*R*R’
=(S*R)*R*R’
=S*R*R*R’
=S*(R*R)*R’
=S*0*R’
=S*R’
であるから、
A”*R’= (S*R’)*R’
=S*R’*R’
=S
となり、データSが得られるものである。そして、復号されたデータSをセキュアな通信ネットワーク2a又は送付手段を介して乙の端末3bに送信する(ステップS330)。
端末3bは、アクセス管理サーバ4からデータSを受け取ると、データSを記憶部31に記憶させる(ステップS340)。これにより、乙はデータSを端末3bで使用することができる。
従って、本実施の形態に係るアクセス権管理システム20によれば、バーナム暗号を用いて暗号化するアクセス権管理サーバ4、並びに端末3a及び3bを備え、アクセス権管理サーバ4は、データのアクセス権限を譲渡する譲渡側の端末3aのユーザ甲のデータSを甲の暗号鍵Rで暗号化し、暗号データAを管理し、甲の暗号鍵は端末3aが管理する。そして、甲から譲受側の端末3bのユーザ乙にデータSのアクセス権限が譲渡された場合には、アクセス権管理サーバ4は、甲の暗号鍵R及び乙の暗号鍵R’を用いて暗号データAをさらに暗号化し、暗号データA”を管理し、乙の暗号鍵は端末3bが管理するので、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、一旦復号せずにデータ権限を譲渡でき、セキュリティを十分に確保することができる。
<第3の実施の形態>
(システム構成)
図5は、本発明の第3の実施の形態に係るアクセス権管理システム30の概略構成を示す図である。
図5に示すように、アクセス権管理システム30は、ユーザが備えるクライアント端末(以下、単に端末とよぶ)3i(i=a,b)と、アクセス権管理サーバ5を通信ネットワーク2を介して接続しており、各端末3i及びアクセス権管理サーバ5が相互に通信可能となっている。また、アクセス権管理サーバ5は、ハードウェア的に互いに独立した複数(本実施の形態では2とする)のデータ保管用サーバコンピュータ(以下、単に保管サーバとよぶ)6a,6bと接続されている。尚、本実施の形態においては、1対の端末のうち、端末3aのユーザを甲(データ権限譲渡側)、端末3bのユーザを乙(データ権限譲受側)として、以下、説明する。
各端末3iは、アクセスを制限したいデータSを保持する端末であり、記憶部31、及び通信部32を備えている。
記憶部31には、アクセスを制限したいデータS、アクセス権管理サーバ5から送信される分割データD(3)などを記憶するようになっている。即ち、第2の実施の形態では暗号鍵Rが送信されたが、本実施の形態においては、分割データD(3)が送信される点が異なっている。尚、図1においては、甲の分割データをD(3)、乙の甲の分割データをD’(3)をと表記して、両者を区別している。
通信部32は、端末3iとアクセス権管理サーバ5間のデータの送受信を行うようになっている。
アクセス権管理サーバ5は、甲が権限を有するデータSを後述する独自の秘密分散アルゴリズムによる秘密分散法(以下、秘密分散法Aとよぶ)を用いて複数のデータに分割し、該分割データを保管サーバ6a,6bおよび端末3aにそれぞれ保管させるようになっている。尚、図1では、アクセス権管理サーバ5は、3つの分割データD(1),D(2) ,D(3)に分割し、それぞれを複数の保管サーバ6a,6bおよび端末3aに保管するようになっている。
また、アクセス権管理サーバ5は、データSのデータ権限を甲から乙に譲渡する場合には、上述した秘密分散法Aを用いて、分割データD(1),D(2) ,D(3)から再分割データD’(1),D’(2) ,D’(3)を生成し、それぞれを複数の保管サーバ6a,6bおよび端末3bに保管するようになっている。
尚、本実施の形態においては、データSを3分割して保管する場合を例に説明するが、本発明はデータSを3分割する場合に限定されるわけではなく、n分割(n=2以上の整数)の場合にも適用されるものである。また、端末3iで保管される分割データは1つとは限らず複数であってもよいものである。また、本実施の形態においては、分割データD(1),D(2)(再分割データD’(1),D’(2))を保管サーバ6、分割データD(3)(再分割データD’(3))を端末3iに割り当てたが、どの分割データをどの保管サーバ6および端末3iに割り当ててもよいものである。さらに、本実施の形態においては、分割データ(再分割データ)の一部を保管サーバ6a,6bで保管するようにしているが、アクセス権管理サーバ5内で管理してもよいものである。
アクセス管理サーバ5は、詳しくは、データSから複数の分割データDを生成するために使用される乱数Rおよび再分割データD’を生成するために使用される乱数R’を発生させる乱数生成部51、データSから秘密分散法Aを用いて複数の分割データDに分割する分割データ生成部52、データ権限を甲から乙に譲渡するときに、秘密分散法Aを用いて複数の分割データDから複数の再分割データD’を生成する再分割データ生成部53、複数の再分割データD’から秘密分散法Aを用いてデータSを復元するデータ復元部54、並びに端末3i、及び保管サーバ6a,6bとそれぞれデータの送受信を行う通信部55を具備する構成となっている。
ここで、上述した端末3i、アクセス権管理サーバ5及び保管サーバ6a,6bは、それぞれ、少なくとも演算機能および制御機能を備えた中央演算装置(CPU)、プログラムやデータを格納する機能を有するRAM等からなる主記憶装置(メモリ)を有する電子的な装置から構成されているものである。また、上記装置は、主記憶装置の他、ハードディスクなどの補助記憶装置を具備していてもよい。
このうち、端末3iの通信部32、アクセス権管理サーバ5の乱数生成部51、分割データ生成部52、再分割データ生成部53、データ復元部54、及び通信部55は、上記CPUによる演算制御機能を具体的に示したものに他ならない。また、端末3iの記憶部31、及び保管サーバ6a,6bは、上記主記憶装置及び補助記憶装置の機能を備えたものである。
また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置またはハードディスクに格納されているものである。そして、このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。
(秘密分散法A)
ここで、本実施の形態における独自の秘密分散アルゴリズムによる秘密分散法Aについて説明する。
本実施形態における元データ(データSに相当する)の分割および復元では、元データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するが、この場合の処理単位ビット長は任意の値に設定することができ、元データを処理単位ビット長毎に区分けして、この元部分データから分割部分データを分割数より1少ない数ずつ生成するので、元データのビット長が処理単位ビット長の(分割数-1)倍の整数倍に一致しない場合は、元データの末尾の部分に0を埋めるなどして元データのビット長を処理単位ビット長の(分割数-1)倍の整数倍に合わせることにより本実施形態を適用することができる。
また、上述した乱数も(分割数-1)個の元部分データの各々に対応して処理単位ビット長のビット長を有する(分割数-1)個の乱数部分データとして乱数生成部51から生成される。すなわち、乱数は処理単位ビット長毎に区分けされて、処理単位ビット長のビット長を有する(分割数-1)個の乱数部分データとして生成される。更に、元データは処理単位ビット長に基づいて所望の分割数の分割データに分割されるが、この分割データの各々も(分割数-1)個の元部分データの各々に対応して処理単位ビット長のビット長を有する(分割数-1)個の分割部分データとして生成される。すなわち、分割データの各々は、処理単位ビット長毎に区分けされて、処理単位ビット長のビット長を有する(分割数-1)個の分割部分データとして生成される。
なお、以下の説明では、上述した元データ、乱数、分割データ、分割数および処理単位ビット長をそれぞれS,R,D,nおよびbで表すとともに、また複数のデータや乱数などのうちの1つを表わす変数としてi(=1〜n)およびj(=1〜n-1)を用い、(分割数n-1)個の元部分データ、(分割数n-1)個の乱数部分データ、および分割数n個の分割データDのそれぞれのうちの1つをそれぞれS (j),R(j)およびD(i)で表記し、更に各分割データD(i)を構成する複数(n-1)の分割部分データをD(i,j)で表記するものとする。すなわち、S (j)は、元データSの先頭から処理単位ビット長毎に区分けして1番から順に採番した時のj番目の元部分データを表すものである。
この表記を用いると、元データ、乱数データ、分割データとこれらをそれぞれ構成する元部分データ、乱数部分データ、分割部分データは、次のように表記される。
元データS=(n-1)個の元部分データS(j)
=S(1),S(2),…,S(n-1)
乱数R=(n-1)個の乱数部分データR(j)
=R(1),R(2),…,R(n-1)
n個の分割データD(i)=D(1),D(2),…,D(n)
各分割部分データD(i,j)
=D(1,1),D(1,2),…,D(1,n-1)
D(2,1),D(2,2),…,D(2,n-1)
… … …
D(n,1),D(n,2),…,D(n,n-1)
(i=1〜n), (j=1〜n-1)
本実施形態は、上述したように処理単位ビット長毎に区分けされる複数の部分データに対して元部分データと乱数部分データの排他的論理和演算(XOR)を行って、詳しくは、元部分データと乱数部分データの排他的論理和演算(XOR)からなる定義式を用いて、元データの分割を行うことを特徴とするものであり、上述したデータ分割処理に多項式や剰余演算を用いる方法に比較して、コンピュータ処理に適したビット演算である排他的論理和(XOR)演算を用いることにより高速かつ高性能な演算処理能力を必要とせず、大容量のデータに対しても簡単な演算処理を繰り返して分割データを生成することができるとともに、また分割データの保管に必要となる記憶容量も分割数に比例した倍数の容量よりも小さくすることができる。更に、任意に定めた一定の長さ毎にデータの先頭から順に演算処理を行うストリーム処理により分割データが生成される。
次に、フローチャートなどの図面も参照して、本実施の形態における秘密分散法Aの作用について説明するが、この説明の前に図6乃至10、および図12に示す記号の定義について説明する。
(1)Πi=1 nA(i)は、A(1)*A(2)*…A(n)を意味するものとする。
(2)c(j,i,k)を(n-1)×(n-1)行列であるU[n-1,n-1]×(P[n-1,n-1])^(j-1)のi行k列の値と定義する。
このときQ(j,i,k)を下記のように定義する。
c(j,i,k)=1 のとき Q(j,i,k)=R((n-1)×m+k)
c(j,i,k)=0 のとき Q(j,i,k)=0
ただし、mはm≧0の整数を表す。
(3)U[n,n]とは、n×n行列であって、i行j列の値をu(i,j)で表すと、
i+j<=n+1 のとき u(i,j)=1
i+j>n+1 のとき u(i,j)=0
である行列を意味するものとし、「上三角行列」ということとする。具体的には下記のような行列である。
Figure 0004664008
(4)P[n,n]とは、n×n行列であって、i行j列の値をp(i,j)で表すと、
j=i+1 のとき p(i,j)=1
i=n,j=1 のとき p(i,j)=1
上記以外のとき p(i,j)=0
である行列を意味するものとし、「回転行列」ということとする。具体的には下記のような行列であり、他の行列の右側からかけると当該他の行列の1列目を2列目へ、2列目を3列目へ、…,n-1列目をn列目へ、n列目を1列目へ移動させる作用がある。つまり、行列Pを他の行列に右側から複数回かけると、その回数分だけ各列を右方向へ回転させるように移動させることができる。
Figure 0004664008
(5)A,Bをn×n行列とすると、A×Bとは行列AとBの積を意味するものとする。行列の成分同士の計算規則は通常の数学で用いるものと同じである。
(6)Aをn×n行列とし、iを整数とすると、A^iとは行列Aのi個の積を意味するものとする。また、A^0とは単位行列Eを意味するものとする。
(7)単位行列E[n,n]とは、n×n行列であって、i行j列の値をe(i,j)で表すと、
i=j のとき e(i,j)=1
上記以外のとき e(i,j)=0
である行列を意味するものとする。具体的には下記のような行列である。Aを任意のn×n行列とすると
A×E=E×A=A
となる性質がある。
Figure 0004664008
次に、図6に示すフローチャートおよび図7および図8に示す具体的データなどを参照して、まず元データSの分割処理について説明する。これは、アクセス権管理サーバ5の分割データ生成部52の機能を説明するものである。
まず、元データSをアクセス権管理サーバ5に与える(図6のステップS201)。なお、本例では、元データSは、16ビットの「10110010 00110111」とする。
次に、アクセス権管理サーバ5は、分割数nとして3と指示する(ステップS203)。なお、この分割数n=3に従ってアクセス権管理サーバ5で生成される3個の分割データをD(1),D(2),D(3)とする。この分割データD(1),D(2),D(3)は、すべて元データのビット長と同じ16ビット長のデータである。
それから、元データSを分割するために使用される処理単位ビット長bを8ビットと決定する(ステップS205)。この処理単位ビット長bは、利用者が端末3からアクセス権管理サーバ5に対して指定してもよいし、またはアクセス権管理サーバ5において予め定められた値を用いてもよい。なお、処理単位ビット長bは、任意のビット数でよいが、ここでは元データSを割り切れることができる8ビットとしている。従って、上記16ビットの「10110010 00110111」の元データSは、8ビットの処理単位ビット長で区分けされた場合の2個の元分割データS(1)およびS(2)は、それぞれ「10110010」および「00110111」となる。
次のステップS207では、元データSのビット長が8×2の整数倍であるか否かを判定し、整数倍でない場合には、元データSの末尾を0で埋めて、8×2の整数倍に合わせる。なお、本例のように処理単位ビット長bが8ビットおよび分割数nが3に設定された場合における分割処理は、元データSのビット長として16ビットに限られるものでなく、処理単位ビット長b×(分割数n-1)=8×2の整数倍の元データSに対して有効なものである。
次に、ステップS209では、変数m、すなわち上述した整数倍を意味する変数mを0に設定する。本例のように、元データSが処理単位ビット長b×(分割数n-1)=8×2=16ビットである場合には、変数mは0であるが、2倍の32ビットの場合には、変数mは1となり、3倍の48ビットの場合には、変数mは2となる。
次に、元データSの8×2×m+1ビット目から8×2ビット分のデータが存在するか否かが判定される(ステップS211)。これは、このステップS211以降に示す分割処理を元データSの変数mで特定される処理単位ビット長b×(分割数n-1)=8×2=16ビットに対して行った後、元データSとして次の16ビットがあるか否かを判定しているものである。本例のように元データSが16ビットである場合には、16ビットの元データSに対してステップS211以降の分割処理を1回行うと、後述するステップS219で変数mが+1されるが、本例の元データSでは変数mがm+1の場合に相当する17ビット以降のデータは存在しないので、ステップS211からステップS221に進むことになるが、今の場合は、変数mは0であるので、元データSの8×2×m+1ビット目は、8×2×0+1=1となり、元データSの16ビットの1ビット目から8×2ビット分にデータが存在するため、ステップS213に進む。
ステップS213では、変数jを1から2(=分割数n-1)まで変えて、元データSの8×(2×m+j-1)+1ビット目から8ビット分(=処理単位ビット長)のデータを元部分データS(2×m+j)に設定し、これにより元データSを処理単位ビット長で区分けした2(分割数n-1)個の元部分データS(1),S(2)を次のように生成する。
元データS=S(1),S(2)
第1の元部分データS(1)=「10110010」
第2の元部分データS(2)=「00110111」
次に、変数jを1から2(=分割数n-1)まで変えて、乱数部分データR(2×m+j)に乱数生成部51から発生する8ビットの長さの乱数を設定し、これにより乱数Rを処理単位ビット長で区分けした2(分割数n-1)個の乱数部分データR(1),R(2)を次のように生成する(ステップS215)。
乱数R=R(1),R(2)
第1の乱数部分データR(1)=「10110001」
第2の乱数部分データR(2)=「00110101」
次に、ステップS217において、変数iを1から3(=分割数n)まで変えるとともに、更に各変数iにおいて変数jを1から2(=分割数n-1)まで変えながら、ステップS217に示す分割データを生成するための元部分データと乱数部分データの排他的論理和からなる定義式により複数の分割データD(i)の各々を構成する各分割部分データD(i,2×m+j)を生成する。この結果、次に示すような分割データDが生成される。
分割データD
=3個の分割データD(i)=D(1),D(2),D(3)
第1の分割データD(1)
=2個の分割部分データD(1,j)=D(1,1),D(1,2)
=「00110110」,「10110011」
第2の分割データD(2)
=2個の分割部分データD(2,j)=D(2,1),D(2,2)
=「00000011」,「00000010」
第3の分割データD(3)
=2個の分割部分データD(3,j)=D(3,1),D(3,2)
=「10110001」,「00110101」
なお、各分割部分データ(i,j)を生成するためのステップS217に示す定義式は、本例のように分割数n=3の場合には、具体的には図8に示す表に記載されているものとなる。図8に示す表から、分割部分データD(1,1)を生成するための定義式はS(1)*R(1)*R(2)であり、D(1,2)の定義式はS(2)*R(1)*R(2)であり、D(2,1)の定義式はS(1)*R(1)であり、D(2,2)の定義式はS(2)*R(2)であり、D(3,1)の定義式はR(1)であり、D(3,2)の定義式はR(2)である。また、図8に示す表にはm>0の場合の任意の整数についての一般的な定義式も記載されている。
このように整数倍を意味する変数m=0の場合について分割データDを生成した後、次に変数mを1増やし(ステップS219)、ステップS211に戻り、変数m+1に該当する元データSの17ビット以降について同様の分割処理を行おうとするが、本例の元データSは16ビットであり、17ビット以降のデータは存在しないので、ステップS211からステップS221に進み、上述したように生成した分割データD(1),D(2),D(3)を保管サーバ6及び端末3にそれぞれ保存して、分割処理を終了する。なお、このように保管された分割データD(1),D(2),D(3)はそれぞれ単独では元データが推測できない。
ここで、上述した図6のフローチャートのステップS217における定義式による分割データの生成処理、具体的には分割数n=3の場合の分割データの生成処理について詳しく説明する。
まず、整数倍を意味する変数m=0の場合には、ステップS217に示す定義式から各分割データD(i)=D(1)〜D(3)の各々を構成する各分割部分データD(i,2×m+j)=D(i,j)(i=1〜3,j=1〜2)は、次のようになる。
D(1,1)=S(1)*Q(1,1,1)*Q(1,1,2)
D(1,2)=S(2)*Q(2,1,1)*Q(2,1,2)
D(2,1)=S(1)*Q(1,2,1)*Q(1,2,2)
D(2,2)=S(2)*Q(2,2,1)*Q(2,2,2)
D(3,1)=R(1)
D(3,2)=R(2)
上記の6つの式のうち上から4つの式に含まれるQ(j,i,k)を具体的に求める。
これはc(j,i,k)を2×2行列であるU[2,2]×(P[2,2])^(j-1)のi行k列の値としたとき下記のように定義される。
c(j,i,k)=1 のとき Q(j,i,k)=R(k)
c(j,i,k)=0 のとき Q(j,i,k)=0
ここで、
j=1のときは
Figure 0004664008
j=2のときは
Figure 0004664008
これを用いると、各分割部分データD(i,j)は次のような定義式により生成される。
D(1,1)=S(1)*Q(1,1,1)*Q(1,1,2)=S(1)*R(1)*R(2)
D(1,2)=S(2)*Q(2,1,1)*Q(2,1,2)=S(2)*R(1)*R(2)
D(2,1)=S(1)*Q(1,2,1)*Q(1,2,2)=S(1)*R(1)*0=S(1)*R(1)
D(2,2)=S(2)*Q(2,2,1)*Q(2,2,2)=S(2)*0*R(2)=S(2)*R(2)
上述した各分割部分データD(i,j)を生成するための定義式は、図7にも図示されている。
図7は、上述したように16ビットの元データSを8ビットの処理単位ビット長に基づいて分割数n=3で3分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。
ここで、上述した定義式により分割データD(1),D(2),D(3)および各分割部分データD(1,1),D(1,2),D(2,1),D(2,2),D(3,1),D(3,2)を生成する過程と定義式の一般形について説明する。
まず、第1の分割データD(1)に対しては、第1の分割部分データD(1,1)は、上述した定義式S(1)*R(1)*R(2)で定義され、第2の分割部分データD(1,2)は定義式S(2)*R(1)*R(2)で定義される。なお、この定義式の一般形は、D(1,j)に対してはS(j)*R(j)*R(j+1)であり、D(1,j+1)に対してS(j+1)*R(j)*R(j+1)である(jは奇数とする)。定義式に従って計算すると、D(1,1)は00110110, D(1,2)は10110011となるので、D(1)は00110110 10110011である。なお、定義式の一般形は、図8にまとめて示されている。
また、第2の分割データD(2)に対しては、D(2,1)はS(1)*R(1)で定義され、D(2,2)はS(2)*R(2)で定義される。この定義式の一般形は、D(2,j)に対してはS(j)*R(j)であり、D(2,j+1)に対してはS(j+1)*R(j+1)である(jは奇数とする)。定義式に従って計算すると、D(2,1)は00000011, D(2,2)は00000010となるので、D(2)は00000011 00000010である。
更に第3の分割データD(3)に対しては、D(3,1)はR(1)で定義され、D(3,2)はR(2)で定義される。この定義式の一般形は、D(3,j)に対してはR(j)であり、D(3,j+1)に対してはR(j+1)である(jは奇数とする)。定義式に従って計算すると、D(3,1)は10110001, D(3,2)は00110101となるので、D(3)は10110001 00110101である。
上記説明は、S,R,D(1),D(2),D(3)の長さを16ビットとしたが、データの先頭から上記分割処理を繰り返すことにより、どのような長さの元データSからでも分割データD(1),D(2),D(3)を生成することができる。また、処理単位ビット長bは任意にとることができ、元データSの先頭から順にb×2の長さ毎に上記分割処理を繰り返すことにより任意の長さの元データ、具体的には処理単位ビット長b×2の整数倍の長さの元データに対して適用することができる。なお、元データSの長さが処理単位ビット長b×2の整数倍でない場合は、例えば、データ末尾の部分を0で埋めるなどして元データSの長さを処理単位ビット長b×2の整数倍に合わせることにより上述した本実施形態の分割処理を適用することができる。
次に、図7の右側に示す表を参照して、分割データから元データを復元する処理について説明する。これは、分割データから元データを復元できることを示すものである。
まず、アクセス権管理サーバ5に元データSの復元を要求する。アクセス権管理サーバ5は、保管サーバ6および端末3から分割データD(1),D(2),D(3)を取得し、この取得した分割データD(1),D(2),D(3)から次に示すように元データSを復元する。
まず、分割部分データD(2,1),D(3,1)から第1の元部分データS(1)を次のように生成することができる。
D(2,1)*D(3,1)=(S(1)*R(1))*R(1)
=S(1)*(R(1)*R(1))
=S(1)*0
=S(1)
具体的に計算すると、D(2,1)は00000011, D(3,1)は10110001なので、S(1)は10110010となる。
また、別の分割部分データから次のように第2の元部分データS(2)を生成することができる。
D(2,2)*D(3,2)=(S(2)*R(2))*R(2)
=S(2)*(R(2)*R(2))
=S(2)*0
=S(2)
具体的に計算すると、D(2,2)は00000010, D(3,2)は00110101なので、S(2)は00110111となる。
一般に、jを奇数として、
D(2,j)*D(3,j)=(S(j)*R(j))*R(j)
=S(j)*(R(j)*R(j))
=S(j)*0
=S(j)
であるから、D(2,j)*D(3,j)を計算すれば、S(j)が求まる。
また、一般に、jを奇数として、
D(2,j+1)*D(3,j+1)=(S(j+1)*R(j+1))*R(j+1)
=S(j+1)*(R(j+1)*R(j+1))
=S(j+1)*0
=S(j+1)
であるから、D(2,j+1)*D(3,j+1)を計算すれば、S(j+1)が求まる。
次に、D(1),D(3)を取得してSを復元する場合には、次のようになる。
D(1,1)*D(3,1)*D(3,2)=(S(1)*R(1)*R(2))*R(1)*R(2) =S(1)*(R(1)*R(1))*(R(2)*R(2))
=S(1)*0*0
=S(1)
であるから、D(1,1)*D(3,1)*D(3,2)を計算すれば、S(1)が求まる。具体的に計算すると、D(1,1)は00110110, D(3,1)は10110001, D(3,2)は00110101なので、S(1)は10110010となる。
また同様に、
D(1,2)*D(3,1)*D(3,2)=(S(2)*R(1)*R(2))*R(1)*R(2)
=S(2)*(R(1)*R(1))*(R(2)*R(2))
=S(2)*0*0
=S(2)
であるから、D(1,2)*D(3,1)*D(3,2)を計算すれば、S(2)が求まる。具体的に計算すると、D(1,2)は10110011, D(3,1)は10110001, D(3,2)は00110101なので、S(2)は00110111となる。
一般に、jを奇数として、
D(1,j)*D(3,j)*D(3,j+1)=(S(j)*R(j)*R(j+1))*R(j)*R(j+1)
=S(j)*(R(j)*R(j))*(R(j+1)*R(j+1))
=S(j)*0*0
=S(j)
であるから、D(1,j)*D(3,j)*D(3,j+1)を計算すれば、S(j)が求まる。
また、一般に、jを奇数として、
D(1,j+1)*D(3,j)*D(3,j+1)=(S(j+1)*R(j)*R(j+1))*R(j)*R(j+1)
=S(j+1)*(R(j)*R(j))*(R(j+1)*R(j+1))
=S(j+1)*0*0
=S(j+1)
であるから、D(1,j+1)*D(3,j)*D(3,j+1)を計算すれば、S(j+1)が求まる。
次に、D(1),D(2)を取得してSを復元する場合には、次のようになる。
D(1,1)*D(2,1)=(S(1)*R(1)*R(2))*(S(1)*R(1))
=(S(1)*S(1))*(R(1)*R(1))*R(2)
=0*0*R(2)
=R(2)
であるから、D(1,1)*D(2,1)を計算すれば、R(2)が求まる。具体的に計算すると、D(1,1)は00110110, D(2,1)は00000011なので、R(2)は00110101となる。
また同様に、
D(1,2)*D(2,2)=(S(2)*R(1)*R(2))*(S(2)*R(2))
=(S(2)*S(2))*R(1)*(R(2)*R(2))
=0*R(1)*0
=R(1)
であるから、D(1,2)*D(2,2)を計算すれば、R(1)が求まる。具体的に計算すると、D(1,2)は10110011, D(2,2)は00000010なので、R(1)は10110001となる。
このR(1),R(2)を使用してS(1),S(2)を求める。
D(2,1)*R(1)=(S(1)*R(1))*R(1)
=S(1)*(R(1)*R(1))
=S(1)*0
=S(1)
であるから、D(2,1)*R(1)を計算すれば、S(1)が求まる。具体的に計算すると、D(2,1)は00000011, R(1)は10110001なので、S(1)は10110010となる。
また同様に、
D(2,2)*R(2)=(S(2)*R(2))*R(2)
=S(2)*(R(2)*R(2))
=S(2)*0
=S(2)
であるからD(2,2)*R(2)を計算すればS(2)が求まる。具体的に計算するとD(2,2)は00000010, R(2)は00110101なので、S(2)は00110111となる。
一般に、jを奇数として、
D(1,j)*D(2,j)=(S(j)*R(j)*R(j+1))*(S(j)*R(j))
=(S(j)*S(j))*(R(j)*R(j))*R(j+1)
=0*0*R(j+1)
=R(j+1)
であるからD(1,j)*D(2,j)を計算すればR(j+1)が求まる。
また同様に、
D(1,j+1)*D(2,j+1)=(S(j+1)*R(j)*R(j+1))*(S(j+1)*R(j+1))
=(S(j+1)*S(j+1))*R(j)*(R(j+1)*R(j+1))
=0*R(j)*0
=R(j)
であるからD(1,j+1)*D(2,j+1)を計算すればR(j)が求まる。
このR(j),R(j+1)を使用してS(j),S(j+1)を求める。
D(2,j)*R(j)=(S(j)*R(j))*R(j)
=S(j)*(R(j)*R(j))
=S(j)*0
=S(j)
であるからD(2,j)*R(j)を計算すればS(j)が求まる。
また同様に、
D(2,j+1)*R(j+1)=(S(j+1)*R(j+1))*R(j+1)
=S(j+1)*(R(j+1)*R(j+1))
=S(j+1)*0
=S(j+1)
であるからD(2,j+1)*R(j+1)を計算すればS(j+1)が求まる。
上述したように、元データの先頭から処理単位ビット長bに基づいて分割処理を繰り返し行って、分割データを生成した場合には、3つの分割データD(1),D(2),D(3)のすべてを用いなくても、3つの分割データのうち、2つの分割データを用いて上述したように元データを復元することができる。即ち、端末3において、仮に分割データを紛失したとしても、保管サーバ6に保管された他の分割データから元データを復元ですることができる。
尚、本実施の形態に係るアクセス権管理サーバ5においては、3つの分割データD(1),D(2),D(3)を生成するようになっていたので、分割数が3の場合について説明したが、秘密分散法Aは、分割数がnの場合にも適用できるものである。
次に、図9に示すフローチャートを参照して、分割数がnで、処理単位ビット長がbである場合の一般的な分割処理について説明する。
まず、元データSをアクセス権管理サーバ5に与える(ステップS401)。また、アクセス権管理サーバ5に、分割数n(n≧3である任意の整数)を指示する(ステップS403)。処理単位ビット長bを決定する(ステップS405)。なお、bは0より大きい任意の整数である。次に、元データSのビット長がb×(n-1)の整数倍であるか否かを判定し、整数倍でない場合には、元データSの末尾を0で埋める(ステップS407)。また、整数倍を意味する変数mを0に設定する(ステップS409)。
次に、元データSのb×(n-1)×m+1ビット目からb×(n-1)ビット分のデータが存在するか否かが判定される(ステップS411)。この判定の結果、データが存在しない場合は、ステップS421に進むことになるが、今の場合は、ステップS409で変数mは0に設定された場合であるので、データが存在するため、ステップS413に進む。
ステップS413では、変数jを1からn-1まで変えて、元データSのb×((n-1)×m+j-1)+1ビット目からbビット分のデータを元部分データS((n-1)×m+j)に設定する処理を繰り返し、これにより元データSを処理単位ビット長bで区分けした(n-1)個の元部分データS(1),S(2),…S(n-1)が生成される。
次に、変数jを1からn-1まで変えて、乱数部分データR((n-1)×m+j)に乱数生成部51から発生する処理単位ビット長bの乱数を設定し、これにより乱数Rを処理単位ビット長bで区分けしたn-1個の乱数部分データR(1),R(2),…R(n-1)が生成される(ステップS415)。
次に、ステップS417において、変数iを1からnまで変えるとともに、更に各変数iにおいて変数jを1からn-1まで変えながら、ステップS417に示す分割データを生成するための定義式により複数の分割データD(i)の各々を構成する各分割部分データD(i,(n-1)×m+j)を生成する。この結果、次に示すような分割データDが生成される。
分割データD
=n個の分割データD(i)=D(1),D(2),…D(n)
第1の分割データD(1)
=n-1個の分割部分データD(1,j)=D(1,1),D(1,2),…D(1,n-1)
第2の分割データD(2)
=n-1個の分割部分データD(2,j)=D(2,1),D(2,2),…D(2,n-1)
… … …
… … …
第nの分割データD(n)
=n-1個の分割部分データD(n,j)=D(n,1),D(n,2),…D(n,n-1)
このように変数m=0の場合について分割データDを生成した後、次に変数mを1増やし(ステップS419)、ステップS411に戻り、変数m=1に該当する元データSのb×(n-1)ビット以降について同様の分割処理を行う。最後にステップS411の判定の結果、元データSにデータがなくなった場合、ステップS411からステップS421に進み、上述したように生成した分割データD(1), …,D(n)を保管サーバ6および端末3にそれぞれ保存して、分割処理を終了する。
さて、上述した実施形態においては、ここの分割データのみから、それを構成する部分データ間の演算を行うことによって乱数成分が失われる場合がある。即ち、例えば3分割の場合、各分割部分データは次のように定義される。
D(1,1)=S(1)*R(1)*R(2), D(1,2)=S(2)*R(1)*R(2), …
D(2,1)=S(1)*R(1), D(2,2)=S(2)*R(2), …
D(3,1)=R(1), D(3,2)=R(2), …
D(1)について見ると、例えば、D(1,1)、D(1,2)が取得できると、
D(1,1)*D(1,2)=(S(1)*R(1)*R(2))*(S(2)*R(1)*R(2))
=S(1)*S(2)*((R(1)*R(1))*((R(2)*R(2))
=S(1)*S(2)*0*0
=S(1)*S(2)
となる。一般にはD(1,j)*D(1,j+1)=S(j)*S(j+1)である。ここでjはj=2×m+1、mはm≧0の任意の整数である。
D(1,1)、D(1,2)は、上記の定義より、元データと乱数の演算により生成されたものであり、D(1,1)、D(1,2)それぞれを見ても元データの内容は分からないが、D(1,1)*D(1,2)の演算を行うことによりS(1)*S(2)が算出される。これは元データそのものではないが、乱数成分を含んでいない。
このように乱数成分が失われると、個々の元部分データについて、例えばS(2)の一部が既知である場合にはS(1)の一部が復元可能となるので、安全ではないと考えられる。例えば、元データが標準化されたデータフォーマットに従ったデータであって、S(2)がそのデータフォーマット中のヘッダ情報やパディング(例えば、データ領域の一部を0で埋めたもの)などを含む部分であった場合には、これらのデータフォーマット固有のキーワードや固定文字列などを含むため、その内容は予測され得る。また、S(2)のうち既知の部分とS(1)*S(2)の値から、S(1)の一部が復元可能である。
この問題を解決する方法は以下の通りである。図10におけるD(1,j+1)とD(2,j+1)は、図8におけるD(1,j+1)とD(2,j+1)を入れ替えたものである。ここでjはj=2×m+1、mはm≧0の任意の整数である。
この場合、個々の分割データのみでは、それを構成する分割部分データ間で演算を行っても乱数成分が失われない。これは、図10より
D(1,j)*D(1,j+1)=(S(j)*R(j)*R(j+1))*(S(j+1)*R(j+1))
=S(j)*S(j+1)*R(j)*((R(j+1)*R(j+1))
=S(j)*S(j+1)*R(j)*0
=S(j)*S(j+1)*R(j)
D(2,j)*D(2,j+1)=(S(j)*R(j))*(S(j+1)*R(j)*R(j+1))
=S(j)*S(j+1)*(R(j)*R(j))*R(j+1))
=S(j)*S(j+1)*0*R(j+1)
=S(j)*S(j+1)*R(j+1)
D(3,j)*D(3,j+1)=R(j)*R(j+1)
となるからである。
また、この場合、3つの分割データのうち2つから、元データを復元することができるという特性は失われていない。これは、D(1)、D(2)を取得してSを復元する場合には、図10におけるD(1)、D(2)は、図8におけるD(1)、D(2)を構成する分割部分データを入れ替えたものにすぎないので、明らかにこれらから元データを復元することができ、また、D(1)とD(3)またはD(2)とD(3)を取得してSを復元する場合には、D(3)は乱数のみからなる分割データであるので、D(1)またはD(2)の分割部分データ毎に必要な個数の乱数との排他的論理和演算を行うことにより、乱数部分を消去して元データを復元することができるからである。
次に、一旦分割された分割データにさらに乱数を与えて新たな分割データ(再分割データ)を生成する再分割処理について説明する。これは、アクセス権管理サーバ5の再分割データ生成部53の機能を説明するものであるが、これに関しても、分割数が3の場合を例に説明する。
図11は、データ再分割処理の概要を説明するフローチャート図である。同図によれば、まず分割データD(1),D(2),D(3)を取得し(ステップS601)、次に、乱数生成部51で再分割の際に用いる乱数R’を発生させる(ステップS603)。
次に、分割データD(1),D(2),D(3)それぞれに乱数R’を所定のルールで注入する(ステップS605)。これは、後述するようなルールにより分割データD(1),D(2),D(3)の分割部分データと乱数R’の乱数部分データの排他的論理和をとり、分割データから旧乱数であるRを消去して、新たな分割データD’(1),D’(2),D’(3)を生成するものである(ステップS607,S609)。
図12は、元データSを、元データの半分の長さの処理単位ビット長bに基づいて分割数n=3で3分割する場合の分割部分データの定義式、乱数R’の再注入後の分割部分データの定義式、さらに乱数Rを消去後の分割部分データの定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。
ここで、分割部分データD(i,j)の定義式について説明する。
まず、第1の分割データD(1)に対しては、図10に示すように、第1の分割部分データD(1,1)は、定義式S(1)*R(1)*R(2)で定義され、第2の分割部分データD(1,2)は定義式S(2)*R(2)で定義される。なお、この定義式の一般形は、D(1,j)に対してはS(j)*R(j)*R(j+1)であり、D(1,j+1)に対してS(j+1)*R(j+1)である(jは奇数とする)。
また、第2の分割データD(2)に対しては、図10に示すように、D(2,1)はS(1)*R(1)で定義され、D(2,2)はS(2)*R(1)*R(2)で定義される。この定義式の一般形は、D(2,j)に対してはS(j)*R(j)であり、D(2,j+1)に対してはS(j+1)*R(j)*R(j+1)である(jは奇数とする)。
更に第3の分割データD(3)に対しては、図10に示すように、D(3,1)はR(1)で定義され、D(3,2)はR(2)で定義される。この定義式の一般形は、D(3,j)に対してはR(j)であり、D(3,j+1)に対してはR(j+1)である(jは奇数とする)。
次に、新たな乱数R’注入後の分割部分データD’(i,j)の定義式について説明する。
まず、第1の分割データD’(1)に対しては、図12に示すように、第1の分割部分データD’(1,1)は、定義式D(1,1)* R’(1)*R’(2)、即ち、S(1)*R(1)*R(2)*R’(1)*R’(2)で定義され、第2の分割部分データD’(1,2)は、定義式D(1,2)*R’(2)、即ち、S(2)*R(2)* R’(2)で定義される。なお、この定義式の一般形は、D’(1,j)に対してはD(1,j)*R’(j)*R’(j+1)であり、D’(1,j+1)に対してD(1,j+1)*R’(j+1)である(jは奇数とする)。
また、第2の分割データD’(2)に対しては、図12に示すように、D’(2,1)はD(2,1)* R’(1)、即ち、S(1)*R(1)* R’(1)で定義され、D’(2,2)はD (2,2)*R’(1)*R’(2)、即ち、S(2)*R(1)* R(2)*R’(1)*R’(2)で定義される。この定義式の一般形は、D’(2,j)に対してはD(2,j)* R’(j)であり、D’(2,j+1)に対してはD(2,j+1)* R’(j)*R’(j+1)である(jは奇数とする)。
また、第3の分割データD’(3)に対しては、図12に示すように、D’(3,1)はD(3,1)* R’(1)、即ち、R(1)* R’(1)で定義され、D’(3,2)はD (3,2)*R’(2)、即ち、R(2)* R’(2)で定義される。この定義式の一般形は、D’(3,j)に対してはD(3,j)* R’(j)*であり、D’(3,j+1)に対してはD (3,j+1)* R’(j+1)である(jは奇数とする)。
次に、古い乱数Rを消去した分割部分データの定義式について説明する。
まず、上述の第1の分割データD’(1)に対しては、図12に示すように、第1の分割部分データD’(1,1)は、定義式(S(1)*R(1)*R(2)*R’(1)*R’(2))*(R(1)*R(2))、即ち、S(1)* R’(1)*R’(2)で定義され、第2の分割部分データD’(1,2)は、定義式(S(2)*R(2)* R’(2))*R(2)、即ち、S(2)*R’(2)で定義される。なお、この定義式の一般形は、D’(1,j)に対してはS(j) *R’(j)*R’(j+1)であり、D’(1,j+1)に対してS(j+1)*R’(j+1)である(jは奇数とする)。
また、上述の第2の分割データD’(2)に対しては、図12に示すように、D’(2,1)は(S(1)*R(1)* R’(1))* R(1)、即ち、S(1)* R’(1)で定義され、D’(2,2)は(S(2)*R(1)* R(2)*R’(1)*R’(2))*R(1)*R(2)、即ち、S(2)*R’(1)*R’(2)で定義される。この定義式の一般形は、D’(2,j)に対してはS(j)* R’(j)*であり、D(2,j+1)に対してはS(j+1)* R’(j)*R’(j+1)である(jは奇数とする)。
また、上述の第3の分割データD’(3)に対しては、図12に示すように、D’(3,1)は(R(1)* R’(1))*R(1)、即ち、R’(1)で定義され、D’(3,2)は(R(2)* R’(2))* R(2)、即ち、R’(2)で定義される。この定義式の一般形は、D’(3,j)に対してはR’(j)*であり、D(3,j+1)に対してはR’(j+1)である(jは奇数とする)。
このように、再分割部分データD’(i,j)はそれぞれ、分割部分データD (i,j)に、分割部分データD (i,j)の定義式で注入されていた乱数部分データR(j)に対応する乱数部分データR’(j)を注入した後、さらに乱数部分データR(j)を消去するように乱数部分データR(j)を注入して排他的論理和を計算し、求めるものである。
その結果、もとの分割部分データD (i,j)の定義式において、乱数部分データR(j)を乱数部分データR’(j)に置換したものが、再分割部分データD ’(i,j)の定義式となる。
次に、図12の右側に示す表を参照して、再分割データから元データを復元する処理について説明する。これは、アクセス権管理サーバ5の元データ復元部54の機能を説明するものである。
まず、分割部分データD’(2,1),D’(3,1)から第1の元部分データS(1)を次のように生成することができる。
D’(2,1)*D’(3,1)=(S(1)*R’(1))*R’(1)
=S(1)*(R’(1)*R’(1))
=S(1)*0
=S(1)
また、別の分割部分データから次のように第2の元部分データS(2)を生成することができる。
D’(2,2)*D’(3,1)*D’(3,2)=(S(2)*R’(1)*R’(2))*R’(1)* R’(2)
=S(2)* (R’(1)*R’(1))*(R’(2)* R’(2))
=S(2)*0*0
=S(2)
一般に、jを奇数として、
D’(2,j)*D’(3,j)=(S(j)*R’(j))* R’(j)
=S(j)*(R’(j)*R’(j))
=S(j)*0
=S(j)
であるから、D’(2,j)*D’(3,j)を計算すれば、S(j)が求まる。
また、一般に、jを奇数として、
D’(2,j+1)* D’(3,j)*D’(3,j+1)=(S(j+1)*R’(j)*R’(j+1))* R’(j)* R’(j+1)
=S(j+1)*(R’(j)*R’(j))*(R’(j+1)*R’(j+1))
=S(j+1)*0*0
=S(j+1)
であるから、D’(2,j+1)* D’(3,j)*D’(3,j+1)を計算すれば、S(j+1)が求まる。
次に、D’(1),D’(3)を取得してSを復元する場合には、次のようになる。
D’(1,1)*D’(3,1)*D’(3,2)=(S(1)*R’(1)*R’(2))* R’(1)*R’(2)
= S(1)*(R’(1)* R’(1))* (R’(2)* R’(2))
=S(1)*0*0
=S(1)
であるから、D’(1,1)*D’(3,1)*D’(3,2)を計算すれば、S(1)が求まる。
また同様に、
D’(1,2)* D’(3,2)=(S(2)*R’(2))*R’(2)
=S(2)*(R’(2)*R’(2))
=S(2)*0
=S(2)
であるから、D’(1,2)* D’(3,2)を計算すれば、S(2)が求まる。
一般に、jを奇数として、
D’(1,j)*D’(3,j)*D’(3,j+1)=(S(j)*R’(j)*R’(j+1))* R’(j)*R’(j+1)
=S(j)*(R’(j)*R’(j))*(R’(j+1)*R’(j+1))
=S(j)*0*0
=S(j)
であるから、D’(1,j)*D’(3,j)*D’(3,j+1)を計算すれば、S(j)が求まる。
また、一般に、jを奇数として、
D’(1,j+1)* D’(3,j+1)=(S(j+1)*R’(j+1)) *R’(j+1)
=S(j+1)*(R’(j+1)*R’(j+1))
=S(j+1)*0
=S(j+1)
であるから、D’(1,j+1)* D’(3,j+1)を計算すれば、S(j+1)が求まる。
次に、D’(1),D’(2)を取得してSを復元する場合には、次のようになる。
D’(1,1)*D’(2,1)=(S(1)* R’(1)*R’(2))*(S(1)*R’(1))
=(S(1)*S(1))*(R’(1)*R’(1))*R’(2)
=0*0* R’(2)
= R’(2)
であるから、D’(1,1)*D’(2,1)を計算すれば、R’(2)が求まる。
また同様に、
D’(1,2)*D’(2,2)=(S(2)*R’(2))*(S(2)*R’(1)*R’(2))
=(S(2)*S(2))*(R’(2)*R’(2))*R’(1)
=0*0*R’(1)
= R’(1)
であるから、D’(1,2)*D’(2,2)を計算すれば、R’(1)が求まる。
このR’(1), R’(2)を使用してS(1),S(2)を求める。
D’(2,1)* R’(1)=(S(1)*R’(1))* R’(1)
=S(1)*(R’(1)*R’(1))
=S(1)*0
=S(1)
であるから、D’(2,1)* R’(1)を計算すれば、S(1)が求まる。
また同様に、
D’(1,2)*R’(2)=(S(2)*R’(2))* R’(2)
=S(2)* (R’(2)*R’(2))
=S(2)*0
=S(2)
であるからD’(1,2)* R’(2)を計算すればS(2)が求まる。
一般に、jを奇数として、
D’(1,j)*D’(2,j)=(S(j)*R’(j)*R’(j+1))*(S(j)* R’(j))
=(S(j)*S(j))*(R’(j)*R’(j)) *R’(j+1)
=0*0*R’(j+1)
= R’(j+1)
であるからD’(1,j)*D’(2,j)を計算すればR’(j+1)が求まる。
また同様に、
D’(1,j+1)*D’(2,j+1)=(S(j+1)* R’(j+1))* (S(j+1)*R’(j)*R’(j+1))
=(S(j+1)*S(j+1))*(R’(j+1)* R’(j+1))*R’(j)
=0*0*R’(j)
=R’(j)
であるからD’(1,j+1)*D’(2,j+1)を計算すればR’(j)が求まる。
このR’(j), R’(j+1)を使用してS(j),S(j+1)を求める。
D’(2,j)*R’(j)=(S(j)* R’(j))* R’(j)
=S(j)*(R’(j)*R’(j))
=S(j)*0
=S(j)
であるからD’(2,j)*R’(j)を計算すればS(j)が求まる。
また同様に、
D’(1,j+1)* R’(j+1)=(S(j+1)* R’(j+1))*R’(j+1)
=S(j+1)* (R’(j+1)*R’(j+1))
=S(j+1)*0
=S(j+1)
であるからD’(1,j+1)* R’(j+1)を計算すればS(j+1)が求まる。
以上、再分割データを生成した場合には、3つの再分割データD’(1),D’(2),D’(3)のすべてを用いなくても、3つの再分割データのうち、2つの再分割データを用いて上述したように元データを復元することができる。
また、このデータ再分割方法においては、一旦元データを復元することなく(元データが見える形で現れない)、データの再分割処理を行うことができるので、よりセキュアなデータ管理が可能となる。
(動作)
次に、本実施の形態に係るアクセス権管理システム30の動作を図13を用いて説明する。ここで、図13は、データSのデータ権限を甲から乙に譲渡するときの端末3a,端末3bとアクセス権管理サーバ5間のデータのやりとりを示すシーケンス図である。
まず、甲がデータSのアクセス権限を有する場合には、データSを甲の端末3aからアクセス管理サーバ5に送信する(ステップS410)。尚、データSの送信に際しては、通信内容の漏洩を防止するセキュアな通信ネットワーク2a(例えば、インターネット網などのオープンな通信ネットワーク2bではなく、LAN、IP−VPN、専用線、電話回線など)を用いる、また、通信ネットワーク2aを介した通信ではなく、例えば、郵便などの送付手段を用いてもよい。
アクセス権管理サーバ5は、端末3aからデータSを受け取ると、甲の乱数Rを生成し、上述した秘密分散法Aを用いて3つのデータ(分割データ)D(1),D(2),D(3)を生成する(ステップS420,S430)。例えば、具体的には、
D(1)=(S(1)*R(1)*R(2)) ‖(S(2)*R(2))
D(2)=(S(1)*R(1))‖(S(2)* R(1)*R(2))
D(3)= R(1)‖R(2)
ただし、‖は、ビット列とビット列との結合を意味する。
次に、アクセス権管理サーバ5は、分割データD(1),D(2)を保管サーバ6a,6bにそれぞれ保管するとともに、分割データD(3)を通信ネットワーク2を介して甲の端末3aに送信する(ステップS440,S450)。尚、分割データD(3)は、上述したように、D(3)=R(1)‖R(2)であるため、分割データD(3)の送信は、乱数Rの送信と同じことである。
端末3aは、アクセス権管理サーバ5から分割データD(3)を受け取ると、分割データD(3)を記憶部31に記憶させる(ステップS460)。
以上の動作により、甲のデータSに対するアクセス権限は、アクセス権管理サーバ5で管理されることになる。
次に、甲がデータSのアクセス権限を乙に譲渡する場合には、甲から乙へのデータのアクセス権譲渡の要求、及び分割データD(3)を、甲の端末3aから通信ネットワーク2を介してアクセス権管理サーバ5に送信する(ステップS510)。
アクセス権管理サーバ5は、端末3aから甲から乙へのアクセス権譲渡要求、及び分割データD(3)を受け取ると、乙の乱数R’を生成し、分割データD(1),D(2),D(3)から秘密分散法Aを用いて、新たに3つのデータ(再分割データ)D’(1),D’(2),D’(3)を生成する(ステップS520,S530)。例えば、具体的には、
D’(1)=(S(1)*R’(1)*R’(2))‖(S(2)*R’(2))
D’(2)=(S(1)*R’(1))‖(S(2)* R’(1)*R’(2))
D’(3)= R’(1)‖R’(2)
次に、アクセス権管理サーバ5は、再分割データD’(1),D’(2)を保管サーバ6a,6bにそれぞれ保管するとともに、再分割データD’(3)を通信ネットワーク2を介して乙の端末3bに送信する(ステップS540,S550)。尚、再分割データD’(3)は、上述したように、D’(3)=R’(1)‖R’(2)であるため、分割データD’(3)の送信は、乱数R’の送信と同じことである。
端末3bは、アクセス権管理サーバ5から再分割データD’(3)を受け取ると、再分割データD’(3)を記憶部31に記憶させる(ステップS560)。
以上の動作により、データSに対するアクセス権限は、甲から乙に譲渡されたことになる。
次に、乙がデータSを使用する場合には、データSの使用要求、及び再分割データD’(3)を端末3bから通信ネットワーク2を介してアクセス管理サーバ5に送信する(ステップS610)。
アクセス権管理サーバ5は、端末3bからデータSの使用要求、及び再分割データD’(3)を受け取ると、保管サーバ6a,6bに保管された再分割データD’(1),D’(2)を取得し、これら再分割データD’(1),D’(2), D’(3)のうち、任意の2つから秘密分散法Aを用いて、データSを復号する(ステップS620)。
次に、アクセス権管理サーバ5は、復号されたデータSをセキュアな通信ネットワーク2a又は送付手段を介して乙の端末3bに送信する(ステップS630)。
端末3bは、アクセス管理サーバ5からデータSを受け取ると、データSを記憶部31に記憶させる(ステップS640)。これにより、乙はデータSを端末3bで使用することができる。
従って、本実施の形態に係るアクセス権管理システム30によれば、秘密分散法Aを用いて暗号化するアクセス権管理サーバ5、並びに端末3a及び3bを備え、アクセス権管理サーバ5は、データのアクセス権限を譲渡する譲渡側の端末3aのユーザ甲のデータSを甲の乱数Rを用いて秘密分散法Aにより、分割データを生成し、該分割データの一部を端末3a、残りをアクセス権管理サーバ5で管理する。そして、甲から譲受側の端末3bのユーザ乙にデータSのアクセス権限が譲渡された場合には、アクセス権管理サーバ5は、乙の乱数R’を用いて分割データから秘密分散法Aにより再分割データを生成し、該再分割データの一部を端末3b、残りをアクセス権管理サーバ5で管理するので、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、一旦復号せずにデータ権限を譲渡でき、セキュリティを十分に確保することができる。
特に、本発明における秘密分散法Aは、データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、データを処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、生成した分割データのうちの所定の個数の分割データからデータが復元することができ、また、新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、所望の分割数の再分割データを生成するとともに、生成した再分割データのうちの所定の個数の再分割データからデータが復元することができるので、データを復元することなく、データを再分割することができる。
これにより、ユーザのデータをよりセキュアに管理することができる。
尚、本実施の形態における秘密分散法Aは、多項式演算・剰余演算などを含む多倍長整数の演算処理を必要としないので、大容量データを多数処理する場合においても簡単かつ迅速にデータの分割および復元を行うことができるという効果を得ることができる。
本発明の第1の実施の形態に係るアクセス権管理システムの概略構成を示すブロック図である。 本発明の第1の実施の形態に係るアクセス権管理システムの動作を示すシーケンス図である。 本発明の第2の実施の形態に係るアクセス権管理システムの概略構成を示すブロック図である。 本発明の第2の実施の形態に係るアクセス権管理システムの動作を示すシーケンス図である。 本発明の第3の実施の形態に係るアクセス権管理システムの概略構成を示すブロック図である。 秘密分散法Aの分割数n=3の場合の分割処理を示すフローチャートである。 16ビットの元データSを8ビットの処理単位ビット長に基づいて分割数n=3で3分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。 分割数n=3の場合の分割データ、分割部分データ、各分割部分データを生成する定義式を示す表である。 秘密分散法Aの分割数がnで処理単位ビット長がbである場合の一般的な分割処理を示すフローチャートである。 分割数n=3の場合の分割データ、分割部分データ、各分割部分データを生成する定義式の別の例を示す表である。 秘密分散法Aのデータ再分割処理を示すフローチャートである。 乱数書き換え方式により元データSを元データSの半分の長さの処理単位ビット長に基づいて分割数n=3で再分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。 本発明の第3の実施の形態に係るアクセス権管理システムの動作を示すシーケンス図である。
符号の説明
1a,1b,3a,3b…端末
2…通信ネットワーク
4,5…アクセス権管理サーバ
6a,6b…保管サーバ
10,20,30…アクセス権管理システム
11,31…記憶部
12…データ暗号部
13…データ復号部
14,32…通信部
41…暗号データ記憶部
42…鍵生成部
43…データ暗号部
44…データ復号部
45…通信部

Claims (11)

  1. データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムであって、
    前記データのアクセス権限を有する譲渡側端末において、該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成する手段と、
    前記第1の暗号データを前記譲渡側端末から、前記データのアクセス権限を譲り受ける譲受側端末に送信する手段と、
    前記譲受側端末において、前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成する手段と、
    前記第2の暗号データを前記譲受側端末から前記譲渡側端末に送信する手段と、
    前記譲渡側端末において、前記譲渡側端末の前記第1の暗号鍵で前記第2の暗号データを暗号化し、第3の暗号データを生成する手段と、
    前記第3の暗号データを前記譲渡側端末から前記譲受側端末に送信する手段と、
    前記譲受側端末において、前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶する手段と、
    を有することを特徴とするアクセス権管理システム。
  2. 前記譲受側端末において、前記記憶部に記憶された前記第3の暗号データを前記第2の暗号鍵で復号し、前記データを生成する手段を有することを特徴とする請求項1記載のアクセス権管理システム。
  3. 複数の端末と相互に通信可能であり、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理装置であって、
    前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成する手段と、
    前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶する手段と、
    前記第1の暗号鍵を前記譲渡側端末に送信する手段と、
    前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信する手段と、
    前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成する手段と、
    前記第2の暗号データを前記記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶する手段と、
    前記第2の暗号鍵を前記譲受側端末に送信する手段と、
    を有することを特徴とするアクセス権管理装置。
  4. 前記データが使用されるときは、前記譲受側端末から前記第2の暗号鍵を受信する手段と、
    前記記憶部に記憶された第2の暗号データを、受信した第2の暗号鍵で復号化し、前記データを生成する手段と、
    を有することを特徴とする請求項3記載のアクセス権管理装置。
  5. データをバーナム暗号を用いて暗号化する端末を複数備えたアクセス権管理システムの該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理方法であって、
    前記データのアクセス権限を有する譲渡側端末において、該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、
    前記第1の暗号データを前記譲渡側端末から、前記データのアクセス権限を譲り受ける譲受側端末に送信するステップと、
    前記譲受側端末において、前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成するステップと、
    前記第2の暗号データを前記譲受側端末から前記譲渡側端末に送信するステップと、
    前記譲渡側端末において、前記譲渡側端末の前記第1の暗号鍵で前記第2の暗号データを暗号化し、第3の暗号データを生成するステップと、
    前記第3の暗号データを前記譲渡側端末から前記譲受側端末に送信するステップと、
    前記譲受側端末において、前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶するステップと、
    を有することを特徴とするアクセス権管理方法。
  6. 複数の端末と相互に通信可能なアクセス権管理装置が、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理方法であって、
    前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、
    前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、
    前記第1の暗号鍵を前記譲渡側端末に送信するステップと、
    前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信するステップと、
    前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成するステップと、
    前記第2の暗号データを所定の記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、
    前記第2の暗号鍵を前記譲受側端末に送信するステップと、
    を有することを特徴とするアクセス権管理方法。
  7. データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムの端末用プログラムであって、
    前記データのアクセス権限を有する譲渡側端末に、
    該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、
    前記第1の暗号データを前記データのアクセス権限を譲り受ける譲受側端末に送信するステップと、
    前記譲受側端末から、前記譲受側端末の第2の暗号鍵で暗号化して、生成された第2の暗号データを受信するステップと、
    前記第1の暗号鍵で前記第2の暗号データを暗号し、第3の暗号データを生成するステップと、
    前記第3の暗号データを、アクセス権譲渡のデータとして前記譲受側端末に送信するステップと、
    を実行させることを特徴とする端末用プログラム。
  8. データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムの端末用プログラムであって、
    前記データのアクセス権限を譲り受ける譲受側端末に、
    前記データのアクセス権限を有する譲渡側端末から、該譲渡側端末の第1の暗号鍵で前記データを暗号化して、生成された第1の暗号データを受信するステップと、
    前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成するステップと、
    前記第2の暗号データを前記譲受側端末に送信するステップと、
    前記譲渡側端末から、前記第1の暗号鍵で前記第2の暗号データを暗号化して、生成された第3の暗号データを受信するステップと、
    前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶するステップと、
    を実行させることを特徴とする端末用プログラム。
  9. 前記記憶部に記憶された前記第3の暗号データを前記第2の暗号鍵で復号し、前記データを生成するステップを前記譲受側端末に実行させることを特徴とする請求項8記載の端末用プログラム。
  10. 複数の端末と相互に通信可能であり、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するためのコンピュータが読み取り可能なアクセス権管理プログラムであって、
    前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、
    前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、
    前記第1の暗号鍵を前記譲渡側端末に送信するステップと、
    前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信するステップと、
    前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成するステップと、
    前記第2の暗号データを所定の記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、
    前記第2の暗号鍵を前記譲渡側端末に送信するステップと、
    を前記コンピュータに実行させることを特徴とするアクセス権管理プログラム。
  11. 前記データが使用されるときは、前記譲受側端末から前記第2の暗号鍵を受信するステップと、
    前記記憶部に記憶された第2の暗号データを、受信した第2の暗号鍵で復号化し、前記データを生成するステップと、
    を前記コンピュータに実行させることを特徴とする請求項10記載のアクセス権管理プログラム。
JP2004169001A 2004-02-10 2004-06-07 アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム Expired - Lifetime JP4664008B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004169001A JP4664008B2 (ja) 2004-06-07 2004-06-07 アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム
CN2005800043932A CN1918844B (zh) 2004-02-10 2005-02-10 基于保密共享方案的保密信息管理系统和方法
US10/588,155 US8085938B2 (en) 2004-02-10 2005-02-10 Secret information management scheme based on secret sharing scheme
EP05710362.4A EP1714423B1 (en) 2004-02-10 2005-02-10 Secret information management scheme based on secret sharing scheme
PCT/JP2005/002514 WO2005076518A1 (en) 2004-02-10 2005-02-10 Secret information management scheme based on secret sharing scheme
HK07105595.1A HK1099152B (en) 2004-02-10 2005-02-10 Secret information management system and method based on secret sharing scheme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004169001A JP4664008B2 (ja) 2004-06-07 2004-06-07 アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム

Publications (3)

Publication Number Publication Date
JP2005346006A JP2005346006A (ja) 2005-12-15
JP2005346006A5 JP2005346006A5 (ja) 2007-07-26
JP4664008B2 true JP4664008B2 (ja) 2011-04-06

Family

ID=35498421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004169001A Expired - Lifetime JP4664008B2 (ja) 2004-02-10 2004-06-07 アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム

Country Status (1)

Country Link
JP (1) JP4664008B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101346734B1 (ko) * 2006-05-12 2014-01-03 삼성전자주식회사 디지털 저작권 관리를 위한 다중 인증서 철회 목록 지원방법 및 장치
JP5134303B2 (ja) * 2007-08-03 2013-01-30 Kddi株式会社 分散情報生成装置、秘密情報復元装置、分散情報生成方法、秘密情報復元方法およびプログラム
JP2013197642A (ja) * 2012-03-16 2013-09-30 Fujitsu Ltd 暗号処理方法及び装置
JP2018174485A (ja) * 2017-03-31 2018-11-08 株式会社 エヌティーアイ 通信システム、第1通信装置、第2通信装置、方法、コンピュータ装置、コンピュータプログラム
CN114637998A (zh) * 2020-12-16 2022-06-17 Tcl商用信息科技(惠州)有限责任公司 一种数据的处理方法、系统、智能终端及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736932A (ja) * 1993-07-21 1995-02-07 Nippon Telegr & Teleph Corp <Ntt> 情報分割符号化方法および書籍情報表示処理装置
JPH10320478A (ja) * 1997-03-19 1998-12-04 Pumpkin House:Kk 暗号化/復号通信システムおよび方法
JP2002077139A (ja) * 2000-08-24 2002-03-15 Koichi Hirano データ通信システム
JP2002163235A (ja) * 2000-11-28 2002-06-07 Mitsubishi Electric Corp アクセス権限譲渡装置、共有リソース管理システム及びアクセス権限設定方法
JP2003044388A (ja) * 2001-07-27 2003-02-14 Sony Corp コンテンツ生成処理装置、コンテンツ生成処理方法、コンテンツ生成処理プログラム及び記録媒体
JP2005236403A (ja) * 2004-02-17 2005-09-02 Tokyo Hoso:Kk 電子認証方法及び電子認証システム
JP4619045B2 (ja) * 2004-06-07 2011-01-26 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ秘匿装置、データ秘匿方法、及びデータ秘匿プログラム
JP4486851B2 (ja) * 2004-06-07 2010-06-23 エヌ・ティ・ティ・コミュニケーションズ株式会社 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム

Also Published As

Publication number Publication date
JP2005346006A (ja) 2005-12-15

Similar Documents

Publication Publication Date Title
JP5194094B2 (ja) データ分割方法、データ分割装置およびコンピュータプログラム
US11966380B2 (en) Secure information retrieval and update
EP1714423B1 (en) Secret information management scheme based on secret sharing scheme
CN110337649B (zh) 用于搜索模式未察觉的动态对称可搜索加密的方法和系统
US8345876B1 (en) Encryption/decryption system and method
JP2023008395A (ja) マルチパーティ型準同型暗号によるセキュアでロバストな連合学習システム及び連合学習方法
JP4539952B2 (ja) 情報分散保管システム、その装置、プログラム及び記録媒体
JP4676695B2 (ja) データ分割方法、データ分割装置およびコンピュータプログラム
Senthilnathan et al. An enhancing reversible data hiding for secured data using shuffle block key encryption and histogram bit shifting in cloud environment
JP4602675B2 (ja) 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム
JP5749368B2 (ja) データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム
JP4664008B2 (ja) アクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラム
JP4619045B2 (ja) データ秘匿装置、データ秘匿方法、及びデータ秘匿プログラム
JP4486851B2 (ja) 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム
JP6259295B2 (ja) データ秘匿方法、データ秘匿装置、およびデータ秘匿プログラム
JP2006311383A (ja) データ管理方法、データ管理システムおよびデータ管理装置
JP6322314B2 (ja) データ秘匿方法、データ秘匿装置、およびデータ秘匿プログラム
JP2007041199A (ja) データ分割装置、データ分割方法およびコンピュータプログラム
JP4142322B2 (ja) 暗号化装置及び情報処理装置並びに情報処理方法
Nusrat et al. Simplified FADE with sharing feature (SFADE+): A overlay approach for cloud storage system
US20240364513A1 (en) A Computer-Implemented Method For Storing A Payload Data In Nodes Of A DLT Network
Hanash Homomorphic encryption of text documents
WO2023243141A1 (ja) 連合学習システム及び連合学習方法
KR20240067215A (ko) 동형암호의 행렬 곱셈을 연산하는 장치 및 방법
KR20240151100A (ko) 동형 암호 연산 장치 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110106

R150 Certificate of patent or registration of utility model

Ref document number: 4664008

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term