JP2005346006A - System, device, and method for managing access right, program for terminal, and access right managing program - Google Patents

System, device, and method for managing access right, program for terminal, and access right managing program Download PDF

Info

Publication number
JP2005346006A
JP2005346006A JP2004169001A JP2004169001A JP2005346006A JP 2005346006 A JP2005346006 A JP 2005346006A JP 2004169001 A JP2004169001 A JP 2004169001A JP 2004169001 A JP2004169001 A JP 2004169001A JP 2005346006 A JP2005346006 A JP 2005346006A
Authority
JP
Japan
Prior art keywords
data
terminal
divided
encryption key
random number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004169001A
Other languages
Japanese (ja)
Other versions
JP4664008B2 (en
JP2005346006A5 (en
Inventor
Toshihiko Ogiwara
利彦 荻原
Makoto Kagaya
誠 加賀谷
Susumu Nomura
進 野村
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 Communications Corp
Original Assignee
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/en
Application filed by NTT Communications Corp filed Critical NTT Communications Corp
Priority to EP05710362.4A priority patent/EP1714423B1/en
Priority to PCT/JP2005/002514 priority patent/WO2005076518A1/en
Priority to US10/588,155 priority patent/US8085938B2/en
Priority to CN2005800043932A priority patent/CN1918844B/en
Publication of JP2005346006A publication Critical patent/JP2005346006A/en
Priority to HK07105595.1A priority patent/HK1099152A1/en
Publication of JP2005346006A5 publication Critical patent/JP2005346006A5/ja
Application granted granted Critical
Publication of JP4664008B2 publication Critical patent/JP4664008B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To secure full security by avoiding the risk of data leakage in data decipherment, even when the access right to the data which is access restricted by encryption is transferred to another person. <P>SOLUTION: A terminal 1a enciphers data S by using (a)'s secret key R to generate enciphered data A=S*R, stores it, and transmits the enciphered data A to a terminal 1b. The terminal 1b, when it receives the enciphered data A, enciphers the enciphered data A by using (b)'s secret key R', generates enciphered data A'=A*R', and transmits the enciphered data A' to the terminal 1a. The terminal 1a, when it receives the enciphered data A', further enciphers the enciphered data A' by using the (a)'s secret key R, generates enciphered data A"=A'*R, and transmits the enciphered data A", from the terminal 1a to the terminal 1b. Thus, in the terminal 1b, the received enciphered data A" is deciphered by using (b)'s secret key to obtain the data S. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、暗号化されたデータを他人に譲渡する、又は暗号化されたデータのアクセス権を他人に譲渡する場合のセキュリティ技術に関する。   The present invention relates to a security technique for transferring encrypted data to another person or transferring the access right of encrypted data to another person.

従来、自己が保有するデータへのアクセスを制限する方法の1つとして、暗号化してデータへのアクセスを制限するという方法がある。例えば、自己の秘匿したいデータ、重要な機密データなどに対して、他人からのアクセスを防ぐには、データを暗号化して保管するというものである。このような場合、暗号化されたデータは、暗号鍵の所有者以外には誰も復号できない。   Conventionally, there is a method of restricting access to data by encrypting it as one of methods for restricting access to data held by itself. For example, in order to prevent access by others to data that is desired to be kept secret or important confidential data, the data is encrypted and stored. In such a case, no one other than the owner of the encryption key can decrypt the encrypted data.

尚、この出願に関連する先行技術文献情報としては、次のものがある。
電子商取引実証推進協議会セキュリティWG、“暗号利用技術ハンドブック(第2版)”、[Online]、[平成16年5月20日検索]、インターネット<URL: http://www.ecom.jp/qecom/seika/naiyou/11report/e11-sec3.pdf>
The prior art document information related to this application includes the following.
Electronic Commerce Demonstration Promotion Council Security WG, “Encryption Technology Handbook (Second Edition)”, [Online], [Search May 20, 2004], Internet <URL: http://www.ecom.jp/ qecom / seika / naiyou / 11report / e11-sec3.pdf>

しかしながら、このような暗号化されたデータのアクセス権限を他人に譲渡したい場合(暗号化されたデータ自体を他人に譲渡したい場合も含む。以下、同じ。)には、自己の暗号鍵を他人に譲渡する場合を除けば、一旦、暗号化されたデータを自己の暗号鍵で復号化し、さらに、譲渡後、他人が自己の暗号鍵でデータを暗号化する必要がある。この場合には、暗号化されたデータが一旦、復号化され、暗号化されていない状態で譲渡されるので、この状態でデータが漏洩した場合、セキュリティが十分確保されないという問題がある。   However, if you want to transfer the access authority of such encrypted data to another person (including the case where you want to transfer the encrypted data itself to another person, the same applies hereinafter), you can transfer your encryption key to another person. Except for the case of transfer, it is necessary that the encrypted data is once decrypted with its own encryption key, and then, after the transfer, another person needs to encrypt the data with its own encryption key. In this case, since the encrypted data is once decrypted and transferred in an unencrypted state, there is a problem that if the data leaks in this state, sufficient security cannot be ensured.

本発明は、上記の事情に鑑みてなされたものであり、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、データ復号化によるデータ漏洩の危険性を回避して、セキュリティを十分に確保し得るアクセス権管理システム、アクセス権管理装置、アクセス権管理方法、端末用プログラム、及びアクセス権管理プログラムを提供することを目的とする。   The present invention has been made in view of the above circumstances, and avoids the risk of data leakage due to data decryption even when the access authority of data restricted by encryption is transferred to another person. It is an object of the present invention to provide an access right management system, an access right management device, an access right management method, a terminal program, and an access right management program that can sufficiently ensure security.

上記目的を達成するため、請求項1記載の本発明は、データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムであって、前記データのアクセス権限を有する譲渡側端末において、該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成する手段と、前記第1の暗号データを前記譲渡側端末から、前記データのアクセス権限を譲り受ける譲受側端末に送信する手段と、前記譲受側端末において、前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成する手段と、前記第2の暗号データを前記譲受側端末から前記譲渡側端末に送信する手段と、前記譲渡側端末において、前記譲渡側端末の前記第1の暗号鍵で前記第2の暗号データを暗号化し、第3の暗号データを生成する手段と、前記第3の暗号データを前記譲渡側端末から前記譲受側端末に送信する手段と、前記譲受側端末において、前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶する手段と、を有することを特徴とする。   In order to achieve the above object, the present invention according to claim 1 is provided with a plurality of terminals for encrypting data using a Burnham cipher, and an access right management system for managing transfer of access authority of the data between the terminals. And means for encrypting the data with a first encryption key of the assigning terminal and generating first encrypted data in the assigning terminal having an access authority for the data, and the first encrypted data Means for transmitting the access authority of the data from the assigning terminal to the assigning terminal, and encrypting the first encrypted data with the second encryption key of the assigning terminal in the assigning terminal, Means for generating second encrypted data; means for transmitting the second encrypted data from the assigning terminal to the assigning terminal; and in the assigning terminal, the assigning terminal Means for encrypting the second cipher data with the first cipher key to generate third cipher data; means for transmitting the third cipher data from the assigning terminal to the assigning terminal; The assigning-side terminal has means for storing the third encrypted data in a predetermined storage unit as data for which access authority has been assigned.

請求項2記載の本発明は、請求項1記載の発明において、前記譲受側端末において、前記記憶部に記憶された前記第3の暗号データを前記第2の暗号鍵で復号し、前記データを生成する手段を有することを特徴とする。   According to a second aspect of the present invention, in the first aspect of the invention, the transfer side terminal decrypts the third encrypted data stored in the storage unit with the second encryption key, It has the means to produce | generate, It is characterized by the above-mentioned.

請求項3記載の本発明は、複数の端末と相互に通信可能であり、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理装置であって、前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成する手段と、前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶する手段と、前記第1の暗号鍵を前記譲渡側端末に送信する手段と、前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信する手段と、前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成する手段と、前記第2の暗号データを前記記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶する手段と、前記第2の暗号鍵を前記譲渡側端末に送信する手段と、を有することを特徴とする。   The present invention according to claim 3 is an access right management device that is capable of mutual communication with a plurality of terminals and manages transfer of data access authority between the terminals using a Vernam cipher. Generating a first encryption key of a transfer-side terminal, encrypting the data with the first encryption key, and generating first encryption data; and storing the first encryption data in a predetermined storage unit Means for storing the transfer terminal as data having access authority, means for transmitting the first encryption key to the transfer terminal, and transferring the data access authority from the transfer terminal. The first encryption key is received, and the second encryption key of the transferee terminal that receives the data access authority is generated, and the first encryption data stored in the storage unit is received. Darkness of Means for encrypting with the key and the generated second encryption key to generate second encrypted data; means for storing the second encrypted data in the storage unit as data to which the transferee terminal has access authority; And means for transmitting the second encryption key to the transfer side terminal.

請求項4記載の本発明は、請求項3記載の発明において、前記データが使用されるときは、前記譲受側端末から前記第2の暗号鍵を受信する手段と、前記記憶部に記憶された第2の暗号データを、受信した第2の暗号鍵で復号化し、前記データを生成する手段と、を有することを特徴とする。   According to a fourth aspect of the present invention, in the invention according to the third aspect, when the data is used, the second encryption key is received from the assigning terminal and stored in the storage unit. Means for decrypting the second encrypted data with the received second encryption key and generating the data.

請求項5記載の本発明は、複数の端末と相互に通信可能であり、秘密分散法を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理装置であって、前記秘密分散法は、前記データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記データを処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、前記データのアクセス権限を有する譲渡側端末の第1の乱数を生成し、該第1の乱数及び前記データから前記秘密分散法を用いて、複数の分割データを生成する手段と、前記複数の分割データの一部を、前記譲渡側端末に送信する手段と、前記複数の分割データの残りを、所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶する手段と、前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記分割データの一部を受信する手段と、前記データのアクセス権限を譲り受ける譲受側端末の第2の乱数を生成し、該第2の乱数、並びに受信した分割データの一部及び前記記憶部に記憶された分割データの残りから前記秘密分散法を用いて、複数の再分割データを生成する手段と、前記複数の再分割データの一部を、前記譲受側端末に送信する手段と、
前記複数の再分割データの残りを、前記記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶する手段と、を有することを特徴とする。
The present invention according to claim 5 is an access right management apparatus that is capable of mutual communication with a plurality of terminals and manages transfer of data access rights between the terminals using a secret sharing method, wherein the secret sharing method Is a data division method that divides the data into a desired number of divided data based on a desired processing unit bit length, and generates a plurality of original partial data by dividing the data into processing unit bit lengths. Then, corresponding to each of the plurality of original partial data, a plurality of random part data having a processing unit bit length is generated from a random number having a length equal to or shorter than the bit length of the data, and each divided data is configured. Each divided partial data to be generated is generated for each processing unit bit length by exclusive OR of the original partial data and the random number partial data to generate divided data of a desired number of divisions and newly generated A plurality of random part data having a processing unit bit length from the random number generated, and generating a subdivision partial data for each processing unit bit length by exclusive OR of the divided part data and the random part data; Is a data division method for generating re-divided data of the number of divisions, generating a first random number of a transfer-side terminal having an access authority for the data, and using the secret sharing method from the first random number and the data Means for generating a plurality of pieces of divided data, means for transmitting a part of the plurality of pieces of divided data to the transfer side terminal, and transferring the remainder of the plurality of pieces of divided data to the transfer side terminal in a predetermined storage unit. Means for storing data having access authority, means for receiving a part of the divided data from the transfer side terminal, and Generating a second random number of the transferee terminal to which the authority is transferred, and using the secret sharing method from the second random number and a part of the received divided data and the remainder of the divided data stored in the storage unit, Means for generating a plurality of subdivision data; means for transmitting a part of the plurality of subdivision data to the assigning terminal;
And means for storing the remainder of the plurality of repartitioned data in the storage unit as data to which the transferee terminal has access authority.

請求項6記載の本発明は、請求項5記載の発明において、前記データが使用されるときは、前記譲受側端末から前記再分割データの一部を受信する手段と、受信した再分割データの一部、及び前記記憶部に記憶された再分割データの残りのうち、復元可能な所定の個数の再分割データの組み合わせから前記秘密分散法を用いて前記データを復元する手段と、を有することを特徴とする。   According to a sixth aspect of the present invention, in the fifth aspect of the present invention, when the data is used, means for receiving a part of the subdivision data from the assigning terminal, and the received subdivision data Means for restoring the data using the secret sharing method from a combination of a predetermined number of re-divided data that can be restored among a part and the remainder of the re-divided data stored in the storage unit It is characterized by.

請求項7記載の本発明は、請求項5又は6記載の発明において、前記秘密分散法は、前記各分割部分データの定義式における乱数部分データを、該乱数部分データに対応する新たな乱数部分データに置換した各再分割部分データの定義式により、各再分割部分データを生成することを特徴とする。   According to a seventh aspect of the present invention, in the invention according to the fifth or sixth aspect, the secret sharing method uses a new random number portion corresponding to the random number portion data as the random number portion data in the definition formula of each divided portion data. Each subdivision partial data is generated by a definition formula of each subdivision partial data replaced with data.

請求項8記載の本発明は、データをバーナム暗号を用いて暗号化する端末を複数備えたアクセス権管理システムの該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理方法であって、前記データのアクセス権限を有する譲渡側端末において、該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、前記第1の暗号データを前記譲渡側端末から、前記データのアクセス権限を譲り受ける譲受側端末に送信するステップと、前記譲受側端末において、前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成するステップと、前記第2の暗号データを前記譲受側端末から前記譲渡側端末に送信するステップと、前記譲渡側端末において、前記譲渡側端末の前記第1の暗号鍵で前記第2の暗号データを暗号化し、第3の暗号データを生成するステップと、前記第3の暗号データを前記譲渡側端末から前記譲受側端末に送信するステップと、前記譲受側端末において、前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶するステップと、を有することを特徴とする。   The present invention according to claim 8 is an access right management method for managing transfer of access authority of the data between the terminals of an access right management system comprising a plurality of terminals for encrypting data using a Burnham cipher. In the assigning terminal having an access authority for the data, the step of encrypting the data with the first encryption key of the assigning terminal to generate the first encrypted data; and Transmitting the data access authority from the terminal to the assigning terminal, and encrypting the first encrypted data with the second encryption key of the assigning terminal in the assigning terminal, A step of generating data; a step of transmitting the second encrypted data from the transferee terminal to the transferee terminal; and Encrypting the second encrypted data with the first encryption key of the terminal to generate third encrypted data; and transmitting the third encrypted data from the assigning terminal to the assigning terminal. And storing the third encrypted data in a predetermined storage unit as the data to which the access right has been transferred, in the transfer-side terminal.

請求項9記載の本発明は、複数の端末と相互に通信可能なアクセス権管理装置が、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理方法であって、前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、前記第1の暗号鍵を前記譲渡側端末に送信するステップと、前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信するステップと、前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成するステップと、前記第2の暗号データを所定の記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、前記第2の暗号鍵を前記譲渡側端末に送信するステップと、を有することを特徴とする。   The present invention according to claim 9 is an access right management method in which an access right management apparatus capable of mutual communication with a plurality of terminals manages transfer of data access rights between the terminals using Vernam encryption, Generating a first encryption key of the assigning terminal having data access authority, encrypting the data with the first encryption key, and generating first encrypted data; and The step of storing as data having access authority to the assigning terminal in a predetermined storage unit, the step of transmitting the first encryption key to the assigning terminal, and when transferring the access authority of the data, Receiving the first encryption key from the assigning terminal; generating a second encryption key of the assigning terminal to which the data access authority is assigned; and storing the first encryption key stored in the storage unit Encrypting encrypted data with the received first encryption key and the generated second encryption key to generate second encrypted data; and transferring the second encrypted data to a predetermined storage unit to the transfer-side terminal Storing as data having access authority and transmitting the second encryption key to the assigning terminal.

請求項10記載の本発明は、複数の端末と相互に通信可能なアクセス権管理装置が、秘密分散法を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理方法であって、前記秘密分散法は、前記データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記データを処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、前記データのアクセス権限を有する譲渡側端末の第1の乱数を生成し、該第1の乱数及び前記データから前記秘密分散法を用いて、複数の分割データを生成するステップと、前記複数の分割データの一部を、前記譲渡側端末に送信するステップと、前記複数の分割データの残りを、所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記分割データの一部を受信するステップと、前記データのアクセス権限を譲り受ける譲受側端末の第2の乱数を生成し、該第2の乱数、並びに受信した分割データの一部及び前記記憶部に記憶された分割データの残りから前記秘密分散法を用いて、複数の再分割データを生成するステップと、前記複数の再分割データの一部を、前記譲受側端末に送信するステップと、前記複数の再分割データの残りを、前記記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、を有することを特徴とする。   The present invention according to claim 10 is an access right management method in which an access right management apparatus capable of mutual communication with a plurality of terminals manages transfer of access rights of data between the terminals using a secret sharing method, The secret sharing method is a data division method that divides the data into a desired number of division data based on a desired processing unit bit length, and divides the data into processing unit bit lengths, and generates a plurality of elements. Generating partial data, corresponding to each of the plurality of original partial data, generating a plurality of random number partial data of a processing unit bit length from a random number having a length equal to or shorter than the bit length of the data, Each divided partial data constituting the divided data is generated for each processing unit bit length by exclusive OR of the original partial data and the random number partial data to generate divided data of a desired number of divisions. In addition, a plurality of random number partial data having a processing unit bit length is generated from a newly generated random number, and the re-divided partial data is obtained for each processing unit bit length by exclusive OR of the divided partial data and the random number partial data. A data dividing method for generating and generating the desired number of subdivision data, generating a first random number of a transfer side terminal having access authority for the data, and generating the first random number and the data A step of generating a plurality of pieces of divided data using the secret sharing method, a step of transmitting a part of the plurality of pieces of divided data to the transfer side terminal, and a remaining storage of the plurality of pieces of divided data Storing the data to which the assigning terminal has access authority, and receiving the part of the divided data from the assigning terminal when transferring the data access authority And generating a second random number of the transferee terminal to which the access authority of the data is transferred, from the second random number, a part of the received divided data, and the remainder of the divided data stored in the storage unit Using the secret sharing method, generating a plurality of subdivision data, transmitting a part of the subdivision data to the assigning terminal, and the rest of the subdivision data, Storing in the storage unit as data to which the transferee terminal has access authority.

請求項11記載の本発明は、データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムの端末用プログラムであって、前記データのアクセス権限を有する譲渡側端末に、該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、前記第1の暗号データを前記データのアクセス権限を譲り受ける譲受側端末に送信するステップと、前記譲受側端末から、前記譲受側端末の第2の暗号鍵で暗号化して、生成された第2の暗号データを受信するステップと、前記第1の暗号鍵で前記第2の暗号データを暗号し、第3の暗号データを生成するステップと、前記第3の暗号データを、アクセス権譲渡のデータとして前記譲受側端末に送信するステップと、を実行させることを特徴とする。   The present invention according to claim 11 is a terminal program for an access right management system comprising a plurality of terminals for encrypting data using a Burnham cipher, and managing access right transfer of the data between the terminals. Encrypting the data with the first encryption key of the assigning terminal to the assigning terminal having the data access authority, and generating the first encrypted data; and converting the first encrypted data into the data Transmitting the access right to the assigning terminal, receiving from the assigning terminal encrypted with the second encryption key of the assigning terminal, and receiving the generated second encrypted data; Encrypting the second encrypted data with a first encryption key to generate third encrypted data; and using the third encrypted data as access right transfer data And transmitting to the receiving side terminal, and wherein the to execution.

請求項12記載の本発明は、データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムの端末用プログラムであって、前記データのアクセス権限を譲り受ける譲受側端末に、前記データのアクセス権限を有する譲渡側端末から、該譲渡側端末の第1の暗号鍵で前記データを暗号化して、生成された第1の暗号データを受信するステップと、前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成するステップと、前記第2の暗号データを前記譲渡側端末に送信するステップと、前記譲渡側端末から、前記第1の暗号鍵で前記第2の暗号データを暗号化して、生成された第3の暗号データを受信するステップと、前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶するステップと、を実行させることを特徴とする。   The invention according to claim 12 is a terminal program for an access right management system comprising a plurality of terminals for encrypting data using a Burnham cipher, and managing access right transfer of the data between the terminals. A first encryption key generated by encrypting the data with a first encryption key of the assigning terminal from the assigning terminal having the data access authority to the assigning terminal that receives the data access authority; Receiving the data; encrypting the first encrypted data with a second encryption key of the assigning terminal; generating second encrypted data; and transferring the second encrypted data to the assigning terminal. Transmitting to the transfer-side terminal, receiving the generated third encrypted data by encrypting the second encrypted data with the first encryption key, and The serial third cipher data, and storing in a predetermined storage unit as data inherited access rights, characterized in that for the execution.

請求項13記載の本発明は、請求項12記載の発明において、前記記憶部に記憶された前記第3の暗号データを前記第2の暗号鍵で復号し、前記データを生成するステップを前記譲受側端末に実行させることを特徴とする。   According to a thirteenth aspect of the present invention, in the invention according to the twelfth aspect, the step of decrypting the third cipher data stored in the storage unit with the second cipher key and generating the data is the transfer. It is characterized by being executed by a side terminal.

請求項14記載の本発明は、複数の端末と相互に通信可能であり、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するためのコンピュータが読み取り可能なアクセス権管理プログラムであって、前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、前記第1の暗号鍵を前記譲渡側端末に送信するステップと、前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信するステップと、前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成するステップと、前記第2の暗号データを所定の記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、前記第2の暗号鍵を前記譲渡側端末に送信するステップと、を前記コンピュータに実行させることを特徴とする。   The present invention according to claim 14 is a computer-readable access right management program that can communicate with a plurality of terminals and manages transfer of data access rights between the terminals using Vernam encryption. Generating a first encryption key of the assigning terminal having access authority for the data, encrypting the data with the first encryption key, and generating first encrypted data; and Storing encrypted data in a predetermined storage unit as data to which the assigning terminal has access authority, transmitting the first encryption key to the assigning terminal, and transferring the data access authority Receiving the first encryption key from the assigning terminal, and generating a second encryption key of the assigning terminal that receives the data access authority, Encrypting the first encrypted data stored in the storage unit with the received first encryption key and the generated second encryption key to generate second encrypted data; and the second encrypted data And the step of storing the second encryption key in the predetermined storage unit as data to which the transferee terminal has access authority and the step of transmitting the second encryption key to the transferee terminal. .

請求項15記載の本発明は、請求項14記載の発明において、前記データが使用されるときは、前記譲受側端末から前記第2の暗号鍵を受信するステップと、前記記憶部に記憶された第2の暗号データを、受信した第2の暗号鍵で復号化し、前記データを生成するステップと、を前記コンピュータに実行させることを特徴とする。   According to a fifteenth aspect of the present invention, in the invention according to the fourteenth aspect, when the data is used, the step of receiving the second encryption key from the assigning terminal and the data stored in the storage unit The second encryption data is decrypted with the received second encryption key and the data is generated. The computer is caused to execute.

請求項16記載の本発明は、複数の端末と相互に通信可能であり、秘密分散法を用いて該端末間におけるデータのアクセス権限譲渡を管理するためのコンピュータが読み取り可能なアクセス権管理プログラムであって、前記秘密分散法は、前記データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記データを処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、前記データのアクセス権限を有する譲渡側端末の第1の乱数を生成し、該第1の乱数及び前記データから前記秘密分散法を用いて、複数の分割データを生成するステップと、前記複数の分割データの一部を、前記譲渡側端末に送信するステップと、前記複数の分割データの残りを、所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記分割データの一部を受信するステップと、前記データのアクセス権限を譲り受ける譲受側端末の第2の乱数を生成し、該第2の乱数、並びに受信した分割データの一部及び前記記憶部に記憶された分割データの残りから前記秘密分散法を用いて、複数の再分割データを生成するステップと、前記複数の再分割データの一部を、前記譲受側端末に送信するステップと、前記複数の再分割データの残りを、前記記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、を前記コンピュータに実行させることを特徴とする。   The present invention according to claim 16 is a computer-readable access right management program that can communicate with a plurality of terminals and manages the transfer of data access rights between the terminals using a secret sharing method. The secret sharing method is a data division method that divides the data into a desired number of division data based on a desired processing unit bit length, and divides the data into processing unit bit lengths, A plurality of original partial data is generated, and a plurality of random partial data having a processing unit bit length is generated from a random number having a length equal to or shorter than the bit length of the data corresponding to each of the plurality of original partial data. Then, each divided partial data constituting each divided data is generated for each processing unit bit length by exclusive OR of the original partial data and the random number partial data, and the desired divided number of Generate split data and generate a plurality of random number part data with a processing unit bit length from the newly generated random number. For each processing unit bit length by exclusive OR of each of the divided part data and the random number part data. A data division method for generating repartitioned partial data to generate the desired number of repartitioned data, generating a first random number of a transfer-side terminal having access authority for the data, Generating a plurality of pieces of divided data from the random number and the data using the secret sharing method; transmitting a part of the plurality of pieces of divided data to the transfer side terminal; and remaining of the plurality of pieces of divided data Are stored in a predetermined storage unit as data to which the transfer side terminal has access authority, and when transferring the access authority of the data, Receiving a part of the divided data; generating a second random number of the transferee terminal to which the access authority of the data is transferred; storing the second random number, a part of the received divided data, and the storage unit; Generating a plurality of subdivision data using the secret sharing method from the rest of the subdivided data, transmitting a part of the plurality of subdivision data to the assigning terminal, and Storing the remainder of the re-divided data in the storage unit as data to which the assigning terminal has access authority.

請求項17記載の本発明は、請求項16記載の発明において、前記データが使用されるときは、前記譲受側端末から前記再分割データの一部を受信するステップと、受信した再分割データの一部、及び前記記憶部に記憶された再分割データの残りのうち、復元可能な所定の個数の再分割データの組み合わせから前記秘密分散法を用いて前記データを復元するステップと、を前記コンピュータに実行させることを特徴とする。   According to a seventeenth aspect of the present invention, in the invention of the sixteenth aspect, when the data is used, a step of receiving a part of the re-divided data from the transfer side terminal; Restoring the data from the combination of a predetermined number of re-divided data that can be restored out of a part of the re-divided data stored in the storage unit using the secret sharing method. It is made to perform.

請求項18記載の本発明は、請求項16又は17記載の発明において、前記秘密分散法は、前記各分割部分データの定義式における乱数部分データを、該乱数部分データに対応する新たな乱数部分データに置換した各再分割部分データの定義式により、各再分割部分データを生成することを特徴とする。   The present invention according to claim 18 is the invention according to claim 16 or 17, wherein the secret sharing method uses a random number part data in a definition formula of each divided part data as a new random number part corresponding to the random number part data. Each subdivision partial data is generated by a definition formula of each subdivision partial data replaced with data.

本発明によれば、バーナム暗号を用いて暗号化する端末を複数備え、データのアクセス権限を譲渡する譲渡側端末において第1の暗号鍵で暗号化した第1の暗号データを譲受側端末において第2の暗号鍵で暗号化して第2の暗号データとし、さらに、譲渡側端末において第2の暗号データを第1の暗号鍵で暗号化した第3の暗号データを生成し、該第3の暗号データを譲受側端末に譲渡するので、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、一旦復号せずにデータ権限を譲渡でき、セキュリティを十分に確保することができる。   According to the present invention, there are provided a plurality of terminals for encrypting using the Burnham cipher, and the first encryption data encrypted with the first encryption key in the assigning terminal that assigns data access authority is used in the assigning terminal. The third encryption data is generated by encrypting the second encryption data with the first encryption key at the transfer-side terminal, and encrypting the second encryption data with the second encryption key. Since the data is transferred to the transferee terminal, even if the access authority of the data restricted by encryption is transferred to another person, the data authority can be transferred without being decrypted once, and sufficient security is ensured. Can do.

また、本発明によれば、バーナム暗号を用いて暗号化するアクセス権管理装置及び複数の端末を備え、アクセス権管理装置は、譲渡側端末のための第1の暗号鍵でデータを暗号化して、第1の暗号データを管理し、第1の暗号鍵は譲渡側端末で管理する。そして、データのアクセス権限が譲渡された場合には、アクセス権管理装置は、譲渡側端末のための第1の暗号鍵及び譲受側端末のための第2の暗号鍵を用いて第1の暗号データをさらに暗号化し、第2の暗号データを管理し、第2の暗号鍵は譲受側端末で管理するので、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、一旦復号せずにデータ権限を譲渡でき、セキュリティを十分に確保することができる。   In addition, according to the present invention, the access right management device includes a plurality of terminals and an access right management device that encrypts data using the Burnham cipher, and the access right management device encrypts data with the first encryption key for the assigning terminal. The first encryption data is managed, and the first encryption key is managed by the transfer side terminal. When the data access right is transferred, the access right management device uses the first encryption key for the transfer-side terminal and the second encryption key for the transfer-side terminal. Since the data is further encrypted, the second encrypted data is managed, and the second encryption key is managed by the transferee terminal, even when the access authority of the data restricted by encryption is transferred to another person , Data authority can be transferred without decryption, and sufficient security can be secured.

また、本発明によれば、秘密分散法を用いて暗号化するアクセス権管理装置及び複数の端末を備え、アクセス権管理装置は、データを譲渡側端末の乱数を用いて秘密分散法により、分割データを生成し、該分割データの一部を譲渡側端末、残りをアクセス権管理装置で管理する。そして、譲渡側端末から譲受側端末にデータのアクセス権限が譲渡された場合には、アクセス権管理装置は、譲受側端末の新たな乱数を用いて分割データから秘密分散法により再分割データを生成し、該分割データの一部を譲受側端末、残りをアクセス権管理装置で管理するので、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、一旦復号せずにデータ権限を譲渡でき、セキュリティを十分に確保することができる。   Further, according to the present invention, the access right management device includes a plurality of terminals and an access right management device that encrypts using the secret sharing method, and the access right management device divides the data by the secret sharing method using the random number of the assigning terminal. Data is generated, and a part of the divided data is managed by the transfer side terminal and the rest is managed by the access right management device. Then, when the data access authority is transferred from the assigning terminal to the assigning terminal, the access right management device generates the repartitioned data from the divided data by the secret sharing method using the new random number of the assigning terminal. However, since a part of the divided data is managed by the assigning terminal and the rest is managed by the access right management device, even if the access authority of the data restricted by encryption is transferred to another person, it is not decrypted once Data authority can be transferred to and security can be sufficiently secured.

特に、本発明における秘密分散法は、データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、データを処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、所望の分割数の再分割データを生成するので、データを復元することなく、データを再分割することができるので、ユーザのデータをよりセキュアに管理することができる。   In particular, the secret sharing method in the present invention is a data division method that divides data into divided data of a desired number of divisions based on a desired processing unit bit length. And generating a plurality of random part data having a processing unit bit length from a random number having a length equal to or shorter than the bit length of the data, corresponding to each of the plurality of original part data, Each divided partial data constituting each divided data is generated for each processing unit bit length by exclusive OR of the original partial data and the random number partial data to generate a desired number of divided data and newly generated A plurality of random part data having a processing unit bit length from the obtained random number, and subdivision partial data for each processing unit bit length by exclusive OR of each divided part data and the random part data Generated and, because it generates the re-division data of a desired number of divisions, without restoring the data, the data can be subdivided and can manage the data of the user more secure.

以下、本発明の実施の形態を図面を用いて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

<第1の実施の形態>
図1は、本発明の第1の実施の形態に係るアクセス権管理システム10の概略構成を示す図である。
<First Embodiment>
FIG. 1 is a diagram showing a schematic configuration of an access right management system 10 according to the first embodiment of the present invention.

図1に示すように、アクセス権管理システム10は、ユーザが備えるクライアント端末(以下、単に端末とよぶ)1i(i=a,b)をインターネット等の通信ネットワーク2を介して接続しており、各端末1iが相互に通信可能となっている。尚、本実施の形態においては、1対の端末のうち、端末1aのユーザを甲(データ譲渡側)、端末1bのユーザを乙(データ譲受側)として、以下、説明する。   As shown in FIG. 1, an access right management system 10 connects client terminals (hereinafter simply referred to as terminals) 1i (i = a, b) provided by a user via a communication network 2 such as the Internet. Each terminal 1i can communicate with each other. In the present embodiment, the following description will be given assuming that the user of the terminal 1a is the former (data transfer side) and the user of the terminal 1b is the second party (data transfer side) of the pair of terminals.

各端末1iは、バーナム暗号を利用してデータの暗号及び復号を行う装置であり、記憶部11、データ暗号部12、データ復号部13、及び通信部14を備えている。   Each terminal 1i is a device that performs encryption and decryption of data using Vernam encryption, and includes a storage unit 11, a data encryption unit 12, a data decryption unit 13, and a communication unit 14.

ここで、バーナム暗号は、データと同じ長さの乱数列を用意し、暗号化に際してはデータのnビット目と乱数列のnビット目の排他的論理和演算(XOR)をし、復号化に際しては暗号化されたデータのnビット目と乱数列のnビット目の排他的論理和演算(XOR)をする暗号方式をいう。以下、排他的論理和演算(XOR)は、「*」なる演算記号で表すことにするが、排他的論理和演算のビット毎の演算規則での各演算結果は下記のとおりである。   Here, the Burnham cipher prepares a random number sequence having the same length as the data, performs an exclusive OR operation (XOR) on the nth bit of the data and the nth bit of the random number sequence, and decrypts it. Is an encryption method that performs an exclusive OR operation (XOR) of the nth bit of the encrypted data and the nth bit of the random number sequence. Hereinafter, the exclusive OR operation (XOR) is represented by an operation symbol “*”, and the operation results in the operation rule for each bit of the exclusive OR operation are as follows.

0 * 0 の演算結果は 0
0 * 1 の演算結果は 1
1 * 0 の演算結果は 1
1 * 1 の演算結果は 0
また、XOR演算は交換法則、結合法則が成り立つ。すなわち、
a*b=b*a
(a*b)*c=a*(b*c)が成り立つことが数学的に証明される。
The operation result of 0 * 0 is 0
The result of 0 * 1 is 1
The result of 1 * 0 is 1
The result of 1 * 1 is 0
In addition, the XOR operation has an exchange law and a joint law. That is,
a * b = b * a
It is mathematically proved that (a * b) * c = a * (b * c) holds.

また、a*a=0,a*0=0*a=aが成り立つ。ここでa,b,cは同じ長さのビット列を表し、0はこれらと同じ長さですべて「0」からなるビット列を表す。   Also, a * a = 0, a * 0 = 0 * a = a holds. Here, a, b, and c represent bit strings having the same length, and 0 represents a bit string having the same length and consisting of all “0”.

記憶部11には、ユーザがアクセスを制限したいデータS、データSを暗号するための暗号鍵(復号鍵)R、暗号化されたデータなどを記憶するようになっている。尚、図1においては、甲の暗号鍵をR、乙の暗号鍵をR’と表記して、両者を区別している。また、データSと暗号鍵R及び暗号鍵R’のデータ長は同一である。   The storage unit 11 stores data S that the user wants to restrict access, an encryption key (decryption key) R for encrypting the data S, encrypted data, and the like. In FIG. 1, the former encryption key is denoted by R, and the second encryption key is denoted by R 'to distinguish the two. The data lengths of the data S, the encryption key R, and the encryption key R ′ are the same.

データ暗号部12は、データSを暗号鍵Rで暗号化し、暗号データAを生成するようになっており、データ復号部13は、暗号データAを暗号鍵Rで復号し、データSを生成するようになっている。即ち、暗号化に際しては、A=S*R、復号化に際しては、S=A*Rであり、データSと暗号鍵Rとの排他的論理和演算により生成された暗号データAを、さらに、暗号鍵Rと排他的論理和演算を行うことにより、データSが復元されるものである。   The data encryption unit 12 encrypts the data S with the encryption key R to generate the encrypted data A, and the data decryption unit 13 decrypts the encrypted data A with the encryption key R to generate the data S. It is like that. That is, A = S * R for encryption, S = A * R for decryption, and the encrypted data A generated by the exclusive OR operation of the data S and the encryption key R Data S is restored by performing an exclusive OR operation with the encryption key R.

また、データ暗号部12は、後述するように、データSを暗号化するだけでなく、他の端末1iから送られた暗号データA’に関しても、自己の暗号鍵Rでさらに暗号化するようになっている。また、データ復号部13は、後述するように、他の端末1iから送られた暗号データA’に関しても、自己の暗号鍵Rで復号できるようになっており、これにより、アクセス制限されたデータの譲渡が可能となっている。   Further, as will be described later, the data encryption unit 12 not only encrypts the data S, but also encrypts the encrypted data A ′ sent from the other terminal 1 i with its own encryption key R. It has become. Further, as will be described later, the data decryption unit 13 can decrypt the encrypted data A ′ sent from the other terminal 1i with its own encryption key R, and thus the access-restricted data. Can be transferred.

通信部14は、端末1i間における暗号データの送受信を行うようになっている。   The communication unit 14 transmits and receives encrypted data between the terminals 1i.

ここで、上述した端末1iは、少なくとも演算機能および制御機能を備えた中央演算装置(CPU)、プログラムやデータを格納する機能を有するRAM等からなる主記憶装置(メモリ)を有する電子的な装置から構成されているものである。また、上記装置は、主記憶装置の他、ハードディスクなどの補助記憶装置を具備していてもよい。   Here, the terminal 1i described above is an electronic device having a central processing unit (CPU) having at least a calculation function and a control function, and a main storage device (memory) including a RAM having a function of storing programs and data. It is comprised from. In addition to the main storage device, the apparatus may include an auxiliary storage device such as a hard disk.

このうち、データ暗号部12、データ復号部13、及び通信部14は、上記CPUによる演算制御機能を具体的に示したものに他ならない。また、記憶部11は、上記主記憶装置及び補助記憶装置の機能を備えたものである。   Among these, the data encryption part 12, the data decryption part 13, and the communication part 14 are nothing but what specifically showed the calculation control function by said CPU. The storage unit 11 has functions of the main storage device and the auxiliary storage device.

また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置またはハードディスクに格納されているものである。そして、このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。   A program for executing various processes according to the present embodiment is stored in the main storage device or the hard disk described above. The program can be recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, or a DVD-ROM, or can be distributed via a communication network.

次に、本実施の形態に係るアクセス権管理システム10の動作を図2を用いて説明する。ここで、図2は、甲が暗号化したデータのデータ権限を乙に譲渡するときの端末1a及び端末1b間のデータのやりとりを示すシーケンス図である。   Next, the operation of the access right management system 10 according to the present embodiment will be described with reference to FIG. Here, FIG. 2 is a sequence diagram showing exchange of data between the terminal 1a and the terminal 1b when the data authority of the data encrypted by the user A is transferred to the second party.

まず、端末1aにおいて、甲の暗号鍵Rを用いてデータSを暗号化した暗号化データAを生成し、記憶部11に保管する(ステップS10,S20)。ここで、A=S*Rである。   First, in the terminal 1a, the encrypted data A obtained by encrypting the data S using the former encryption key R is generated and stored in the storage unit 11 (steps S10 and S20). Here, A = S * R.

次に、データSのアクセス権限を譲渡するときは、譲渡端末1aから端末1bに暗号データAを送信する(ステップS30)。   Next, when the access authority of the data S is transferred, the encrypted data A is transmitted from the transfer terminal 1a to the terminal 1b (step S30).

端末1bにおいては、暗号データAを受信すると、さらに、乙の暗号鍵R’を用いて暗号データAを暗号化し、暗号データA’を生成する(ステップS40)。即ち、A’= A*R’である。   Upon receiving the encrypted data A, the terminal 1b further encrypts the encrypted data A using the second encryption key R 'to generate the encrypted data A' (step S40). That is, A '= A * R'.

次に、端末1bから端末1aに暗号データA’を送信する(ステップS50)。   Next, the encrypted data A 'is transmitted from the terminal 1b to the terminal 1a (step S50).

端末1aにおいては、暗号データA’を受信すると、さらに、甲の暗号鍵Rを用いて暗号データA’を暗号化し、暗号データA”を生成する(ステップS60)。即ち、A”= A’*Rである。   Upon receiving the encrypted data A ′, the terminal 1a further encrypts the encrypted data A ′ using the former encryption key R to generate the encrypted data A ″ (step S60), that is, A ″ = A ′. * R.

次に、端末1aから端末1bに暗号データA”を、アクセス権限が譲渡されたデータとして送信する(ステップS70)。   Next, the encrypted data A ″ is transmitted from the terminal 1a to the terminal 1b as data to which the access authority has been transferred (step S70).

端末1bにおいては、受信した暗号データA”を記憶部11にアクセス権限が譲渡されたデータとして記憶する(ステップS80)。   In the terminal 1b, the received encrypted data A ″ is stored in the storage unit 11 as data to which the access authority has been transferred (step 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では復号することができない。
Next, when the encrypted data A ″ is decrypted by the terminal 1b, the decrypted data S is generated using the second encryption key R ′ (step S90).
A "= A '* R
= (A * R ') * R
= ((S * R) * R ') * R
= S * R * R '* R
= S * (R * R) * R '
= S * 0 * R '
= S * R '
Therefore, by the exclusive OR of the received encrypted data A ″ and the encryption key R ′,
A ″ * R ′ = (S * R ′) * R ′ = S
By becoming. Since A ″ = S * R ′, the encrypted data A ″ cannot be decrypted with the former encryption key R.

従って、本実施の形態に係るアクセス権管理システム10によれば、バーナム暗号を用いて暗号化する端末1a及び1bを備え、データのアクセス権限を譲渡する譲渡側の端末1aにおいて暗号鍵Rで暗号化した暗号データAを譲受側の端末1bにおいて暗号鍵R’で暗号化して暗号化データA’とし、さらに、端末1aにおいて暗号化データA’を暗号鍵Rで暗号化された暗号データA”を生成し、該暗号データA”を端末1bに譲渡するので、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、一旦復号せずにデータ権限を譲渡でき、セキュリティを十分に確保することができる。   Therefore, according to the access right management system 10 according to the present embodiment, the terminals 1a and 1b that encrypt using the Burnham cipher are provided, and encryption is performed with the encryption key R in the transfer-side terminal 1a that transfers the data access authority. The encrypted data A is encrypted with the encryption key R ′ at the terminal 1b on the transfer side to obtain the encrypted data A ′, and the encrypted data A ′ encrypted with the encryption key R at the terminal 1a. Since the encrypted data A ″ is transferred to the terminal 1b, the data authority can be transferred without being decrypted once even when the access authority of the data restricted by encryption is transferred to another person. Sufficient security can be secured.

<第2の実施の形態>
図3は、本発明の第2の実施の形態に係るアクセス権管理システム20の概略構成を示す図である。
<Second Embodiment>
FIG. 3 is a diagram showing a schematic configuration of the access right management system 20 according to the second embodiment of the present invention.

図3に示すように、アクセス権管理システム20は、ユーザが備えるクライアント端末(以下、単に端末とよぶ)3i(i=a,b)と、アクセス権管理サーバ4を通信ネットワーク2を介して接続しており、各端末3i及びアクセス権管理サーバ4が相互に通信可能となっている。尚、本実施の形態においては、1対の端末のうち、端末3aのユーザを甲(データ権限譲渡側)、端末3bのユーザを乙(データ権限譲受側)として、以下、説明する。   As shown in FIG. 3, the access right management system 20 connects a client terminal (hereinafter simply referred to as a terminal) 3 i (i = a, b) provided by a user and the access right management server 4 via the communication network 2. Each terminal 3i and the access right management server 4 can communicate with each other. In the present embodiment, the following description will be made assuming that the user of the terminal 3a is the former (data authority transfer side) and the user of the terminal 3b is the user (data authority transfer side) of the pair of terminals.

各端末3iは、アクセスを制限したいデータSを保持する端末であり、記憶部31、及び通信部32を備えている。   Each terminal 3 i is a terminal that holds data S whose access is to be restricted, and includes a storage unit 31 and a communication unit 32.

記憶部31には、アクセスを制限したいデータS、アクセス権管理サーバ4から送信される暗号鍵R(データ権限を有するユーザのデータ暗号化の際に用いられた暗号鍵)などを記憶するようになっている。尚、図1においては、甲の暗号鍵をR、乙の暗号鍵をR’と表記して、両者を区別している。また、データSと暗号鍵R及び暗号鍵R’のデータ長は同一である。   The storage unit 31 stores data S whose access is to be restricted, an encryption key R transmitted from the access right management server 4 (an encryption key used for data encryption of a user having data authority), and the like. It has become. In FIG. 1, the former encryption key is denoted by R, and the second encryption key is denoted by R 'to distinguish the two. The data lengths of the data S, the encryption key R, and the encryption key R ′ are the same.

通信部32は、端末3iとアクセス権管理サーバ4間のデータの送受信を行うようになっている。   The communication unit 32 transmits and receives data between the terminal 3 i and the access right management server 4.

アクセス権管理サーバ4は、バーナム暗号を利用してデータの暗号及び復号を行う装置であり、暗号データ記憶部41、鍵生成部42、データ暗号部43、データ復号部44、及び通信部45を備えている。   The access right management server 4 is a device that performs encryption and decryption of data using Vernam encryption, and includes an encrypted data storage unit 41, a key generation unit 42, a data encryption unit 43, a data decryption unit 44, and a communication unit 45. I have.

暗号データ記憶部41は、データ暗号部43で暗号化された暗号データA(データSのアクセス権限を甲が有する場合の甲の暗号データ),A”( データSのアクセス権限を乙が有する場合の乙の暗号データ)を記憶するようになっている。   The encrypted data storage unit 41 includes the encrypted data A encrypted by the data encryption unit 43 (the encrypted data in case where the user has access authority for the data S), A ″ (when the user has the access authority for the data S) The second party's encryption data).

鍵生成部42は、データ暗号部43で暗号化に用いる暗号鍵(復号鍵)R,R’を生成するようになっている。   The key generation unit 42 generates encryption keys (decryption keys) R and R ′ used for encryption by the data encryption unit 43.

データ暗号部43は、端末3aから送信(送付)されたデータSを、甲の暗号鍵Rを用いて暗号化し、暗号データAを生成するようになっている。また、データSの権限を甲から乙に譲渡したときは、甲の暗号鍵R及び乙の暗号鍵R’を用いて、暗号データAをさらに暗号化し、暗号化データA”を生成するようになっている。尚、暗号化に用いた暗号鍵R及びR’は、それぞれ端末3a及び3bに通信部45を介して送信される。   The data encryption unit 43 encrypts the data S transmitted (sent) from the terminal 3a using the former encryption key R, and generates encrypted data A. Further, when the authority of the data S is transferred from the first party to the second party, the encrypted data A is further encrypted by using the first encryption key R and the second encryption key R ′ to generate the encrypted data A ″. The encryption keys R and R ′ used for encryption are transmitted to the terminals 3a and 3b via the communication unit 45, respectively.

データ復号部44は、データ権限を譲渡されたユーザ、即ち、乙から暗号鍵R’が送信されると、該暗号鍵R’を用いて暗号化データA”を復号し、データSを通信部45を介して、端末3bに送信(送付)するようになっている。   When the encryption key R ′ is transmitted from the user to whom the data authority has been transferred, that is, the second party, the data decryption unit 44 decrypts the encrypted data A ″ using the encryption key R ′ and transmits the data S to the communication unit 45 is sent (sent) to the terminal 3b.

通信部45は、端末1iとアクセス権管理サーバ4間のデータの送受信を行うようになっている。   The communication unit 45 transmits and receives data between the terminal 1 i and the access right management server 4.

ここで、上述した端末3i及びアクセス権管理サーバ4は、それぞれ、少なくとも演算機能および制御機能を備えた中央演算装置(CPU)、プログラムやデータを格納する機能を有するRAM等からなる主記憶装置(メモリ)を有する電子的な装置から構成されているものである。また、上記装置は、主記憶装置の他、ハードディスクなどの補助記憶装置を具備していてもよい。   Here, the terminal 3i and the access right management server 4 described above each include a central processing unit (CPU) having at least a calculation function and a control function, a main storage device (RAM) having a function of storing programs and data, and the like. The electronic device has a memory. In addition to the main storage device, the apparatus may include an auxiliary storage device such as a hard disk.

このうち、端末3iの通信部32、アクセス権管理サーバ4の鍵生成部42、データ暗号部43、データ復号部44、及び通信部45は、上記CPUによる演算制御機能を具体的に示したものに他ならない。また、端末3iの記憶部31、及びアクセス権管理サーバ4の暗号データ記憶部41は、上記主記憶装置及び補助記憶装置の機能を備えたものである。   Among these, the communication unit 32 of the terminal 3i, the key generation unit 42, the data encryption unit 43, the data decryption unit 44, and the communication unit 45 of the access right management server 4 specifically show the calculation control function by the CPU. It is none other than. The storage unit 31 of the terminal 3i and the encrypted data storage unit 41 of the access right management server 4 have the functions of the main storage device and the auxiliary storage device.

また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置またはハードディスクに格納されているものである。そして、このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。   A program for executing various processes according to the present embodiment is stored in the main storage device or the hard disk described above. The program can be recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, or a DVD-ROM, or can be distributed via a communication network.

次に、本実施の形態に係るアクセス権管理システム20の動作を図4を用いて説明する。ここで、図4は、データSのデータ権限を甲から乙に譲渡するときの端末3a,端末3bとアクセス権管理サーバ4間のデータのやりとりを示すシーケンス図である。   Next, the operation of the access right management system 20 according to the present embodiment will be described with reference to FIG. Here, FIG. 4 is a sequence diagram showing exchange of data between the terminals 3a and 3b and the access right management server 4 when the data authority of the data S is transferred from the former to the second party.

まず、甲がデータSのアクセス権限を有する場合には、データSを甲の端末3aからアクセス管理サーバ4に送信する(ステップS110)。尚、データSの送信に際しては、通信内容の漏洩を防止するセキュアな通信ネットワーク2a(例えば、インターネット網などのオープンな通信ネットワーク2bではなく、LAN、IP−VPN、専用線、電話回線など)を用いる、また、通信ネットワーク2aを介した通信ではなく、例えば、郵便などの送付手段を用いてもよい。   First, if the user A has access authority for the data S, the data S is transmitted from the terminal 3a of the user A to the access management server 4 (step S110). When transmitting the data S, a secure communication network 2a (for example, a LAN, an IP-VPN, a dedicated line, a telephone line, etc., not an open communication network 2b such as the Internet network) that prevents leakage of communication contents is used. In addition, instead of communication via the communication network 2a, for example, sending means such as mail may be used.

アクセス権管理サーバ4は、端末3aからデータSを受け取ると、甲の暗号鍵Rを生成し、暗号鍵Rを用いて暗号データA=S*Rを生成する(ステップS120,S130)。そして、暗号データAを暗号データ記憶部41に記憶させるとともに、暗号鍵Rを通信ネットワーク2を介して甲の端末3aに送信する(ステップS140,S150)。   When the access right management server 4 receives the data S from the terminal 3a, the access right management server 4 generates an encryption key R of the former A and generates encryption data A = S * R using the encryption key R (steps S120 and S130). Then, the encryption data A is stored in the encryption data storage unit 41, and the encryption key R is transmitted to the instep terminal 3a via the communication network 2 (steps S140 and S150).

端末3aは、アクセス権管理サーバ4から暗号鍵Rを受け取ると、暗号鍵Rを記憶部31に記憶させる(ステップS160)。   Upon receiving the encryption key R from the access right management server 4, the terminal 3a stores the encryption key R in the storage unit 31 (step S160).

以上の動作により、甲のデータSに対するアクセス権限は、アクセス権管理サーバ4で管理されることになる。   With the above operation, the access right to the data S of the former is managed by the access right management server 4.

次に、甲がデータSのアクセス権限を乙に譲渡する場合には、甲から乙へのデータのアクセス権譲渡の要求、及び暗号鍵Rを、甲の端末3aから通信ネットワーク2を介してアクセス権管理サーバ4に送信する(ステップS210)。   Next, when Party A transfers the access authority for data S to Party B, access request for transferring the data access right from Party A to Party B and the encryption key R are accessed from the terminal 3a of Party A via the communication network 2. It transmits to the right management server 4 (step S210).

アクセス権管理サーバ4は、端末3aから甲から乙へのアクセス権譲渡要求、及び暗号鍵Rを受け取ると、乙の暗号鍵R’を生成し、暗号データ記憶部41に記憶された暗号データAから暗号鍵R及びR’を用いて暗号データA”=A*R*R”を生成する(ステップS220,S230)。そして、暗号データA”を暗号データ記憶部41に記憶させるとともに、暗号鍵R’を通信ネットワーク2を介して乙の端末3bに送信する(ステップS240,S250)。   When the access right management server 4 receives an access right transfer request from the terminal 3 a to the second party and the encryption key R, the access right management server 4 generates the second encryption key R ′ and stores the encrypted data A stored in the encrypted data storage unit 41. Then, encrypted data A ″ = A * R * R ″ is generated using the encryption keys R and R ′ (steps S220 and S230). Then, the encryption data A ″ is stored in the encryption data storage unit 41, and the encryption key R ′ is transmitted to the terminal 3b of the second party via the communication network 2 (steps S240 and S250).

端末3bは、アクセス権管理サーバ4から暗号鍵R’を受け取ると、暗号鍵R’を記憶部31に記憶させる(ステップS260)。   Upon receiving the encryption key R ′ from the access right management server 4, the terminal 3 b stores the encryption key R ′ in the storage unit 31 (Step S <b> 260).

以上の動作により、データSに対するアクセス権限は、甲から乙に譲渡されたことになる。   With the above operation, the access authority for the data S is transferred from Party A to Party B.

次に、乙がデータSを使用する場合には、データSの使用要求、及び暗号鍵R’を端末3bから通信ネットワーク2を介してアクセス管理サーバ4に送信する(ステップS310)。   Next, when the second party uses the data S, the use request of the data S and the encryption key R 'are transmitted from the terminal 3b to the access management server 4 via the communication network 2 (step 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)。
When the access right management server 4 receives the use request of the instep data S and the encryption key R ′ from the terminal 3b, the access right management server 4 decrypts the encryption data A ″ stored in the encryption data storage unit 41 using the encryption key R ′, Data S is generated (step S320).
A "= A * R * R '
= (S * R) * R * R '
= S * R * R * R '
= S * (R * R) * R '
= S * 0 * R '
= S * R '
Because
A ″ * R ′ = (S * R ′) * R ′
= S * R '* R'
= S
Thus, data S is obtained. Then, the decrypted data S is transmitted to the user's terminal 3b via the secure communication network 2a or sending means (step S330).

端末3bは、アクセス管理サーバ4からデータSを受け取ると、データSを記憶部31に記憶させる(ステップS340)。これにより、乙はデータSを端末3bで使用することができる。   When the terminal 3b receives the data S from the access management server 4, the terminal 3b stores the data S in the storage unit 31 (step S340). As a result, the second party can use the data S at the terminal 3b.

従って、本実施の形態に係るアクセス権管理システム20によれば、バーナム暗号を用いて暗号化するアクセス権管理サーバ4、並びに端末3a及び3bを備え、アクセス権管理サーバ4は、データのアクセス権限を譲渡する譲渡側の端末3aのユーザ甲のデータSを甲の暗号鍵Rで暗号化し、暗号データAを管理し、甲の暗号鍵は端末3aが管理する。そして、甲から譲受側の端末3bのユーザ乙にデータSのアクセス権限が譲渡された場合には、アクセス権管理サーバ4は、甲の暗号鍵R及び乙の暗号鍵R’を用いて暗号データAをさらに暗号化し、暗号データA”を管理し、乙の暗号鍵は端末3bが管理するので、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、一旦復号せずにデータ権限を譲渡でき、セキュリティを十分に確保することができる。   Therefore, the access right management system 20 according to the present embodiment includes the access right management server 4 that encrypts data using the Burnham cipher and the terminals 3a and 3b. The data S of the user A of the assigning terminal 3a that transfers the data is encrypted with the encryption key R of the user A, the encrypted data A is managed, and the encryption key A is managed by the terminal 3a. When the access right of the data S is transferred from the user A to the user B of the terminal 3b on the receiving side, the access right management server 4 uses the encryption key R of the user A and the encryption key R ′ of the user B to encrypt the data. A is further encrypted, encrypted data A ″ is managed, and the encryption key A is managed by the terminal 3b. Therefore, even when the access authority of the data whose access is restricted by the encryption is transferred to another person, it is once decrypted Data authority can be transferred without security, and sufficient security can be secured.

<第3の実施の形態>
(システム構成)
図5は、本発明の第3の実施の形態に係るアクセス権管理システム30の概略構成を示す図である。
<Third Embodiment>
(System configuration)
FIG. 5 is a diagram showing a schematic configuration of an access right management system 30 according to the third embodiment of the present invention.

図5に示すように、アクセス権管理システム30は、ユーザが備えるクライアント端末(以下、単に端末とよぶ)3i(i=a,b)と、アクセス権管理サーバ5を通信ネットワーク2を介して接続しており、各端末3i及びアクセス権管理サーバ5が相互に通信可能となっている。また、アクセス権管理サーバ5は、ハードウェア的に互いに独立した複数(本実施の形態では2とする)のデータ保管用サーバコンピュータ(以下、単に保管サーバとよぶ)6a,6bと接続されている。尚、本実施の形態においては、1対の端末のうち、端末3aのユーザを甲(データ権限譲渡側)、端末3bのユーザを乙(データ権限譲受側)として、以下、説明する。   As shown in FIG. 5, the access right management system 30 connects a client terminal (hereinafter simply referred to as a terminal) 3 i (i = a, b) provided by the user and the access right management server 5 via the communication network 2. Each terminal 3i and the access right management server 5 can communicate with each other. The access right management server 5 is connected to a plurality of data storage server computers (hereinafter simply referred to as storage servers) 6a and 6b that are independent of each other in terms of hardware. . In the present embodiment, the following description will be made assuming that the user of the terminal 3a is the former (data authority transfer side) and the user of the terminal 3b is the user (data authority transfer side) of the pair of terminals.

各端末3iは、アクセスを制限したいデータSを保持する端末であり、記憶部31、及び通信部32を備えている。   Each terminal 3 i is a terminal that holds data S whose access is to be restricted, and includes a storage unit 31 and a communication unit 32.

記憶部31には、アクセスを制限したいデータS、アクセス権管理サーバ5から送信される分割データD(3)などを記憶するようになっている。即ち、第2の実施の形態では暗号鍵Rが送信されたが、本実施の形態においては、分割データD(3)が送信される点が異なっている。尚、図1においては、甲の分割データをD(3)、乙の甲の分割データをD’(3)をと表記して、両者を区別している。   The storage unit 31 stores data S whose access is to be restricted, divided data D (3) transmitted from the access right management server 5, and the like. That is, the encryption key R is transmitted in the second embodiment, but the difference is that the divided data D (3) is transmitted in the present embodiment. In FIG. 1, the divided data of the former A is indicated by D (3), and the divided data of the former A is indicated by D '(3) to distinguish them.

通信部32は、端末3iとアクセス権管理サーバ5間のデータの送受信を行うようになっている。   The communication unit 32 transmits and receives data between the terminal 3 i and the access right management server 5.

アクセス権管理サーバ5は、甲が権限を有するデータSを後述する独自の秘密分散アルゴリズムによる秘密分散法(以下、秘密分散法Aとよぶ)を用いて複数のデータに分割し、該分割データを保管サーバ6a,6bおよび端末3aにそれぞれ保管させるようになっている。尚、図1では、アクセス権管理サーバ5は、3つの分割データD(1),D(2) ,D(3)に分割し、それぞれを複数の保管サーバ6a,6bおよび端末3aに保管するようになっている。   The access right management server 5 divides the data S for which the user is authorized into a plurality of data using a secret sharing method (hereinafter referred to as secret sharing method A) based on a unique secret sharing algorithm, which will be described later. The storage servers 6a and 6b and the terminal 3a are stored respectively. In FIG. 1, the access right management server 5 is divided into three divided data D (1), D (2), and D (3), and each is stored in a plurality of storage servers 6a and 6b and the terminal 3a. It is like that.

また、アクセス権管理サーバ5は、データSのデータ権限を甲から乙に譲渡する場合には、上述した秘密分散法Aを用いて、分割データD(1),D(2) ,D(3)から再分割データD’(1),D’(2) ,D’(3)を生成し、それぞれを複数の保管サーバ6a,6bおよび端末3bに保管するようになっている。   Further, when transferring the data authority of the data S from Party A to Party B, the access right management server 5 uses the above-mentioned secret sharing method A to divide the data D (1), D (2), D (3 ) To generate re-divided data D ′ (1), D ′ (2), D ′ (3) and store them in a plurality of storage servers 6a, 6b and terminal 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内で管理してもよいものである。   In this embodiment, the case where the data S is divided and stored is described as an example. However, the present invention is not limited to the case where the data S is divided into three, and is divided into n (n = 2). It is also applied to the case of the above integer). Further, the divided data stored in the terminal 3i is not limited to one and may be plural. In this embodiment, the divided data D (1), D (2) (repartitioned data D ′ (1), D ′ (2)) are stored in the storage server 6 and the divided data D (3) (repartitioned). Data D ′ (3)) is assigned to terminal 3i, but any divided data may be assigned to any storage server 6 and terminal 3i. Furthermore, in the present embodiment, a part of the divided data (repartitioned data) is stored in the storage servers 6a and 6b, but may be managed in the access right management server 5.

アクセス管理サーバ5は、詳しくは、データSから複数の分割データDを生成するために使用される乱数Rおよび再分割データD’を生成するために使用される乱数R’を発生させる乱数生成部51、データSから秘密分散法Aを用いて複数の分割データDに分割する分割データ生成部52、データ権限を甲から乙に譲渡するときに、秘密分散法Aを用いて複数の分割データDから複数の再分割データD’を生成する再分割データ生成部53、複数の再分割データD’から秘密分散法Aを用いてデータSを復元するデータ復元部54、並びに端末3i、及び保管サーバ6a,6bとそれぞれデータの送受信を行う通信部55を具備する構成となっている。   Specifically, the access management server 5 generates a random number R used to generate a plurality of divided data D from the data S and a random number R ′ used to generate the re-divided data D ′. 51, a divided data generation unit 52 that divides data S into a plurality of divided data D using secret sharing method A, and a plurality of divided data D using secret sharing method A when transferring data authority from Party A to Party B A re-divided data generator 53 for generating a plurality of re-divided data D ′ from the data, a data restoring unit 54 for recovering the data S from the plurality of re-divided data D ′ using the secret sharing method A, and the terminal 3i 6a and 6b are provided with a communication unit 55 for transmitting and receiving data.

ここで、上述した端末3i、アクセス権管理サーバ5及び保管サーバ6a,6bは、それぞれ、少なくとも演算機能および制御機能を備えた中央演算装置(CPU)、プログラムやデータを格納する機能を有するRAM等からなる主記憶装置(メモリ)を有する電子的な装置から構成されているものである。また、上記装置は、主記憶装置の他、ハードディスクなどの補助記憶装置を具備していてもよい。   Here, the terminal 3i, the access right management server 5 and the storage servers 6a and 6b described above are respectively a central processing unit (CPU) having at least a calculation function and a control function, a RAM having a function for storing programs and data, and the like. It is comprised from the electronic apparatus which has the main memory device (memory) which consists of. In addition to the main storage device, the apparatus may include an auxiliary storage device such as a hard disk.

このうち、端末3iの通信部32、アクセス権管理サーバ5の乱数生成部51、分割データ生成部52、再分割データ生成部53、データ復元部54、及び通信部55は、上記CPUによる演算制御機能を具体的に示したものに他ならない。また、端末3iの記憶部31、及び保管サーバ6a,6bは、上記主記憶装置及び補助記憶装置の機能を備えたものである。   Among them, the communication unit 32 of the terminal 3i, the random number generation unit 51 of the access right management server 5, the divided data generation unit 52, the subdivision data generation unit 53, the data restoration unit 54, and the communication unit 55 are controlled by the CPU. It is nothing but a specific example of the function. In addition, the storage unit 31 and the storage servers 6a and 6b of the terminal 3i have the functions of the main storage device and the auxiliary storage device.

また、本実施の形態に係る各種処理を実行するプログラムは、前述した主記憶装置またはハードディスクに格納されているものである。そして、このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読み取り可能な記録媒体に記録することも、通信ネットワークを介して配信することも可能である。   A program for executing various processes according to the present embodiment is stored in the main storage device or the hard disk described above. The program can be recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, or a DVD-ROM, or can be distributed via a communication network.

(秘密分散法A)
ここで、本実施の形態における独自の秘密分散アルゴリズムによる秘密分散法Aについて説明する。
(Secret sharing method A)
Here, the secret sharing method A based on the unique secret sharing algorithm in the present embodiment will be described.

本実施形態における元データ(データSに相当する)の分割および復元では、元データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するが、この場合の処理単位ビット長は任意の値に設定することができ、元データを処理単位ビット長毎に区分けして、この元部分データから分割部分データを分割数より1少ない数ずつ生成するので、元データのビット長が処理単位ビット長の(分割数-1)倍の整数倍に一致しない場合は、元データの末尾の部分に0を埋めるなどして元データのビット長を処理単位ビット長の(分割数-1)倍の整数倍に合わせることにより本実施形態を適用することができる。   In the division and restoration of the original data (corresponding to the data S) in the present embodiment, the original data is divided into divided data of a desired number of divisions based on the desired processing unit bit length. In this case, the processing unit bit length Can be set to any value, and the original data is divided into processing unit bit lengths, and the divided partial data is generated from this original partial data by a number one less than the number of divisions, so that the bit length of the original data is If it does not match an integer multiple of (divided number -1) times the processing unit bit length, the bit length of the original data is set to the processing unit bit length (divided number -1 by filling in 0 at the end of the original data. ) This embodiment can be applied by adjusting to an integral multiple of times.

また、上述した乱数も(分割数-1)個の元部分データの各々に対応して処理単位ビット長のビット長を有する(分割数-1)個の乱数部分データとして乱数生成部51から生成される。すなわち、乱数は処理単位ビット長毎に区分けされて、処理単位ビット長のビット長を有する(分割数-1)個の乱数部分データとして生成される。更に、元データは処理単位ビット長に基づいて所望の分割数の分割データに分割されるが、この分割データの各々も(分割数-1)個の元部分データの各々に対応して処理単位ビット長のビット長を有する(分割数-1)個の分割部分データとして生成される。すなわち、分割データの各々は、処理単位ビット長毎に区分けされて、処理単位ビット長のビット長を有する(分割数-1)個の分割部分データとして生成される。   The random numbers described above are also generated from the random number generator 51 as (partition number-1) random number partial data having a bit length of the processing unit bit length corresponding to each of the (partition number-1) original partial data. Is done. That is, the random numbers are divided into processing unit bit lengths, and are generated as (partition number-1) random number partial data having a bit length of the processing unit bit length. Further, the original data is divided into a desired number of divided data based on the processing unit bit length, and each of the divided data also corresponds to each of the (division number-1) original partial data. It is generated as (partition number -1) pieces of divided partial data having a bit length. That is, each piece of divided data is divided into processing unit bit lengths, and is generated as (partition number-1) pieces of divided partial data having a bit length of the processing unit bit length.

なお、以下の説明では、上述した元データ、乱数、分割データ、分割数および処理単位ビット長をそれぞれ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番目の元部分データを表すものである。   In the following description, the above-described original data, random numbers, divided data, number of divisions, and processing unit bit length are represented by S, R, D, n, and b, respectively, and one of a plurality of data, random numbers, and the like. I (= 1 to n) and j (= 1 to n-1) are used as variables to represent one, (division number n-1) original partial data, (division number n-1) random number partial data , And one of each of the divided data D of the number n of divisions is represented by S (j), R (j) and D (i), respectively, and a plurality of ( The divided partial data of (n-1) is represented by D (i, j). That is, S (j) represents the j-th original partial data when the original data S is numbered in order from the top by dividing the processing unit bit length from the top.

この表記を用いると、元データ、乱数データ、分割データとこれらをそれぞれ構成する元部分データ、乱数部分データ、分割部分データは、次のように表記される。   When this notation is used, the original data, random number data, and divided data, and the original partial data, random number partial data, and divided partial data that constitute these, respectively, are represented as follows.

元データ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)演算を用いることにより高速かつ高性能な演算処理能力を必要とせず、大容量のデータに対しても簡単な演算処理を繰り返して分割データを生成することができるとともに、また分割データの保管に必要となる記憶容量も分割数に比例した倍数の容量よりも小さくすることができる。更に、任意に定めた一定の長さ毎にデータの先頭から順に演算処理を行うストリーム処理により分割データが生成される。
Original data S = (n-1) original partial data S (j)
= S (1), S (2), ..., S (n-1)
Random number R = (n-1) random number partial data R (j)
= R (1), R (2), ..., R (n-1)
n divided data D (i) = D (1), D (2),..., D (n)
Each partial data 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)
In the present embodiment, an exclusive OR operation (XOR) of the original partial data and the random number partial data is performed on the plurality of partial data divided for each processing unit bit length as described above. The original data is divided using a definition formula consisting of exclusive OR (XOR) of data and random number partial data, and a method of using a polynomial or a remainder operation for the above data division processing Compared with, it uses the exclusive OR (XOR) operation, which is a bit operation suitable for computer processing, and does not require high-speed and high-performance processing power, and it is simple operation even for large volumes of data. The divided data can be generated by repeating the processing, and the storage capacity required for storing the divided data can be made smaller than the multiple capacity proportional to the divided number. Further, the divided data is generated by stream processing in which calculation processing is performed in order from the top of the data for each predetermined fixed length.

次に、フローチャートなどの図面も参照して、本実施の形態における秘密分散法Aの作用について説明するが、この説明の前に図6乃至10、および図12に示す記号の定義について説明する。   Next, the operation of the secret sharing method A in the present embodiment will be described with reference to drawings such as flowcharts, but the definitions of symbols shown in FIGS. 6 to 10 and FIG. 12 will be described before this description.

(1)Πi=1 nA(i)は、A(1)*A(2)*…A(n)を意味するものとする。 (1) Π i = 1 n A (i) means 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列の値と定義する。   (2) c (j, i, k) is (n-1) × (n-1) matrix U [n-1, n-1] × (P [n-1, n-1]) ^ It is defined as the value of i row and k column of (j-1).

このときQ(j,i,k)を下記のように定義する。   At this time, Q (j, i, k) is defined as follows.

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の整数を表す。
When c (j, i, k) = 1 Q (j, i, k) = R ((n-1) × m + k)
Q (j, i, k) = 0 when c (j, i, k) = 0
However, m represents an integer of 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 2005346006
(3) U [n, n] is an n × n matrix, and the value of i rows and j columns is represented by u (i, j).
When i + j <= n + 1, u (i, j) = 1
When i + j> n + 1, u (i, j) = 0
It means that the matrix is “upper triangular matrix”. Specifically, the matrix is as follows.
Figure 2005346006

(4)P[n,n]とは、n×n行列であって、i行j列の値をp(i,j)で表すと、
j=i+1 のとき p(i,j)=1
i=1,j=n のとき p(i,j)=1
上記以外のとき p(i,j)=0
である行列を意味するものとし、「回転行列」ということとする。具体的には下記のような行列であり、他の行列の右側からかけると当該他の行列の1列目を2列目へ、2列目を3列目へ、…,n-1列目をn列目へ、n列目を1列目へ移動させる作用がある。つまり、行列Pを他の行列に右側から複数回かけると、その回数分だけ各列を右方向へ回転させるように移動させることができる。

Figure 2005346006
(4) P [n, n] is an n × n matrix, and the value of i rows and j columns is represented by p (i, j).
When j = i + 1, p (i, j) = 1
p (i, j) = 1 when i = 1, j = n
For other cases p (i, j) = 0
It means that the matrix is “rotation matrix”. Specifically, the matrix is as follows, and when multiplied from the right side of another matrix, the first column of the other matrix is changed to the second column, the second column to the third column,. Is moved to the nth column, and the nth column is moved to the first column. That is, when the matrix P is applied to another matrix a plurality of times from the right side, each column can be moved so as to rotate rightward by that number of times.
Figure 2005346006

(5)A,Bをn×n行列とすると、A×Bとは行列AとBの積を意味するものとする。行列の成分同士の計算規則は通常の数学で用いるものと同じである。   (5) If A and B are n × n matrices, A × B means the product of the matrices A and B. The calculation rules for the matrix components are the same as those used in normal mathematics.

(6)Aをn×n行列とし、iを整数とすると、A^iとは行列Aのi個の積を意味するものとする。また、A^0とは単位行列Eを意味するものとする。   (6) When A is an n × n matrix and i is an integer, A ^ i means i products of the matrix A. A ^ 0 means the unit matrix 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 2005346006
(7) The unit matrix E [n, n] is an n × n matrix, and the value of i rows and j columns is represented by e (i, j).
e (i, j) = 1 when i = j
For other cases e (i, j) = 0
Let's mean a matrix that is Specifically, the matrix is as follows. Let A be any n × n matrix
A × E = E × A = A
It has the property to be
Figure 2005346006

次に、図6に示すフローチャートおよび図7および図8に示す具体的データなどを参照して、まず元データSの分割処理について説明する。これは、アクセス権管理サーバ5の分割データ生成部52の機能を説明するものである。   Next, with reference to the flowchart shown in FIG. 6 and the specific data shown in FIGS. 7 and 8, the division process of the original data S will be described first. This explains the function of the divided data generation unit 52 of the access right management server 5.

まず、元データSをアクセス権管理サーバ5に与える(図6のステップS201)。なお、本例では、元データSは、16ビットの「10110010 00110111」とする。   First, the original data S is given to the access right management server 5 (step S201 in FIG. 6). In this example, the original data S is 16 bits “10110010 00110111”.

次に、アクセス権管理サーバ5は、分割数nとして3と指示する(ステップS203)。なお、この分割数n=3に従ってアクセス権管理サーバ5で生成される3個の分割データをD(1),D(2),D(3)とする。この分割データD(1),D(2),D(3)は、すべて元データのビット長と同じ16ビット長のデータである。   Next, the access right management server 5 instructs the division number n to be 3 (step S203). Note that the three pieces of divided data generated by the access right management server 5 in accordance with the division number n = 3 are D (1), D (2), and D (3). The divided data D (1), D (2), and D (3) are all 16-bit data that is the same as the bit length of the original data.

それから、元データSを分割するために使用される処理単位ビット長bを8ビットと決定する(ステップS205)。この処理単位ビット長bは、利用者が端末3からアクセス権管理サーバ5に対して指定してもよいし、またはアクセス権管理サーバ5において予め定められた値を用いてもよい。なお、処理単位ビット長bは、任意のビット数でよいが、ここでは元データSを割り切れることができる8ビットとしている。従って、上記16ビットの「10110010 00110111」の元データSは、8ビットの処理単位ビット長で区分けされた場合の2個の元分割データS(1)およびS(2)は、それぞれ「10110010」および「00110111」となる。   Then, the processing unit bit length b used for dividing the original data S is determined to be 8 bits (step S205). The processing unit bit length b may be specified by the user from the terminal 3 to the access right management server 5 or may be a value predetermined in the access right management server 5. The processing unit bit length b may be an arbitrary number of bits, but here, it is 8 bits that can divide the original data S. Therefore, the original data S of the above 16-bit “10110010 00110111” is divided into “10110010” when the two original divided data S (1) and S (2) are divided by the 8-bit processing unit bit length. And “00110111”.

次のステップS207では、元データSのビット長が8×2の整数倍であるか否かを判定し、整数倍でない場合には、元データSの末尾を0で埋めて、8×2の整数倍に合わせる。なお、本例のように処理単位ビット長bが8ビットおよび分割数nが3に設定された場合における分割処理は、元データSのビット長として16ビットに限られるものでなく、処理単位ビット長b×(分割数n-1)=8×2の整数倍の元データSに対して有効なものである。   In the next step S207, it is determined whether or not the bit length of the original data S is an integer multiple of 8 × 2, and if it is not an integer multiple, the end of the original data S is padded with zeros to obtain 8 × 2 Fit to an integer multiple. Note that the division processing when the processing unit bit length b is set to 8 bits and the division number n is set to 3 as in this example is not limited to 16 bits as the bit length of the original data S. This is effective for the original data S that is an integral multiple of the length b × (number of divisions n−1) = 8 × 2.

次に、ステップS209では、変数m、すなわち上述した整数倍を意味する変数mを0に設定する。本例のように、元データSが処理単位ビット長b×(分割数n-1)=8×2=16ビットである場合には、変数mは0であるが、2倍の32ビットの場合には、変数mは1となり、3倍の48ビットの場合には、変数mは2となる。   Next, in step S209, the variable m, that is, the variable m meaning the integer multiple described above is set to zero. As in this example, when the original data S has a processing unit bit length b × (number of divisions n−1) = 8 × 2 = 16 bits, the variable m is 0, but is doubled to 32 bits. In this case, the variable m is 1, and in the case of 3 times 48 bits, the variable m is 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に進む。   Next, it is determined whether or not there is data for 8 × 2 bits from the 8 × 2 × m + 1 bit of the original data S (step S211). This is because the division processing shown after step S211 is performed on the processing unit bit length b × (number of divisions n−1) = 8 × 2 = 16 bits specified by the variable m of the original data S, It is determined whether or not there is the next 16 bits as data S. In the case where the original data S is 16 bits as in this example, when the dividing process after step S211 is performed once on the 16-bit original data S, the variable m is incremented by 1 in step S219 described later. However, in the original data S of this example, there is no data of 17 bits or more corresponding to the case where the variable m is m + 1, so the process proceeds from step S211 to step S221. In this case, however, the variable m is Since it is 0, the 8 × 2 × m + 1 bit of the original data S is 8 × 2 × 0 + 1 = 1, and the data is 8 × 2 bits from the first 16 bits of the original data S. Since it exists, it progresses to step 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)を次のように生成する。   In step S213, the variable j is changed from 1 to 2 (= number of divisions n-1), and 8 bits (= processing unit bits) from the 8 × (2 × m + j-1) +1 bit of the original data S Data) is set to the original partial data S (2 × m + j), thereby dividing the original data S by the processing unit bit length 2 (number of divisions n-1) original partial data S (1) , S (2) is generated as follows.

元データ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)。
Original data S = S (1), S (2)
First original partial data S (1) = “10110010”
Second original partial data S (2) = “00110111”
Next, the variable j is changed from 1 to 2 (= division number n-1), and a random number of 8 bits length generated from the random number generator 51 is set in the random number partial data R (2 × m + j). Thus, 2 (division number n-1) random number partial data R (1) and R (2) obtained by dividing the random number R by the processing unit bit length are generated as follows (step 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が生成される。
Random number R = R (1), R (2)
First random number partial data R (1) = “10110001”
Second random number partial data R (2) = “00110101”
Next, in step S217, the variable i is changed from 1 to 3 (= number of divisions n), and the variable j is further changed from 1 to 2 (= number of divisions n-1) in each variable i, as shown in step S217. Each divided partial data D (i, 2 × m + j) that constitutes each of the plurality of divided data D (i) by a definition formula consisting of exclusive OR of the original partial data and random number partial data for generating the divided data ) Is generated. As a result, the following divided data D is generated.

分割データ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の場合の任意の整数についての一般的な定義式も記載されている。
Split data D
= 3 pieces of divided data D (i) = D (1), D (2), D (3)
First divided data D (1)
= 2 pieces of partial data D (1, j) = D (1,1), D (1,2)
= "00110110", "10110011"
Second divided data D (2)
= 2 pieces of partial data D (2, j) = D (2,1), D (2,2)
= "00000011", "00000010"
Third divided data D (3)
= 2 pieces of partial data D (3, j) = D (3,1), D (3,2)
= "10110001", "00110101"
Note that the definition formula shown in step S217 for generating each divided partial data (i, j) is specifically described in the table shown in FIG. 8 when the division number n = 3 as in this example. Will be. From the table shown in FIG. 8, the definition formula for generating the divided partial data D (1,1) is S (1) * R (1) * R (2), and the definition formula for D (1,2) Is S (2) * R (1) * R (2), the definition of D (2,1) is S (1) * R (1), and the definition of D (2,2) is S (2) * R (2), the defining formula for D (3,1) is R (1), and the defining formula for D (3,2) is R (2). The table shown in FIG. 8 also describes general definition formulas for arbitrary integers when 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)はそれぞれ単独では元データが推測できない。   In this way, after the divided data D is generated for the variable m = 0 which means an integer multiple, the variable m is then incremented by 1 (step S219), the process returns to step S211 and the original data S corresponding to the variable m + 1 is returned. However, since the original data S in this example is 16 bits and there is no data after 17 bits, the process proceeds from step S211 to step S221 and is generated as described above. The divided data D (1), D (2), and D (3) are stored in the storage server 6 and the terminal 3, respectively, and the division process ends. The divided data D (1), D (2), D (3) stored in this way cannot be estimated as original data alone.

ここで、上述した図6のフローチャートのステップS217における定義式による分割データの生成処理、具体的には分割数n=3の場合の分割データの生成処理について詳しく説明する。   Here, the divided data generation processing based on the definition formula in step S217 in the flowchart of FIG. 6 described above, specifically, the divided data generation processing when the number of divisions n = 3 will be described in detail.

まず、整数倍を意味する変数m=0の場合には、ステップS217に示す定義式から各分割データD(i)=D(1)〜D(3)の各々を構成する各分割部分データD(i,2×m+j)=D(i,j)(i=1〜3,j=1〜2)は、次のようになる。   First, in the case of a variable m = 0 meaning an integer multiple, each divided partial data D constituting each of the divided data D (i) = D (1) to D (3) from the definition formula shown in step S217. (i, 2 × m + j) = D (i, j) (i = 1 to 3, j = 1 to 2) is as follows.

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)を具体的に求める。
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)
Specifically, Q (j, i, k) included in the above four formulas among the above six formulas is obtained.

これはc(j,i,k)を2×2行列であるU[2,2]×(P[2,2])^(j-1)のi行k列の値としたとき下記のように定義される。 When c (j, i, k) is a value of i rows and k columns of U [2,2] × (P [2,2]) ^ (j-1) which is a 2 × 2 matrix, Is defined as

c(j,i,k)=1 のとき Q(j,i,k)=R(k)
c(j,i,k)=0 のとき Q(j,i,k)=0
ここで、
j=1のときは

Figure 2005346006
When c (j, i, k) = 1 Q (j, i, k) = R (k)
Q (j, i, k) = 0 when c (j, i, k) = 0
here,
When j = 1
Figure 2005346006

j=2のときは

Figure 2005346006
When j = 2
Figure 2005346006

これを用いると、各分割部分データD(i,j)は次のような定義式により生成される。   If this is used, each division | segmentation partial data D (i, j) is produced | generated by the following definitional expressions.

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にも図示されている。
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 )
The definition formula for generating each of the divided partial data D (i, j) is also shown in FIG.

図7は、上述したように16ビットの元データSを8ビットの処理単位ビット長に基づいて分割数n=3で3分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。   FIG. 7 shows the original data from the respective data, definition formulas, and divided partial data when the 16-bit original data S is divided into three with the division number n = 3 based on the 8-bit processing unit bit length as described above. It is a table | surface which shows the calculation formula in the case of decompress | restoring.

ここで、上述した定義式により分割データD(1),D(2),D(3)および各分割部分データD(1,1),D(1,2),D(2,1),D(2,2),D(3,1),D(3,2)を生成する過程と定義式の一般形について説明する。   Here, the divided data D (1), D (2), D (3) and the respective divided partial data D (1,1), D (1,2), D (2,1), The process of generating D (2,2), D (3,1), and D (3,2) and the general form of the definition formula will be described.

まず、第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にまとめて示されている。   First, for the first divided data D (1), the first divided partial data D (1,1) is defined by the definition formula S (1) * R (1) * R (2) described above. Then, the second divided partial data D (1, 2) is defined by the definition formula S (2) * R (1) * R (2). The general form of this defining formula is S (j) * R (j) * R (j + 1) for D (1, j), and for D (1, j + 1) S (j + 1) * R (j) * R (j + 1) (j is an odd number). When calculated according to the definition formula, D (1,1) is 00110110 and D (1,2) is 10110011, so D (1) is 00100110 10110011. The general form of the definition formula is collectively shown in FIG.

また、第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である。   For the second divided data D (2), D (2,1) is defined by S (1) * R (1), and D (2,2) is S (2) * R ( Defined in 2). The general form of this definition is S (j) * R (j) for D (2, j) and S (j + 1) * R for D (2, j + 1) (j + 1) (j is an odd number). When calculated according to the definition formula, D (2,1) becomes 00000011 and D (2,2) becomes 00000010, so D (2) is 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である。   Further, for the third divided data D (3), D (3,1) is defined by R (1) and D (3,2) is defined by R (2). The general form of this definition is R (j) for D (3, j) and R (j + 1) for D (3, j + 1) (j is an odd number) To do). When calculated according to the definition formula, D (3,1) is 10110001, D (3,2) is 00110101, and D (3) is 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の整数倍に合わせることにより上述した本実施形態の分割処理を適用することができる。   In the above description, the length of S, R, D (1), D (2), D (3) is 16 bits. Even from the original data S, the divided data D (1), D (2), and D (3) can be generated. In addition, the processing unit bit length b can be arbitrarily set, and the original data having an arbitrary length, specifically, processing is performed by repeating the above division processing for each length of b × 2 in order from the top of the original data S. The present invention can be applied to original data having an integral multiple of the unit bit length b × 2. If the length of the original data S is not an integral multiple of the processing unit bit length b × 2, for example, the length of the original data S is set to the processing unit bit length b × 2 by filling the end portion of the data with 0, for example. The division processing of this embodiment described above can be applied by adjusting to an integral multiple of.

次に、図7の右側に示す表を参照して、分割データから元データを復元する処理について説明する。これは、分割データから元データを復元できることを示すものである。   Next, a process for restoring the original data from the divided data will be described with reference to the table shown on the right side of FIG. This indicates that the original data can be restored from the divided data.

まず、アクセス権管理サーバ5に元データSの復元を要求する。アクセス権管理サーバ5は、保管サーバ6および端末3から分割データD(1),D(2),D(3)を取得し、この取得した分割データD(1),D(2),D(3)から次に示すように元データSを復元する。   First, the access right management server 5 is requested to restore the original data S. The access right management server 5 acquires the divided data D (1), D (2), D (3) from the storage server 6 and the terminal 3, and the acquired divided data D (1), D (2), D The original data S is restored from (3) as follows.

まず、分割部分データD(2,1),D(3,1)から第1の元部分データS(1)を次のように生成することができる。   First, the first original partial data S (1) can be generated from the divided partial data D (2,1) and D (3,1) as follows.

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となる。
D (2,1) * D (3,1) = (S (1) * R (1)) * R (1)
= S (1) * (R (1) * R (1))
= S (1) * 0
= S (1)
Specifically, since D (2,1) is 00000011 and D (3,1) is 10110001, S (1) is 10110010.

また、別の分割部分データから次のように第2の元部分データS(2)を生成することができる。   Further, the second original partial data S (2) can be generated from the other divided partial data as follows.

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となる。
D (2,2) * D (3,2) = (S (2) * R (2)) * R (2)
= S (2) * (R (2) * R (2))
= S (2) * 0
= S (2)
Specifically, since D (2,2) is 00000010 and D (3,2) is 00110101, S (2) is 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)が求まる。
In general, let j be an odd number
D (2, j) * D (3, j) = (S (j) * R (j)) * R (j)
= S (j) * (R (j) * R (j))
= S (j) * 0
= S (j)
Therefore, S (j) can be obtained by calculating D (2, j) * D (3, 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)が求まる。
In general, j is an odd number,
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)
Therefore, S (j + 1) can be obtained by calculating D (2, j + 1) * D (3, j + 1).

次に、D(1),D(3)を取得してSを復元する場合には、次のようになる。   Next, when acquiring D (1) and D (3) and restoring S, it is as follows.

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,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)
Therefore, S (1) can be obtained by calculating D (1,1) * D (3,1) * D (3,2). Specifically, since D (1,1) is 00110110, D (3,1) is 1010001, and D (3,2) is 0110101, S (1) is 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となる。
Similarly,
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)
Therefore, S (2) can be obtained by calculating D (1,2) * D (3,1) * D (3,2). Specifically, since D (1,2) is 10110011, D (3,1) is 10110001, and D (3,2) is 00110101, S (2) is 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)が求まる。
In general, let j be an odd number
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)
Therefore, S (j) can be obtained by calculating D (1, j) * D (3, j) * D (3, j + 1).

また、一般に、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)が求まる。
In general, j is an odd number,
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)
Therefore, S (j + 1) can be obtained by calculating D (1, j + 1) * D (3, j) * D (3, j + 1).

次に、D(1),D(2)を取得してSを復元する場合には、次のようになる。   Next, when acquiring D (1) and D (2) and restoring S, it is as follows.

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,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)
Therefore, R (2) is obtained by calculating D (1,1) * D (2,1). Specifically, since D (1,1) is 00110110 and D (2,1) is 00000011, R (2) is 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となる。
Similarly,
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)
Therefore, R (1) is obtained by calculating D (1,2) * D (2,2). Specifically, since D (1,2) is 10110011 and D (2,2) is 00000010, R (1) is 10110001.

このR(1),R(2)を使用してS(1),S(2)を求める。   Using these R (1) and R (2), S (1) and S (2) are obtained.

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,1) * R (1) = (S (1) * R (1)) * R (1)
= S (1) * (R (1) * R (1))
= S (1) * 0
= S (1)
Therefore, S (1) can be obtained by calculating D (2,1) * R (1). Specifically, since D (2,1) is 00000011 and R (1) is 10110001, S (1) is 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となる。
Similarly,
D (2,2) * R (2) = (S (2) * R (2)) * R (2)
= S (2) * (R (2) * R (2))
= S (2) * 0
= S (2)
Therefore, S (2) can be obtained by calculating D (2,2) * R (2). Specifically, since D (2,2) is 00000010 and R (2) is 00110101, S (2) is 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)が求まる。
In general, let j be an odd number
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)
Therefore, R (j + 1) can be obtained by calculating D (1, j) * D (2, j).

また同様に、
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)が求まる。
Similarly,
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)
Therefore, R (j) can be obtained by calculating D (1, j + 1) * D (2, j + 1).

このR(j),R(j+1)を使用してS(j),S(j+1)を求める。   Using these R (j) and R (j + 1), S (j) and S (j + 1) are obtained.

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) * R (j) = (S (j) * R (j)) * R (j)
= S (j) * (R (j) * R (j))
= S (j) * 0
= S (j)
Therefore, S (j) can be obtained by calculating D (2, j) * R (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)が求まる。
Similarly,
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)
Therefore, S (j + 1) is obtained by calculating D (2, j + 1) * R (j + 1).

上述したように、元データの先頭から処理単位ビット長bに基づいて分割処理を繰り返し行って、分割データを生成した場合には、3つの分割データD(1),D(2),D(3)のすべてを用いなくても、3つの分割データのうち、2つの分割データを用いて上述したように元データを復元することができる。即ち、端末3において、仮に分割データを紛失したとしても、保管サーバ6に保管された他の分割データから元データを復元ですることができる。   As described above, when the divided data is repeatedly generated from the beginning of the original data based on the processing unit bit length b to generate divided data, the three divided data D (1), D (2), D ( Even if not all of 3) is used, the original data can be restored as described above using two divided data of the three divided data. That is, even if the terminal 3 loses the divided data, the original data can be restored from the other divided data stored in the storage server 6.

尚、本実施の形態に係るアクセス権管理サーバ5においては、3つの分割データD(1),D(2),D(3)を生成するようになっていたので、分割数が3の場合について説明したが、秘密分散法Aは、分割数がnの場合にも適用できるものである。   In the access right management server 5 according to the present embodiment, since three pieces of divided data D (1), D (2), D (3) are generated, the number of divisions is three. However, the secret sharing method A can be applied even when the number of divisions is n.

次に、図9に示すフローチャートを参照して、分割数がnで、処理単位ビット長がbである場合の一般的な分割処理について説明する。   Next, a general division process when the number of divisions is n and the processing unit bit length is b will be described with reference to the flowchart shown in FIG.

まず、元データSをアクセス権管理サーバ5に与える(ステップS401)。また、アクセス権管理サーバ5に、分割数n(n≧3である任意の整数)を指示する(ステップS403)。処理単位ビット長bを決定する(ステップS405)。なお、bは0より大きい任意の整数である。次に、元データSのビット長がb×(n-1)の整数倍であるか否かを判定し、整数倍でない場合には、元データSの末尾を0で埋める(ステップS407)。また、整数倍を意味する変数mを0に設定する(ステップS409)。   First, the original data S is given to the access right management server 5 (step S401). Further, the access right management server 5 is instructed for the division number n (an arbitrary integer satisfying n ≧ 3) (step S403). The processing unit bit length b is determined (step S405). Note that b is an arbitrary integer greater than 0. Next, it is determined whether or not the bit length of the original data S is an integer multiple of b × (n−1). If it is not an integer multiple, the end of the original data S is filled with 0 (step S407). Further, a variable m meaning an integer multiple is set to 0 (step S409).

次に、元データSのb×(n-1)×m+1ビット目からb×(n-1)ビット分のデータが存在するか否かが判定される(ステップS411)。この判定の結果、データが存在しない場合は、ステップS421に進むことになるが、今の場合は、ステップS409で変数mは0に設定された場合であるので、データが存在するため、ステップS413に進む。   Next, it is determined whether or not there is data of b × (n−1) bits from the b × (n−1) × m + 1 bit of the original data S (step S411). As a result of this determination, if there is no data, the process proceeds to step S421. However, in this case, since the variable m is set to 0 in step S409, the data exists, so step S413. Proceed to

ステップ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)が生成される。   In step S413, the variable j is changed from 1 to n-1, and b bits ((n-1) × m + j-1) +1 bit data of the original data S is converted into the original partial data S. ((n-1) × m + j) is repeated, whereby (n-1) pieces of original partial data S (1), S (2 ),... S (n-1) is generated.

次に、変数jを1からn-1まで変えて、乱数部分データR((n-1)×m+j)に乱数生成部51から発生する処理単位ビット長bの乱数を設定し、これにより乱数Rを処理単位ビット長bで区分けしたn-1個の乱数部分データR(1),R(2),…R(n-1)が生成される(ステップS415)。   Next, the variable j is changed from 1 to n-1, and the random number of the processing unit bit length b generated from the random number generation unit 51 is set in the random number partial data R ((n-1) × m + j). Thus, n-1 random number partial data R (1), R (2),... R (n-1) obtained by dividing the random number R by the processing unit bit length b are generated (step S415).

次に、ステップS417において、変数iを1からnまで変えるとともに、更に各変数iにおいて変数jを1からn-1まで変えながら、ステップS417に示す分割データを生成するための定義式により複数の分割データD(i)の各々を構成する各分割部分データD(i,(n-1)×m+j)を生成する。この結果、次に示すような分割データDが生成される。   Next, in step S417, while changing the variable i from 1 to n and further changing the variable j from 1 to n-1 in each variable i, a plurality of definition expressions for generating the divided data shown in step S417 are used. Each divided partial data D (i, (n−1) × m + j) constituting each of the divided data D (i) is generated. As a result, divided data D as shown below is generated.

分割データ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にそれぞれ保存して、分割処理を終了する。
Split data D
= n pieces of divided data D (i) = D (1), D (2), ... D (n)
First divided data D (1)
= n-1 divided partial data D (1, j) = D (1,1), D (1,2), ... D (1, n-1)
Second divided data D (2)
= n-1 divided partial data D (2, j) = D (2,1), D (2,2), ... D (2, n-1)
………
………
N-th divided data D (n)
= n-1 divided partial data D (n, j) = D (n, 1), D (n, 2), ... D (n, n-1)
In this way, after generating the divided data D for the variable m = 0, the variable m is then incremented by 1 (step S419), and the process returns to step S411 to return b × (n of the original data S corresponding to the variable m = 1. -1) Similar division processing is performed for the bits after the bit. Finally, if there is no data in the original data S as a result of the determination in step S411, the process proceeds from step S411 to step S421, and the divided data D (1),..., D (n) generated as described above are stored in the storage server 6. Then, the data is stored in the terminal 3 and the dividing process is terminated.

さて、上述した実施形態においては、ここの分割データのみから、それを構成する部分データ間の演算を行うことによって乱数成分が失われる場合がある。即ち、例えば3分割の場合、各分割部分データは次のように定義される。   In the embodiment described above, the random number component may be lost by performing an operation between the partial data constituting only the divided data. That is, for example, in the case of three divisions, each divided partial data is defined as follows.

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) = 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),…
Looking at D (1), for example, if D (1,1) and D (1,2) can be acquired,
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)
It becomes. In general, D (1, j) * D (1, j + 1) = S (j) * S (j + 1). Here, j is j = 2 × m + 1, and m is an arbitrary integer satisfying m ≧ 0.

D(1,1)、D(1,2)は、上記の定義より、元データと乱数の演算により生成されたものであり、D(1,1)、D(1,2)それぞれを見ても元データの内容は分からないが、D(1,1)*D(1,2)の演算を行うことによりS(1)*S(2)が算出される。これは元データそのものではないが、乱数成分を含んでいない。   D (1,1) and D (1,2) are generated by the calculation of the original data and random numbers based on the above definition. However, although the contents of the original data are not known, S (1) * S (2) is calculated by calculating D (1,1) * D (1,2). This is not the original data itself, but does not include a random number component.

このように乱数成分が失われると、個々の元部分データについて、例えばS(2)の一部が既知である場合にはS(1)の一部が復元可能となるので、安全ではないと考えられる。例えば、元データが標準化されたデータフォーマットに従ったデータであって、S(2)がそのデータフォーマット中のヘッダ情報やパディング(例えば、データ領域の一部を0で埋めたもの)などを含む部分であった場合には、これらのデータフォーマット固有のキーワードや固定文字列などを含むため、その内容は予測され得る。また、S(2)のうち既知の部分とS(1)*S(2)の値から、S(1)の一部が復元可能である。   If the random component is lost in this way, for each original partial data, for example, if part of S (2) is known, part of S (1) can be restored, so it is not safe. Conceivable. For example, the original data is data according to a standardized data format, and S (2) includes header information and padding (for example, a part of the data area padded with 0), etc. If it is a part, it includes keywords specific to these data formats, fixed character strings, and the like, so the contents can be predicted. Further, a part of S (1) can be restored from the known part of S (2) and the value of S (1) * S (2).

この問題を解決する方法は以下の通りである。図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の任意の整数である。   The method for solving this problem is as follows. D (1, j + 1) and D (2, j + 1) in FIG. 10 are obtained by replacing D (1, j + 1) and D (2, j + 1) in FIG. Here, j is j = 2 × m + 1, and m is an arbitrary integer satisfying 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)
となるからである。
In this case, with only the individual divided data, the random number component is not lost even if the calculation is performed between the divided partial data constituting the divided data. This is from FIG.
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)
Because it becomes.

また、この場合、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)の分割部分データ毎に必要な個数の乱数との排他的論理和演算を行うことにより、乱数部分を消去して元データを復元することができるからである。   In this case, the characteristic that the original data can be restored from two of the three divided data is not lost. When D (1) and D (2) are acquired and S is restored, D (1) and D (2) in FIG. 10 are D (1) and D (2) in FIG. Since the divided part data constituting the data is merely replaced, the original data can obviously be restored from these, and D (1) and D (3) or D (2) and D (3) When acquiring and restoring S, since D (3) is divided data consisting only of random numbers, it is exclusive with the required number of random numbers for each divided partial data of D (1) or D (2). This is because by performing the logical sum operation, the original data can be restored by deleting the random number portion.

次に、一旦分割された分割データにさらに乱数を与えて新たな分割データ(再分割データ)を生成する再分割処理について説明する。これは、アクセス権管理サーバ5の再分割データ生成部53の機能を説明するものであるが、これに関しても、分割数が3の場合を例に説明する。   Next, a re-division process for generating new division data (re-division data) by giving a random number to the division data once divided will be described. This is to explain the function of the subdivision data generation unit 53 of the access right management server 5, and also in this case, the case where the division number is 3 will be described as an example.

図11は、データ再分割処理の概要を説明するフローチャート図である。同図によれば、まず分割データD(1),D(2),D(3)を取得し(ステップS601)、次に、乱数生成部51で再分割の際に用いる乱数R’を発生させる(ステップS603)。   FIG. 11 is a flowchart for explaining an outline of the data re-division processing. According to the figure, first, the divided data D (1), D (2), D (3) are acquired (step S601), and then the random number generator 51 generates a random number R ′ to be used for re-division. (Step 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)。   Next, a random number R 'is injected into each of the divided data D (1), D (2), D (3) according to a predetermined rule (step S605). This is the exclusive OR of the divided data of the divided data D (1), D (2), D (3) and the random data of the random number R ′ according to the rules described later. R is deleted, and new divided data D ′ (1), D ′ (2), and D ′ (3) are generated (steps S607 and S609).

図12は、元データSを、元データの半分の長さの処理単位ビット長bに基づいて分割数n=3で3分割する場合の分割部分データの定義式、乱数R’の再注入後の分割部分データの定義式、さらに乱数Rを消去後の分割部分データの定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。   FIG. 12 shows the definition formula of divided partial data when the original data S is divided into three with the division number n = 3 based on the processing unit bit length b that is half the length of the original data, after reinjection of the random number R ′ 4 is a table showing a definition formula of the divided partial data, a definition formula of the divided partial data after erasing the random number R, a calculation formula when restoring the original data from each divided partial data, and the like.

ここで、分割部分データD(i,j)の定義式について説明する。   Here, the definition formula of the divided partial data D (i, j) will be described.

まず、第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は奇数とする)。   First, as shown in FIG. 10, for the first divided data D (1), the first divided partial data D (1,1) is defined as S (1) * R (1) * R. The second divided partial data D (1, 2) is defined by the definition formula S (2) * R (2). The general form of this defining formula is S (j) * R (j) * R (j + 1) for D (1, j), and for D (1, j + 1) S (j + 1) * R (j + 1) (j is an odd number).

また、第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は奇数とする)。   For the second divided data D (2), as shown in FIG. 10, D (2,1) is defined by S (1) * R (1), and D (2,2) is Defined by S (2) * R (1) * R (2). The general form of this definition is S (j) * R (j) for D (2, j) and S (j + 1) * R for D (2, j + 1) (j) * R (j + 1) (j is an odd number).

更に第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は奇数とする)。   Furthermore, for the third divided data D (3), as shown in FIG. 10, D (3,1) is defined by R (1) and D (3,2) is defined by R (2). Is done. The general form of this definition is R (j) for D (3, j) and R (j + 1) for D (3, j + 1) (j is an odd number) To do).

次に、新たな乱数R’注入後の分割部分データD’(i,j)の定義式について説明する。   Next, the definition formula of the divided partial data D ′ (i, j) after the new random number R ′ is injected will be described.

まず、第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は奇数とする)。   First, as shown in FIG. 12, for the first divided data D ′ (1), the first divided partial data D ′ (1,1) is defined by the definition formula D (1,1) * R ′. (1) * R '(2), that is, S (1) * R (1) * R (2) * R' (1) * R '(2) (1,2) is defined by the definition formula D (1,2) * R ′ (2), that is, S (2) * R (2) * R ′ (2). Note that the general form of this defining formula is D (1, j) * R '(j) * R' (j + 1) for D '(1, j), and D' (1, j +1) is D (1, j + 1) * R ′ (j + 1) (j is an odd number).

また、第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は奇数とする)。   For the second divided data D ′ (2), as shown in FIG. 12, D ′ (2,1) is D (2,1) * R ′ (1), that is, S (1 ) * R (1) * R '(1) and D' (2,2) is D (2,2) * R '(1) * R' (2), that is, S (2) * R (1) * R (2) * R '(1) * R' (2) is defined. The general form of this definition is D (2, j) * R '(j) for D' (2, j) and D (2 for D '(2, j + 1) , j + 1) * R ′ (j) * R ′ (j + 1) (j is an odd number).

また、第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は奇数とする)。   For the third divided data D ′ (3), as shown in FIG. 12, D ′ (3,1) is D (3,1) * R ′ (1), that is, R (1 ) * R ′ (1) and D ′ (3,2) is defined by D (3,2) * R ′ (2), that is, R (2) * R ′ (2). The general form of this definition is D (3, j) * R '(j) * for D' (3, j) and D (3, j + 1) for D '(3, j + 1). 3, j + 1) * R ′ (j + 1) (j is an odd number).

次に、古い乱数Rを消去した分割部分データの定義式について説明する。   Next, the definition formula of the divided partial data from which the old random number R is deleted will be described.

まず、上述の第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は奇数とする)。   First, as shown in FIG. 12, for the first divided data D ′ (1), the first divided partial data D ′ (1,1) is defined by the definition formula (S (1) * R (1) * R (2) * R '(1) * R' (2)) * (R (1) * R (2)), that is, S (1) * R '(1) * R' ( 2), the second divided partial data D ′ (1,2) is defined by the definition formula (S (2) * R (2) * R ′ (2)) * R (2), that is, S ( 2) It is defined by * R '(2). The general form of this defining formula is S (j) * R '(j) * R' (j + 1) for D '(1, j), and D' (1, j + 1 ) Is S (j + 1) * R ′ (j + 1) (j is an odd number).

また、上述の第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は奇数とする)。   For the second divided data D ′ (2), as shown in FIG. 12, D ′ (2,1) is (S (1) * R (1) * R ′ (1) ) * R (1), that is, S (1) * R '(1), and D' (2,2) is defined as (S (2) * R (1) * R (2) * R '( 1) * R ′ (2)) * R (1) * R (2), that is, S (2) * R ′ (1) * R ′ (2). The general form of this definition is S (j) * R '(j) * for D' (2, j) and S (j + 1) for D (2, j + 1) ) * R ′ (j) * R ′ (j + 1) (j is an odd number).

また、上述の第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は奇数とする)。   For the third divided data D ′ (3), as shown in FIG. 12, D ′ (3,1) is (R (1) * R ′ (1)) * R (1 ), That is, R ′ (1), and D ′ (3,2) is defined as (R (2) * R ′ (2)) * R (2), that is, R ′ (2). . The general form of this definition is R '(j) * for D' (3, j) and R '(j + 1) for D (3, j + 1) ( j is an odd number).

このように、再分割部分データD’(i,j)はそれぞれ、分割部分データD (i,j)に、分割部分データD (i,j)の定義式で注入されていた乱数部分データR(j)に対応する乱数部分データR’(j)を注入した後、さらに乱数部分データR(j)を消去するように乱数部分データR(j)を注入して排他的論理和を計算し、求めるものである。   In this way, the re-partitioned partial data D ′ (i, j) is respectively random number partial data R that has been injected into the divided partial data D (i, j) by the definition formula of the divided partial data D (i, j). After injecting random number partial data R '(j) corresponding to (j), inject random number partial data R (j) so as to erase random number partial data R (j) and calculate exclusive OR. , What you want.

その結果、もとの分割部分データD (i,j)の定義式において、乱数部分データR(j)を乱数部分データR’(j)に置換したものが、再分割部分データD ’(i,j)の定義式となる。   As a result, in the definition formula of the original divided partial data D (i, j), the random partial data R (j) replaced with the random partial data R ′ (j) is the re-divided partial data D ′ (i , j).

次に、図12の右側に示す表を参照して、再分割データから元データを復元する処理について説明する。これは、アクセス権管理サーバ5の元データ復元部54の機能を説明するものである。   Next, a process for restoring the original data from the repartitioned data will be described with reference to the table shown on the right side of FIG. This explains the function of the original data restoration unit 54 of the access right management server 5.

まず、分割部分データD’(2,1),D’(3,1)から第1の元部分データS(1)を次のように生成することができる。   First, the first original partial data S (1) can be generated from the divided partial data D ′ (2,1), D ′ (3,1) as follows.

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,1) * D' (3,1) = (S (1) * R '(1)) * R' (1)
= S (1) * (R '(1) * R' (1))
= S (1) * 0
= S (1)
Further, the second original partial data S (2) can be generated from the other divided partial data as follows.

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)が求まる。
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)
In general, let j be an odd number
D '(2, j) * D' (3, j) = (S (j) * R '(j)) * R' (j)
= S (j) * (R '(j) * R' (j))
= S (j) * 0
= S (j)
Therefore, S (j) can be obtained by calculating D ′ (2, j) * D ′ (3, 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)が求まる。
In general, j is an odd number,
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)
Therefore, S (j + 1) can be obtained by calculating D ′ (2, j + 1) * D ′ (3, j) * D ′ (3, j + 1).

次に、D’(1),D’(3)を取得してSを復元する場合には、次のようになる。   Next, when D ′ (1) and D ′ (3) are acquired and S is restored, it is as follows.

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) * 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)
Therefore, S (1) can be obtained by calculating D ′ (1,1) * D ′ (3,1) * D ′ (3,2).

また同様に、
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)が求まる。
Similarly,
D '(1,2) * D' (3,2) = (S (2) * R '(2)) * R' (2)
= S (2) * (R '(2) * R' (2))
= S (2) * 0
= S (2)
Therefore, S (2) can be obtained by calculating D '(1,2) * D' (3,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)が求まる。
In general, let j be an odd number
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)
Therefore, S (j) can be obtained by calculating D ′ (1, j) * D ′ (3, j) * D ′ (3, j + 1).

また、一般に、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)が求まる。
In general, j is an odd number,
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)
Therefore, S (j + 1) can be obtained by calculating D ′ (1, j + 1) * D ′ (3, j + 1).

次に、D’(1),D’(2)を取得してSを復元する場合には、次のようになる。   Next, when D ′ (1) and D ′ (2) are acquired and S is restored, it is as follows.

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) * 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)
Therefore, R ′ (2) can be obtained by calculating D ′ (1,1) * D ′ (2,1).

また同様に、
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)が求まる。
Similarly,
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)
Therefore, R ′ (1) can be obtained by calculating D ′ (1,2) * D ′ (2,2).

このR’(1), R’(2)を使用してS(1),S(2)を求める。   Using these R ′ (1) and R ′ (2), S (1) and S (2) are obtained.

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) * R' (1) = (S (1) * R '(1)) * R' (1)
= S (1) * (R '(1) * R' (1))
= S (1) * 0
= S (1)
Therefore, S (1) can be obtained by calculating D ′ (2,1) * R ′ (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)が求まる。
Similarly,
D '(1,2) * R' (2) = (S (2) * R '(2)) * R' (2)
= S (2) * (R '(2) * R' (2))
= S (2) * 0
= S (2)
Therefore, S (2) can be obtained by calculating D '(1,2) * R' (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)が求まる。
In general, let j be an odd number
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)
Therefore, R ′ (j + 1) can be obtained by calculating D ′ (1, j) * D ′ (2, j).

また同様に、
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)が求まる。
Similarly,
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)
Therefore, R ′ (j) can be obtained by calculating D ′ (1, j + 1) * D ′ (2, j + 1).

このR’(j), R’(j+1)を使用してS(j),S(j+1)を求める。   Using these R ′ (j) and R ′ (j + 1), S (j) and S (j + 1) are obtained.

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) * R' (j) = (S (j) * R '(j)) * R' (j)
= S (j) * (R '(j) * R' (j))
= S (j) * 0
= S (j)
Therefore, S (j) can be obtained by calculating D '(2, j) * R' (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)が求まる。
Similarly,
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)
Therefore, S (j + 1) can be obtained by calculating D ′ (1, j + 1) * R ′ (j + 1).

以上、再分割データを生成した場合には、3つの再分割データD’(1),D’(2),D’(3)のすべてを用いなくても、3つの再分割データのうち、2つの再分割データを用いて上述したように元データを復元することができる。   As described above, when the re-divided data is generated, among the three re-divided data without using all of the three re-divided data D ′ (1), D ′ (2), D ′ (3), As described above, the original data can be restored using the two subdivision data.

また、このデータ再分割方法においては、一旦元データを復元することなく(元データが見える形で現れない)、データの再分割処理を行うことができるので、よりセキュアなデータ管理が可能となる。   Further, in this data re-division method, the data re-division process can be performed without restoring the original data once (the original data does not appear in a visible form), so that more secure data management becomes possible. .

(動作)
次に、本実施の形態に係るアクセス権管理システム30の動作を図13を用いて説明する。ここで、図13は、データSのデータ権限を甲から乙に譲渡するときの端末3a,端末3bとアクセス権管理サーバ5間のデータのやりとりを示すシーケンス図である。
(Operation)
Next, the operation of the access right management system 30 according to the present embodiment will be described with reference to FIG. Here, FIG. 13 is a sequence diagram showing data exchange between the terminals 3a and 3b and the access right management server 5 when the data authority of the data S is transferred from the former to the second party.

まず、甲がデータSのアクセス権限を有する場合には、データSを甲の端末3aからアクセス管理サーバ5に送信する(ステップS410)。尚、データSの送信に際しては、通信内容の漏洩を防止するセキュアな通信ネットワーク2a(例えば、インターネット網などのオープンな通信ネットワーク2bではなく、LAN、IP−VPN、専用線、電話回線など)を用いる、また、通信ネットワーク2aを介した通信ではなく、例えば、郵便などの送付手段を用いてもよい。   First, when the user A has the access authority for the data S, the data S is transmitted from the terminal 3a of the user A to the access management server 5 (step S410). When transmitting the data S, a secure communication network 2a (for example, a LAN, an IP-VPN, a dedicated line, a telephone line, etc., not an open communication network 2b such as the Internet network) that prevents leakage of communication contents is used. In addition, instead of communication via the communication network 2a, for example, sending means such as mail may be used.

アクセス権管理サーバ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)
ただし、‖は、ビット列とビット列との結合を意味する。
When the access right management server 5 receives the data S from the terminal 3a, the access right management server 5 generates a random number R of the former A, and uses the secret sharing method A described above to generate three data (divided data) D (1), D (2), D (3) is generated (steps S420 and S430). For example, specifically
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)
However, ‖ means a combination of a bit string and a bit string.

次に、アクセス権管理サーバ5は、分割データD(1),D(2)を保管サーバ6a,6bにそれぞれ保管するとともに、分割データD(3)を通信ネットワーク2を介して甲の端末3aに送信する(ステップS440,S450)。尚、分割データD(3)は、上述したように、D(3)=R(1)‖R(2)であるため、分割データD(3)の送信は、乱数Rの送信と同じことである。   Next, the access right management server 5 stores the divided data D (1) and D (2) in the storage servers 6a and 6b, respectively, and stores the divided data D (3) via the communication network 2 in the former terminal 3a. (Steps S440 and S450). Since the divided data D (3) is D (3) = R (1) ‖R (2) as described above, the transmission of the divided data D (3) is the same as the transmission of the random number R. It is.

端末3aは、アクセス権管理サーバ5から分割データD(3)を受け取ると、分割データD(3)を記憶部31に記憶させる(ステップS460)。   Upon receiving the divided data D (3) from the access right management server 5, the terminal 3a stores the divided data D (3) in the storage unit 31 (Step S460).

以上の動作により、甲のデータSに対するアクセス権限は、アクセス権管理サーバ5で管理されることになる。   With the above operation, the access right to the data S of the former is managed by the access right management server 5.

次に、甲がデータSのアクセス権限を乙に譲渡する場合には、甲から乙へのデータのアクセス権譲渡の要求、及び分割データD(3)を、甲の端末3aから通信ネットワーク2を介してアクセス権管理サーバ5に送信する(ステップS510)。   Next, when Party A transfers the access authority for data S to Party B, the request for transferring the access right of data from Party A to Party B and the divided data D (3) are sent from the terminal 3a of Party A to the communication network 2. Via the access right management server 5 (step 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’の送信と同じことである。
Upon receiving the access right transfer request from the terminal 3a to the second party and the divided data D (3) from the terminal 3a, the access right management server 5 generates a random number R ′ for the second party and generates the divided data D (1), D (2 ), D (3) using the secret sharing method A, three new data (subdivision data) D ′ (1), D ′ (2), D ′ (3) are generated (steps S520, S530). ). For example, specifically
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)
Next, the access right management server 5 stores the repartitioned data D ′ (1) and D ′ (2) in the storage servers 6a and 6b, respectively, and the repartitioned data D ′ (3) via the communication network 2. To the terminal 3b of the second party (steps S540 and S550). Note that, as described above, since the re-division data D ′ (3) is D ′ (3) = R ′ (1) 'R ′ (2), the transmission of the division data D ′ (3) is a random number. This is the same as the transmission of R ′.

端末3bは、アクセス権管理サーバ5から再分割データD’(3)を受け取ると、再分割データD’(3)を記憶部31に記憶させる(ステップS560)。   When the terminal 3b receives the re-division data D '(3) from the access right management server 5, the terminal 3b stores the re-division data D' (3) in the storage unit 31 (step S560).

以上の動作により、データSに対するアクセス権限は、甲から乙に譲渡されたことになる。   With the above operation, the access authority for the data S is transferred from Party A to Party B.

次に、乙がデータSを使用する場合には、データSの使用要求、及び再分割データD’(3)を端末3bから通信ネットワーク2を介してアクセス管理サーバ5に送信する(ステップS610)。   Next, when B uses data S, a request to use data S and subdivision data D ′ (3) are transmitted from terminal 3b to access management server 5 via communication network 2 (step S610). .

アクセス権管理サーバ5は、端末3bからデータSの使用要求、及び再分割データD’(3)を受け取ると、保管サーバ6a,6bに保管された再分割データD’(1),D’(2)を取得し、これら再分割データD’(1),D’(2), D’(3)のうち、任意の2つから秘密分散法Aを用いて、データSを復号する(ステップS620)。   When the access right management server 5 receives the use request of the data S and the re-division data D ′ (3) from the terminal 3b, the re-division data D ′ (1), D ′ ( 2) is obtained, and the data S is decrypted by using the secret sharing method A from any two of these subdivision data D ′ (1), D ′ (2), and D ′ (3) (step S620).

次に、アクセス権管理サーバ5は、復号されたデータSをセキュアな通信ネットワーク2a又は送付手段を介して乙の端末3bに送信する(ステップS630)。   Next, the access right management server 5 transmits the decrypted data S to the user's terminal 3b via the secure communication network 2a or sending means (step S630).

端末3bは、アクセス管理サーバ5からデータSを受け取ると、データSを記憶部31に記憶させる(ステップS640)。これにより、乙はデータSを端末3bで使用することができる。   When the terminal 3b receives the data S from the access management server 5, the terminal 3b stores the data S in the storage unit 31 (step S640). As a result, the second party can use the data S at the terminal 3b.

従って、本実施の形態に係るアクセス権管理システム30によれば、秘密分散法Aを用いて暗号化するアクセス権管理サーバ5、並びに端末3a及び3bを備え、アクセス権管理サーバ5は、データのアクセス権限を譲渡する譲渡側の端末3aのユーザ甲のデータSを甲の乱数Rを用いて秘密分散法Aにより、分割データを生成し、該分割データの一部を端末3a、残りをアクセス権管理サーバ5で管理する。そして、甲から譲受側の端末3bのユーザ乙にデータSのアクセス権限が譲渡された場合には、アクセス権管理サーバ5は、乙の乱数R’を用いて分割データから秘密分散法Aにより再分割データを生成し、該再分割データの一部を端末3b、残りをアクセス権管理サーバ5で管理するので、暗号化によりアクセス制限されたデータのアクセス権限を他人に譲渡する場合であっても、一旦復号せずにデータ権限を譲渡でき、セキュリティを十分に確保することができる。   Therefore, the access right management system 30 according to the present embodiment includes the access right management server 5 that encrypts data using the secret sharing method A, and the terminals 3a and 3b. The data S of the user A of the assigning terminal 3a to which the access authority is transferred is generated by the secret sharing method A using the random number R of the user A, and a part of the divided data is the terminal 3a, and the rest is the access right. Managed by the management server 5. When the access right of the data S is transferred from the user A to the user B of the terminal 3b on the transfer side, the access right management server 5 re-uses the divided data from the divided data by the secret sharing method A using the random number R ′ of the user B. Even when the divided data is generated and a part of the re-divided data is managed by the terminal 3b and the rest is managed by the access right management server 5, the access authority of the data restricted by encryption is transferred to another person. , Data authority can be transferred without decryption, and sufficient security can be secured.

特に、本発明における秘密分散法Aは、データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、データを処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、生成した分割データのうちの所定の個数の分割データからデータが復元することができ、また、新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、所望の分割数の再分割データを生成するとともに、生成した再分割データのうちの所定の個数の再分割データからデータが復元することができるので、データを復元することなく、データを再分割することができる。   In particular, the secret sharing method A in the present invention is a data division method that divides data into divided data of a desired number of divisions based on a desired processing unit bit length, and divides the data into processing unit bit lengths, A plurality of original partial data is generated, and a plurality of random partial data having a processing unit bit length is generated from a random number having a length equal to or shorter than the bit length of the data corresponding to each of the plurality of original partial data. In addition, each divided partial data constituting each divided data is generated for each processing unit bit length by exclusive OR of the original partial data and the random number partial data to generate a desired number of divided data and the generated divided data The data can be restored from a predetermined number of divided data of the data, and a plurality of random number partial data having a processing unit bit length is generated from the newly generated random number, The repartitioned partial data is generated for each processing unit bit length by exclusive OR of the divided part data and the random number partial data, and the repartitioned data of the desired number of divisions is generated, and among the generated repartitioned data, Since data can be restored from a predetermined number of subdivision data, the data can be subdivided without restoring the data.

これにより、ユーザのデータをよりセキュアに管理することができる。
尚、本実施の形態における秘密分散法Aは、多項式演算・剰余演算などを含む多倍長整数の演算処理を必要としないので、大容量データを多数処理する場合においても簡単かつ迅速にデータの分割および復元を行うことができるという効果を得ることができる。
Thereby, user data can be managed more securely.
Note that the secret sharing method A in the present embodiment does not require multi-precision integer arithmetic processing including polynomial arithmetic, remainder arithmetic, etc., so even when processing a large amount of large volume data, it is easy and quick. The effect that division and restoration can be performed can be obtained.

本発明の第1の実施の形態に係るアクセス権管理システムの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the access right management system which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るアクセス権管理システムの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the access right management system which concerns on the 1st Embodiment of this invention. 本発明の第2の実施の形態に係るアクセス権管理システムの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the access right management system which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態に係るアクセス権管理システムの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the access right management system which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施の形態に係るアクセス権管理システムの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the access right management system which concerns on the 3rd Embodiment of this invention. 秘密分散法Aの分割数n=3の場合の分割処理を示すフローチャートである。It is a flowchart which shows the division | segmentation process in case the division | segmentation number n = 3 of the secret sharing method A. 16ビットの元データSを8ビットの処理単位ビット長に基づいて分割数n=3で3分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。Each data and definition formula when 16-bit original data S is divided into three with a division number n = 3 based on the 8-bit processing unit bit length, and a calculation formula when restoring the original data from each divided partial data, etc. It is a table | surface which shows. 分割数n=3の場合の分割データ、分割部分データ、各分割部分データを生成する定義式を示す表である。It is a table | surface which shows the definition formula which produces | generates the division data, division | segmentation partial data, and each division | segmentation partial data in case division number n = 3. 秘密分散法Aの分割数がnで処理単位ビット長がbである場合の一般的な分割処理を示すフローチャートである。It is a flowchart which shows the general division | segmentation process when the division | segmentation number of the secret sharing method A is n and the process unit bit length is b. 分割数n=3の場合の分割データ、分割部分データ、各分割部分データを生成する定義式の別の例を示す表である。12 is a table showing another example of definition data for generating divided data, divided partial data, and divided partial data when the number of divisions n = 3. 秘密分散法Aのデータ再分割処理を示すフローチャートである。It is a flowchart which shows the data re-division process of the secret sharing method A. 乱数書き換え方式により元データSを元データSの半分の長さの処理単位ビット長に基づいて分割数n=3で再分割する場合の各データと定義式および各分割部分データから元データを復元する場合の計算式などを示す表である。Restore original data from each data, definition formula, and each divided partial data when re-dividing original data S with the number of divisions n = 3 based on the processing unit bit length that is half the length of the original data S by random number rewriting method It is a table | surface which shows the calculation formula in the case of doing. 本発明の第3の実施の形態に係るアクセス権管理システムの動作を示すシーケンス図である。It is a sequence diagram which shows operation | movement of the access right management system which concerns on the 3rd Embodiment of this invention.

符号の説明Explanation of symbols

1a,1b,3a,3b…端末
2…通信ネットワーク
4,5…アクセス権管理サーバ
6a,6b…保管サーバ
10,20,30…アクセス権管理システム
11,31…記憶部
12…データ暗号部
13…データ復号部
14,32…通信部
41…暗号データ記憶部
42…鍵生成部
43…データ暗号部
44…データ復号部
45…通信部

DESCRIPTION OF SYMBOLS 1a, 1b, 3a, 3b ... Terminal 2 ... Communication network 4, 5 ... Access right management server 6a, 6b ... Storage server 10, 20, 30 ... Access right management system 11, 31 ... Storage part 12 ... Data encryption part 13 ... Data decryption unit 14, 32 ... communication unit 41 ... encrypted data storage unit 42 ... key generation unit 43 ... data encryption unit 44 ... data decryption unit 45 ... communication unit

Claims (18)

データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムであって、
前記データのアクセス権限を有する譲渡側端末において、該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成する手段と、
前記第1の暗号データを前記譲渡側端末から、前記データのアクセス権限を譲り受ける譲受側端末に送信する手段と、
前記譲受側端末において、前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成する手段と、
前記第2の暗号データを前記譲受側端末から前記譲渡側端末に送信する手段と、
前記譲渡側端末において、前記譲渡側端末の前記第1の暗号鍵で前記第2の暗号データを暗号化し、第3の暗号データを生成する手段と、
前記第3の暗号データを前記譲渡側端末から前記譲受側端末に送信する手段と、
前記譲受側端末において、前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶する手段と、
を有することを特徴とするアクセス権管理システム。
An access right management system comprising a plurality of terminals for encrypting data using Vernam encryption, and managing access right transfer of the data between the terminals,
Means for encrypting the data with a first encryption key of the assigning terminal and generating first encrypted data in the assigning terminal having the data access authority;
Means for transmitting the first encrypted data from the assigning terminal to the assigning terminal that receives the data access authority;
Means for encrypting the first encrypted data with the second encryption key of the assigning terminal to generate second encrypted data in the assigning terminal;
Means for transmitting the second encrypted data from the transferee terminal to the transferee terminal;
Means for encrypting the second encrypted data with the first encryption key of the assigning terminal and generating third encrypted data in the assigning terminal;
Means for transmitting the third encrypted data from the assigning terminal to the assigning terminal;
Means for storing the third encrypted data in the predetermined storage unit as the data for which the access right has been transferred in the transfer-side terminal;
An access right management system comprising:
前記譲受側端末において、前記記憶部に記憶された前記第3の暗号データを前記第2の暗号鍵で復号し、前記データを生成する手段を有することを特徴とする請求項1記載のアクセス権管理システム。   The access right according to claim 1, further comprising means for decrypting the third encrypted data stored in the storage unit with the second encryption key and generating the data in the assigning terminal. Management system. 複数の端末と相互に通信可能であり、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理装置であって、
前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成する手段と、
前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶する手段と、
前記第1の暗号鍵を前記譲渡側端末に送信する手段と、
前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信する手段と、
前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成する手段と、
前記第2の暗号データを前記記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶する手段と、
前記第2の暗号鍵を前記譲渡側端末に送信する手段と、
を有することを特徴とするアクセス権管理装置。
An access right management device capable of mutual communication with a plurality of terminals, and managing transfer of data access rights between the terminals using Vernam encryption,
Means for generating a first encryption key of the assigning terminal having access authority for the data, encrypting the data with the first encryption key, and generating first encryption data;
Means for storing the first encrypted data in a predetermined storage unit as data to which the transfer side terminal has access authority;
Means for transmitting the first encryption key to the assigning terminal;
Means for receiving the first encryption key from the transfer side terminal when transferring the data access authority;
A second encryption key of the transferee terminal that receives the data access authority is generated, and the first encryption data stored in the storage unit is generated using the received first encryption key and the generated second encryption key. Means for encrypting and generating second encrypted data;
Means for storing the second encrypted data in the storage unit as data to which the transferee terminal has access authority;
Means for transmitting the second encryption key to the transferring terminal;
An access right management apparatus comprising:
前記データが使用されるときは、前記譲受側端末から前記第2の暗号鍵を受信する手段と、
前記記憶部に記憶された第2の暗号データを、受信した第2の暗号鍵で復号化し、前記データを生成する手段と、
を有することを特徴とする請求項3記載のアクセス権管理装置。
Means for receiving the second encryption key from the assigning terminal when the data is used;
Means for decrypting the second encrypted data stored in the storage unit with the received second encryption key, and generating the data;
4. The access right management apparatus according to claim 3, further comprising:
複数の端末と相互に通信可能であり、秘密分散法を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理装置であって、
前記秘密分散法は、
前記データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記データを処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、
新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、
前記データのアクセス権限を有する譲渡側端末の第1の乱数を生成し、該第1の乱数及び前記データから前記秘密分散法を用いて、複数の分割データを生成する手段と、
前記複数の分割データの一部を、前記譲渡側端末に送信する手段と、
前記複数の分割データの残りを、所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶する手段と、
前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記分割データの一部を受信する手段と、
前記データのアクセス権限を譲り受ける譲受側端末の第2の乱数を生成し、該第2の乱数、並びに受信した分割データの一部及び前記記憶部に記憶された分割データの残りから前記秘密分散法を用いて、複数の再分割データを生成する手段と、
前記複数の再分割データの一部を、前記譲受側端末に送信する手段と、
前記複数の再分割データの残りを、前記記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶する手段と、
を有することを特徴とするアクセス権管理装置。
An access right management device that can communicate with a plurality of terminals and manages transfer of data access rights between the terminals using a secret sharing method,
The secret sharing method is:
A data division method for dividing the data into a desired number of divided data based on a desired processing unit bit length, dividing the data into processing unit bit lengths to generate a plurality of original partial data, Corresponding to each of the plurality of original partial data, a plurality of random number partial data having a processing unit bit length is generated from a random number having a length equal to or shorter than the bit length of the data, and each divided data Generate the divided partial data for each processing unit bit length by exclusive OR of the original partial data and the random number partial data, and generate the divided data of the desired number of divisions,
Generate a plurality of random part data of processing unit bit length from the newly generated random number, and generate re-partitioned partial data for each processing unit bit length by exclusive OR of the respective divided part data and the random part data A data division method for generating the desired number of subdivision data,
Means for generating a first random number of the assigning terminal having access authority for the data, and generating a plurality of divided data from the first random number and the data using the secret sharing method;
Means for transmitting a part of the plurality of divided data to the transfer side terminal;
Means for storing the remainder of the plurality of divided data in a predetermined storage unit as data to which the transfer side terminal has access authority;
When transferring the access authority of the data, means for receiving a part of the divided data from the transfer side terminal;
Generating a second random number of the transferee terminal to which the access authority of the data is transferred, and generating the secret sharing method based on the second random number, a part of the received divided data and the remainder of the divided data stored in the storage unit Means for generating a plurality of subdivision data using
Means for transmitting a part of the plurality of subdivision data to the terminal on the transfer side;
Means for storing the remainder of the plurality of subdivision data in the storage unit as data to which the assigning terminal has access authority;
An access right management apparatus comprising:
前記データが使用されるときは、前記譲受側端末から前記再分割データの一部を受信する手段と、
受信した再分割データの一部、及び前記記憶部に記憶された再分割データの残りのうち、復元可能な所定の個数の再分割データの組み合わせから前記秘密分散法を用いて前記データを復元する手段と、
を有することを特徴とする請求項5記載のアクセス権管理装置。
When the data is used, means for receiving a part of the subdivision data from the transferee terminal;
Of the part of the received re-division data and the rest of the re-division data stored in the storage unit, the data is restored using the secret sharing method from a combination of a predetermined number of re-division data that can be restored Means,
6. The access right management apparatus according to claim 5, further comprising:
前記秘密分散法は、前記各分割部分データの定義式における乱数部分データを、該乱数部分データに対応する新たな乱数部分データに置換した各再分割部分データの定義式により、各再分割部分データを生成することを特徴とする請求項5又は6記載のアクセス権管理装置。   The secret sharing method uses each repartitioned partial data according to a definition formula of each repartitioned partial data obtained by replacing the random number partial data in the definitional expression of each divided part data with new random number partial data corresponding to the random number partial data. 7. The access right management apparatus according to claim 5 or 6, characterized in that データをバーナム暗号を用いて暗号化する端末を複数備えたアクセス権管理システムの該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理方法であって、
前記データのアクセス権限を有する譲渡側端末において、該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、
前記第1の暗号データを前記譲渡側端末から、前記データのアクセス権限を譲り受ける譲受側端末に送信するステップと、
前記譲受側端末において、前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成するステップと、
前記第2の暗号データを前記譲受側端末から前記譲渡側端末に送信するステップと、
前記譲渡側端末において、前記譲渡側端末の前記第1の暗号鍵で前記第2の暗号データを暗号化し、第3の暗号データを生成するステップと、
前記第3の暗号データを前記譲渡側端末から前記譲受側端末に送信するステップと、
前記譲受側端末において、前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶するステップと、
を有することを特徴とするアクセス権管理方法。
An access right management method for managing access right transfer of the data between the terminals of an access right management system comprising a plurality of terminals for encrypting data using Vernam encryption,
In the assigning terminal having the data access authority, encrypting the data with the first encryption key of the assigning terminal to generate first encrypted data;
Transmitting the first encrypted data from the assigning terminal to the assigning terminal that receives the access authority of the data;
In the assigning terminal, encrypting the first encrypted data with a second encryption key of the assigning terminal to generate second encrypted data;
Transmitting the second encrypted data from the transferee terminal to the transferee terminal;
In the assigning terminal, encrypting the second encrypted data with the first encryption key of the assigning terminal to generate third encrypted data;
Transmitting the third encrypted data from the assigning terminal to the assigning terminal;
In the transferee terminal, storing the third encrypted data in a predetermined storage unit as data transferred access authority;
An access right management method comprising:
複数の端末と相互に通信可能なアクセス権管理装置が、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理方法であって、
前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、
前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、
前記第1の暗号鍵を前記譲渡側端末に送信するステップと、
前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信するステップと、
前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成するステップと、
前記第2の暗号データを所定の記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、
前記第2の暗号鍵を前記譲渡側端末に送信するステップと、
を有することを特徴とするアクセス権管理方法。
An access right management device capable of mutual communication with a plurality of terminals is an access right management method for managing transfer of data access rights between the terminals using Vernam encryption,
Generating a first encryption key of the assigning terminal having access authority to the data, encrypting the data with the first encryption key, and generating first encrypted data;
Storing the first encrypted data in a predetermined storage unit as data to which the transfer side terminal has access authority;
Transmitting the first encryption key to the transferring terminal;
When transferring the access authority of the data, receiving the first encryption key from the transferring terminal;
A second encryption key of the transferee terminal that receives the data access authority is generated, and the first encryption data stored in the storage unit is generated using the received first encryption key and the generated second encryption key. Encrypting and generating second encrypted data; and
Storing the second encrypted data in a predetermined storage unit as data to which the transferee terminal has access authority;
Transmitting the second encryption key to the transferring terminal;
An access right management method comprising:
複数の端末と相互に通信可能なアクセス権管理装置が、秘密分散法を用いて該端末間におけるデータのアクセス権限譲渡を管理するアクセス権管理方法であって、
前記秘密分散法は、
前記データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記データを処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、
新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、
前記データのアクセス権限を有する譲渡側端末の第1の乱数を生成し、該第1の乱数及び前記データから前記秘密分散法を用いて、複数の分割データを生成するステップと、
前記複数の分割データの一部を、前記譲渡側端末に送信するステップと、
前記複数の分割データの残りを、所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、
前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記分割データの一部を受信するステップと、
前記データのアクセス権限を譲り受ける譲受側端末の第2の乱数を生成し、該第2の乱数、並びに受信した分割データの一部及び前記記憶部に記憶された分割データの残りから前記秘密分散法を用いて、複数の再分割データを生成するステップと、
前記複数の再分割データの一部を、前記譲受側端末に送信するステップと、
前記複数の再分割データの残りを、前記記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、
を有することを特徴とするアクセス権管理方法。
An access right management apparatus capable of mutual communication with a plurality of terminals is an access right management method for managing transfer of access authority of data between the terminals using a secret sharing method,
The secret sharing method is:
A data division method for dividing the data into a desired number of divided data based on a desired processing unit bit length, dividing the data into processing unit bit lengths to generate a plurality of original partial data, Corresponding to each of the plurality of original partial data, a plurality of random number partial data having a processing unit bit length is generated from a random number having a length equal to or shorter than the bit length of the data, and each divided data Generate the divided partial data for each processing unit bit length by exclusive OR of the original partial data and the random number partial data, and generate the divided data of the desired number of divisions,
Generate a plurality of random part data of processing unit bit length from the newly generated random number, and generate re-partitioned partial data for each processing unit bit length by exclusive OR of the respective divided part data and the random part data A data division method for generating the desired number of subdivision data,
Generating a first random number of the assigning terminal having the data access authority, and generating a plurality of divided data using the secret sharing method from the first random number and the data;
Transmitting a part of the plurality of divided data to the transfer-side terminal;
Storing the remainder of the plurality of divided data in a predetermined storage unit as data to which the transfer side terminal has access authority;
When transferring the access authority of the data, receiving a part of the divided data from the transfer side terminal;
Generating a second random number of the transferee terminal to which the access authority of the data is transferred, and generating the secret sharing method from the second random number, a part of the received divided data and the remainder of the divided data stored in the storage unit Generating a plurality of subdivision data using:
Transmitting a part of the plurality of subdivision data to the terminal on the transfer side;
Storing the remainder of the plurality of repartitioned data in the storage unit as data to which the transferee terminal has access authority;
An access right management method comprising:
データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムの端末用プログラムであって、
前記データのアクセス権限を有する譲渡側端末に、
該譲渡側端末の第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、
前記第1の暗号データを前記データのアクセス権限を譲り受ける譲受側端末に送信するステップと、
前記譲受側端末から、前記譲受側端末の第2の暗号鍵で暗号化して、生成された第2の暗号データを受信するステップと、
前記第1の暗号鍵で前記第2の暗号データを暗号し、第3の暗号データを生成するステップと、
前記第3の暗号データを、アクセス権譲渡のデータとして前記譲受側端末に送信するステップと、
を実行させることを特徴とする端末用プログラム。
A terminal program for an access right management system comprising a plurality of terminals for encrypting data using a Burnham cipher, and managing access right transfer of the data between the terminals,
To the transferring terminal that has the authority to access the data,
Encrypting the data with a first encryption key of the assigning terminal to generate first encrypted data;
Transmitting the first encrypted data to an assignee terminal that receives the data access authority;
Receiving the second encrypted data generated by encrypting with the second encryption key of the assigning terminal from the assigning terminal;
Encrypting the second encrypted data with the first encryption key to generate third encrypted data;
Transmitting the third encrypted data to the transferee terminal as access right transfer data;
A terminal program characterized by causing
データをバーナム暗号を用いて暗号化する端末を複数備えており、該端末間における前記データのアクセス権限譲渡を管理するアクセス権管理システムの端末用プログラムであって、
前記データのアクセス権限を譲り受ける譲受側端末に、
前記データのアクセス権限を有する譲渡側端末から、該譲渡側端末の第1の暗号鍵で前記データを暗号化して、生成された第1の暗号データを受信するステップと、
前記譲受側端末の第2の暗号鍵で前記第1の暗号データを暗号化し、第2の暗号データを生成するステップと、
前記第2の暗号データを前記譲渡側端末に送信するステップと、
前記譲渡側端末から、前記第1の暗号鍵で前記第2の暗号データを暗号化して、生成された第3の暗号データを受信するステップと、
前記第3の暗号データを、アクセス権限を譲り受けたデータとして所定の記憶部に記憶するステップと、
を実行させることを特徴とする端末用プログラム。
A terminal program for an access right management system comprising a plurality of terminals for encrypting data using a Burnham cipher, and managing access right transfer of the data between the terminals,
To the transferee terminal that receives the data access authority,
Encrypting the data with the first encryption key of the assigning terminal from the assigning terminal having the data access authority, and receiving the generated first encrypted data;
Encrypting the first encrypted data with a second encryption key of the assigning terminal to generate second encrypted data;
Transmitting the second encrypted data to the transfer side terminal;
Encrypting the second encrypted data with the first encryption key and receiving the generated third encrypted data from the assigning terminal;
Storing the third encrypted data in a predetermined storage unit as data that has been given access authority;
A terminal program characterized by causing
前記記憶部に記憶された前記第3の暗号データを前記第2の暗号鍵で復号し、前記データを生成するステップを前記譲受側端末に実行させることを特徴とする請求項12記載の端末用プログラム。   13. The terminal device according to claim 12, wherein the third encryption data stored in the storage unit is decrypted with the second encryption key, and the step of generating the data is executed by the assigning terminal. program. 複数の端末と相互に通信可能であり、バーナム暗号を用いて該端末間におけるデータのアクセス権限譲渡を管理するためのコンピュータが読み取り可能なアクセス権管理プログラムであって、
前記データのアクセス権限を有する譲渡側端末の第1の暗号鍵を生成し、該第1の暗号鍵で前記データを暗号化し、第1の暗号データを生成するステップと、
前記第1の暗号データを所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、
前記第1の暗号鍵を前記譲渡側端末に送信するステップと、
前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記第1の暗号鍵を受信するステップと、
前記データのアクセス権限を譲り受ける譲受側端末の第2の暗号鍵を生成し、前記記憶部に記憶された第1の暗号データを、受信した第1の暗号鍵及び生成した第2の暗号鍵で暗号化し、第2の暗号データを生成するステップと、
前記第2の暗号データを所定の記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、
前記第2の暗号鍵を前記譲渡側端末に送信するステップと、
を前記コンピュータに実行させることを特徴とするアクセス権管理プログラム。
A computer-readable access right management program capable of mutual communication with a plurality of terminals and managing transfer of data access rights between the terminals using Vernam encryption,
Generating a first encryption key of the assigning terminal having access authority to the data, encrypting the data with the first encryption key, and generating first encrypted data;
Storing the first encrypted data in a predetermined storage unit as data to which the transfer side terminal has access authority;
Transmitting the first encryption key to the transferring terminal;
When transferring the access authority of the data, receiving the first encryption key from the transferring terminal;
A second encryption key of the transferee terminal that receives the data access authority is generated, and the first encryption data stored in the storage unit is generated using the received first encryption key and the generated second encryption key. Encrypting and generating second encrypted data; and
Storing the second encrypted data in a predetermined storage unit as data to which the transferee terminal has access authority;
Transmitting the second encryption key to the transferring terminal;
Is executed by the computer.
前記データが使用されるときは、前記譲受側端末から前記第2の暗号鍵を受信するステップと、
前記記憶部に記憶された第2の暗号データを、受信した第2の暗号鍵で復号化し、前記データを生成するステップと、
を前記コンピュータに実行させることを特徴とする請求項14記載のアクセス権管理プログラム。
When the data is used, receiving the second encryption key from the assigning terminal;
Decrypting the second encrypted data stored in the storage unit with the received second encryption key, and generating the data;
15. The access right management program according to claim 14, wherein the computer is executed.
複数の端末と相互に通信可能であり、秘密分散法を用いて該端末間におけるデータのアクセス権限譲渡を管理するためのコンピュータが読み取り可能なアクセス権管理プログラムであって、
前記秘密分散法は、
前記データを所望の処理単位ビット長に基づいて所望の分割数の分割データに分割するデータ分割方法であり、前記データを処理単位ビット長毎に区分けして、複数の元部分データを生成し、この複数の元部分データの各々に対応して、前記データのビット長と同じまたはこれより短い長さの乱数から処理単位ビット長の複数の乱数部分データを生成し、各分割データを構成する各分割部分データを元部分データと乱数部分データの排他的論理和によって処理単位ビット長毎に生成して、所望の分割数の分割データを生成するとともに、
新たに発生させた乱数から処理単位ビット長の複数の乱数部分データを生成し、前記各分割部分データと該乱数部分データの排他的論理和により処理単位ビット長毎に再分割部分データを生成して、前記所望の分割数の再分割データを生成するデータ分割方法であり、
前記データのアクセス権限を有する譲渡側端末の第1の乱数を生成し、該第1の乱数及び前記データから前記秘密分散法を用いて、複数の分割データを生成するステップと、
前記複数の分割データの一部を、前記譲渡側端末に送信するステップと、
前記複数の分割データの残りを、所定の記憶部に前記譲渡側端末がアクセス権限を有するデータとして記憶するステップと、
前記データのアクセス権限を譲渡するときは、前記譲渡側端末から前記分割データの一部を受信するステップと、
前記データのアクセス権限を譲り受ける譲受側端末の第2の乱数を生成し、該第2の乱数、並びに受信した分割データの一部及び前記記憶部に記憶された分割データの残りから前記秘密分散法を用いて、複数の再分割データを生成するステップと、
前記複数の再分割データの一部を、前記譲受側端末に送信するステップと、
前記複数の再分割データの残りを、前記記憶部に前記譲受側端末がアクセス権限を有するデータとして記憶するステップと、
を前記コンピュータに実行させることを特徴とするアクセス権管理プログラム。
A computer-readable access right management program that can communicate with a plurality of terminals and manages the transfer of data access rights between the terminals using a secret sharing method,
The secret sharing method is:
A data division method for dividing the data into a desired number of divided data based on a desired processing unit bit length, dividing the data into processing unit bit lengths to generate a plurality of original partial data, Corresponding to each of the plurality of original partial data, a plurality of random number partial data having a processing unit bit length is generated from a random number having a length equal to or shorter than the bit length of the data, and each divided data Generate the divided partial data for each processing unit bit length by exclusive OR of the original partial data and the random number partial data, and generate the divided data of the desired number of divisions,
Generate a plurality of random part data of processing unit bit length from the newly generated random number, and generate re-partitioned partial data for each processing unit bit length by exclusive OR of the respective divided part data and the random part data A data division method for generating the desired number of subdivision data,
Generating a first random number of the assigning terminal having the data access authority, and generating a plurality of divided data using the secret sharing method from the first random number and the data;
Transmitting a part of the plurality of divided data to the transfer-side terminal;
Storing the remainder of the plurality of divided data in a predetermined storage unit as data to which the transfer side terminal has access authority;
When transferring the access authority of the data, receiving a part of the divided data from the transfer side terminal;
Generating a second random number of the transferee terminal to which the access authority of the data is transferred, and generating the secret sharing method from the second random number, a part of the received divided data and the remainder of the divided data stored in the storage unit Generating a plurality of subdivision data using:
Transmitting a part of the plurality of subdivision data to the terminal on the transfer side;
Storing the remainder of the plurality of repartitioned data in the storage unit as data to which the transferee terminal has access authority;
Is executed by the computer.
前記データが使用されるときは、前記譲受側端末から前記再分割データの一部を受信するステップと、
受信した再分割データの一部、及び前記記憶部に記憶された再分割データの残りのうち、復元可能な所定の個数の再分割データの組み合わせから前記秘密分散法を用いて前記データを復元するステップと、
を前記コンピュータに実行させることを特徴とする請求項16記載のアクセス権管理プログラム。
When the data is used, receiving a part of the subdivision data from the assigning terminal;
Of the part of the received re-division data and the rest of the re-division data stored in the storage unit, the data is restored using the secret sharing method from a combination of a predetermined number of re-division data that can be restored Steps,
The access right management program according to claim 16, wherein the computer is executed.
前記秘密分散法は、前記各分割部分データの定義式における乱数部分データを、該乱数部分データに対応する新たな乱数部分データに置換した各再分割部分データの定義式により、各再分割部分データを生成することを特徴とする請求項16又は17記載のアクセス権管理プログラム。

The secret sharing method uses each repartitioned partial data according to a definition formula of each repartitioned partial data obtained by replacing the random number partial data in the definitional expression of each divided part data with new random number partial data corresponding to the random number partial data. 18. The access right management program according to claim 16 or 17, characterized in that:

JP2004169001A 2004-02-10 2004-06-07 ACCESS RIGHT MANAGEMENT SYSTEM, ACCESS RIGHT MANAGEMENT DEVICE, ACCESS RIGHT MANAGEMENT METHOD, TERMINAL PROGRAM, AND ACCESS RIGHT MANAGEMENT PROGRAM Active JP4664008B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004169001A JP4664008B2 (en) 2004-06-07 2004-06-07 ACCESS RIGHT MANAGEMENT SYSTEM, ACCESS RIGHT MANAGEMENT DEVICE, ACCESS RIGHT MANAGEMENT METHOD, TERMINAL PROGRAM, AND ACCESS RIGHT MANAGEMENT PROGRAM
PCT/JP2005/002514 WO2005076518A1 (en) 2004-02-10 2005-02-10 Secret information management scheme based on secret sharing scheme
US10/588,155 US8085938B2 (en) 2004-02-10 2005-02-10 Secret information management scheme based on secret sharing scheme
CN2005800043932A CN1918844B (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
HK07105595.1A HK1099152A1 (en) 2004-02-10 2007-05-28 Secret information management system and method based on secret sharing scheme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004169001A JP4664008B2 (en) 2004-06-07 2004-06-07 ACCESS RIGHT MANAGEMENT SYSTEM, ACCESS RIGHT MANAGEMENT DEVICE, ACCESS RIGHT MANAGEMENT METHOD, TERMINAL PROGRAM, AND ACCESS RIGHT MANAGEMENT PROGRAM

Publications (3)

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

Family

ID=35498421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004169001A Active JP4664008B2 (en) 2004-02-10 2004-06-07 ACCESS RIGHT MANAGEMENT SYSTEM, ACCESS RIGHT MANAGEMENT DEVICE, ACCESS RIGHT MANAGEMENT METHOD, TERMINAL PROGRAM, AND ACCESS RIGHT MANAGEMENT PROGRAM

Country Status (1)

Country Link
JP (1) JP4664008B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009037094A (en) * 2007-08-03 2009-02-19 Kddi Corp Apparatus for generating distributed information, apparatus for restoring secret information, method for generating distributed information, method for restoring secret information and program
JP2009537092A (en) * 2006-05-12 2009-10-22 サムスン エレクトロニクス カンパニー リミテッド Method of moving rights object and electronic device
JP2013197642A (en) * 2012-03-16 2013-09-30 Fujitsu Ltd Signal processing method and device
WO2018181934A3 (en) * 2017-03-31 2018-11-29 株式会社エヌティーアイ Communication system, first communication device, second communication device, method, computer, computer program

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736932A (en) * 1993-07-21 1995-02-07 Nippon Telegr & Teleph Corp <Ntt> Information dividing and encoding method and book information display processor
JPH10320478A (en) * 1997-03-19 1998-12-04 Pumpkin House:Kk Ciphered/deciphered communication system and method therefor
JP2002077139A (en) * 2000-08-24 2002-03-15 Koichi Hirano Data communication system
JP2002163235A (en) * 2000-11-28 2002-06-07 Mitsubishi Electric Corp Access authorization transfer device, shared resource management system and access authorization setting method
JP2003044388A (en) * 2001-07-27 2003-02-14 Sony Corp Contents generation processor, contents generation processing method, contents generation processing program and recording medium
JP2005236403A (en) * 2004-02-17 2005-09-02 Tokyo Hoso:Kk Method and system for electronic authentication
JP2005346659A (en) * 2004-06-07 2005-12-15 Ntt Communications Kk Secret information management system, secret information management method, secret information management program and terminal program for secret information management system
JP2005346005A (en) * 2004-06-07 2005-12-15 Ntt Communications Kk Device, method, and program for concealing data

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736932A (en) * 1993-07-21 1995-02-07 Nippon Telegr & Teleph Corp <Ntt> Information dividing and encoding method and book information display processor
JPH10320478A (en) * 1997-03-19 1998-12-04 Pumpkin House:Kk Ciphered/deciphered communication system and method therefor
JP2002077139A (en) * 2000-08-24 2002-03-15 Koichi Hirano Data communication system
JP2002163235A (en) * 2000-11-28 2002-06-07 Mitsubishi Electric Corp Access authorization transfer device, shared resource management system and access authorization setting method
JP2003044388A (en) * 2001-07-27 2003-02-14 Sony Corp Contents generation processor, contents generation processing method, contents generation processing program and recording medium
JP2005236403A (en) * 2004-02-17 2005-09-02 Tokyo Hoso:Kk Method and system for electronic authentication
JP2005346659A (en) * 2004-06-07 2005-12-15 Ntt Communications Kk Secret information management system, secret information management method, secret information management program and terminal program for secret information management system
JP2005346005A (en) * 2004-06-07 2005-12-15 Ntt Communications Kk Device, method, and program for concealing data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009537092A (en) * 2006-05-12 2009-10-22 サムスン エレクトロニクス カンパニー リミテッド Method of moving rights object and electronic device
JP2009037094A (en) * 2007-08-03 2009-02-19 Kddi Corp Apparatus for generating distributed information, apparatus for restoring secret information, method for generating distributed information, method for restoring secret information and program
JP2013197642A (en) * 2012-03-16 2013-09-30 Fujitsu Ltd Signal processing method and device
WO2018181934A3 (en) * 2017-03-31 2018-11-29 株式会社エヌティーアイ Communication system, first communication device, second communication device, method, computer, computer program

Also Published As

Publication number Publication date
JP4664008B2 (en) 2011-04-06

Similar Documents

Publication Publication Date Title
CN110337649B (en) Method and system for dynamic symmetric searchable encryption with imperceptible search patterns
EP1714423B1 (en) Secret information management scheme based on secret sharing scheme
EP3373557B1 (en) Secure information retrieval and update
US8345876B1 (en) Encryption/decryption system and method
JP2011041326A (en) Data division method, data division device, and computer program
JP3794457B2 (en) Data encryption / decryption method
JP4676695B2 (en) Data division method, data division apparatus, and computer program
US20210067334A1 (en) System and Method for Cryptographic Key Fragments Management
US9479330B2 (en) Method, information service system and program for information encryption/decryption
Senthilnathan et al. An enhancing reversible data hiding for secured data using shuffle block key encryption and histogram bit shifting in cloud environment
JP2005141436A (en) Information distribution storing method and information distribution storing system and its device and its program and recording medium
JP2007142591A (en) Encryption management method
JP5749368B2 (en) Data originality ensuring method and system, and data originality ensuring program
JP2006311383A (en) Data managing method, data management system and data managing device
JP4602675B2 (en) CONFIDENTIAL INFORMATION MANAGEMENT SYSTEM, CONFIDENTIAL INFORMATION MANAGEMENT METHOD, CONFIDENTIAL INFORMATION MANAGEMENT PROGRAM, AND CONFIDENTIAL INFORMATION MANAGEMENT SYSTEM TERMINAL PROGRAM
JP4664008B2 (en) ACCESS RIGHT MANAGEMENT SYSTEM, ACCESS RIGHT MANAGEMENT DEVICE, ACCESS RIGHT MANAGEMENT METHOD, TERMINAL PROGRAM, AND ACCESS RIGHT MANAGEMENT PROGRAM
JP4619045B2 (en) Data concealment device, data concealment method, and data concealment program
KR102132685B1 (en) Apparatus and method for order-revealing encryption
JP4486851B2 (en) CONFIDENTIAL INFORMATION MANAGEMENT SYSTEM, CONFIDENTIAL INFORMATION MANAGEMENT METHOD, CONFIDENTIAL INFORMATION MANAGEMENT PROGRAM, AND CONFIDENTIAL INFORMATION MANAGEMENT SYSTEM TERMINAL PROGRAM
JP4789536B2 (en) Data division apparatus, data division method, and computer program
Nusrat et al. Simplified FADE with sharing feature (SFADE+): A overlay approach for cloud storage system
TW202101936A (en) Compression and oblivious expansion of rlwe ciphertexts
JP4142322B2 (en) Encryption apparatus, information processing apparatus, and information processing method
Jiang et al. LightCore: Lightweight collaborative editing cloud services for sensitive data
JP7302404B2 (en) Information processing device and program

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