Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5953886B2 - Storage method, acquisition method, creation method, storage device, acquisition device, creation device, storage program, acquisition program, and creation program - Google Patents
[go: Go Back, main page]

JP5953886B2 - Storage method, acquisition method, creation method, storage device, acquisition device, creation device, storage program, acquisition program, and creation program - Google Patents

Storage method, acquisition method, creation method, storage device, acquisition device, creation device, storage program, acquisition program, and creation program Download PDF

Info

Publication number
JP5953886B2
JP5953886B2 JP2012082315A JP2012082315A JP5953886B2 JP 5953886 B2 JP5953886 B2 JP 5953886B2 JP 2012082315 A JP2012082315 A JP 2012082315A JP 2012082315 A JP2012082315 A JP 2012082315A JP 5953886 B2 JP5953886 B2 JP 5953886B2
Authority
JP
Japan
Prior art keywords
groups
group
data
key
identification information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012082315A
Other languages
Japanese (ja)
Other versions
JP2013211800A (en
Inventor
小櫻 文彦
文彦 小櫻
津田 宏
宏 津田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012082315A priority Critical patent/JP5953886B2/en
Publication of JP2013211800A publication Critical patent/JP2013211800A/en
Application granted granted Critical
Publication of JP5953886B2 publication Critical patent/JP5953886B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、格納方法、取得方法、作成方法、格納装置、取得装置、作成装置、格納プログラム、取得プログラム、および作成プログラムに関する。   The present invention relates to a storage method, an acquisition method, a creation method, a storage device, an acquisition device, a creation device, a storage program, an acquisition program, and a creation program.

従来、複数人、または複数グループにおいて、データを共用する場合がある。例えば、ネットワークを経由してアクセス可能な記憶領域を貸し出すオンラインストレージサービスを利用し、貸し出された記憶領域に複数グループからアクセス可能に設定して、データを共用することがある。   Conventionally, data may be shared among a plurality of people or a plurality of groups. For example, an online storage service that rents a storage area that can be accessed via a network is used, and the rented storage area is set to be accessible from a plurality of groups to share data.

ここで、貸し出された記憶領域にあるデータは、不正なアクセスを行う攻撃者やオンラインストレージサービスの提供者などの第三者に閲覧されたり変更されたりする危険性がある。そのため、貸し出された記憶領域にあるデータを暗号化することにより、セキュリティを担保している。   Here, there is a risk that data in the rented storage area may be viewed or changed by a third party such as an attacker who performs unauthorized access or an online storage service provider. Therefore, security is ensured by encrypting data in the rented storage area.

暗号化に関する技術として、暗号化データのヘッダ部分に、利用者固有の情報と組み合わせることにより暗号化データを復号することができるキー情報を挿入する技術がある(下記特許文献1参照)。また、関連する技術として、暗号化および復号に用いる鍵をキーサーバにおいて管理する技術がある(例えば、下記特許文献2,3参照)。また、ユーザ認証された利用者が或る文書データを利用した場合、文書データの文書IDとユーザ認証したユーザIDとを含むアクセス実績情報を記憶手段に記録する技術がある(例えば、下記特許文献4参照)。   As a technique related to encryption, there is a technique for inserting key information capable of decrypting encrypted data into a header portion of encrypted data by combining with information unique to the user (see Patent Document 1 below). Further, as a related technique, there is a technique for managing keys used for encryption and decryption in a key server (for example, see Patent Documents 2 and 3 below). In addition, when a user authenticated by a user uses certain document data, there is a technique for recording access record information including a document ID of the document data and a user authenticated user ID in a storage unit (for example, the following patent document) 4).

特開2000−99385号公報JP 2000-99385 A 特開2005−209181号公報JP 2005-209181 A 特開2005−286402号公報JP 2005-286402 A 特開2005−32109号公報JP 2005-32109 A

上述したオンラインストレージサービスから複数のグループに貸し出された共有の記憶領域に格納されたデータ群の中には、或るグループの利用者からのみアクセスを許可し、他のグループの利用者からのアクセスを禁止したいデータが存在する場合がある。しかしながら、共有の記憶領域に格納されたデータ群は、アクセス可能に設定した複数グループのいずれかに所属する利用者からアクセスされることになる。従って、或るグループの利用者の個人情報や技術情報といった他のグループの利用者からのアクセスを禁止したいデータが、他のグループの利用者からアクセスされ流出してしまう場合がある。   Among the data groups stored in the shared storage area lent to multiple groups from the online storage service described above, access is permitted only from users of a certain group, and access from users of other groups. There may be data that you want to ban. However, the data group stored in the shared storage area is accessed by users belonging to any of a plurality of groups set to be accessible. Accordingly, data that is prohibited from being accessed by users of other groups, such as personal information and technical information of users of a certain group, may be accessed and leaked from users of other groups.

一方、利用者の所属グループを認証する機能を有する認証サーバにより、アクセス先のデータを有するグループの所属であることが認証されなかった利用者からのアクセスを禁止するように制御する場合がある。しかしながら、認証サーバを設ける場合、認証サーバの設置コストや運用コストが増大する。   On the other hand, an authentication server having a function of authenticating a user's affiliation group may be controlled to prohibit access from a user who has not been authenticated as belonging to a group having access destination data. However, when an authentication server is provided, the installation cost and operation cost of the authentication server increase.

本発明は、共有記憶領域において効率的にセキュリティの向上を図ることを目的とする。   An object of the present invention is to efficiently improve security in a shared storage area.

本発明の一側面によれば、複数のグループの中のいずれかのグループに所属する要求元装置から、いずれかのグループの識別情報を含むいずれかのグループに関するデータの格納要求を受け付け、格納要求が受け付けられた場合、いずれかのグループの識別情報に関連付けられたいずれかのグループに固有な第1の分散鍵を記憶装置から取得し、複数のグループの各グループのデータ群を記憶するデータベースから、いずれかのグループの識別情報に関連付けられたいずれかのグループに固有な第2の分散鍵を取得し、第1の分散鍵と取得された第2の分散鍵を合成することにより暗号鍵を生成し、生成された暗号鍵でデータを暗号化し、暗号化された暗号化データをデータベース内の第2の分散鍵の格納場所に送信する格納方法、格納装置、および格納プログラムが提案される。   According to one aspect of the present invention, a request for storing data related to any group including identification information of any group is received from a request source device belonging to any group among the plurality of groups, and the storage request Is received from the storage device, the first distributed key unique to any group associated with the identification information of any group, and from the database storing the data group of each group of the plurality of groups The second distributed key unique to any group associated with the identification information of any group is acquired, and the encryption key is obtained by combining the first distributed key and the acquired second distributed key. Storage method and storage device for generating data, encrypting data with the generated encryption key, and transmitting the encrypted data to the storage location of the second distribution key in the database And the stored program is proposed.

また、本発明の一側面によれば、複数のグループの中のいずれかのグループに所属する要求元装置から、いずれかのグループの識別情報を含むいずれかのグループに関するデータの取得要求を受け付け、取得要求が受け付けられた場合、いずれかのグループの識別情報に関連付けられたいずれかのグループに固有な第1の分散鍵を記憶装置から取得し、複数のグループの各グループのデータ群を記憶するデータベースから、いずれかのグループの識別情報に関連付けられたいずれかのグループに固有な第2の分散鍵と、データを取得された第1の分散鍵と第2の分散鍵とを合成することにより得られる暗号鍵により暗号化された暗号化データと、を取得し、第1の分散鍵と取得された第2の分散鍵を合成することにより暗号鍵を生成し、生成された暗号鍵で暗号化データを復号し、復号されたデータを要求元装置に送信する取得方法、取得装置、および取得プログラムが提案される。   Further, according to one aspect of the present invention, from a request source device belonging to any group among a plurality of groups, an acquisition request for data related to any group including identification information of any group is received, When the acquisition request is accepted, the first distributed key unique to any group associated with the identification information of any group is acquired from the storage device, and the data group of each group of the plurality of groups is stored. By synthesizing the second distributed key unique to any group associated with the identification information of any group from the database, and the first distributed key and the second distributed key from which data has been acquired Generate encrypted data encrypted with the obtained encryption key, and generate the encryption key by combining the first distributed key and the acquired second distributed key, and generate The decrypts the encrypted data with the encryption key acquisition method of transmitting the decrypted data to the requesting device, acquisition device, and acquiring a program are proposed.

また、本発明の一側面によれば、複数のグループの中のいずれかのグループに所属する要求元装置から、いずれかのグループの識別情報を含むいずれかのグループに関する格納場所の作成要求を受け付け、作成要求が受け付けられた場合、いずれかのグループの識別情報に関連付けられたいずれかのグループに固有な第1の分散鍵を記憶装置から取得し、いずれかのグループに固有な第2の分散鍵を生成し、生成された第2の分散鍵といずれかのグループの識別情報とを関連付けた情報を、データベース内のいずれかのグループに固有な格納場所を指定して、データベースに送信する作成方法、作成装置、および作成プログラムが提案される。   According to one aspect of the present invention, a request for creating a storage location for any group including identification information of any group is accepted from a request source device belonging to any group among the plurality of groups. When the creation request is accepted, the first distributed key unique to any group associated with the identification information of any group is acquired from the storage device, and the second shared key unique to any group is obtained. Create a key, and send the information that associates the generated second distributed key and the identification information of any group to the database, specifying the storage location unique to any group in the database A method, a creation device, and a creation program are proposed.

本発明の一側面によれば、共有記憶領域において効率的にセキュリティの向上を図ることができるという効果を奏する。   According to one aspect of the present invention, there is an effect that security can be efficiently improved in the shared storage area.

図1は、情報処理装置によるデータ処理の流れを示す説明図である。FIG. 1 is an explanatory diagram showing a flow of data processing by the information processing apparatus. 図2は、実施の形態にかかる情報処理装置100のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram of a hardware configuration example of the information processing apparatus 100 according to the embodiment. 図3は、グループ鍵テーブル300の記憶内容を示す説明図である。FIG. 3 is an explanatory diagram showing the contents stored in the group key table 300. 図4は、情報処理装置100の機能的構成を示すブロック図である。FIG. 4 is a block diagram illustrating a functional configuration of the information processing apparatus 100. 図5は、或るグループGに所属する情報処理装置100から利用可能なディレクトリDを作成する場合の作成例1を示す説明図である。FIG. 5 is an explanatory diagram showing a creation example 1 in the case where a directory D that can be used from the information processing apparatus 100 belonging to a certain group G is created. 図6は、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDを作成する場合の作成例2を示す説明図である。FIG. 6 is an explanatory diagram illustrating a creation example 2 in the case where a directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G is created. 図7は、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDを作成する場合の作成例3を示す説明図である。FIG. 7 is an explanatory diagram illustrating a creation example 3 in the case where a directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G is created. 図8は、情報処理装置100によるディレクトリ作成処理の詳細な処理手順を示すフローチャートである。FIG. 8 is a flowchart showing a detailed processing procedure of directory creation processing by the information processing apparatus 100. 図9は、特定ファイル作成処理の詳細な処理手順を示すフローチャートである。FIG. 9 is a flowchart showing a detailed processing procedure of the specific file creation processing. 図10は、或るグループGに所属する情報処理装置100から利用可能なディレクトリDへとデータdを格納する場合の格納例1を示す説明図である。FIG. 10 is an explanatory diagram illustrating a storage example 1 when data d is stored in a directory D that can be used from the information processing apparatus 100 belonging to a certain group G. 図11は、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDへとデータdを格納する場合の格納例2を示す説明図である。FIG. 11 is an explanatory diagram showing a storage example 2 when data d is stored in a directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G. 図12は、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合の格納例3を示す説明図である。FIG. 12 is an explanatory diagram showing a storage example 3 in the case where the data d is stored in the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G. 図13は、情報処理装置100によるデータ格納処理の詳細な処理手順を示すフローチャートである。FIG. 13 is a flowchart illustrating a detailed processing procedure of data storage processing by the information processing apparatus 100. 図14は、データ鍵合成処理の詳細な処理手順を示すフローチャートである。FIG. 14 is a flowchart showing a detailed processing procedure of the data key composition processing. 図15は、或るグループGに所属する情報処理装置100から利用可能なディレクトリDのデータdを取得する場合の取得例1を示す説明図である。FIG. 15 is an explanatory diagram illustrating an acquisition example 1 when the data d of the directory D that can be used is acquired from the information processing apparatus 100 belonging to a certain group G. 図16は、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDのデータdを取得する場合の取得例2を示す説明図である。FIG. 16 is an explanatory diagram illustrating an acquisition example 2 when the data d of the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G is acquired. 図17は、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDを取得する場合の取得例3を示す説明図である。FIG. 17 is an explanatory diagram illustrating an acquisition example 3 in the case of acquiring a usable directory D from the information processing apparatus 100 belonging to any of the plurality of groups G. 図18は、情報処理装置100によるデータ取得処理の詳細な処理手順を示すフローチャートである。FIG. 18 is a flowchart illustrating a detailed processing procedure of data acquisition processing by the information processing apparatus 100.

以下に添付図面を参照して、この発明にかかる格納方法、取得方法、作成方法、格納装置、取得装置、作成装置、格納プログラム、取得プログラム、および作成プログラムの実施の形態を詳細に説明する。以降では、取得装置、格納装置、および作成装置として動作する情報処理装置を例に挙げる。まず、図1を用いて、情報処理装置によるデータ処理の流れについて説明する。   Hereinafter, embodiments of a storage method, an acquisition method, a creation method, a storage device, an acquisition device, a creation device, a storage program, an acquisition program, and a creation program according to the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, an information processing device that operates as an acquisition device, a storage device, and a creation device will be described as an example. First, the flow of data processing by the information processing apparatus will be described with reference to FIG.

(情報処理装置によるデータ処理の流れ)
図1は、情報処理装置によるデータ処理の流れを示す説明図である。
(Data processing flow by information processing equipment)
FIG. 1 is an explanatory diagram showing a flow of data processing by the information processing apparatus.

図1に示す情報処理装置100は、所属するグループGに固有のグループ鍵Gkを有するコンピュータである。グループ鍵Gkは、例えば、情報処理装置100が有するグループ鍵テーブルに記憶される。グループ鍵テーブルについては図3を用いて後述する。   An information processing apparatus 100 illustrated in FIG. 1 is a computer having a group key Gk unique to a group G to which the information processing apparatus 100 belongs. The group key Gk is stored in, for example, a group key table included in the information processing apparatus 100. The group key table will be described later with reference to FIG.

情報処理装置100は、データベース101のディレクトリDからディレクトリD固有のディレクトリ鍵Dkを取得して、ディレクトリ鍵Dkとグループ鍵Gkとを合成して、データ鍵dkを作成する。情報処理装置100は、作成したデータ鍵dkを用いて、ディレクトリDにデータdを暗号化して格納し、また、ディレクトリDから暗号化データCdを取得して復号する。   The information processing apparatus 100 obtains a directory key Dk unique to the directory D from the directory D of the database 101, synthesizes the directory key Dk and the group key Gk, and creates a data key dk. The information processing apparatus 100 encrypts and stores the data d in the directory D using the created data key dk, and acquires and decrypts the encrypted data Cd from the directory D.

暗号化するデータdは、例えば、情報処理装置100の外部の要求元装置から格納要求されたデータdであり、要求元装置から情報処理装置100に送信される。復号する暗号化データCdは、例えば、情報処理装置100の外部の要求元装置から取得要求された暗号化データCdであり、復号後に情報処理装置100から要求元装置に送信される。また、情報処理装置100自体が要求元装置であってもよい。この場合、情報処理装置100は、暗号化するデータdの入力を受け付ける。また、情報処理装置100は、復号した暗号化データCdを出力する。以降では、簡単のため、要求元装置は、情報処理装置100自体であるとする。   The data d to be encrypted is, for example, data d requested to be stored by a request source device external to the information processing device 100, and is transmitted from the request source device to the information processing device 100. The encrypted data Cd to be decrypted is, for example, encrypted data Cd requested for acquisition from a request source device external to the information processing device 100, and is transmitted from the information processing device 100 to the request source device after decryption. Further, the information processing apparatus 100 itself may be a request source apparatus. In this case, the information processing apparatus 100 accepts input of data d to be encrypted. In addition, the information processing apparatus 100 outputs the decrypted encrypted data Cd. Hereinafter, for simplicity, it is assumed that the request source device is the information processing device 100 itself.

図1の例では、情報処理装置100A1は、グループGAに所属し、グループGAに固有のグループ鍵GkAを有する。また、情報処理装置100A2は、グループGAに所属し、グループGAに固有のグループ鍵GkAを有する。また、情報処理装置100B1は、グループGBに所属し、グループGBに固有のグループ鍵GkBを有する。また、情報処理装置100ABは、グループGAとグループGBとに所属し、グループGAに固有のグループ鍵GkAと、グループGBに固有のグループ鍵GkBと、を有する。   In the example of FIG. 1, the information processing apparatus 100A1 belongs to the group GA and has a group key GkA unique to the group GA. The information processing apparatus 100A2 belongs to the group GA and has a group key GkA unique to the group GA. The information processing apparatus 100B1 belongs to the group GB and has a group key GkB unique to the group GB. The information processing apparatus 100AB belongs to the group GA and the group GB, and has a group key GkA unique to the group GA and a group key GkB unique to the group GB.

図1に示すデータベース101は、暗号化データCdが格納される複数のディレクトリDを有するコンピュータである。データベース101は、1コンピュータによる実現に限らない。例えば、データベース101は、複数のコンピュータにより実現されてもよい。暗号化データCdは、グループGに固有のグループ鍵Gkと、ディレクトリDに固有のディレクトリ鍵Dkと、を合成して得られるデータ鍵dkによって暗号化されたデータdである。ディレクトリDには、ディレクトリ鍵DkとディレクトリDを利用可能なグループGを示すグループ情報とを対応付けた特定ファイルFが格納されている。   A database 101 shown in FIG. 1 is a computer having a plurality of directories D in which encrypted data Cd is stored. The database 101 is not limited to being realized by one computer. For example, the database 101 may be realized by a plurality of computers. The encrypted data Cd is data d encrypted with a data key dk obtained by synthesizing a group key Gk unique to the group G and a directory key Dk unique to the directory D. The directory D stores a specific file F in which the directory key Dk and group information indicating the group G that can use the directory D are associated with each other.

図1の例では、データベース101には、グループGAに所属する情報処理装置100が利用するデータdが暗号化されて格納されるディレクトリDAがある。ディレクトリDAには、特定ファイルFAが格納されている。特定ファイルFAは、ディレクトリDAを利用可能なグループを示す「GA」と、グループGAに固有のグループ鍵GkAと合成することにより、データ鍵dkAを生成することができるディレクトリ鍵DkAと、を対応付けた情報を含む。   In the example of FIG. 1, the database 101 includes a directory DA in which data d used by the information processing apparatus 100 belonging to the group GA is encrypted and stored. A specific file FA is stored in the directory DA. The specific file FA associates “GA” indicating a group that can use the directory DA with the directory key DkA that can generate the data key dkA by combining with the group key GkA unique to the group GA. Information.

また、データベース101には、グループGBに所属する情報処理装置100が利用するデータdが暗号化されて格納されるディレクトリDBがある。ディレクトリDBには、特定ファイルFBが格納されている。特定ファイルFBは、ディレクトリDBを利用可能なグループを示す「GB」と、グループGBに固有のグループ鍵GkBと合成することにより、データ鍵dkBを生成することができるディレクトリ鍵DkBと、を対応付けた情報を含む。   Further, the database 101 includes a directory DB in which data d used by the information processing apparatus 100 belonging to the group GB is encrypted and stored. A specific file FB is stored in the directory DB. The specific file FB associates “GB” indicating a group that can use the directory DB with a directory key DkB that can generate a data key dkB by combining with a group key GkB unique to the group GB. Information.

また、データベース101には、グループGAとグループGBとのいずれかのグループGに所属する情報処理装置100が利用するデータdが暗号化されて格納されるディレクトリDorがある。ディレクトリDorには、特定ファイルForが格納されている。   Further, the database 101 includes a directory Dor in which data d used by the information processing apparatus 100 belonging to any one of the group GA and group GB is encrypted and stored. A specific file For is stored in the directory Dor.

特定ファイルForは、ディレクトリDorを利用可能なグループを示す「GA」「or」「GB」を含む。また、特定ファイルForは、「GA」と、グループGAに固有のグループ鍵GkAと合成することにより、データ鍵dkorを生成することができるディレクトリ鍵Dkor1と、を対応付けた情報を含む。また、特定ファイルForは、「GB」と、グループGBに固有のグループ鍵GkBと合成することにより、データ鍵dkorを生成することができるディレクトリ鍵Dkor2と、を対応付けた情報を含む。   The specific file For includes “GA”, “or”, and “GB” indicating groups that can use the directory Dor. Further, the specific file For includes information in which “GA” is associated with a directory key Dkorl that can generate a data key dkor by synthesizing it with a group key GkA unique to the group GA. Further, the specific file For includes information in which “GB” and a directory key Dkor2 that can generate the data key dkor by combining with the group key GkB unique to the group GB are associated with each other.

また、データベース101には、グループGAとグループGBとのいずれのグループGにも所属する情報処理装置100が利用するデータdが暗号化されて格納されるディレクトリDandがある。ディレクトリDandには、特定ファイルFandが格納されている。   Further, the database 101 includes a directory Dand in which data d used by the information processing apparatus 100 belonging to any group G of the group GA and the group GB is encrypted and stored. The directory Dand stores a specific file Fand.

特定ファイルFandは、ディレクトリDandを利用可能なグループを示す「GA」「and」「GB」を含む。また、特定ファイルFandは、「GA」と、グループGAに固有のグループ鍵GkAと合成することにより、データ鍵dkand1を生成することができるディレクトリ鍵Dkand1と、を対応付けた情報を含む。また、特定ファイルFandは、「GB」と、グループGBに固有のグループ鍵GkBと合成することにより、データ鍵dkand2を生成することができるディレクトリ鍵Dkand2と、を対応付けた情報を含む。   The specific file Fand includes “GA”, “and”, and “GB” indicating groups that can use the directory Dand. Further, the specific file Fand includes information in which “GA” and a directory key Dkand1 that can generate the data key dkand1 by combining with the group key GkA unique to the group GA are associated with each other. Further, the specific file Fand includes information in which “GB” and a directory key Dkand2 that can generate the data key dkand2 by combining with the group key GkB unique to the group GB are associated with each other.

ディレクトリDは、例えば、情報処理装置100によって作成される。情報処理装置100によるディレクトリDの作成の詳細については、図5〜図9を用いて後述する。   The directory D is created by the information processing apparatus 100, for example. Details of the creation of the directory D by the information processing apparatus 100 will be described later with reference to FIGS.

まず、情報処理装置100A1が、データdAを暗号化して暗号化データCdAを生成し、ディレクトリDAに暗号化データCdAを格納する場合について説明する。   First, the case where the information processing apparatus 100A1 encrypts the data dA to generate the encrypted data CdA and stores the encrypted data CdA in the directory DA will be described.

この場合、(1)情報処理装置100A1は、ディレクトリDAから、特定ファイルFAを取得し、特定ファイルFAの中からディレクトリ鍵DkAを取得する。(2)次に、情報処理装置100A1は、取得したディレクトリ鍵DkAと、グループ鍵GkAと、を合成して、データ鍵dkAを生成する。   In this case, (1) the information processing apparatus 100A1 acquires the specific file FA from the directory DA and acquires the directory key DkA from the specific file FA. (2) Next, the information processing apparatus 100A1 combines the acquired directory key DkA and the group key GkA to generate a data key dkA.

(3)そして、情報処理装置100A1は、格納するデータdAを、生成したデータ鍵dkAを用いて暗号化して、暗号化データCdAを生成する。(4)次に、情報処理装置100A1は、暗号化データCdAをディレクトリDAに格納する。   (3) Then, the information processing apparatus 100A1 encrypts the data dA to be stored using the generated data key dkA, and generates encrypted data CdA. (4) Next, the information processing apparatus 100A1 stores the encrypted data CdA in the directory DA.

これにより、情報処理装置100A1は、ディレクトリDAに格納されるデータdAを暗号化された状態にして、セキュリティを担保することができる。情報処理装置100によるディレクトリDへの暗号化データCdの格納の詳細については、図10〜図14を用いて後述する。   As a result, the information processing apparatus 100A1 can ensure security by putting the data dA stored in the directory DA into an encrypted state. Details of the storage of the encrypted data Cd in the directory D by the information processing apparatus 100 will be described later with reference to FIGS.

次に、情報処理装置100A2が、ディレクトリDAから暗号化データCdAを取得し、暗号化データCdAを復号してデータdAを生成する場合について説明する。   Next, the case where the information processing apparatus 100A2 acquires the encrypted data CdA from the directory DA and decrypts the encrypted data CdA to generate data dA will be described.

この場合、(5)情報処理装置100A2は、ディレクトリDAから、特定ファイルFAを取得し、特定ファイルFAの中からディレクトリ鍵DkAを取得する。(6)次に、情報処理装置100A2は、取得したディレクトリ鍵DkAと、グループ鍵GkAと、を合成して、データ鍵dkAを生成する。   In this case, (5) the information processing apparatus 100A2 acquires the specific file FA from the directory DA and acquires the directory key DkA from the specific file FA. (6) Next, the information processing apparatus 100A2 combines the acquired directory key DkA and the group key GkA to generate a data key dkA.

(7)そして、情報処理装置100A2は、ディレクトリDAから、暗号化データCdAを取得する。(8)次に、情報処理装置100A2は、生成したデータ鍵dkAを用いて、暗号化データCdAを復号して、データdAを生成する。   (7) Then, the information processing apparatus 100A2 acquires the encrypted data CdA from the directory DA. (8) Next, the information processing apparatus 100A2 decrypts the encrypted data CdA using the generated data key dkA to generate data dA.

これにより、情報処理装置100A2は、ディレクトリDAに格納された暗号化データCdAを復号して、データdAを利用することができる。このように、情報処理装置100A1,100A2とは、データdAを共用することができる。情報処理装置100によるディレクトリDの暗号化データCdの取得の詳細については、図15〜図18を用いて後述する。   Thereby, the information processing apparatus 100A2 can decrypt the encrypted data CdA stored in the directory DA and use the data dA. As described above, the information processing apparatuses 100A1 and 100A2 can share the data dA. Details of the acquisition of the encrypted data Cd of the directory D by the information processing apparatus 100 will be described later with reference to FIGS.

次に、情報処理装置100B1が、ディレクトリDAから暗号化データCdAを取得する場合について説明する。   Next, a case where the information processing apparatus 100B1 acquires the encrypted data CdA from the directory DA will be described.

この場合、(9)情報処理装置100B1は、ディレクトリDAから、特定ファイルFAを取得し、特定ファイルFAの中からディレクトリ鍵DkAを取得する。(10)ここで、情報処理装置100B1は、グループ鍵GkAを有していないため、ディレクトリ鍵DkAを取得しても、データ鍵dkAを生成することができない。   In this case, (9) the information processing apparatus 100B1 acquires the specific file FA from the directory DA and acquires the directory key DkA from the specific file FA. (10) Here, since the information processing apparatus 100B1 does not have the group key GkA, the data key dkA cannot be generated even if the directory key DkA is acquired.

(11)結果として、情報処理装置100B1は、ディレクトリDAから、暗号化データCdAを取得しても、暗号化データCdAを復号することができない。これにより、ディレクトリDAは、グループGAに所属する情報処理装置100A1,100A2とからは利用可能、かつ、グループGAに所属しない情報処理装置100B1からは利用不可能なディレクトリDになる。   (11) As a result, the information processing apparatus 100B1 cannot decrypt the encrypted data CdA even if it acquires the encrypted data CdA from the directory DA. As a result, the directory DA becomes a directory D that can be used from the information processing apparatuses 100A1 and 100A2 belonging to the group GA and cannot be used from the information processing apparatus 100B1 that does not belong to the group GA.

また、詳細は図11に後述するが、ディレクトリDorには、グループGAに所属する情報処理装置100であってもグループGBに所属する情報処理装置100であっても、暗号化データCdorを格納することができる。また、ディレクトリDorの暗号化データCdorは、グループGAに所属する情報処理装置100であってもグループGBに所属する情報処理装置100であっても、復号することができる。これにより、ディレクトリDorは、グループGAに所属する情報処理装置100とグループGBに所属する情報処理装置100とが共用することができるディレクトリDになる。   As will be described in detail later with reference to FIG. 11, the directory Dor stores the encrypted data Cdor regardless of whether the information processing apparatus 100 belongs to the group GA or the information processing apparatus 100 belongs to the group GB. be able to. The encrypted data Cdor in the directory Dor can be decrypted by either the information processing apparatus 100 belonging to the group GA or the information processing apparatus 100 belonging to the group GB. Thereby, the directory Dor becomes the directory D that can be shared by the information processing apparatus 100 belonging to the group GA and the information processing apparatus 100 belonging to the group GB.

また、詳細は図12に後述するが、ディレクトリDandには、グループGAとグループGBとの両方に所属する情報処理装置100が暗号化データCdandを格納することができる。また、ディレクトリDandの暗号化データCdandは、グループGAとグループGBとの両方に所属する情報処理装置100が復号することができる。これにより、ディレクトリDandは、グループGAとグループGBとの両方に所属する情報処理装置100が利用可能なディレクトリDになる。   Although details will be described later with reference to FIG. 12, the information processing apparatus 100 belonging to both the group GA and the group GB can store the encrypted data Cdand in the directory Dand. Further, the encrypted data Cdand of the directory Dand can be decrypted by the information processing apparatus 100 belonging to both the group GA and the group GB. As a result, the directory Dand becomes a directory D that can be used by the information processing apparatus 100 belonging to both the group GA and the group GB.

このように、各ディレクトリDは、特定のグループGに所属する情報処理装置100から利用可能なディレクトリDになる。換言すれば、情報処理装置100とデータベース101とによるシステムは、情報処理装置100のディレクトリDへの利用権限を認証し、認証された情報処理装置100にディレクトリDの利用を許可する「アクセス制御」と同様の機能を実現することができる。   Thus, each directory D becomes a directory D that can be used from the information processing apparatus 100 belonging to a specific group G. In other words, the system based on the information processing apparatus 100 and the database 101 authenticates the use authority of the information processing apparatus 100 to the directory D, and permits the authenticated information processing apparatus 100 to use the directory D “access control”. The same function can be realized.

また、データベース101は、情報処理装置100から暗号化データCdを格納されたり、格納された暗号化データCdを取得されたりする。そのため、データベース101は、新たな機能を追加しなくてもよく、情報処理装置100の利用者とは異なるサービス提供者によって提供され、情報処理装置100の利用者が機能追加や機能変更をすることができないコンピュータによっても実現することができる。   Further, the database 101 stores the encrypted data Cd from the information processing apparatus 100 or acquires the stored encrypted data Cd. Therefore, the database 101 does not need to add a new function, is provided by a service provider different from the user of the information processing apparatus 100, and the user of the information processing apparatus 100 adds a function or changes a function. It can also be realized by a computer that cannot.

(情報処理装置100のハードウェア構成例)
図2は、実施の形態にかかる情報処理装置100のハードウェア構成例を示すブロック図である。図2において、情報処理装置100は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ(Hard Disk Drive)204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
(Hardware configuration example of information processing apparatus 100)
FIG. 2 is a block diagram of a hardware configuration example of the information processing apparatus 100 according to the embodiment. In FIG. 2, the information processing apparatus 100 includes a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, a magnetic disk drive (Hard Disk Drive) 204, and a magnetic disk. 205, an optical disc drive 206, an optical disc 207, a display 208, an I / F (Interface) 209, a keyboard 210, a mouse 211, a scanner 212, and a printer 213. Each component is connected by a bus 200.

ここで、CPU201は、情報処理装置100の全体の制御を司る。ROM202は、ブートプログラム、取得プログラム、格納プログラム、および作成プログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御に従って磁気ディスク205に対するデータdのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータdを記憶する。   Here, the CPU 201 governs overall control of the information processing apparatus 100. The ROM 202 stores programs such as a boot program, an acquisition program, a storage program, and a creation program. The RAM 203 is used as a work area for the CPU 201. The magnetic disk drive 204 controls reading / writing of data d with respect to the magnetic disk 205 according to the control of the CPU 201. The magnetic disk 205 stores data d written under the control of the magnetic disk drive 204.

光ディスクドライブ206は、CPU201の制御に従って光ディスク207に対するデータdのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータdを記憶したり、光ディスク207に記憶されたデータdをコンピュータに読み取らせたりする。   The optical disk drive 206 controls reading / writing of data d with respect to the optical disk 207 according to the control of the CPU 201. The optical disk 207 stores the data d written under the control of the optical disk drive 206, or causes the computer to read the data d stored on the optical disk 207.

ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータdを表示する。このディスプレイ208は、例えば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。   The display 208 displays data d such as a document, an image, and function information as well as a cursor, an icon, or a tool box. As this display 208, for example, a liquid crystal display, a plasma display, or the like can be adopted.

インターフェース(以下、「I/F」と略する。)209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータdの入出力を制御する。I/F209には、例えばモデムやLANアダプタなどを採用することができる。   An interface (hereinafter abbreviated as “I / F”) 209 is connected to a network 214 such as a LAN (Local Area Network), a WAN (Wide Area Network), and the Internet through a communication line. Connected to other devices. The I / F 209 controls an internal interface with the network 214 and controls input / output of data d from an external device. For example, a modem or a LAN adapter may be employed as the I / F 209.

キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データdの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。   The keyboard 210 includes keys for inputting characters, numbers, various instructions, and the like, and inputs data d. Moreover, a touch panel type input pad or a numeric keypad may be used. The mouse 211 performs cursor movement, range selection, window movement, size change, and the like. A trackball or a joystick may be used as long as they have the same function as a pointing device.

スキャナ212は、画像を光学的に読み取り、情報処理装置100内に画像データdを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データdや文書データdを印刷する。プリンタ213には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ206、光ディスク207、ディスプレイ208、キーボード210、マウス211、スキャナ212、およびプリンタ213の少なくともいずれか1つは、なくてもよい。   The scanner 212 optically reads an image and takes in the image data d into the information processing apparatus 100. The scanner 212 may have an OCR (Optical Character Reader) function. The printer 213 prints image data d and document data d. As the printer 213, for example, a laser printer or an ink jet printer can be adopted. Note that at least one of the optical disk drive 206, the optical disk 207, the display 208, the keyboard 210, the mouse 211, the scanner 212, and the printer 213 may be omitted.

(グループ鍵テーブル)
次に、図3を用いて、グループ鍵テーブルの記憶内容について説明する。グループ鍵テーブル300は、グループ鍵Gkを記憶するテーブルである。グループ鍵テーブル300は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域により実現される。
(Group key table)
Next, the contents stored in the group key table will be described with reference to FIG. The group key table 300 is a table that stores the group key Gk. The group key table 300 is realized by storage areas such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example.

図3は、グループ鍵テーブル300の記憶内容を示す説明図である。図3に示すように、グループ鍵テーブル300は、グループ名項目のそれぞれに対応付けて、グループ鍵項目を有し、情報処理装置100が所属するグループGごとにレコードを構成する。図3の例は、グループGAとグループGBとに所属する情報処理装置100ABが有するグループ鍵テーブル300である。   FIG. 3 is an explanatory diagram showing the contents stored in the group key table 300. As illustrated in FIG. 3, the group key table 300 includes a group key item in association with each group name item, and configures a record for each group G to which the information processing apparatus 100 belongs. The example of FIG. 3 is a group key table 300 included in the information processing apparatus 100AB belonging to the group GA and the group GB.

グループ名項目には、情報処理装置100が所属するグループGの名称が記憶される。グループ鍵項目には、グループ名項目のグループGに固有のグループ鍵Gkが記憶される。図3の例では、情報処理装置100ABが所属するグループGAの名称「GA」に対応付けて、グループGAに固有のグループ鍵Gk「FE9F1A9302B582C」が記憶されている。   In the group name item, the name of the group G to which the information processing apparatus 100 belongs is stored. The group key item stores a group key Gk unique to the group G of the group name item. In the example of FIG. 3, a group key Gk “FE9F1A9302B582C” unique to the group GA is stored in association with the name “GA” of the group GA to which the information processing apparatus 100AB belongs.

(情報処理装置100の機能的構成例)
次に、図4を用いて、情報処理装置100の機能的構成例について説明する。図4は、情報処理装置100の機能的構成を示すブロック図である。情報処理装置100は、受付部401と、取得部402と、生成部403と、送信部404と、暗号化部405と、を含む。受付部401と、取得部402と、生成部403と、送信部404と、暗号化部405とは、具体的には、例えば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。
(Functional configuration example of information processing apparatus 100)
Next, a functional configuration example of the information processing apparatus 100 will be described with reference to FIG. FIG. 4 is a block diagram illustrating a functional configuration of the information processing apparatus 100. The information processing apparatus 100 includes a reception unit 401, an acquisition unit 402, a generation unit 403, a transmission unit 404, and an encryption unit 405. Specifically, the reception unit 401, the acquisition unit 402, the generation unit 403, the transmission unit 404, and the encryption unit 405 are, for example, the ROM 202, the RAM 203, the magnetic disk 205, the optical disk 207, and the like illustrated in FIG. The function is realized by causing the CPU 201 to execute the program stored in the storage device or by the I / F 209.

情報処理装置100は、ディレクトリDを作成する機能と、データdを暗号化してディレクトリDに格納する機能と、ディレクトリDから暗号化データCdを取得して復号する機能と、を有する。   The information processing apparatus 100 has a function of creating the directory D, a function of encrypting the data d and storing it in the directory D, and a function of acquiring and decrypting the encrypted data Cd from the directory D.

<ディレクトリDを作成する機能>
まず、情報処理装置100が有する機能のうち、ディレクトリDを作成する機能について説明する。ディレクトリDを作成する機能は、受付部401と、取得部402と、生成部403と、送信部404と、により実現される。
<Function to create directory D>
First, the function of creating the directory D among the functions of the information processing apparatus 100 will be described. The function of creating the directory D is realized by the reception unit 401, the acquisition unit 402, the generation unit 403, and the transmission unit 404.

・或るグループGに所属する情報処理装置100から利用可能なディレクトリDを作成する場合
ここで、作成されるディレクトリDが、或るグループGに所属する情報処理装置100から利用可能なディレクトリDである場合を例に挙げる。この場合の作成例は図5を用いて後述する。
When creating a directory D that can be used from the information processing apparatus 100 belonging to a certain group G Here, the created directory D is a directory D that can be used from the information processing apparatus 100 belonging to a certain group G. Take the case as an example. An example of creation in this case will be described later with reference to FIG.

この場合、受付部401は、複数のグループGの中のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含むいずれかのグループGに関する格納場所の作成要求を受け付ける。   In this case, the accepting unit 401 sends a storage location creation request for any group G including identification information of any group G from a request source device belonging to any group G among the plurality of groups G. Accept.

ここで、要求元装置とは、例えば、情報処理装置100と通信可能であって、要求元装置の利用者から入力された情報を情報処理装置100に送信するコンピュータである。グループGとは、同一の識別情報を有する1または複数の要求元装置の集合である。識別情報とは、要求元装置が有する属性を示す情報であり、例えば、要求元装置を有する会社や部署を示す情報である。また、要求元装置は、例えば、情報処理装置100自体であってもよい。   Here, the request source device is, for example, a computer that can communicate with the information processing device 100 and transmits information input from a user of the request source device to the information processing device 100. The group G is a set of one or a plurality of request source devices having the same identification information. The identification information is information indicating an attribute of the request source device, for example, information indicating a company or a department having the request source device. Further, the request source device may be, for example, the information processing device 100 itself.

また、要求元装置は、利用者から識別情報の入力を受け付けて、所属するグループGを切り替えてもよい。例えば、要求元装置は、利用者から部署「経理」の入力を受け付けた場合に部署「経理」に所属する要求元装置として動作し、利用者から部署「開発」の入力を受け付けた場合に部署「開発」に所属する要求元装置として動作し、所属する部署を切り替えてもよい。また、要求元装置は複数あってもよく、情報処理装置100は、同一グループに所属する複数の要求元装置と通信してもよい。   In addition, the request source device may switch the group G to which the request source device belongs by receiving input of identification information from the user. For example, the request source device operates as a request source device belonging to the department “Accounting” when the input of the department “Accounting” is received from the user, and the department of the requesting device when the input of the department “Development” is received from the user. It may operate as a request source device belonging to “development” and switch the department to which it belongs. Further, there may be a plurality of request source devices, and the information processing device 100 may communicate with a plurality of request source devices belonging to the same group.

受付部401は、具体的には、例えば、グループGAに所属する要求元装置から、グループGAに所属する情報処理装置100が利用するディレクトリDAの作成要求を受け付ける。作成要求には、例えば、作成するディレクトリDAを利用するグループGを示す識別情報「GA」と、ディレクトリDAの作成先を示す作成先情報が含まれる。作成先情報とは、例えば、データベース101内の或る階層を示すパスである。   Specifically, the receiving unit 401 receives, for example, a request to create a directory DA used by the information processing apparatus 100 belonging to the group GA from a request source apparatus belonging to the group GA. The creation request includes, for example, identification information “GA” indicating the group G that uses the directory DA to be created and creation destination information indicating the creation destination of the directory DA. The creation destination information is, for example, a path indicating a certain hierarchy in the database 101.

受け付けられた作成要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの作成先を指定することができる。   The accepted creation request is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the acquisition unit 402 can obtain a trigger for acquiring the first distributed key. In addition, the transmission unit 404 can specify the creation destination of the directory D.

この場合、取得部402は、受付部401によって作成要求が受け付けられた場合、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第1の分散鍵を記憶装置から取得する。記憶装置とは、例えば、上述したグループ鍵テーブル300である。第1の分散鍵とは、他の分散鍵と合成することにより、データdの暗号化と復号とに用いられる鍵を生成するための鍵であり、上述したグループ鍵Gkである。   In this case, when the creation request is accepted by the accepting unit 401, the obtaining unit 402 obtains the first distributed key unique to any group G associated with the identification information of any group G from the storage device. To do. The storage device is, for example, the group key table 300 described above. The first distributed key is a key for generating a key used for encryption and decryption of data d by combining with another distributed key, and is the group key Gk described above.

取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、作成要求内の識別情報「GA」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。   Specifically, the acquiring unit 402 searches for the identification information “GA” in the creation request from the group name item of the group key table 300, for example. Next, the acquiring unit 402 acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA”.

取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵を用いて、第2の分散鍵を生成することができる。   The acquired group key Gk is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the generation unit 403 can generate the second distributed key using the first distributed key.

この場合、生成部403は、いずれかのグループGに固有な第2の分散鍵を生成する。第2の分散鍵とは、他の分散鍵と合成することにより、データdの暗号化と復号とに用いられる鍵を生成するための鍵であり、上述したディレクトリ鍵Dkである。   In this case, the generation unit 403 generates a second distributed key unique to any group G. The second distributed key is a key for generating a key used for encryption and decryption of the data d by combining with another distributed key, and is the directory key Dk described above.

生成部403は、具体的には、例えば、作成要求されたディレクトリDAに格納されるデータdの暗号化と復号とに用いられるデータ鍵dkAを生成する。次に、生成部403は、生成したデータ鍵dkAをグループ鍵GkAを用いて暗号化して、暗号化されたデータ鍵dkAをディレクトリ鍵DkA「23FB5A20EC989F1」として生成する。   Specifically, the generation unit 403 generates, for example, a data key dkA used for encryption and decryption of the data d stored in the directory DA requested to be created. Next, the generation unit 403 encrypts the generated data key dkA using the group key GkA, and generates the encrypted data key dkA as the directory key DkA “23FB5A20EC989F1”.

そして、生成部403は、生成したディレクトリ鍵DkA「23FB5A20EC989F1」と、ディレクトリDAを利用するグループGを示す識別情報「GA」と、を対応付けた特定ファイルFAを生成する。   Then, the generation unit 403 generates a specific file FA in which the generated directory key DkA “23FB5A20EC989F1” is associated with the identification information “GA” indicating the group G that uses the directory DA.

生成された第2の分散鍵や特定ファイルFは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、送信部404は、作成するディレクトリDに、ディレクトリD固有のディレクトリ鍵Dkを格納することができる。   The generated second distributed key and specific file F are stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the transmission unit 404 can store the directory key Dk unique to the directory D in the directory D to be created.

この場合、送信部404は、生成部403によって生成された第2の分散鍵といずれかのグループGの識別情報とを関連付けた情報を、データベース101内のいずれかのグループGに固有な格納場所を指定して、データベース101に送信する。ここで、生成部403によって生成された第2の分散鍵といずれかのグループGの識別情報とを関連付けた情報とは、例えば、上述した特定ファイルFである。固有な格納場所とは、例えば、作成要求されたディレクトリDである。   In this case, the transmission unit 404 stores information that associates the second distributed key generated by the generation unit 403 with the identification information of any group G in the database 101 and is stored in a unique location. Is transmitted to the database 101. Here, the information that associates the second distributed key generated by the generation unit 403 with the identification information of any group G is, for example, the specific file F described above. The unique storage location is, for example, the directory D requested to be created.

送信部404は、具体的には、例えば、データベース101が作成要求されたパスにディレクトリDを作成して特定ファイルFを格納するように、データベース101に作成要求されたパスを指定して特定ファイルFを送信する。これにより、データベース101は、作成要求されたパスにディレクトリDを作成し、作成したディレクトリDに特定ファイルFを格納することができる。   Specifically, the transmission unit 404 specifies the path requested to be created in the database 101 and stores the specific file F so that the directory 101 is created in the path requested to be created by the database 101 and the specific file F is stored. Send F. As a result, the database 101 can create the directory D in the path requested to be created, and store the specific file F in the created directory D.

・複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDを作成する場合
ここで、作成されるディレクトリDが、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDである場合を例に挙げる。この場合の作成例は図6を用いて後述する。
When creating a directory D that can be used from any of the information processing apparatuses 100 belonging to any of the plurality of groups G Here, the created directory D can be created from any of the information processing apparatuses 100 belonging to any of the plurality of groups G. The case where the directory D is available is taken as an example. An example of creation in this case will be described later with reference to FIG.

この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含む特定のグループG群に関する格納場所の作成要求を受け付ける。   In this case, the accepting unit 401 relates to a specific group G group including identification information of any group G from a request source device belonging to any group G of the specific group G group among the plurality of groups G. Accepts a storage location creation request.

受付部401は、具体的には、例えば、グループGAとグループGBとに所属する要求元装置から、グループGAとグループGBとのいずれかに所属する情報処理装置100が利用するディレクトリDorの作成要求を受け付ける。   Specifically, the reception unit 401 requests, for example, a request to create a directory Dor used by the information processing apparatus 100 belonging to either the group GA or the group GB from a request source apparatus belonging to the group GA or the group GB. Accept.

作成要求には、例えば、作成するディレクトリDorを利用するグループGを示す識別情報「GA」「GB」と、ディレクトリDorを利用する情報処理装置100がグループGAとグループGBとのいずれかであることを示す条件情報「or」と、が含まれる。また、作成要求には、ディレクトリDorの作成先を示す作成先情報が含まれる。作成先情報とは、例えば、データベース101内の或る階層を示すパスである。   In the creation request, for example, identification information “GA” and “GB” indicating the group G that uses the directory Dor to be created, and the information processing apparatus 100 that uses the directory Dor is either the group GA or the group GB. And condition information “or” indicating “”. The creation request includes creation destination information indicating the creation destination of the directory Dor. The creation destination information is, for example, a path indicating a certain hierarchy in the database 101.

受け付けられた作成要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。   The accepted creation request is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the acquisition unit 402 can obtain a trigger for acquiring the first distributed key.

この場合、取得部402は、受付部401によって作成要求が受け付けられた場合、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第1の分散鍵を記憶装置から取得する。   In this case, when the creation request is accepted by the accepting unit 401, the obtaining unit 402 obtains the first distributed key unique to any group G associated with the identification information of any group G from the storage device. To do.

取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、作成要求内の識別情報「GA」「GB」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」と、探索した「GB」に対応付けられたグループ鍵GkB「3A92EB8FC51F902」を取得する。   Specifically, for example, the acquisition unit 402 searches for identification information “GA” and “GB” in the creation request from the group name item of the group key table 300. Next, the acquiring unit 402 acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA” and the group key GkB “3A92EB8FC51F902” associated with the searched “GB”.

取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵を用いて、第2の分散鍵を生成することができる。   The acquired group key Gk is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the generation unit 403 can generate the second distributed key using the first distributed key.

この場合、生成部403は、特定のグループG群に固有な第2の分散鍵を生成する。生成部403は、具体的には、例えば、作成要求されたディレクトリDorに格納するデータdの暗号化と復号とに使用されるデータ鍵dkor「F921E0A2938F5CB」を生成する。次に、生成部403は、データ鍵dkorを、グループ鍵GkA「FE9F1A9302B582C」を用いて暗号化する。そして、生成部403は、ディレクトリ鍵Dkor1になる暗号化されたデータ鍵dkor「23FB5A20EC989F1」を生成する。   In this case, the generation unit 403 generates a second distributed key unique to the specific group G group. Specifically, the generation unit 403 generates, for example, a data key dkor “F921E0A2938F5CB” used for encryption and decryption of the data d stored in the directory Dor requested to be created. Next, the generation unit 403 encrypts the data key dkor using the group key GkA “FE9F1A9302B582C”. Then, the generation unit 403 generates an encrypted data key dkor “23FB5A20EC989F1” that becomes the directory key Dkor1.

また、生成部403は、データ鍵dkor「F921E0A2938F5CB」を、グループ鍵GkB「3A92EB8FC51F902」を用いて暗号化する。そして、生成部403は、ディレクトリ鍵Dkor2になる暗号化されたデータ鍵dkor「99AA56A3E5DD3A2」を生成する。   Further, the generation unit 403 encrypts the data key dkor “F921E0A2938F5CB” using the group key GkB “3A92EB8FC51F902”. Then, the generation unit 403 generates an encrypted data key dkor “99AA56A3E5DD3A2” to be the directory key Dkor2.

そして、生成部403は、特定ファイルForを生成する。特定ファイルForは、ディレクトリ鍵Dkor1とディレクトリDorを利用するグループGの名称「GA」とを対応付けた情報を含む。また、特定ファイルForは、ディレクトリ鍵Dkor2とディレクトリDorを利用するグループGの名称「GB」とを対応付けた情報を含む。また、特定ファイルFは、ディレクトリDorを利用する情報処理装置100が、グループGAとグループGBとのいずれかに所属する情報処理装置100であることを示す条件情報「or」を含む。   Then, the generation unit 403 generates a specific file For. The specific file For includes information in which the directory key Dkor1 is associated with the name “GA” of the group G that uses the directory Dor. Further, the specific file For includes information in which the directory key Dkor2 is associated with the name “GB” of the group G that uses the directory Dor. Further, the specific file F includes condition information “or” indicating that the information processing apparatus 100 that uses the directory Dor is the information processing apparatus 100 belonging to either the group GA or the group GB.

生成された第2の分散鍵や特定ファイルFは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、送信部404は、作成するディレクトリDに、ディレクトリD固有のディレクトリ鍵Dkを格納することができる。   The generated second distributed key and specific file F are stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the transmission unit 404 can store the directory key Dk unique to the directory D in the directory D to be created.

この場合、送信部404は、生成部403によって生成された第2の分散鍵といずれかのグループGの識別情報とを関連付けた情報を、データベース101内のいずれかのグループGに固有な格納場所を指定して、データベース101に送信する。   In this case, the transmission unit 404 stores information that associates the second distributed key generated by the generation unit 403 with the identification information of any group G in the database 101 and is stored in a unique location. Is transmitted to the database 101.

送信部404は、具体的には、例えば、データベース101が作成要求されたパスにディレクトリDを作成して特定ファイルFを格納するように、データベース101に作成要求されたパスを指定して特定ファイルFを送信する。これにより、データベース101は、作成要求されたパスにディレクトリDを作成し、作成したディレクトリDに特定ファイルFを格納することができる。   Specifically, the transmission unit 404 specifies the path requested to be created in the database 101 and stores the specific file F so that the directory 101 is created in the path requested to be created by the database 101 and the specific file F is stored. Send F. As a result, the database 101 can create the directory D in the path requested to be created, and store the specific file F in the created directory D.

・複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDを作成する場合
ここで、作成されるディレクトリDが、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDである場合を例に挙げる。この場合の作成例は図7を用いて後述する。
When creating a usable directory D from the information processing apparatus 100 belonging to any of the plurality of groups G Here, the created directory D is from the information processing apparatus 100 belonging to any of the plurality of groups G. The case where the directory D is available is taken as an example. A creation example in this case will be described later with reference to FIG.

この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれのグループGにも所属する要求元装置から、特定のグループG群の識別情報を含む特定のグループG群に関する格納場所の作成要求を受け付ける。   In this case, the accepting unit 401 relates to a specific group G group including identification information of the specific group G group from a request source device belonging to any group G of the specific group G group among the plurality of groups G. Accepts a storage location creation request.

受付部401は、具体的には、例えば、グループGAとグループGBとに所属する要求元装置から、グループGAとグループGBとのいずれにも所属する情報処理装置100が利用するディレクトリDandの作成要求を受け付ける。   Specifically, the reception unit 401 requests, for example, a request to create a directory Dand used by the information processing apparatus 100 belonging to both the group GA and the group GB from a request source apparatus belonging to the group GA and the group GB. Accept.

作成要求には、例えば、作成するディレクトリDandを利用するグループGを示す識別情報「GA」「GB」と、ディレクトリDandを利用する情報処理装置100がグループGAとグループGBとのいずれにも所属することを示す条件情報「and」と、が含まれる。また、作成要求には、ディレクトリDandの作成先を示す作成先情報が含まれる。作成先情報とは、例えば、データベース101内の或る階層を示すパスである。   In the creation request, for example, identification information “GA” and “GB” indicating the group G that uses the directory Dand to be created, and the information processing apparatus 100 that uses the directory Dand belong to both the group GA and the group GB. And condition information “and” indicating the above. The creation request includes creation destination information indicating the creation destination of the directory Dand. The creation destination information is, for example, a path indicating a certain hierarchy in the database 101.

受け付けられた作成要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。   The accepted creation request is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the acquisition unit 402 can obtain a trigger for acquiring the first distributed key.

この場合、取得部402は、受付部401によって作成要求が受け付けられた場合、特定のグループG群の識別情報に関連付けられた特定のグループG群の各グループGに固有な第1の分散鍵を記憶装置から取得する。   In this case, when the creation request is accepted by the accepting unit 401, the acquiring unit 402 obtains the first distributed key unique to each group G of the specific group G group associated with the identification information of the specific group G group. Obtained from the storage device.

取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、作成要求内の識別情報「GA」「GB」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」と、探索した「GB」に対応付けられたグループ鍵GkB「3A92EB8FC51F902」を取得する。   Specifically, for example, the acquisition unit 402 searches for identification information “GA” and “GB” in the creation request from the group name item of the group key table 300. Next, the acquiring unit 402 acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA” and the group key GkB “3A92EB8FC51F902” associated with the searched “GB”.

取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵を用いて、第2の分散鍵を生成することができる。   The acquired group key Gk is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the generation unit 403 can generate the second distributed key using the first distributed key.

この場合、生成部403は、特定のグループG群の各グループGに固有な第2の分散鍵群を生成する。生成部403は、具体的には、例えば、作成要求されたディレクトリDandに格納するデータdの暗号化と復号とに使用されるデータ鍵dkand1「F921E0A2938F5CB」とデータ鍵dkand2「989E2BCF32A10F5」の組を生成する。   In this case, the generation unit 403 generates a second distributed key group unique to each group G of the specific group G group. Specifically, the generation unit 403 generates, for example, a set of a data key dkand1 “F921E0A2938F5CB” and a data key dkand2 “989E2BCF32A10F5” used for encryption and decryption of the data d stored in the requested directory Dand. To do.

次に、生成部403は、データ鍵dkand1「F921E0A2938F5CB」を、グループ鍵GkA「FE9F1A9302B582C」を用いて暗号化する。そして、生成部403は、ディレクトリ鍵Dkand1になる暗号化されたデータ鍵dkand1「23FB5A20EC989F1」を生成する。   Next, the generation unit 403 encrypts the data key dkand1 “F921E0A2938F5CB” using the group key GkA “FE9F1A9302B582C”. Then, the generation unit 403 generates an encrypted data key dkand1 “23FB5A20EC989F1” to be the directory key Dkand1.

また、生成部403は、データ鍵dkand2「989E2BCF32A10F5」を、グループ鍵GkB「3A92EB8FC51F902」を用いて暗号化する。そして、情報処理装置100ABは、ディレクトリ鍵Dkand2になる暗号化されたデータ鍵dkand2「2A89E9FC10F532B」を生成する。   Further, the generation unit 403 encrypts the data key dkand2 “989E2BCF32A10F5” using the group key GkB “3A92EB8FC51F902”. Then, the information processing apparatus 100AB generates an encrypted data key dkand2 “2A89E9FC10F532B” that becomes the directory key Dkand2.

そして、生成部403は、特定ファイルFandを生成する。特定ファイルFandは、ディレクトリ鍵Dkand1とディレクトリDandを利用するグループG群の一方の名称「GA」とを対応付けた情報を含む。また、特定ファイルFは、ディレクトリ鍵Dkand2とディレクトリDandを利用するグループG群の他方の名称「GB」とを対応付けた情報を含む。また、特定ファイルFは、ディレクトリDandを利用する情報処理装置100が、グループGAにもグループGBにも所属する情報処理装置100であることを示す条件情報「and」を含む。   Then, the generation unit 403 generates a specific file Fand. The specific file Fand includes information in which the directory key Dkand1 is associated with one name “GA” of the group G group using the directory Dand. The specific file F includes information in which the directory key Dkand2 is associated with the other name “GB” of the group G group that uses the directory Dand. Further, the specific file F includes condition information “and” indicating that the information processing apparatus 100 using the directory Dand is the information processing apparatus 100 belonging to both the group GA and the group GB.

生成された第2の分散鍵や特定ファイルFは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、送信部404は、作成するディレクトリDに、ディレクトリD固有のディレクトリ鍵Dkを格納することができる。   The generated second distributed key and specific file F are stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the transmission unit 404 can store the directory key Dk unique to the directory D in the directory D to be created.

この場合、送信部404は、生成部403によって生成された第2の分散鍵群と特定のグループG群の識別情報とを関連付けた情報を、データベース101内の特定のグループG群に固有な格納場所を指定して、データベース101に送信する。   In this case, the transmission unit 404 stores information that associates the second distributed key group generated by the generation unit 403 with the identification information of the specific group G group, which is unique to the specific group G group in the database 101. A location is designated and transmitted to the database 101.

送信部404は、具体的には、例えば、データベース101が作成要求されたパスにディレクトリDを作成して特定ファイルFを格納するように、データベース101に作成要求されたパスを指定して特定ファイルFを送信する。これにより、データベース101は、作成要求されたパスにディレクトリDを作成し、作成したディレクトリDに特定ファイルFを格納することができる。   Specifically, the transmission unit 404 specifies the path requested to be created in the database 101 and stores the specific file F so that the directory 101 is created in the path requested to be created by the database 101 and the specific file F is stored. Send F. As a result, the database 101 can create the directory D in the path requested to be created, and store the specific file F in the created directory D.

<データdを暗号化してディレクトリDに格納する機能>
次に、情報処理装置100が有するデータdを暗号化してディレクトリDに格納する機能について説明する。データdを暗号化してディレクトリDに格納する機能は、受付部401と、取得部402と、生成部403と、送信部404と、暗号化部405と、により実現される。
<Function to encrypt data d and store it in directory D>
Next, a function of encrypting data d included in the information processing apparatus 100 and storing it in the directory D will be described. The function of encrypting the data d and storing it in the directory D is realized by the reception unit 401, the acquisition unit 402, the generation unit 403, the transmission unit 404, and the encryption unit 405.

・或るグループGに所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合
ここで、或るグループGに所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合を例に挙げる。この場合の格納例は図10を用いて後述する。
When data d is stored in a directory D that can be used from an information processing apparatus 100 belonging to a certain group G Here, data d is stored in a directory D that can be used from the information processing apparatus 100 belonging to a certain group G An example is given below. A storage example in this case will be described later with reference to FIG.

この場合、受付部401は、複数のグループGの中のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含むいずれかのグループGに関するデータdの格納要求を受け付ける。   In this case, the accepting unit 401 requests a storage of data d related to any group G including identification information of any group G from a request source device belonging to any group G among the plurality of groups G. Accept.

受付部401は、具体的には、例えば、グループGAに所属する要求元装置から、グループGAに所属する情報処理装置100が利用するディレクトリDAへのデータdの格納要求を受け付ける。格納要求には、例えば、格納されるデータdが含まれる。また、格納要求には、格納先のディレクトリDAを利用するグループGを示す識別情報「GA」と、格納先のディレクトリDAを示す格納先情報が含まれる。格納先情報とは、例えば、データベース101内の或る階層を示すパスである。   Specifically, the accepting unit 401 accepts, for example, a request to store data d in the directory DA used by the information processing apparatus 100 belonging to the group GA from a request source apparatus belonging to the group GA. The storage request includes, for example, stored data d. The storage request includes identification information “GA” indicating the group G that uses the storage destination directory DA and storage destination information indicating the storage destination directory DA. The storage location information is, for example, a path indicating a certain hierarchy in the database 101.

受け付けられた格納要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。   The received storage request is stored in a storage area such as the RAM 203, the magnetic disk 205, the optical disk 207, for example. Thereby, the acquisition unit 402 can obtain a trigger for acquiring the first distributed key. Further, the transmission unit 404 can specify the location of the directory D.

この場合、取得部402は、受付部401によって格納要求が受け付けられた場合、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第1の分散鍵を記憶装置から取得する。   In this case, when the storage unit 401 receives the storage request, the acquiring unit 402 acquires the first distributed key unique to any group G associated with the identification information of any group G from the storage device. To do.

取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、格納要求内の識別情報「GA」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。   Specifically, for example, the acquisition unit 402 searches for the identification information “GA” in the storage request from the group name item in the group key table 300. Next, the acquiring unit 402 acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA”.

取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵と第2の分散鍵を合成することができる。   The acquired group key Gk is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Accordingly, the generation unit 403 can synthesize the first distributed key and the second distributed key.

この場合、取得部402は、複数のグループGの各グループGのデータd群を記憶するデータベース101から、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第2の分散鍵を取得する。   In this case, the acquisition unit 402 stores the second d unique to any group G associated with the identification information of any group G from the database 101 storing the data d group of each group G of the plurality of groups G. Get a distributed key.

取得部402は、具体的には、例えば、格納要求されたディレクトリDAから、特定ファイルFAを取得する。次に、取得部402は、特定ファイルFAの中から、格納要求内の識別情報「GA」が示すグループGAに対応するディレクトリ鍵DkAを取得する。   Specifically, the acquisition unit 402 acquires the specific file FA from the directory DA requested to be stored, for example. Next, the acquiring unit 402 acquires the directory key DkA corresponding to the group GA indicated by the identification information “GA” in the storage request from the specific file FA.

この場合、生成部403は、第1の分散鍵と取得部402によって取得された第2の分散鍵を合成することにより暗号鍵を生成する。生成部403は、具体的には、例えば、ディレクトリ鍵DkAをグループ鍵GkAを用いて復号して、データ鍵dkAを生成する。   In this case, the generation unit 403 generates an encryption key by combining the first distributed key and the second distributed key acquired by the acquisition unit 402. Specifically, for example, the generation unit 403 generates a data key dkA by decrypting the directory key DkA using the group key GkA.

生成されたデータ鍵dkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、暗号化部405は、ディレクトリDに格納するデータdを暗号化することができる。   The generated data key dk is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the encryption unit 405 can encrypt the data d stored in the directory D.

この場合、暗号化部405は、生成部403によって生成された暗号鍵でデータdを暗号化する。暗号化部405は、具体的には、例えば、データ鍵dkを用いて、データdを暗号化する。これにより、送信部404は、暗号化データCdを送信することができる。   In this case, the encryption unit 405 encrypts the data d with the encryption key generated by the generation unit 403. Specifically, the encryption unit 405 encrypts the data d using, for example, the data key dk. Thereby, the transmission unit 404 can transmit the encrypted data Cd.

この場合、送信部404は、暗号化部405によって暗号化された暗号化データCdをデータベース101内の第2の分散鍵の格納場所に送信する。送信部404は、具体的には、例えば、データベース101が格納要求されたパスのディレクトリDに、暗号化データCdを格納するように、データベース101に格納要求されたパスを指定して暗号化データCdを送信する。これにより、データベース101は、格納要求されたパスのディレクトリDに、暗号化データCdを格納することができる。   In this case, the transmission unit 404 transmits the encrypted data Cd encrypted by the encryption unit 405 to the storage location of the second distributed key in the database 101. Specifically, for example, the transmission unit 404 specifies the path requested to be stored in the database 101 so that the encrypted data Cd is stored in the directory D of the path where the database 101 is requested to store the encrypted data. Send Cd. As a result, the database 101 can store the encrypted data Cd in the directory D of the path requested to be stored.

・複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDにデータdを格納する場合
ここで、作成されるディレクトリDが、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDにデータdを格納する場合を例に挙げる。この場合の格納例は図11を用いて後述する。
When data d is stored in a directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G. Here, the information processing apparatus to which the created directory D belongs to any of the plurality of groups G The case where data d is stored in a directory D that can be used from 100 is taken as an example. An example of storage in this case will be described later with reference to FIG.

この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含む特定のグループG群に関するデータdの格納要求を受け付ける。   In this case, the accepting unit 401 relates to a specific group G group including identification information of any group G from a request source device belonging to any group G of the specific group G group among the plurality of groups G. A storage request for data d is accepted.

受付部401は、具体的には、例えば、グループGAとグループGBとに所属する要求元装置から、グループGAとグループGBとのいずれかに所属する情報処理装置100が利用するディレクトリDorの格納要求を受け付ける。   Specifically, for example, the reception unit 401 requests to store a directory Dor used by the information processing apparatus 100 belonging to either the group GA or the group GB from a request source apparatus belonging to the group GA or the group GB. Accept.

格納要求には、例えば、格納されるデータdが含まれる。また、格納要求には、格納先のディレクトリDorを利用するグループGを示す識別情報「GA」「GB」と、ディレクトリDorを利用する情報処理装置100がグループGAとグループGBとのいずれかであることを示す条件情報「or」と、が含まれる。また、格納要求には、格納先のディレクトリDorを示す格納先情報が含まれる。格納先情報とは、例えば、データベース101内の或る階層を示すパスである。   The storage request includes, for example, stored data d. Further, in the storage request, the identification information “GA” and “GB” indicating the group G that uses the storage destination directory Dor, and the information processing apparatus 100 that uses the directory Dor is either the group GA or the group GB. And condition information “or” indicating that. The storage request includes storage destination information indicating the storage destination directory Dor. The storage location information is, for example, a path indicating a certain hierarchy in the database 101.

受け付けられた格納要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。   The received storage request is stored in a storage area such as the RAM 203, the magnetic disk 205, the optical disk 207, for example. Thereby, the acquisition unit 402 can obtain a trigger for acquiring the first distributed key. Further, the transmission unit 404 can specify the location of the directory D.

この場合、取得部402は、受付部401によって格納要求が受け付けられた場合、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第1の分散鍵を記憶装置から取得する。   In this case, when the storage unit 401 receives the storage request, the acquiring unit 402 acquires the first distributed key unique to any group G associated with the identification information of any group G from the storage device. To do.

取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、格納要求内の識別情報「GA」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。   Specifically, for example, the acquisition unit 402 searches for the identification information “GA” in the storage request from the group name item in the group key table 300. Next, the acquiring unit 402 acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA”.

取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵と第2の分散鍵を合成することができる。   The acquired group key Gk is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Accordingly, the generation unit 403 can synthesize the first distributed key and the second distributed key.

この場合、取得部402は、複数のグループGの各グループGのデータd群を記憶するデータベース101から、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第2の分散鍵を取得する。   In this case, the acquisition unit 402 stores the second d unique to any group G associated with the identification information of any group G from the database 101 storing the data d group of each group G of the plurality of groups G. Get a distributed key.

取得部402は、具体的には、例えば、格納要求されたディレクトリDorから、特定ファイルForを取得する。次に、取得部402は、特定ファイルForの中から、格納要求内の識別情報「GA」が示すグループGAに対応するディレクトリ鍵DkAを取得する。   Specifically, for example, the acquisition unit 402 acquires the specific file For from the directory Dor requested to be stored. Next, the acquiring unit 402 acquires the directory key DkA corresponding to the group GA indicated by the identification information “GA” in the storage request from the specific file For.

この場合、生成部403は、第1の分散鍵と取得部402によって取得された第2の分散鍵を合成することにより暗号鍵を生成する。生成部403は、具体的には、例えば、グループ鍵GkA「FE9F1A9302B582C」を用いて、ディレクトリ鍵Dkor1「23FB5A20EC989F1」を復号し、データ鍵dkor「F921E0A2938F5CB」を生成する。   In this case, the generation unit 403 generates an encryption key by combining the first distributed key and the second distributed key acquired by the acquisition unit 402. Specifically, the generation unit 403, for example, uses the group key GkA “FE9F1A9302B582C” to decrypt the directory key Dkor1 “23FB5A20EC989F1” and generates the data key dkor “F921E0A2938F5CB”.

生成されたデータ鍵dkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、暗号化部405は、ディレクトリDに格納するデータdを暗号化することができる。   The generated data key dk is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the encryption unit 405 can encrypt the data d stored in the directory D.

この場合、暗号化部405は、生成部403によって生成された暗号鍵でデータdを暗号化する。暗号化部405は、具体的には、例えば、データ鍵dkを用いて、データdを暗号化する。これにより、送信部404は、暗号化データCdを送信することができる。   In this case, the encryption unit 405 encrypts the data d with the encryption key generated by the generation unit 403. Specifically, the encryption unit 405 encrypts the data d using, for example, the data key dk. Thereby, the transmission unit 404 can transmit the encrypted data Cd.

この場合、送信部404は、暗号化部405によって暗号化された暗号化データCdをデータベース101内の第2の分散鍵の格納場所に送信する。送信部404は、具体的には、例えば、データベース101が格納要求されたパスのディレクトリDに、暗号化データCdを格納するように、データベース101に格納要求されたパスを指定して暗号化データCdを送信する。これにより、データベース101は、格納要求されたパスのディレクトリDに、暗号化データCdを格納することができる。   In this case, the transmission unit 404 transmits the encrypted data Cd encrypted by the encryption unit 405 to the storage location of the second distributed key in the database 101. Specifically, for example, the transmission unit 404 specifies the path requested to be stored in the database 101 so that the encrypted data Cd is stored in the directory D of the path where the database 101 is requested to store the encrypted data. Send Cd. As a result, the database 101 can store the encrypted data Cd in the directory D of the path requested to be stored.

・複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合
ここで、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合を例に挙げる。この場合の格納例は図12を用いて後述する。
When data d is stored in the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G Here, the directory that can be used from the information processing apparatus 100 that belongs to any of the plurality of groups G A case where data d is stored in D is taken as an example. A storage example in this case will be described later with reference to FIG.

この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれのグループGにも所属する要求元装置から、特定のグループG群の識別情報を含む特定のグループG群に関するデータdの格納要求を受け付ける。   In this case, the accepting unit 401 relates to a specific group G group including identification information of the specific group G group from a request source device belonging to any group G of the specific group G group among the plurality of groups G. A storage request for data d is accepted.

受付部401は、具体的には、例えば、グループGAにもグループGBにも所属する要求元装置から、グループGAとグループGBとのいずれにも所属する情報処理装置100が利用するディレクトリDandへのデータdの格納要求を受け付ける。   Specifically, for example, the accepting unit 401 transfers from the request source device belonging to both the group GA and the group GB to the directory Dand used by the information processing device 100 belonging to both the group GA and the group GB. A storage request for data d is accepted.

格納要求には、例えば、格納されるデータdが含まれる。また、格納要求には、格納先のディレクトリDandを利用するグループGを示す識別情報「GA」「GB」と、ディレクトリDandを利用する情報処理装置100がグループGAとグループGBとのいずれにも所属することを示す条件情報「and」と、が含まれる。また、格納要求には、格納先のディレクトリDandを示す格納先情報が含まれる。格納先情報とは、例えば、データベース101内の或る階層を示すパスである。   The storage request includes, for example, stored data d. Further, in the storage request, the identification information “GA” and “GB” indicating the group G that uses the storage destination directory Dand and the information processing apparatus 100 that uses the directory Dand belong to both the group GA and the group GB. And condition information “and” indicating that the operation is to be performed. The storage request includes storage destination information indicating the storage destination directory Dand. The storage location information is, for example, a path indicating a certain hierarchy in the database 101.

受け付けられた格納要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。   The received storage request is stored in a storage area such as the RAM 203, the magnetic disk 205, the optical disk 207, for example. Thereby, the acquisition unit 402 can obtain a trigger for acquiring the first distributed key. Further, the transmission unit 404 can specify the location of the directory D.

この場合、取得部402は、受付部401によって格納要求が受け付けられた場合、特定のグループG群の識別情報に関連付けられた特定のグループG群の各グループGに固有な第1の分散鍵を記憶装置から取得する。   In this case, when the storage unit 401 receives the storage request, the acquisition unit 402 receives the first distributed key unique to each group G of the specific group G group associated with the identification information of the specific group G group. Obtained from the storage device.

取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、格納要求内の識別情報「GA」「GB」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」と、探索した「GB」に対応付けられたグループ鍵GkB「3A92EB8FC51F902」を取得する。   Specifically, for example, the acquisition unit 402 searches for identification information “GA” and “GB” in the storage request from the group name item of the group key table 300. Next, the acquiring unit 402 acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA” and the group key GkB “3A92EB8FC51F902” associated with the searched “GB”.

取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵と第2の分散鍵を合成することができる。   The acquired group key Gk is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Accordingly, the generation unit 403 can synthesize the first distributed key and the second distributed key.

この場合、取得部402は、複数のグループGの各グループGのデータd群を記憶するデータベース101から、特定のグループG群の識別情報に関連付けられた特定のグループG群の各グループGに固有な第2の分散鍵を取得する。   In this case, the acquisition unit 402 is specific to each group G of the specific group G group associated with the identification information of the specific group G group from the database 101 storing the data d group of each group G of the plurality of groups G. A second distributed key is acquired.

取得部402は、具体的には、例えば、格納要求されたディレクトリDandから、特定ファイルFandを取得する。次に、取得部402は、特定ファイルFandから、ディレクトリ鍵Dkand1「23FB5A20EC989F1」と、ディレクトリ鍵Dkand2「2A89E9FC10F532B」を取得する。   Specifically, for example, the acquisition unit 402 acquires the specific file Fand from the directory Dand requested to be stored. Next, the acquiring unit 402 acquires the directory key Dkand1 “23FB5A20EC989F1” and the directory key Dkand2 “2A89E9FC10F532B” from the specific file Fand.

この場合、生成部403は、第1の分散鍵と取得部402によって取得された第2の分散鍵を合成することにより暗号鍵を生成する。生成部403は、具体的には、例えば、グループ鍵GkA「FE9F1A9302B582C」を用いて、ディレクトリ鍵Dkand1「23FB5A20EC989F1」を復号する。また、生成部403は、グループ鍵GkB「3A92EB8FC51F902」を用いて、ディレクトリ鍵Dkand2「2A89E9FC10F532B」を復号する。次に、生成部403は、復号により、データ鍵dkand1「F921E0A2938F5CB」とデータ鍵dkand2「989E2BCF32A10F5」の組を生成する。   In this case, the generation unit 403 generates an encryption key by combining the first distributed key and the second distributed key acquired by the acquisition unit 402. Specifically, for example, the generation unit 403 uses the group key GkA “FE9F1A9302B582C” to decrypt the directory key Dkand1 “23FB5A20EC989F1”. The generation unit 403 decrypts the directory key Dkand2 “2A89E9FC10F532B” using the group key GkB “3A92EB8FC51F902”. Next, the generation unit 403 generates a pair of the data key dkand1 “F921E0A2938F5CB” and the data key dkand2 “989E2BCF32A10F5” by decryption.

この場合、暗号化部405は、生成部403によって生成された暗号鍵でデータdを暗号化する。データ鍵dkand1とデータ鍵dkand2との組を用いて、データdを暗号化する。暗号化部405は、具体的には、例えば、データdをデータ鍵dkand1を用いて暗号化し、暗号化したデータdをデータ鍵dkand2を用いてさらに暗号化する。また、暗号化部405は、具体的には、例えば、データdをデータ鍵dkand2を用いて暗号化し、暗号化したデータdをデータ鍵dkand1を用いてさらに暗号化してもよい。また、暗号化部405は、データ鍵dkand1と、データ鍵dkand2と、を合成した合成鍵を用いて、データdを暗号化してもよい。これにより、送信部404は、暗号化データCdを送信することができる。   In this case, the encryption unit 405 encrypts the data d with the encryption key generated by the generation unit 403. Data d is encrypted using a set of data key dkand1 and data key dkand2. Specifically, for example, the encryption unit 405 encrypts the data d using the data key dkand1, and further encrypts the encrypted data d using the data key dkand2. Specifically, for example, the encryption unit 405 may encrypt the data d using the data key dkand2 and further encrypt the encrypted data d using the data key dkand1. In addition, the encryption unit 405 may encrypt the data d using a composite key obtained by combining the data key dkand1 and the data key dkand2. Thereby, the transmission unit 404 can transmit the encrypted data Cd.

この場合、送信部404は、暗号化部405によって暗号化された暗号化データCdをデータベース101内の第2の分散鍵の格納場所に送信する。送信部404は、具体的には、例えば、データベース101が格納要求されたパスのディレクトリDに暗号化データCdを格納するように、データベース101に格納要求されたパスを指定して暗号化データCdを送信する。これにより、データベース101は、格納要求されたパスのディレクトリDに、暗号化データCdを格納することができる。   In this case, the transmission unit 404 transmits the encrypted data Cd encrypted by the encryption unit 405 to the storage location of the second distributed key in the database 101. Specifically, for example, the transmission unit 404 specifies the path requested to be stored in the database 101 so that the database 101 stores the encrypted data Cd in the directory D of the path for which the database 101 is requested to store. Send. As a result, the database 101 can store the encrypted data Cd in the directory D of the path requested to be stored.

<ディレクトリDから暗号化データCdを取得して復号する機能>
次に、情報処理装置100が有するディレクトリDから暗号化データCdを取得して復号する機能について説明する。ディレクトリDから暗号化データCdを取得して復号する機能は、受付部401と、取得部402と、生成部403と、送信部404と、暗号化部405と、により実現される。
<Function to obtain encrypted data Cd from directory D and decrypt it>
Next, a function for acquiring and decrypting the encrypted data Cd from the directory D of the information processing apparatus 100 will be described. The function of acquiring and decrypting the encrypted data Cd from the directory D is realized by the reception unit 401, the acquisition unit 402, the generation unit 403, the transmission unit 404, and the encryption unit 405.

・或るグループGに所属する情報処理装置100から利用可能なディレクトリDからデータdを取得する場合
ここで、或るグループGに所属する情報処理装置100から利用可能なディレクトリDからデータdを取得する場合を例に挙げる。この場合の取得例は図15を用いて後述する。
When data d is acquired from an available directory D from an information processing apparatus 100 belonging to a certain group G Here, data d is acquired from an available directory D from the information processing apparatus 100 belonging to a certain group G. An example is given below. An acquisition example in this case will be described later with reference to FIG.

この場合、受付部401は、複数のグループGの中のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含むいずれかのグループGに関するデータdの取得要求を受け付ける。   In this case, the accepting unit 401 makes an acquisition request for data d related to any group G including identification information of any group G from a request source device belonging to any group G among the plurality of groups G. Accept.

受付部401は、具体的には、例えば、グループGAに所属する要求元装置から、グループGAに所属する情報処理装置100が利用するディレクトリDAへのデータdの取得要求を受け付ける。取得要求には、例えば、取得先のディレクトリDAを利用するグループGを示す識別情報「GA」と、取得先のディレクトリDAを示す取得先情報が含まれる。取得先情報とは、例えば、データベース101内の或る階層を示すパスである。   Specifically, the accepting unit 401 accepts, for example, an acquisition request for data d from the request source device belonging to the group GA to the directory DA used by the information processing apparatus 100 belonging to the group GA. The acquisition request includes, for example, identification information “GA” indicating the group G that uses the acquisition destination directory DA and acquisition destination information indicating the acquisition destination directory DA. The acquisition destination information is, for example, a path indicating a certain hierarchy in the database 101.

受け付けられた取得要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。   The accepted acquisition request is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the acquisition unit 402 can obtain a trigger for acquiring the first distributed key. Further, the transmission unit 404 can specify the location of the directory D.

この場合、取得部402および生成部403の機能は、上述した或るグループGに所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合の取得部402および生成部403の機能と同様のため、ここでは説明を省略する。   In this case, the functions of the acquisition unit 402 and the generation unit 403 are the functions of the acquisition unit 402 and the generation unit 403 when the data d is stored in the directory D that can be used from the information processing apparatus 100 belonging to the certain group G described above. Because of this, the description is omitted here.

この場合、暗号化部405は、生成部403によって生成された暗号鍵で暗号化データCdを復号する。暗号化部405は、具体的には、例えば、生成部403によって生成されたデータ鍵dkAを用いて、暗号化データCdを復号する。復号されたデータdは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、送信部404は、復号されたデータdを要求元装置に送信することができる。   In this case, the encryption unit 405 decrypts the encrypted data Cd with the encryption key generated by the generation unit 403. Specifically, the encryption unit 405 decrypts the encrypted data Cd using the data key dkA generated by the generation unit 403, for example. The decrypted data d is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the transmission unit 404 can transmit the decrypted data d to the request source apparatus.

この場合、送信部404は、暗号化部405によって復号されたデータdを要求元装置に送信する。これにより、要求元装置は、復号されたデータdを利用することができる。   In this case, the transmission unit 404 transmits the data d decrypted by the encryption unit 405 to the request source device. Thereby, the request source apparatus can use the decrypted data d.

・複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDからデータdを取得する場合
ここで、作成されるディレクトリDが、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDからデータdを取得する場合を例に挙げる。この場合の取得例は図16を用いて後述する。
In the case where data d is acquired from the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G. Here, the information processing apparatus to which the created directory D belongs to any of the plurality of groups G A case where data d is acquired from a directory D that can be used from 100 will be described as an example. An acquisition example in this case will be described later with reference to FIG.

この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含む特定のグループG群に関するデータdの取得要求を受け付ける。   In this case, the accepting unit 401 relates to a specific group G group including identification information of any group G from a request source device belonging to any group G of the specific group G group among the plurality of groups G. An acquisition request for data d is accepted.

受付部401は、具体的には、例えば、グループGAとグループGBとに所属する要求元装置から、グループGAとグループGBとのいずれかに所属する情報処理装置100が利用するディレクトリDorの取得要求を受け付ける。   Specifically, for example, the reception unit 401 requests acquisition of a directory Dor used by the information processing apparatus 100 belonging to either the group GA or the group GB from a request source apparatus belonging to the group GA or the group GB. Accept.

取得要求には、例えば、取得先のディレクトリDorを利用するグループGを示す識別情報「GA」「GB」と、ディレクトリDorを利用する情報処理装置100がグループGAとグループGBとのいずれかであることを示す条件情報「or」と、が含まれる。また、取得要求には、取得先のディレクトリDorを示す取得先情報が含まれる。取得先情報とは、例えば、データベース101内の或る階層を示すパスである。   In the acquisition request, for example, identification information “GA” and “GB” indicating the group G that uses the acquisition destination directory Dor, and the information processing apparatus 100 that uses the directory Dor is either the group GA or the group GB. And condition information “or” indicating that. The acquisition request includes acquisition destination information indicating the acquisition destination directory Dor. The acquisition destination information is, for example, a path indicating a certain hierarchy in the database 101.

受け付けられた取得要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。   The accepted acquisition request is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the acquisition unit 402 can obtain a trigger for acquiring the first distributed key. Further, the transmission unit 404 can specify the location of the directory D.

この場合、取得部402および生成部403の機能は、上述した複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDにデータdを格納する場合の取得部402および生成部403の機能と同様のため説明を省略する。   In this case, the functions of the acquisition unit 402 and the generation unit 403 are the acquisition unit 402 and the generation unit in the case where the data d is stored in the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G described above. Since it is the same as the function 403, the description thereof is omitted.

この場合、暗号化部405は、生成部403によって生成された暗号鍵で暗号化データCdを復号する。暗号化部405は、具体的には、例えば、生成部403によって生成されたデータ鍵dkAを用いて、暗号化データCdを復号する。復号されたデータdは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、送信部404は、復号されたデータdを要求元装置に送信することができる。   In this case, the encryption unit 405 decrypts the encrypted data Cd with the encryption key generated by the generation unit 403. Specifically, the encryption unit 405 decrypts the encrypted data Cd using the data key dkA generated by the generation unit 403, for example. The decrypted data d is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the transmission unit 404 can transmit the decrypted data d to the request source apparatus.

この場合、送信部404は、暗号化部405によって復号されたデータdを要求元装置に送信する。これにより、要求元装置は、復号されたデータdを利用することができる。   In this case, the transmission unit 404 transmits the data d decrypted by the encryption unit 405 to the request source device. Thereby, the request source apparatus can use the decrypted data d.

・複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDからデータdを取得する場合
ここで、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDにデータdからデータdを取得する場合を例に挙げる。この場合の取得例は図17を用いて後述する。
When acquiring data d from the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G Here, the directory that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G An example in which data d is acquired from data d in D will be described. An acquisition example in this case will be described later with reference to FIG.

この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれのグループGにも所属する要求元装置から、特定のグループG群の識別情報を含む特定のグループG群に関するデータdの取得要求を受け付ける。   In this case, the accepting unit 401 relates to a specific group G group including identification information of the specific group G group from a request source device belonging to any group G of the specific group G group among the plurality of groups G. An acquisition request for data d is accepted.

受付部401は、具体的には、例えば、グループGAにもグループGBにも所属する要求元装置から、グループGAとグループGBとのいずれにも所属する情報処理装置100が利用するディレクトリDandへのデータdの取得要求を受け付ける。   Specifically, for example, the accepting unit 401 transfers from the request source device belonging to both the group GA and the group GB to the directory Dand used by the information processing device 100 belonging to both the group GA and the group GB. An acquisition request for data d is accepted.

取得要求には、例えば、取得先のディレクトリDandを利用するグループGを示す識別情報「GA」「GB」と、ディレクトリDandを利用する情報処理装置100がグループGAとグループGBとのいずれにも所属することを示す条件情報「and」と、が含まれる。また、取得要求には、取得先のディレクトリDandを示す取得先情報が含まれる。取得先情報とは、例えば、データベース101内の或る階層を示すパスである。   In the acquisition request, for example, identification information “GA” and “GB” indicating the group G using the acquisition destination directory Dand, and the information processing apparatus 100 using the directory Dand belong to both the group GA and the group GB. And condition information “and” indicating that the operation is to be performed. The acquisition request includes acquisition destination information indicating the acquisition destination directory Dand. The acquisition destination information is, for example, a path indicating a certain hierarchy in the database 101.

受け付けられた取得要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。   The accepted acquisition request is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the acquisition unit 402 can obtain a trigger for acquiring the first distributed key. Further, the transmission unit 404 can specify the location of the directory D.

この場合、取得部402および生成部403は、上述した複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合の取得部402および生成部403の機能と同様のため説明を省略する。   In this case, the acquisition unit 402 and the generation unit 403 include the acquisition unit 402 and the generation unit 403 that store the data d in the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G described above. The description is omitted because it is the same as the function.

この場合、暗号化部405は、生成部403によって生成された暗号鍵で暗号化データCdを復号する。暗号化部405は、具体的には、例えば、生成部403によって生成されたデータ鍵dkAの組を用いて、暗号化データCdを復号する。復号されたデータdは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、送信部404は、復号されたデータdを要求元装置に送信することができる。   In this case, the encryption unit 405 decrypts the encrypted data Cd with the encryption key generated by the generation unit 403. Specifically, the encryption unit 405 decrypts the encrypted data Cd using, for example, the set of data keys dkA generated by the generation unit 403. The decrypted data d is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207, for example. Thereby, the transmission unit 404 can transmit the decrypted data d to the request source apparatus.

この場合、送信部404は、暗号化部405によって復号されたデータdを要求元装置に送信する。これにより、要求元装置は、復号されたデータdを利用することができる。   In this case, the transmission unit 404 transmits the data d decrypted by the encryption unit 405 to the request source device. Thereby, the request source apparatus can use the decrypted data d.

(ディレクトリDの作成例)
次に、図5〜7を用いて、情報処理装置100によるディレクトリDの作成例について説明する。まず、図5を用いて、或るグループGに所属する情報処理装置100から利用可能なディレクトリDを作成する場合の作成例1について説明する。
(Example of creating directory D)
Next, an example of creating the directory D by the information processing apparatus 100 will be described with reference to FIGS. First, creation example 1 in the case of creating a directory D that can be used from the information processing apparatus 100 belonging to a certain group G will be described with reference to FIG.

図5は、或るグループGに所属する情報処理装置100から利用可能なディレクトリDを作成する場合の作成例1を示す説明図である。図5の例では、グループGAに所属する情報処理装置100A1が、グループGAに所属する情報処理装置100が利用するディレクトリDAを作成する。   FIG. 5 is an explanatory diagram showing a creation example 1 in the case where a directory D that can be used from the information processing apparatus 100 belonging to a certain group G is created. In the example of FIG. 5, the information processing apparatus 100A1 belonging to the group GA creates a directory DA used by the information processing apparatus 100 belonging to the group GA.

図5に示すように、(21)情報処理装置100A1は、ディレクトリDAの作成要求を受け付けると、作成要求されたディレクトリDAを作成するように、データベース101に作成依頼を送信する。これにより、データベース101は、ディレクトリDAを作成する。   As shown in FIG. 5, (21) When the information processing apparatus 100A1 receives a request for creating a directory DA, the information processing apparatus 100A1 sends a creation request to the database 101 so as to create the directory DA requested to be created. As a result, the database 101 creates the directory DA.

(22)次に、情報処理装置100A1は、ディレクトリDAに格納するデータdの暗号化と復号とに使用されるデータ鍵dkA「F921E0A2938F5CB」を生成する。   (22) Next, the information processing apparatus 100A1 generates a data key dkA “F921E0A2938F5CB” used for encryption and decryption of the data d stored in the directory DA.

(23)そして、情報処理装置100A1は、グループ鍵テーブル300のグループ名項目から、ディレクトリDAを利用するグループGAの名称「GA」を探索する。情報処理装置100A1は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。   (23) Then, the information processing apparatus 100A1 searches for the name “GA” of the group GA using the directory DA from the group name item of the group key table 300. The information processing apparatus 100A1 acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA”.

次に、情報処理装置100A1は、データ鍵dkA「F921E0A2938F5CB」を、グループ鍵GkA「FE9F1A9302B582C」を用いて暗号化する。そして、情報処理装置100A1は、ディレクトリ鍵DkAになる暗号化されたデータ鍵dkA「23FB5A20EC989F1」を生成する。   Next, the information processing apparatus 100A1 encrypts the data key dkA “F921E0A2938F5CB” using the group key GkA “FE9F1A9302B582C”. Then, the information processing apparatus 100A1 generates an encrypted data key dkA “23FB5A20EC989F1” that becomes the directory key DkA.

(24)次に、情報処理装置100A1は、生成したディレクトリ鍵DkAとディレクトリDAを利用するグループGの名称「GA」とを対応付けた特定ファイルFAをディレクトリDAに格納するように、データベース101に格納依頼を送信する。これにより、データベース101は、ディレクトリDAに特定ファイルFAを格納する。   (24) Next, the information processing apparatus 100A1 stores the specific file FA in which the generated directory key DkA and the name “GA” of the group G that uses the directory DA are associated with each other in the database 101. Send storage request. As a result, the database 101 stores the specific file FA in the directory DA.

これにより、グループGAに所属する情報処理装置100は、特定ファイルFA内のディレクトリ鍵DkAと、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkAを生成することができる。そのため、グループGAに所属する情報処理装置100は、データ鍵dkAを用いて、ディレクトリDAにデータdを暗号化して格納し、ディレクトリDAから暗号化データCdを取得して復号することができる。   Thereby, the information processing apparatus 100 belonging to the group GA can generate the data key dkA by synthesizing the directory key DkA in the specific file FA and the group key GkA unique to the group GA. For this reason, the information processing apparatus 100 belonging to the group GA can encrypt and store the data d in the directory DA using the data key dkA, and can acquire and decrypt the encrypted data Cd from the directory DA.

一方、グループGAに所属しない情報処理装置100は、特定ファイルFA内のディレクトリ鍵DkAを取得しても、グループGAに固有なグループ鍵GkAを有していないため、データ鍵dkAを合成することができない。そのため、グループGAに所属しない情報処理装置100は、データ鍵dkAがないため、ディレクトリDAに格納するデータdを暗号化することができず、ディレクトリDAから暗号化データCdを取得して復号することができない。   On the other hand, since the information processing apparatus 100 that does not belong to the group GA does not have the group key GkA unique to the group GA even if the directory key DkA in the specific file FA is acquired, the data key dkA can be synthesized. Can not. Therefore, the information processing apparatus 100 that does not belong to the group GA cannot encrypt the data d stored in the directory DA because there is no data key dkA, and acquires and decrypts the encrypted data Cd from the directory DA. I can't.

結果として、ディレクトリDAは、グループGAに所属する情報処理装置100から利用可能、かつ、グループGAに所属しない情報処理装置100から利用不可能なディレクトリDになる。また、ディレクトリDAには、ディレクトリ鍵DkAが格納されるが、データ鍵dkAは格納されていない。そのため、データ鍵dkAの漏洩を防止することができ、セキュリティを担保することができる。   As a result, the directory DA becomes a directory D that can be used from the information processing apparatus 100 that belongs to the group GA and that cannot be used from the information processing apparatus 100 that does not belong to the group GA. The directory DA stores the directory key DkA but does not store the data key dkA. Therefore, leakage of the data key dkA can be prevented and security can be ensured.

次に、図6を用いて、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDを作成する場合の作成例2について説明する。   Next, creation example 2 in the case where a directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G is created will be described with reference to FIG.

図6は、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDを作成する場合の作成例2を示す説明図である。図6の例では、グループGAにもグループGBにも所属する情報処理装置100ABが、グループGAに所属する情報処理装置100からもグループGBに所属する情報処理装置100からも利用するディレクトリDorを作成する。   FIG. 6 is an explanatory diagram illustrating a creation example 2 in the case where a directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G is created. In the example of FIG. 6, the information processing apparatus 100AB belonging to both the group GA and the group GB creates a directory Dor that is used by both the information processing apparatus 100 belonging to the group GA and the information processing apparatus 100 belonging to the group GB. To do.

図6に示すように、(31)情報処理装置100ABは、ディレクトリDorの作成要求を受け付けると、作成要求されたディレクトリDorを作成するように、データベース101に作成依頼を送信する。これにより、データベース101は、ディレクトリDorを作成する。   As illustrated in FIG. 6, (31) when the information processing apparatus 100AB receives a request to create a directory Dor, the information processing apparatus 100AB transmits a creation request to the database 101 so as to create the requested directory Dor. Thereby, the database 101 creates the directory Dor.

(32)次に、情報処理装置100ABは、ディレクトリDorに格納するデータdの暗号化と復号とに使用されるデータ鍵dkor「F921E0A2938F5CB」を生成する。   (32) Next, the information processing apparatus 100AB generates a data key dkor “F921E0A2938F5CB” used for encryption and decryption of the data d stored in the directory Dor.

(33)そして、情報処理装置100ABは、グループ鍵テーブル300のグループ名項目から、ディレクトリDorを利用する一方のグループGAの名称「GA」を探索する。情報処理装置100ABは、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。   (33) Then, the information processing apparatus 100AB searches the name “GA” of one group GA using the directory Dor from the group name item of the group key table 300. The information processing apparatus 100AB acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA”.

次に、情報処理装置100ABは、データ鍵dkor「F921E0A2938F5CB」を、グループ鍵GkA「FE9F1A9302B582C」を用いて暗号化する。そして、情報処理装置100ABは、ディレクトリ鍵Dkor1になる暗号化されたデータ鍵dkor「23FB5A20EC989F1」を生成する。   Next, the information processing apparatus 100AB encrypts the data key dkor “F921E0A2938F5CB” using the group key GkA “FE9F1A9302B582C”. Then, the information processing apparatus 100AB generates an encrypted data key dkor “23FB5A20EC989F1” that becomes the directory key Dkor1.

(34)また、情報処理装置100ABは、グループ鍵テーブル300のグループ名項目から、ディレクトリDorを利用する他方のグループGBの名称「GB」を探索する。情報処理装置100ABは、探索した「GB」に対応付けられたグループ鍵GkB「3A92EB8FC51F902」を取得する。   (34) Further, the information processing apparatus 100AB searches the name “GB” of the other group GB using the directory Dor from the group name item of the group key table 300. The information processing apparatus 100AB acquires the group key GkB “3A92EB8FC51F902” associated with the searched “GB”.

次に、情報処理装置100ABは、データ鍵dkor「F921E0A2938F5CB」を、グループ鍵GkB「3A92EB8FC51F902」を用いて暗号化する。そして、情報処理装置100ABは、ディレクトリ鍵Dkor2になる暗号化されたデータ鍵dkor「99AA56A3E5DD3A2」を生成する。   Next, the information processing apparatus 100AB encrypts the data key dkor “F921E0A2938F5CB” using the group key GkB “3A92EB8FC51F902”. Then, the information processing apparatus 100AB generates an encrypted data key dkor “99AA56A3E5DD3A2” to be the directory key Dkor2.

このように、情報処理装置100ABは、(33)と(34)とにおいて、ディレクトリDorを共用するグループGAとグループGBとの各々に対応するグループ鍵Gkを用いて、同一のデータ鍵dkorを暗号化する。そして、情報処理装置100ABは、ディレクトリ鍵Dkor1とディレクトリ鍵Dkor2とを生成する。   In this way, the information processing apparatus 100AB encrypts the same data key dkor using the group key Gk corresponding to each of the group GA and group GB sharing the directory Dor in (33) and (34). Turn into. Then, the information processing apparatus 100AB generates a directory key Dkor1 and a directory key Dkor2.

(35)次に、情報処理装置100ABは、特定ファイルForを生成する。特定ファイルForは、ディレクトリ鍵Dkor1とディレクトリDorを利用するグループGの名称「GA」とを対応付けた情報を含む。また、特定ファイルForは、ディレクトリ鍵Dkor2とディレクトリDorを利用するグループGの名称「GB」とを対応付けた情報を含む。また、特定ファイルFは、ディレクトリDorを利用する情報処理装置100が、グループGAとグループGBとのいずれかに所属する情報処理装置100であることを示す条件情報「or」を含む。   (35) Next, the information processing apparatus 100AB generates a specific file For. The specific file For includes information in which the directory key Dkor1 is associated with the name “GA” of the group G that uses the directory Dor. Further, the specific file For includes information in which the directory key Dkor2 is associated with the name “GB” of the group G that uses the directory Dor. Further, the specific file F includes condition information “or” indicating that the information processing apparatus 100 that uses the directory Dor is the information processing apparatus 100 belonging to either the group GA or the group GB.

そして、情報処理装置100ABは、生成した特定ファイルForをディレクトリDorに格納するように、データベース101に格納依頼を送信する。これにより、データベース101は、ディレクトリDorに特定ファイルForを格納する。   Then, the information processing apparatus 100AB transmits a storage request to the database 101 so as to store the generated specific file For in the directory Dor. Thereby, the database 101 stores the specific file For in the directory Dor.

これにより、グループGAに所属する情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor1と、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkorを生成することができる。また、グループGBに所属する情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor2と、グループGBに固有なグループ鍵GkBと、を合成して、データ鍵dkorを生成することができる。   Thus, the information processing apparatus 100 belonging to the group GA can generate the data key dkor by synthesizing the directory key Dkor1 in the specific file For and the group key GkA unique to the group GA. Further, the information processing apparatus 100 belonging to the group GB can generate the data key dkor by synthesizing the directory key Dkor2 in the specific file For and the group key GkB unique to the group GB.

そのため、グループGAまたはグループGBに所属する情報処理装置100は、データ鍵dkorを用いて、ディレクトリDorにデータdを暗号化して格納し、ディレクトリDorから暗号化データCdを取得して復号することができる。   Therefore, the information processing apparatus 100 belonging to the group GA or the group GB can encrypt and store the data d in the directory Dor using the data key dkor, and can obtain and decrypt the encrypted data Cd from the directory Dor. it can.

一方、グループGAにもグループGBにも所属しない情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor1やディレクトリ鍵Dkor2を取得しても、データ鍵dkorを合成することができない。そのため、グループGAにもグループGBにも所属しない情報処理装置100は、データ鍵dkorがないため、ディレクトリDorに格納するデータdを暗号化することができず、ディレクトリDorから暗号化データCdを取得して復号することができない。   On the other hand, the information processing apparatus 100 that does not belong to the group GA or the group GB cannot synthesize the data key dkor even if the directory key Dkor1 or the directory key Dkor2 in the specific file For is acquired. Therefore, since the information processing apparatus 100 that does not belong to the group GA or the group GB does not have the data key dkor, the data d stored in the directory Dor cannot be encrypted, and the encrypted data Cd is obtained from the directory Dor. And cannot be decrypted.

結果として、ディレクトリDorは、グループGAまたはグループGBに所属する情報処理装置100から利用可能、かつ、グループGAにもグループGBにも所属しない情報処理装置100から利用不可能なディレクトリDになる。また、ディレクトリDorには、ディレクトリ鍵Dkor1やディレクトリ鍵Dkor2が格納されるが、データ鍵dkorは格納されていない。そのため、データ鍵dkorの漏洩を防止することができ、セキュリティを担保することができる。   As a result, the directory Dor becomes a directory D that can be used from the information processing apparatus 100 belonging to the group GA or the group GB and cannot be used from the information processing apparatus 100 that does not belong to the group GA or the group GB. Further, the directory Dor stores the directory key Dkor1 and the directory key Dkor2, but does not store the data key dkor. Therefore, leakage of the data key dkor can be prevented and security can be ensured.

次に、図7を用いて、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDを作成する場合の作成例3について説明する。   Next, creation example 3 in the case of creating a directory D that can be used from the information processing apparatus 100 belonging to any of a plurality of groups G will be described with reference to FIG.

図7は、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDを作成する場合の作成例3を示す説明図である。図7の例では、グループGAにもグループGBにも所属する情報処理装置100ABが、グループGAにもグループGBにも所属する情報処理装置100から利用するディレクトリDandを作成する。   FIG. 7 is an explanatory diagram illustrating a creation example 3 in the case where a directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G is created. In the example of FIG. 7, the information processing apparatus 100AB belonging to both the group GA and the group GB creates a directory Dand used from the information processing apparatus 100 belonging to the group GA and the group GB.

図7に示すように、(41)情報処理装置100ABは、ディレクトリDandの作成要求を受け付けると、作成要求されたディレクトリDandを作成するように、データベース101に作成依頼を送信する。これにより、データベース101は、ディレクトリDandを作成する。   As illustrated in FIG. 7, (41) when the information processing apparatus 100AB receives a creation request for the directory Dand, the information processing apparatus 100AB transmits a creation request to the database 101 so as to create the requested directory Dand. Thereby, the database 101 creates the directory Dand.

(42)次に、情報処理装置100ABは、ディレクトリDandに格納するデータdの暗号化と復号とに使用されるデータ鍵dkand1「F921E0A2938F5CB」とデータ鍵dkand2「989E2BCF32A10F5」の組を生成する。   (42) Next, the information processing apparatus 100AB generates a set of a data key dkand1 “F921E0A2938F5CB” and a data key dkand2 “989E2BCF32A10F5” used for encryption and decryption of the data d stored in the directory Dand.

(43)そして、情報処理装置100ABは、グループ鍵テーブル300のグループ名項目から、ディレクトリDandを利用するグループG群の一方のグループGAの名称「GA」を探索する。次に、情報処理装置100ABは、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。   (43) Then, the information processing apparatus 100AB searches the name “GA” of one group GA of the group G group using the directory Dand from the group name item of the group key table 300. Next, the information processing apparatus 100AB acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA”.

そして、情報処理装置100ABは、データ鍵dkand1「F921E0A2938F5CB」を、グループ鍵GkA「FE9F1A9302B582C」を用いて暗号化する。そして、情報処理装置100ABは、ディレクトリ鍵Dkand1になる暗号化されたデータ鍵dkand1「23FB5A20EC989F1」を生成する。   Then, the information processing apparatus 100AB encrypts the data key dkand1 “F921E0A2938F5CB” using the group key GkA “FE9F1A9302B582C”. Then, the information processing apparatus 100AB generates an encrypted data key dkand1 “23FB5A20EC989F1” that becomes the directory key Dkand1.

(44)また、情報処理装置100ABは、グループ鍵テーブル300のグループ名項目から、ディレクトリDandを利用するグループG群の他方のグループGBの名称「GB」を探索する。次に、情報処理装置100ABは、探索した「GB」に対応付けられたグループ鍵GkB「3A92EB8FC51F902」を取得する。   (44) Further, the information processing apparatus 100AB searches the group name item of the group key table 300 for the name “GB” of the other group GB of the group G group using the directory Dand. Next, the information processing apparatus 100AB acquires the group key GkB “3A92EB8FC51F902” associated with the searched “GB”.

そして、情報処理装置100ABは、データ鍵dkand2「989E2BCF32A10F5」を、グループ鍵GkB「3A92EB8FC51F902」を用いて暗号化する。そして、情報処理装置100ABは、ディレクトリ鍵Dkand2になる暗号化されたデータ鍵dkand2「2A89E9FC10F532B」を生成する。   Then, the information processing apparatus 100AB encrypts the data key dkand2 “989E2BCF32A10F5” using the group key GkB “3A92EB8FC51F902”. Then, the information processing apparatus 100AB generates an encrypted data key dkand2 “2A89E9FC10F532B” that becomes the directory key Dkand2.

このように、情報処理装置100ABは、(43)と(44)とにおいて、ディレクトリDandを利用するグループG群の各々に対応するグループ鍵Gkを用いて、データ鍵dkand1とデータ鍵dkand2とを暗号化する。そして、情報処理装置100ABは、ディレクトリ鍵Dkand1とディレクトリ鍵Dkand2とを生成する。   As described above, the information processing apparatus 100AB encrypts the data key dkand1 and the data key dkand2 using the group key Gk corresponding to each of the group G group using the directory Dand in (43) and (44). Turn into. Then, the information processing apparatus 100AB generates a directory key Dkand1 and a directory key Dkand2.

(45)次に、情報処理装置100ABは、特定ファイルFandを生成する。特定ファイルFandは、ディレクトリ鍵Dkand1とディレクトリDandを利用するグループG群の一方の名称「GA」とを対応付けた情報を含む。また、特定ファイルFは、ディレクトリ鍵Dkand2とディレクトリDandを利用するグループG群の他方の名称「GB」とを対応付けた情報を含む。また、特定ファイルFは、ディレクトリDandを利用する情報処理装置100が、グループGAにもグループGBにも所属する情報処理装置100であることを示す条件情報「and」を含む。   (45) Next, the information processing apparatus 100AB generates the specific file Fand. The specific file Fand includes information in which the directory key Dkand1 is associated with one name “GA” of the group G group using the directory Dand. The specific file F includes information in which the directory key Dkand2 is associated with the other name “GB” of the group G group that uses the directory Dand. Further, the specific file F includes condition information “and” indicating that the information processing apparatus 100 using the directory Dand is the information processing apparatus 100 belonging to both the group GA and the group GB.

(46)そして、情報処理装置100ABは、生成した特定ファイルFをディレクトリDandに格納するように、データベース101に格納依頼を送信する。これにより、データベース101は、ディレクトリDandに特定ファイルFandを格納する。   (46) Then, the information processing apparatus 100AB transmits a storage request to the database 101 so as to store the generated specific file F in the directory Dand. As a result, the database 101 stores the specific file Fand in the directory Dand.

これにより、グループGAにもグループGBにも所属する情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand1と、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkand1を生成することができる。また、グループGAにもグループGBにも所属する情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand2と、グループGBに固有なグループ鍵GkBと、を合成して、データ鍵dkand2を生成することができる。   Thereby, the information processing apparatus 100 belonging to both the group GA and the group GB generates the data key dkand1 by synthesizing the directory key Dkand1 in the specific file Fand and the group key GkA unique to the group GA. be able to. Further, the information processing apparatus 100 belonging to both the group GA and the group GB generates the data key dkand2 by synthesizing the directory key Dkand2 in the specific file Fand and the group key GkB unique to the group GB. Can do.

そのため、グループGAにもグループGBにも所属する情報処理装置100は、データ鍵dkand1とデータ鍵dkand2とを用いて、ディレクトリDandにデータdを暗号化して格納することができる。また、グループGAにもグループGBにも所属する情報処理装置100は、データ鍵dkand1とデータ鍵dkand2とを用いて、ディレクトリDandから暗号化データCdを取得して復号することができる。   Therefore, the information processing apparatus 100 belonging to both the group GA and the group GB can encrypt and store the data d in the directory Dand using the data key dkand1 and the data key dkand2. Further, the information processing apparatus 100 belonging to both the group GA and the group GB can acquire and decrypt the encrypted data Cd from the directory Dand using the data key dkand1 and the data key dkand2.

一方、グループGAに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand1を取得しても、データ鍵dkand1を合成することができない。また、グループGBに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand2を取得しても、データ鍵dkand2を合成することができない。   On the other hand, the information processing apparatus 100 that does not belong to the group GA cannot synthesize the data key dkand1 even if it acquires the directory key Dkand1 in the specific file Fand. Further, the information processing apparatus 100 that does not belong to the group GB cannot synthesize the data key dkand2 even if it acquires the directory key Dkand2 in the specific file Fand.

そのため、グループGAとグループGBとのいずれかに所属しない情報処理装置100は、データ鍵dkand1とデータ鍵dkand2との少なくとも一方がないため、ディレクトリDandに格納するデータdを暗号化することができない。同様に、グループGAとグループGBとのいずれかに所属しない情報処理装置100は、ディレクトリDandから暗号化データCdを取得しても、復号することができない。   For this reason, the information processing apparatus 100 that does not belong to either the group GA or the group GB does not have at least one of the data key dkand1 and the data key dkand2, and therefore cannot encrypt the data d stored in the directory Dand. Similarly, the information processing apparatus 100 that does not belong to either the group GA or the group GB cannot decrypt the encrypted data Cd from the directory Dand.

結果として、ディレクトリDandは、グループGAにもグループGBにも所属する情報処理装置100から利用可能、かつ、グループGAとグループGBとのいずれかに所属しない情報処理装置100から利用不可能なディレクトリDになる。また、ディレクトリDandには、ディレクトリ鍵Dkand1やディレクトリ鍵Dkand2が格納されるが、データ鍵dkand1やデータ鍵dkand2は格納されていない。そのため、データ鍵dkand1とデータ鍵dkand2との漏洩を防止することができ、セキュリティを担保することができる。   As a result, the directory Dand can be used from the information processing apparatuses 100 belonging to both the group GA and the group GB, and can not be used from the information processing apparatuses 100 that do not belong to either the group GA or the group GB. become. The directory Dand stores the directory key Dkand1 and the directory key Dkand2, but does not store the data key dkand1 and the data key dkand2. Therefore, leakage of the data key dkand1 and the data key dkand2 can be prevented, and security can be ensured.

情報処理装置100は、作成したディレクトリDの下位に、さらに新たなディレクトリDを作成してもよい。ここで、情報処理装置100は、新たな特定ファイルFを作成して新たなディレクトリDに格納してもよい。また、情報処理装置100は、新たなディレクトリDでは、上位のディレクトリDにある特定ファイルFを流用するとして、新たなディレクトリDには特定ファイルFを格納しなくてもよい。   The information processing apparatus 100 may create a new directory D below the created directory D. Here, the information processing apparatus 100 may create a new specific file F and store it in the new directory D. Further, the information processing apparatus 100 does not need to store the specific file F in the new directory D, assuming that the specific file F in the upper directory D is diverted in the new directory D.

(ディレクトリ作成処理)
次に、図8を用いて、情報処理装置100によるディレクトリ作成処理の詳細な処理手順について説明する。ディレクトリ作成処理は、図5〜図7に示した作成例1〜作成例3における情報処理装置100の処理である。
(Directory creation process)
Next, a detailed processing procedure of directory creation processing by the information processing apparatus 100 will be described with reference to FIG. The directory creation process is a process of the information processing apparatus 100 in the creation examples 1 to 3 shown in FIGS.

図8は、情報処理装置100によるディレクトリ作成処理の詳細な処理手順を示すフローチャートである。図8に示すように、まず、情報処理装置100は、作成要求が入力されたか否かを判定する(ステップS801)。ここで、作成要求が入力されていない場合(ステップS801:No)、情報処理装置100は、ステップS801に戻り、作成要求の入力を待つ。   FIG. 8 is a flowchart showing a detailed processing procedure of directory creation processing by the information processing apparatus 100. As shown in FIG. 8, first, the information processing apparatus 100 determines whether a creation request has been input (step S801). If no creation request has been input (step S801: No), the information processing apparatus 100 returns to step S801 and waits for an input of the creation request.

一方、作成要求が入力された場合(ステップS801:Yes)、情報処理装置100は、作成要求されたパスにディレクトリDを作成するように作成依頼をデータベース101に送信する(ステップS802)。   On the other hand, when a creation request is input (step S801: Yes), the information processing apparatus 100 transmits a creation request to the database 101 so as to create the directory D in the path requested to be created (step S802).

次に、情報処理装置100は、特定ファイルFを作成するか否かを判定する(ステップS803)。ここで、特定ファイルFを作成しない場合(ステップS803:No)、情報処理装置100は、ディレクトリ作成処理を終了する。   Next, the information processing apparatus 100 determines whether to create the specific file F (step S803). Here, when the specific file F is not created (step S803: No), the information processing apparatus 100 ends the directory creation process.

一方、特定ファイルFを作成する場合(ステップS803:Yes)、情報処理装置100は、図9に示す特定ファイル作成処理を実行する(ステップS804)。次に、情報処理装置100は、特定ファイル作成処理により作成された特定ファイルFを、ステップS802の作成依頼により作成されたディレクトリDに格納するように格納依頼をデータベース101に送信する(ステップS805)。   On the other hand, when creating the specific file F (step S803: Yes), the information processing apparatus 100 executes the specific file creation process shown in FIG. 9 (step S804). Next, the information processing apparatus 100 transmits a storage request to the database 101 so that the specific file F created by the specific file creation process is stored in the directory D created by the creation request in step S802 (step S805). .

そして、情報処理装置100は、ディレクトリ作成処理を終了する。これにより、情報処理装置100は、利用可能なグループGが特定されたディレクトリDを作成することができる。   Then, the information processing apparatus 100 ends the directory creation process. Thereby, the information processing apparatus 100 can create the directory D in which the available group G is specified.

(特定ファイル作成処理)
次に、図9を用いて、特定ファイル作成処理の詳細な処理手順について説明する。特定ファイル作成処理は、図8のステップS804に示した処理である。
(Specific file creation process)
Next, a detailed processing procedure of the specific file creation process will be described with reference to FIG. The specific file creation process is the process shown in step S804 of FIG.

図9は、特定ファイル作成処理の詳細な処理手順を示すフローチャートである。図9に示すように、情報処理装置100は、作成要求の中から、ディレクトリDを利用するグループGを示す識別情報を取得し、グループ鍵テーブル300の中から、識別情報が示すグループGに対応するグループ鍵Gkを取得する(ステップS901)。   FIG. 9 is a flowchart showing a detailed processing procedure of the specific file creation processing. As illustrated in FIG. 9, the information processing apparatus 100 acquires identification information indicating the group G that uses the directory D from the creation request, and corresponds to the group G indicated by the identification information from the group key table 300. The group key Gk to be acquired is acquired (step S901).

次に、情報処理装置100は、データ鍵dkを生成する(ステップS902)。そして、情報処理装置100は、識別情報に従って、グループ鍵Gkを用いてデータ鍵dkを暗号化する(ステップS903)。   Next, the information processing apparatus 100 generates a data key dk (step S902). Then, the information processing apparatus 100 encrypts the data key dk using the group key Gk according to the identification information (step S903).

次に、情報処理装置100は、暗号化により得られたディレクトリ鍵Dkと識別情報とを対応付けた情報を含む特定ファイルFを作成する(ステップS904)。そして、情報処理装置100は、特定ファイル作成処理を終了する。これにより、情報処理装置100は、特定ファイルFを、ディレクトリDに格納することができる。   Next, the information processing apparatus 100 creates a specific file F including information in which the directory key Dk obtained by encryption is associated with identification information (step S904). Then, the information processing apparatus 100 ends the specific file creation process. Thereby, the information processing apparatus 100 can store the specific file F in the directory D.

(ディレクトリDへのデータdの格納例)
次に、図10〜12を用いて、情報処理装置100によるディレクトリDへのデータdの格納例について説明する。まず、図10を用いて、或るグループGに所属する情報処理装置100から利用可能なディレクトリDへとデータdを格納する場合の格納例1について説明する。
(Example of storing data d in directory D)
Next, an example of storing data d in the directory D by the information processing apparatus 100 will be described with reference to FIGS. First, a storage example 1 in the case where data d is stored in a directory D that can be used from the information processing apparatus 100 belonging to a certain group G will be described with reference to FIG.

図10は、或るグループGに所属する情報処理装置100から利用可能なディレクトリDへとデータdを格納する場合の格納例1を示す説明図である。図10の例では、グループGAに所属する情報処理装置100A1が、グループGAに所属する情報処理装置100が利用するディレクトリDAへとデータdAを格納する。   FIG. 10 is an explanatory diagram illustrating a storage example 1 when data d is stored in a directory D that can be used from the information processing apparatus 100 belonging to a certain group G. In the example of FIG. 10, the information processing apparatus 100A1 belonging to the group GA stores the data dA in the directory DA used by the information processing apparatus 100 belonging to the group GA.

図10に示すように、(51)情報処理装置100A1は、データdAの格納要求を受け付ける。格納要求には、データdAを格納するディレクトリDAを示すパスが含まれる。   As shown in FIG. 10, (51) the information processing apparatus 100A1 accepts a storage request for data dA. The storage request includes a path indicating the directory DA that stores the data dA.

(52)次に、情報処理装置100A1は、格納要求内のパスが示すディレクトリDAから、特定ファイルFAを取得する。そして、情報処理装置100A1は、特定ファイルFAから、ディレクトリDAを利用するグループGAを示す名称「GA」と、識別情報「GA」に対応付けられたディレクトリ鍵DkA「23FB5A20EC989F1」と、を取得する。   (52) Next, the information processing apparatus 100A1 acquires the specific file FA from the directory DA indicated by the path in the storage request. Then, the information processing apparatus 100A1 acquires the name “GA” indicating the group GA that uses the directory DA and the directory key DkA “23FB5A20EC989F1” associated with the identification information “GA” from the specific file FA.

(53)次に、情報処理装置100A1は、グループ鍵テーブル300のグループ名項目から、ディレクトリDAを利用するグループGAの名称「GA」を探索する。情報処理装置100A1は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。   (53) Next, the information processing apparatus 100A1 searches the name “GA” of the group GA using the directory DA from the group name item of the group key table 300. The information processing apparatus 100A1 acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA”.

次に、情報処理装置100A1は、ディレクトリ鍵DkA「23FB5A20EC989F1」を、グループ鍵GkA「FE9F1A9302B582C」を用いて復号する。そして、情報処理装置100A1は、復号により、データ鍵dkA「F921E0A2938F5CB」を生成する。   Next, the information processing apparatus 100A1 decrypts the directory key DkA “23FB5A20EC989F1” using the group key GkA “FE9F1A9302B582C”. Then, the information processing apparatus 100A1 generates the data key dkA “F921E0A2938F5CB” by decryption.

(54)次に、情報処理装置100A1は、生成したデータ鍵dkAを用いて、格納要求されたデータdAを暗号化し、暗号化データCdAを生成する。   (54) Next, the information processing apparatus 100A1 encrypts the data dA requested to be stored by using the generated data key dkA, and generates encrypted data CdA.

(55)そして、情報処理装置100A1は、暗号化データCdAをディレクトリDAに格納するように、データベース101に格納依頼を送信する。これにより、データベース101は、ディレクトリDAに暗号化データCdAを格納する。   (55) Then, the information processing apparatus 100A1 transmits a storage request to the database 101 so as to store the encrypted data CdA in the directory DA. As a result, the database 101 stores the encrypted data CdA in the directory DA.

これにより、グループGAに所属する情報処理装置100は、特定ファイルFA内のディレクトリ鍵DkAと、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkAを生成することができる。そのため、グループGAに所属する情報処理装置100は、データ鍵dkAを用いて、ディレクトリDAにデータdを暗号化して格納することができる。   Thereby, the information processing apparatus 100 belonging to the group GA can generate the data key dkA by synthesizing the directory key DkA in the specific file FA and the group key GkA unique to the group GA. Therefore, the information processing apparatus 100 belonging to the group GA can encrypt and store the data d in the directory DA using the data key dkA.

一方、グループGAに所属しない情報処理装置100は、特定ファイルFA内のディレクトリ鍵DkAを取得しても、グループGAに固有なグループ鍵GkAを有していないため、データ鍵dkAを合成することができない。そのため、グループGAに所属しない情報処理装置100は、データ鍵dkAがないため、ディレクトリDAに格納するデータdを暗号化することができない。   On the other hand, since the information processing apparatus 100 that does not belong to the group GA does not have the group key GkA unique to the group GA even if the directory key DkA in the specific file FA is acquired, the data key dkA can be synthesized. Can not. Therefore, the information processing apparatus 100 that does not belong to the group GA cannot encrypt the data d stored in the directory DA because there is no data key dkA.

次に、図11を用いて、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDへとデータdを格納する場合の格納例2について説明する。   Next, a storage example 2 in the case where the data d is stored in the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G will be described using FIG.

図11は、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDへとデータdを格納する場合の格納例2を示す説明図である。図11の例では、グループGAに所属する情報処理装置100A1が、グループGAに所属する情報処理装置100からもグループGBに所属する情報処理装置100からも利用するディレクトリDorへとデータdorを格納する。   FIG. 11 is an explanatory diagram showing a storage example 2 when data d is stored in a directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G. In the example of FIG. 11, the information processing apparatus 100A1 belonging to the group GA stores data dor from the information processing apparatus 100 belonging to the group GA to the directory Dor used by the information processing apparatus 100 belonging to the group GB. .

図11に示すように、(61)情報処理装置100A1は、データdorの格納要求を受け付ける。格納要求には、データdorを格納するディレクトリDorを示すパスが含まれる。   As shown in FIG. 11, (61) the information processing apparatus 100A1 accepts a storage request for data dor. The storage request includes a path indicating the directory Dor storing the data dor.

(62)次に、情報処理装置100A1は、格納要求内のパスが示すディレクトリDorから、特定ファイルForを取得する。そして、情報処理装置100A1は、特定ファイルForから、ディレクトリDorを利用するグループGAを示す名称「GA」と、識別情報「GA」に対応付けられたディレクトリ鍵Dkor1「23FB5A20EC989F1」を取得する。   (62) Next, the information processing apparatus 100A1 acquires the specific file For from the directory Dor indicated by the path in the storage request. Then, the information processing apparatus 100A1 acquires, from the specific file For, the name “GA” indicating the group GA that uses the directory Dor, and the directory key Dkor1 “23FB5A20EC989F1” associated with the identification information “GA”.

また、情報処理装置100A1は、特定ファイルForから、ディレクトリDorを利用するグループGBを示す名称「GB」と、識別情報「GB」に対応付けられたディレクトリ鍵Dkor2「99AA56A3E5DD3A2」を取得する。また、情報処理装置100A1は、特定ファイルForから、ディレクトリDorを利用する情報処理装置100がグループGAとグループGBとのいずれかに所属する情報処理装置100であることを示す条件情報「or」を取得する。   Further, the information processing apparatus 100A1 acquires the name “GB” indicating the group GB using the directory Dor and the directory key Dkor2 “99AA56A3E5DD3A2” associated with the identification information “GB” from the specific file For. Further, the information processing apparatus 100A1 receives condition information “or” indicating that the information processing apparatus 100 using the directory Dor belongs to either the group GA or the group GB from the specific file For. get.

(63)次に、情報処理装置100A1は、条件情報「or」を用いて、ディレクトリDorを利用する情報処理装置100がグループGAとグループGBとのいずれかに所属すればよいと判定する。換言すれば、情報処理装置100A1は、グループGAとグループGBとのいずれかに対応するグループ鍵Gkがあれば、データ鍵dkorを生成することができ、データdorを暗号化することができると判定する。そして、情報処理装置100A1は、グループGAとグループGBとのいずれかに対応するグループ鍵Gkを取得する。   (63) Next, the information processing apparatus 100A1 determines using the condition information “or” that the information processing apparatus 100 using the directory Dor should belong to either the group GA or the group GB. In other words, the information processing apparatus 100A1 determines that the data key dkor can be generated and the data dor can be encrypted if there is a group key Gk corresponding to either the group GA or the group GB. To do. Then, the information processing apparatus 100A1 acquires a group key Gk corresponding to either the group GA or the group GB.

情報処理装置100A1は、例えば、グループ鍵テーブル300のグループ名項目から、ディレクトリDorを利用する一方のグループGAの名称「GA」を探索する。情報処理装置100A1は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。   For example, the information processing apparatus 100A1 searches the name “GA” of one group GA using the directory Dor from the group name item of the group key table 300. The information processing apparatus 100A1 acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA”.

次に、情報処理装置100A1は、グループGAに対応するディレクトリ鍵Dkor1「23FB5A20EC989F1」を、グループ鍵GkA「FE9F1A9302B582C」を用いて復号する。そして、情報処理装置100A1は、復号により、データ鍵dkor「F921E0A2938F5CB」を生成する。   Next, the information processing apparatus 100A1 decrypts the directory key Dkor1 “23FB5A20EC989F1” corresponding to the group GA using the group key GkA “FE9F1A9302B582C”. Then, the information processing apparatus 100A1 generates the data key dkor “F921E0A2938F5CB” by decryption.

(64)次に、情報処理装置100A1は、生成したデータ鍵dkorを用いて、格納要求されたデータdorを暗号化し、暗号化データCdorを生成する。   (64) Next, the information processing apparatus 100A1 encrypts the data dor requested to be stored using the generated data key dkor, and generates the encrypted data Cdor.

(65)そして、情報処理装置100A1は、暗号化データCdorをディレクトリDorに格納するように、データベース101に格納依頼を送信する。これにより、データベース101は、ディレクトリDorに暗号化データCdorを格納する。   (65) Then, the information processing apparatus 100A1 transmits a storage request to the database 101 so as to store the encrypted data Cdor in the directory Dor. Thereby, the database 101 stores the encrypted data Cdor in the directory Dor.

これにより、グループGAに所属する情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor1と、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkorを生成することができる。また、グループGBに所属する情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor2と、グループGBに固有なグループ鍵GkBと、を合成して、データ鍵dkorを生成することができる。そのため、グループGAまたはグループGBに所属する情報処理装置100は、データ鍵dkorを用いて、ディレクトリDorにデータdを暗号化して格納することができる。   Thus, the information processing apparatus 100 belonging to the group GA can generate the data key dkor by synthesizing the directory key Dkor1 in the specific file For and the group key GkA unique to the group GA. Further, the information processing apparatus 100 belonging to the group GB can generate the data key dkor by synthesizing the directory key Dkor2 in the specific file For and the group key GkB unique to the group GB. Therefore, the information processing apparatus 100 belonging to the group GA or the group GB can encrypt and store the data d in the directory Dor using the data key dkor.

一方、グループGAにもグループGBにも所属しない情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor1やディレクトリ鍵Dkor2を取得しても、データ鍵dkorを合成することができない。そのため、グループGAにもグループGBにも所属しない情報処理装置100は、データ鍵dkorがないため、ディレクトリDorに格納するデータdを暗号化することができない。   On the other hand, the information processing apparatus 100 that does not belong to the group GA or the group GB cannot synthesize the data key dkor even if the directory key Dkor1 or the directory key Dkor2 in the specific file For is acquired. Therefore, the information processing apparatus 100 that does not belong to the group GA or the group GB cannot encrypt the data d stored in the directory Dor because there is no data key dkor.

次に、図12を用いて、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合の格納例3について説明する。   Next, a storage example 3 in the case where the data d is stored in the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G will be described using FIG.

図12は、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合の格納例3を示す説明図である。図12の例では、グループGAにもグループGBにも所属する情報処理装置100ABが、グループGAにもグループGBにも所属する情報処理装置100から利用するディレクトリDandへとデータdandを格納する。   FIG. 12 is an explanatory diagram showing a storage example 3 in the case where the data d is stored in the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G. In the example of FIG. 12, the information processing apparatus 100AB belonging to both the group GA and the group GB stores the data dand in the directory Dand used from the information processing apparatus 100 belonging to the group GA and the group GB.

図12に示すように、(71)情報処理装置100ABは、データdandの格納要求を受け付ける。格納要求には、データdandを格納するディレクトリDandを示すパスが含まれる。   As shown in FIG. 12, (71) the information processing apparatus 100AB accepts a storage request for data dand. The storage request includes a path indicating the directory Dand that stores the data dand.

(72)次に、情報処理装置100ABは、格納要求内のパスが示すディレクトリDandから、特定ファイルFandを取得する。そして、情報処理装置100ABは、特定ファイルFandから、ディレクトリDandを利用するグループGAを示す名称「GA」と、識別情報「GA」に対応付けられたディレクトリ鍵Dkand1「23FB5A20EC989F1」を取得する。   (72) Next, the information processing apparatus 100AB acquires the specific file Fand from the directory Dand indicated by the path in the storage request. Then, the information processing apparatus 100AB obtains the name “GA” indicating the group GA that uses the directory Dand and the directory key Dkand1 “23FB5A20EC989F1” associated with the identification information “GA” from the specific file Fand.

また、情報処理装置100ABは、特定ファイルFandから、ディレクトリDandを利用するグループGBを示す名称「GB」と、識別情報「GB」に対応付けられたディレクトリ鍵Dkand2「2A89E9FC10F532B」を取得する。また、情報処理装置100ABは、特定ファイルFandから、ディレクトリDandを利用する情報処理装置100がグループGAにもグループGBにも所属する情報処理装置100であることを示す条件情報「and」を取得する。   Further, the information processing apparatus 100AB acquires the name “GB” indicating the group GB that uses the directory Dand and the directory key Dkand2 “2A89E9FC10F532B” associated with the identification information “GB” from the specific file Fand. Further, the information processing apparatus 100AB acquires condition information “and” indicating that the information processing apparatus 100 using the directory Dand is the information processing apparatus 100 belonging to the group GA and the group GB from the specific file Fand. .

(73)次に、情報処理装置100ABは、条件情報「and」を用いて、ディレクトリDandを利用する情報処理装置100がグループGAにもグループGBにも所属すればよいと判定する。換言すれば、情報処理装置100ABは、グループGAとグループGBとの各々に対応するグループ鍵Gkがあれば、データ鍵dkand1とデータ鍵dkand2の組を生成することができ、データdandを暗号化することができると判定する。そして、情報処理装置100ABは、グループGAとグループGBとの各々に対応するグループ鍵Gkを取得する。   (73) Next, the information processing apparatus 100AB determines that the information processing apparatus 100 using the directory Dand only needs to belong to the group GA and the group GB using the condition information “and”. In other words, if there is a group key Gk corresponding to each of the group GA and the group GB, the information processing apparatus 100AB can generate a set of the data key dkand1 and the data key dkand2, and encrypts the data dand. Determine that you can. Then, the information processing apparatus 100AB acquires a group key Gk corresponding to each of the group GA and the group GB.

次に、情報処理装置100ABは、グループ鍵テーブル300のグループ名項目から、ディレクトリDandを利用するグループG群の一方のグループGAの名称「GA」を探索する。次に、情報処理装置100ABは、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。   Next, the information processing apparatus 100AB searches the name “GA” of one group GA of the group G group using the directory Dand from the group name item of the group key table 300. Next, the information processing apparatus 100AB acquires the group key GkA “FE9F1A9302B582C” associated with the searched “GA”.

そして、情報処理装置100ABは、ディレクトリ鍵Dkand1「23FB5A20EC989F1」を、グループ鍵GkA「FE9F1A9302B582C」を用いて復号する。そして、情報処理装置100ABは、復号により、データ鍵dkand1「F921E0A2938F5CB」を生成する。   Then, the information processing apparatus 100AB decrypts the directory key Dkand1 “23FB5A20EC989F1” using the group key GkA “FE9F1A9302B582C”. Then, the information processing apparatus 100AB generates the data key dkand1 “F921E0A2938F5CB” by decryption.

また、情報処理装置100ABは、グループ鍵テーブル300のグループ名項目から、ディレクトリDandを利用するグループG群の他方のグループGBの名称「GB」を探索する。次に、情報処理装置100ABは、探索した「GB」に対応付けられたグループ鍵GkB「3A92EB8FC51F902」を取得する。   Further, the information processing apparatus 100AB searches the name “GB” of the other group GB of the group G group using the directory Dand from the group name item of the group key table 300. Next, the information processing apparatus 100AB acquires the group key GkB “3A92EB8FC51F902” associated with the searched “GB”.

そして、情報処理装置100ABは、ディレクトリ鍵Dkand2「2A89E9FC10F532B」を、グループ鍵GkB「3A92EB8FC51F902」を用いて復号する。そして、情報処理装置100ABは、復号により、データ鍵dkand2「989E2BCF32A10F5」を生成する。   Then, the information processing apparatus 100AB decrypts the directory key Dkand2 “2A89E9FC10F532B” using the group key GkB “3A92EB8FC51F902”. Then, the information processing apparatus 100AB generates the data key dkand2 “989E2BCF32A10F5” by decryption.

(74)次に、情報処理装置100ABは、データ鍵dkand1「F921E0A2938F5CB」とデータ鍵dkand2「989E2BCF32A10F5」の組を用いて、データdandを暗号化し、暗号化データCdandを生成する。情報処理装置100ABは、例えば、データdandをデータ鍵dkand1「F921E0A2938F5CB」を用いて暗号化し、暗号化されたデータdandをデータ鍵dkand2「989E2BCF32A10F5」を用いてさらに暗号化する。   (74) Next, the information processing apparatus 100AB encrypts the data dand using the set of the data key dkand1 “F921E0A2938F5CB” and the data key dkand2 “989E2BCF32A10F5” to generate encrypted data Cdand. For example, the information processing apparatus 100AB encrypts the data dand using the data key dkand1 “F921E0A2938F5CB”, and further encrypts the encrypted data dand using the data key dkand2 “989E2BCF32A10F5”.

(75)そして、情報処理装置100ABは、暗号化データCdandをディレクトリDandに格納するように、データベース101に格納依頼を送信する。これにより、データベース101は、ディレクトリDandに暗号化データCdandを格納する。   (75) Then, the information processing apparatus 100AB transmits a storage request to the database 101 so as to store the encrypted data Cdand in the directory Dand. Thereby, the database 101 stores the encrypted data Cdand in the directory Dand.

これにより、グループGAにもグループGBにも所属する情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand1と、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkand1を生成することができる。また、グループGAにもグループGBにも所属する情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand2と、グループGBに固有なグループ鍵GkBと、を合成して、データ鍵dkand2を生成することができる。   Thereby, the information processing apparatus 100 belonging to both the group GA and the group GB generates the data key dkand1 by synthesizing the directory key Dkand1 in the specific file Fand and the group key GkA unique to the group GA. be able to. Further, the information processing apparatus 100 belonging to both the group GA and the group GB generates the data key dkand2 by synthesizing the directory key Dkand2 in the specific file Fand and the group key GkB unique to the group GB. Can do.

そのため、グループGAにもグループGBにも所属する情報処理装置100は、データ鍵dkand1とデータ鍵dkand2との組を用いて、ディレクトリDandにデータdを暗号化して格納することができる。   Therefore, the information processing apparatus 100 belonging to both the group GA and the group GB can encrypt and store the data d in the directory Dand using a set of the data key dkand1 and the data key dkand2.

一方、グループGAに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand1を取得しても、データ鍵dkand1を合成することができない。また、グループGBに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand2を取得しても、データ鍵dkand2を合成することができない。   On the other hand, the information processing apparatus 100 that does not belong to the group GA cannot synthesize the data key dkand1 even if it acquires the directory key Dkand1 in the specific file Fand. Further, the information processing apparatus 100 that does not belong to the group GB cannot synthesize the data key dkand2 even if it acquires the directory key Dkand2 in the specific file Fand.

そのため、グループGAとグループGBとのいずれかに所属しない情報処理装置100は、データ鍵dkand1とデータ鍵dkand2との少なくとも一方がないため、ディレクトリDandに格納するデータdを暗号化することができない。   For this reason, the information processing apparatus 100 that does not belong to either the group GA or the group GB does not have at least one of the data key dkand1 and the data key dkand2, and therefore cannot encrypt the data d stored in the directory Dand.

情報処理装置100は、格納要求内のパスが示すディレクトリDに特定ファイルFがない場合、上位のディレクトリDにある特定ファイルFを流用してもよい。この場合、情報処理装置100は、上位のディレクトリDにある特定ファイルF内のディレクトリ鍵Dkを用いてデータ鍵dkを生成し、データdを暗号化することになる。   When there is no specific file F in the directory D indicated by the path in the storage request, the information processing apparatus 100 may divert the specific file F in the upper directory D. In this case, the information processing apparatus 100 generates the data key dk using the directory key Dk in the specific file F in the upper directory D, and encrypts the data d.

情報処理装置100は、データdを暗号化すると共に、データdに付与された識別名を暗号化してもよい。データdに付与された識別名とは、いわゆるファイル名である。これにより、情報処理装置100は、セキュリティを担保することができる。   The information processing apparatus 100 may encrypt the data d and the identification name given to the data d. The identification name given to the data d is a so-called file name. Thereby, the information processing apparatus 100 can ensure security.

(データ格納処理)
次に、図13を用いて、情報処理装置100によるデータ格納処理の詳細な処理手順について説明する。データ格納処理は、図10〜図12に示した格納例1〜格納例3における情報処理装置100の処理である。
(Data storage processing)
Next, a detailed processing procedure of data storage processing by the information processing apparatus 100 will be described with reference to FIG. The data storage process is a process of the information processing apparatus 100 in the storage examples 1 to 3 shown in FIGS.

図13は、情報処理装置100によるデータ格納処理の詳細な処理手順を示すフローチャートである。図13に示すように、まず、情報処理装置100は、格納要求が入力されたか否かを判定する(ステップS1301)。ここで、格納要求が入力されていない場合(ステップS1301:No)、情報処理装置100は、ステップS1301に戻り、格納要求の入力を待つ。   FIG. 13 is a flowchart illustrating a detailed processing procedure of data storage processing by the information processing apparatus 100. As shown in FIG. 13, first, the information processing apparatus 100 determines whether or not a storage request has been input (step S1301). If a storage request has not been input (step S1301: No), the information processing apparatus 100 returns to step S1301 and waits for a storage request input.

一方、格納要求が入力された場合(ステップS1301:Yes)、情報処理装置100は、格納要求されたパスにあるディレクトリDから特定ファイルFを取得する(ステップS1302)。次に、情報処理装置100は、特定ファイルFが取得できたか否かを判定する(ステップS1303)。   On the other hand, when the storage request is input (step S1301: Yes), the information processing apparatus 100 acquires the specific file F from the directory D in the path requested to be stored (step S1302). Next, the information processing apparatus 100 determines whether or not the specific file F has been acquired (step S1303).

ここで、特定ファイルFが取得できなかった場合(ステップS1303:No)、情報処理装置100は、上位ディレクトリDがあるか否かを判定する(ステップS1304)。ここで、上位ディレクトリDがある場合(ステップS1304:Yes)、情報処理装置100は、ステップS1302に戻る。一方、上位ディレクトリDがない場合(ステップS1304:No)、情報処理装置100は、ステップS1308に移行する。   Here, when the specific file F cannot be acquired (step S1303: No), the information processing apparatus 100 determines whether or not there is an upper directory D (step S1304). If there is a higher directory D (step S1304: YES), the information processing apparatus 100 returns to step S1302. On the other hand, when there is no upper directory D (step S1304: No), the information processing apparatus 100 proceeds to step S1308.

一方、ステップS1303において、特定ファイルFが取得できた場合(ステップS1303:Yes)、情報処理装置100は、図14に示すデータ鍵合成処理を実行する(ステップS1305)。   On the other hand, when the specific file F can be acquired in step S1303 (step S1303: Yes), the information processing apparatus 100 executes the data key synthesis process shown in FIG. 14 (step S1305).

次に、情報処理装置100は、データ鍵合成処理により、データ鍵dkが合成できたか否かを判定する(ステップS1306)。ここで、データ鍵dkが合成できなかった場合(ステップS1306:No)、情報処理装置100は、ステップS1308に移行する。   Next, the information processing apparatus 100 determines whether or not the data key dk has been synthesized by the data key synthesis process (step S1306). Here, when the data key dk cannot be combined (step S1306: No), the information processing apparatus 100 proceeds to step S1308.

一方、データ鍵dkが合成できた場合(ステップS1306:Yes)、情報処理装置100は、合成したデータ鍵dkを用いて、格納要求されたデータdを暗号化する(ステップS1307)。次に、情報処理装置100は、ステップS1308に移行する。   On the other hand, when the data key dk can be synthesized (step S1306: Yes), the information processing apparatus 100 encrypts the data d requested to be stored using the synthesized data key dk (step S1307). Next, the information processing apparatus 100 moves to step S1308.

ステップS1308において、情報処理装置100は、データdを格納する格納依頼をデータベース101に送信する(ステップS1308)。次に、情報処理装置100は、データ格納処理を終了する。これにより、データベース101は、ディレクトリDに暗号化データCdを格納することができる。   In step S1308, the information processing apparatus 100 transmits a storage request for storing the data d to the database 101 (step S1308). Next, the information processing apparatus 100 ends the data storage process. As a result, the database 101 can store the encrypted data Cd in the directory D.

(データ鍵合成処理)
次に、図14を用いて、データ鍵合成処理の詳細な処理手順について説明する。データ鍵合成処理は、図13のステップS1305に示した処理である。
(Data key composition processing)
Next, a detailed processing procedure of the data key synthesis process will be described with reference to FIG. The data key composition process is the process shown in step S1305 of FIG.

図14は、データ鍵合成処理の詳細な処理手順を示すフローチャートである。図14に示すように、まず、情報処理装置100は、特定ファイルF内の条件情報と、グループ鍵テーブル300とを比較する(ステップS1401)。   FIG. 14 is a flowchart showing a detailed processing procedure of the data key composition processing. As shown in FIG. 14, first, the information processing apparatus 100 compares the condition information in the specific file F with the group key table 300 (step S1401).

次に、情報処理装置100は、条件情報が示すグループGに対応するグループ鍵Gkが、グループ鍵テーブル300に格納されているか否かを判定する(ステップS1402)。ここで、格納されていない場合(ステップS1402:No)、情報処理装置100は、データ鍵合成処理を終了する。   Next, the information processing apparatus 100 determines whether or not the group key Gk corresponding to the group G indicated by the condition information is stored in the group key table 300 (step S1402). If the information is not stored (step S1402: No), the information processing apparatus 100 ends the data key composition process.

一方、格納されている場合(ステップS1402:Yes)、情報処理装置100は、条件情報に従ってグループ鍵Gkを取得する(ステップS1403)。次に、情報処理装置100は、取得したグループ鍵Gkを用いて、特定ファイルF内のディレクトリ鍵Dkを復号し、復号によりデータ鍵dkを生成する(ステップS1404)。   On the other hand, if it is stored (step S1402: Yes), the information processing apparatus 100 acquires the group key Gk according to the condition information (step S1403). Next, the information processing apparatus 100 decrypts the directory key Dk in the specific file F using the acquired group key Gk, and generates a data key dk by decryption (step S1404).

そして、情報処理装置100は、データ鍵合成処理を終了する。これにより、情報処理装置100は、データ鍵dkを用いて、データdを暗号化することができる。   Then, the information processing apparatus 100 ends the data key synthesis process. Thereby, the information processing apparatus 100 can encrypt the data d using the data key dk.

(ディレクトリDのデータdの取得例)
次に、図15〜17を用いて、情報処理装置100によるディレクトリDのデータdの取得例について説明する。まず、図15を用いて、或るグループGに所属する情報処理装置100から利用可能なディレクトリDのデータdを取得する場合の取得例1について説明する。
(Example of obtaining data d in directory D)
Next, an example of acquiring the data d in the directory D by the information processing apparatus 100 will be described with reference to FIGS. First, with reference to FIG. 15, an acquisition example 1 in the case where the data d of the directory D that can be used from the information processing apparatus 100 belonging to a certain group G is acquired will be described.

図15は、或るグループGに所属する情報処理装置100から利用可能なディレクトリDのデータdを取得する場合の取得例1を示す説明図である。図15の例では、グループGAに所属する情報処理装置100A1が、グループGAに所属する情報処理装置100が利用するディレクトリDAのデータdAを取得する。   FIG. 15 is an explanatory diagram illustrating an acquisition example 1 when the data d of the directory D that can be used is acquired from the information processing apparatus 100 belonging to a certain group G. In the example of FIG. 15, the information processing apparatus 100A1 belonging to the group GA acquires the data dA of the directory DA used by the information processing apparatus 100 belonging to the group GA.

図15に示すように、(81)情報処理装置100A1は、データdAの取得要求を受け付ける。取得要求には、データdAを取得するディレクトリDAを示すパスが含まれる。次に、情報処理装置100A1は、取得要求内のパスが示すディレクトリDAから、暗号化されたデータdAである暗号化データCdAを取得する。   As shown in FIG. 15, (81) the information processing apparatus 100A1 accepts an acquisition request for data dA. The acquisition request includes a path indicating the directory DA from which the data dA is acquired. Next, the information processing apparatus 100A1 acquires encrypted data CdA that is encrypted data dA from the directory DA indicated by the path in the acquisition request.

(82)の処理は、図10の(52)の処理と同様のため詳細な説明を省略するが、情報処理装置100A1は、取得要求内のパスが示すディレクトリDAの特定ファイルFAから、ディレクトリ鍵DkA「23FB5A20EC989F1」を取得する。   The processing of (82) is the same as the processing of (52) in FIG. 10 and will not be described in detail. However, the information processing apparatus 100A1 uses the directory key from the specific file FA of the directory DA indicated by the path in the acquisition request. DkA “23FB5A20EC989F1” is acquired.

(83)の処理は、図10の(53)の処理と同様のため詳細な説明を省略するが、情報処理装置100A1は、グループ鍵GkA「FE9F1A9302B582C」を取得する。次に、情報処理装置100は、グループ鍵GkAとディレクトリ鍵DkAとを用いて、データ鍵dkA「F921E0A2938F5CB」を生成する。   The process (83) is the same as the process (53) in FIG. 10 and will not be described in detail, but the information processing apparatus 100A1 acquires the group key GkA “FE9F1A9302B582C”. Next, the information processing apparatus 100 generates the data key dkA “F921E0A2938F5CB” using the group key GkA and the directory key DkA.

(84)そして、情報処理装置100A1は、生成したデータ鍵dkAを用いて、取得された暗号化データCdAを復号し、データdAを生成する。   (84) Then, the information processing apparatus 100A1 uses the generated data key dkA to decrypt the acquired encrypted data CdA and generate data dA.

これにより、グループGAに所属する情報処理装置100は、特定ファイルFA内のディレクトリ鍵DkAと、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkAを生成することができる。そのため、グループGAに所属する情報処理装置100は、データ鍵dkAを用いて、ディレクトリDAの暗号化データCdを復号することができる。   Thereby, the information processing apparatus 100 belonging to the group GA can generate the data key dkA by synthesizing the directory key DkA in the specific file FA and the group key GkA unique to the group GA. Therefore, the information processing apparatus 100 belonging to the group GA can decrypt the encrypted data Cd in the directory DA using the data key dkA.

一方、グループGAに所属しない情報処理装置100は、特定ファイルFA内のディレクトリ鍵DkAを取得しても、グループGAに固有なグループ鍵GkAを有していないため、データ鍵dkAを合成することができない。そのため、グループGAに所属しない情報処理装置100は、データ鍵dkAがないため、ディレクトリDAの暗号化データCdを復号することができない。   On the other hand, since the information processing apparatus 100 that does not belong to the group GA does not have the group key GkA unique to the group GA even if the directory key DkA in the specific file FA is acquired, the data key dkA can be synthesized. Can not. Therefore, the information processing apparatus 100 that does not belong to the group GA cannot decrypt the encrypted data Cd in the directory DA because there is no data key dkA.

次に、図16を用いて、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDのデータdを取得する場合の取得例2について説明する。   Next, an acquisition example 2 in the case of acquiring data d of the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G will be described using FIG.

図16は、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDのデータdを取得する場合の取得例2を示す説明図である。図16の例では、グループGAに所属する情報処理装置100A1が、グループGAに所属する情報処理装置100からもグループGBに所属する情報処理装置100からも利用するディレクトリDorのデータdorを取得する。   FIG. 16 is an explanatory diagram illustrating an acquisition example 2 when the data d of the directory D that can be used from the information processing apparatus 100 belonging to any of the plurality of groups G is acquired. In the example of FIG. 16, the information processing apparatus 100A1 belonging to the group GA acquires the data dor of the directory Dor used from both the information processing apparatus 100 belonging to the group GA and the information processing apparatus 100 belonging to the group GB.

図16に示すように、(91)情報処理装置100A1は、データdorの取得要求を受け付ける。取得要求には、データdorを取得するディレクトリDorを示すパスが含まれる。次に、情報処理装置100A1は、取得要求内のパスが示すディレクトリDorから、暗号化されたデータdorである暗号化データCdorを取得する。   As shown in FIG. 16, (91) the information processing apparatus 100A1 accepts an acquisition request for data dor. The acquisition request includes a path indicating the directory Dor for acquiring the data dor. Next, the information processing apparatus 100A1 acquires encrypted data Cdor that is encrypted data dor from the directory Dor indicated by the path in the acquisition request.

(92)の処理は、図11の(62)の処理と同様のため詳細な説明を省略するが、情報処理装置100A1は、取得要求内のパスが示すディレクトリDorの特定ファイルForから、ディレクトリ鍵Dkor1「23FB5A20EC989F1」を取得する。また、情報処理装置100A1は、ディレクトリ鍵Dkor2「99AA56A3E5DD3A2」、条件情報「or」を取得する。   The processing in (92) is the same as the processing in (62) in FIG. 11 and thus will not be described in detail. However, the information processing apparatus 100A1 uses the directory key from the specific file For in the directory Dor indicated by the path in the acquisition request. Dkor1 “23FB5A20EC989F1” is acquired. Further, the information processing apparatus 100A1 acquires the directory key Dkor2 “99AA56A3E5DD3A2” and the condition information “or”.

(93)の処理は、図11の(63)の処理と同様のため詳細な説明を省略するが、情報処理装置100A1は、条件情報「or」を用いてディレクトリDorを利用する情報処理装置100がグループGAとグループGBとのいずれかに所属すればよいと判定する。換言すれば、情報処理装置100A1は、グループGAとグループGBとのいずれかに対応するグループ鍵Gkがあれば、データ鍵dkorを生成することができ、暗号化データCdorを復号することができると判定する。   The processing of (93) is the same as the processing of (63) in FIG. 11 and will not be described in detail. However, the information processing apparatus 100A1 uses the directory Dor using the condition information “or”. Is determined to belong to either the group GA or the group GB. In other words, the information processing apparatus 100A1 can generate the data key dkor and decrypt the encrypted data Cdor if there is a group key Gk corresponding to either the group GA or the group GB. judge.

次に、情報処理装置100A1は、グループ鍵GkA「FE9F1A9302B582C」を取得する。そして、情報処理装置100A1は、グループ鍵GkAとディレクトリ鍵Dkor1と用いて、データ鍵dkor「F921E0A2938F5CB」を生成する。   Next, the information processing apparatus 100A1 acquires the group key GkA “FE9F1A9302B582C”. Then, the information processing apparatus 100A1 generates the data key dkor “F921E0A2938F5CB” using the group key GkA and the directory key Dkor1.

(94)次に、情報処理装置100A1は、生成したデータ鍵dkorを用いて、取得された暗号化データCdorを復号し、データdorを生成する。   (94) Next, the information processing apparatus 100A1 decrypts the acquired encrypted data Cdor using the generated data key dkor to generate data dor.

これにより、グループGAに所属する情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor1と、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkorを生成することができる。また、グループGBに所属する情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor2と、グループGBに固有なグループ鍵GkBと、を合成して、データ鍵dkorを生成することができる。そのため、グループGAまたはグループGBに所属する情報処理装置100は、データ鍵dkorを用いて、ディレクトリDorの暗号化データCdorを復号することができる。   Thus, the information processing apparatus 100 belonging to the group GA can generate the data key dkor by synthesizing the directory key Dkor1 in the specific file For and the group key GkA unique to the group GA. Further, the information processing apparatus 100 belonging to the group GB can generate the data key dkor by synthesizing the directory key Dkor2 in the specific file For and the group key GkB unique to the group GB. Therefore, the information processing apparatus 100 belonging to the group GA or the group GB can decrypt the encrypted data Cdor in the directory Dor using the data key dkor.

一方、グループGAにもグループGBにも所属しない情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor1やディレクトリ鍵Dkor2を取得しても、データ鍵dkorを合成することができない。そのため、グループGAにもグループGBにも所属しない情報処理装置100は、データ鍵dkorがないため、ディレクトリDorの暗号化データCdorを復号することができない。   On the other hand, the information processing apparatus 100 that does not belong to the group GA or the group GB cannot synthesize the data key dkor even if the directory key Dkor1 or the directory key Dkor2 in the specific file For is acquired. Therefore, the information processing apparatus 100 that does not belong to the group GA or the group GB cannot decrypt the encrypted data Cdor in the directory Dor because there is no data key dkor.

次に、図17を用いて、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDのデータdを取得する場合の取得例3について説明する。   Next, with reference to FIG. 17, an acquisition example 3 in the case where the data d of the directory D that can be used is acquired from the information processing apparatus 100 belonging to any of the plurality of groups G will be described.

図17は、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDを取得する場合の取得例3を示す説明図である。図17の例では、グループGAにもグループGBにも所属する情報処理装置100ABが、グループGAにもグループGBにも所属する情報処理装置100から利用するディレクトリDandのデータdandを取得する。   FIG. 17 is an explanatory diagram illustrating an acquisition example 3 in the case of acquiring a usable directory D from the information processing apparatus 100 belonging to any of the plurality of groups G. In the example of FIG. 17, the information processing apparatus 100AB belonging to both the group GA and the group GB acquires the data dand of the directory Dand used from the information processing apparatus 100 belonging to the group GA and the group GB.

図17に示すように、(101)情報処理装置100ABは、データdandの取得要求を受け付ける。取得要求には、データdandを取得するディレクトリDandを示すパスが含まれる。次に、情報処理装置100ABは、取得要求内のパスが示すディレクトリDandから、暗号化されたデータdandである暗号化データCdandを取得する。   As shown in FIG. 17, (101) the information processing apparatus 100AB accepts an acquisition request for data dand. The acquisition request includes a path indicating the directory Dand from which the data dand is acquired. Next, the information processing apparatus 100AB acquires encrypted data Cdand that is encrypted data dand from the directory Dand indicated by the path in the acquisition request.

(102)の処理は、図12の(72)の処理と同様のため詳細な説明を省略するが、情報処理装置100ABは、取得要求内のパスが示すディレクトリDandの特定ファイルFandを取得する。次に、情報処理装置100ABは、特定ファイルFから、グループGAを示す名称「GA」に対応付けられたディレクトリ鍵Dkand1「23FB5A20EC989F1」を取得する。また、情報処理装置100ABは、特定ファイルFandから、グループGBを示す名称「GB」に対応付けられたディレクトリ鍵Dkand2「2A89E9FC10F532B」を取得する。また、情報処理装置100ABは、特定ファイルFandから、条件情報「and」を取得する。   The process (102) is the same as the process (72) in FIG. 12 and thus will not be described in detail. However, the information processing apparatus 100AB acquires the specific file Fand in the directory Dand indicated by the path in the acquisition request. Next, the information processing apparatus 100AB acquires the directory key Dkand1 “23FB5A20EC989F1” associated with the name “GA” indicating the group GA from the specific file F. Further, the information processing apparatus 100AB acquires the directory key Dkand2 “2A89E9FC10F532B” associated with the name “GB” indicating the group GB from the specific file Fand. Further, the information processing apparatus 100AB acquires the condition information “and” from the specific file Fand.

(103)の処理は、図12の(73)の処理と同様のため詳細な説明を省略するが、情報処理装置100ABは、条件情報「and」を用いて、ディレクトリDandを利用する情報処理装置100がグループGAにもグループGBにも所属すればよいと判定する。換言すれば、情報処理装置100ABは、グループGAとグループGBとの各々に対応するグループ鍵Gkがあれば、データ鍵dkand1とデータ鍵dkand2の組を生成することができ、暗号化データCdandを復号することができると判定する。   The process (103) is the same as the process (73) in FIG. 12 and thus will not be described in detail. However, the information processing apparatus 100AB uses the condition information “and” and uses the directory Dand. It is determined that 100 should belong to both group GA and group GB. In other words, if there is a group key Gk corresponding to each of the group GA and the group GB, the information processing apparatus 100AB can generate a set of the data key dkand1 and the data key dkand2 and decrypt the encrypted data Cdand. Determine that you can.

そして、情報処理装置100ABは、グループGAとグループGBとの各々に対応するグループ鍵GkA「FE9F1A9302B582C」とグループ鍵GkB「3A92EB8FC51F902」とを取得する。   Then, the information processing apparatus 100AB acquires the group key GkA “FE9F1A9302B582C” and the group key GkB “3A92EB8FC51F902” corresponding to each of the group GA and the group GB.

そして、情報処理装置100ABは、ディレクトリ鍵Dkand1「23FB5A20EC989F1」を、グループ鍵GkA「FE9F1A9302B582C」を用いて復号し、データ鍵dkand1「F921E0A2938F5CB」を生成する。また、情報処理装置100ABは、ディレクトリ鍵Dkand2「2A89E9FC10F532B」を、グループ鍵GkB「3A92EB8FC51F902」を用いて復号し、データ鍵dkand2「989E2BCF32A10F5」を生成する。   Then, the information processing apparatus 100AB decrypts the directory key Dkand1 “23FB5A20EC989F1” using the group key GkA “FE9F1A9302B582C” and generates a data key dkand1 “F921E0A2938F5CB”. Further, the information processing apparatus 100AB decrypts the directory key Dkand2 “2A89E9FC10F532B” using the group key GkB “3A92EB8FC51F902” and generates the data key dkand2 “989E2BCF32A10F5”.

(104)次に、情報処理装置100ABは、データ鍵dkand1「F921E0A2938F5CB」とデータ鍵dkand2「989E2BCF32A10F5」の組を用いて、暗号化データCdandを復号し、データdandを生成する。情報処理装置100ABは、例えば、暗号化データCdandをデータ鍵dkand1「F921E0A2938F5CB」を用いて復号し、復号された暗号化データCandをデータ鍵dkand2「989E2BCF32A10F5」を用いてさらに復号する。   (104) Next, the information processing apparatus 100AB uses the set of the data key dkand1 “F921E0A2938F5CB” and the data key dkand2 “989E2BCF32A10F5” to decrypt the encrypted data Cdand to generate data dand. For example, the information processing apparatus 100AB decrypts the encrypted data Cdand using the data key dkand1 “F921E0A2938F5CB”, and further decrypts the decrypted encrypted data Cand using the data key dkand2 “989E2BCF32A10F5”.

これにより、グループGAにもグループGBにも所属する情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand1と、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkand1を生成することができる。また、グループGAにもグループGBにも所属する情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand2と、グループGBに固有なグループ鍵GkBと、を合成して、データ鍵dkand2を生成することができる。   Thereby, the information processing apparatus 100 belonging to both the group GA and the group GB generates the data key dkand1 by synthesizing the directory key Dkand1 in the specific file Fand and the group key GkA unique to the group GA. be able to. Further, the information processing apparatus 100 belonging to both the group GA and the group GB generates the data key dkand2 by synthesizing the directory key Dkand2 in the specific file Fand and the group key GkB unique to the group GB. Can do.

そのため、グループGAにもグループGBにも所属する情報処理装置100は、データ鍵dkand1とデータ鍵dkand2との組を用いて、ディレクトリDandの暗号化データCdandを復号することができる。   Therefore, the information processing apparatus 100 belonging to both the group GA and the group GB can decrypt the encrypted data Cdand in the directory Dand using the set of the data key dkand1 and the data key dkand2.

一方、グループGAに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand1を取得しても、データ鍵dkand1を合成することができない。また、グループGBに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand2を取得しても、データ鍵dkand2を合成することができない。   On the other hand, the information processing apparatus 100 that does not belong to the group GA cannot synthesize the data key dkand1 even if it acquires the directory key Dkand1 in the specific file Fand. Further, the information processing apparatus 100 that does not belong to the group GB cannot synthesize the data key dkand2 even if it acquires the directory key Dkand2 in the specific file Fand.

そのため、グループGAとグループGBとのいずれかに所属しない情報処理装置100は、データ鍵dkand1とデータ鍵dkand2との少なくとも一方がないため、ディレクトリDandの暗号化データCdandを復号することができない。   Therefore, the information processing apparatus 100 that does not belong to either the group GA or the group GB does not have at least one of the data key dkand1 and the data key dkand2, and therefore cannot decrypt the encrypted data Cdand in the directory Dand.

情報処理装置100は、格納要求内のパスが示すディレクトリDに特定ファイルFがない場合、上位のディレクトリDにある特定ファイルFを流用してもよい。この場合、情報処理装置100は、上位のディレクトリDにある特定ファイルF内のディレクトリ鍵Dkを用いてデータ鍵dkを生成し、暗号化データCdを復号することになる。   When there is no specific file F in the directory D indicated by the path in the storage request, the information processing apparatus 100 may divert the specific file F in the upper directory D. In this case, the information processing apparatus 100 generates the data key dk using the directory key Dk in the specific file F in the upper directory D, and decrypts the encrypted data Cd.

情報処理装置100は、データdに付与された識別名が暗号化されている場合、データ鍵dkを用いて識別名を復号してもよい。これにより、情報処理装置100の利用者は、データdの識別名を把握することができる。   If the identification name given to the data d is encrypted, the information processing apparatus 100 may decrypt the identification name using the data key dk. Thereby, the user of the information processing apparatus 100 can grasp the identification name of the data d.

(データ取得処理)
次に、図18を用いて、情報処理装置100によるデータ取得処理の詳細な処理手順について説明する。データ取得処理は、図15〜図17に示した取得例1〜取得例3における情報処理装置100の処理である。
(Data acquisition process)
Next, a detailed processing procedure of data acquisition processing by the information processing apparatus 100 will be described with reference to FIG. The data acquisition process is a process of the information processing apparatus 100 in the acquisition examples 1 to 3 shown in FIGS.

図18は、情報処理装置100によるデータ取得処理の詳細な処理手順を示すフローチャートである。図18に示すように、まず、情報処理装置100は、取得要求が入力されたか否かを判定する(ステップS1801)。ここで、取得要求が入力されていない場合(ステップS1801:No)、情報処理装置100は、ステップS1801に戻り、取得要求の入力を待つ。   FIG. 18 is a flowchart illustrating a detailed processing procedure of data acquisition processing by the information processing apparatus 100. As shown in FIG. 18, first, the information processing apparatus 100 determines whether an acquisition request has been input (step S1801). If no acquisition request is input (step S1801: No), the information processing apparatus 100 returns to step S1801 and waits for an acquisition request.

一方、取得要求が入力された場合(ステップS1801:Yes)、情報処理装置100は、取得要求されたパスにあるディレクトリDから特定ファイルFを取得する(ステップS1802)。次に、情報処理装置100は、特定ファイルFが取得できたか否かを判定する(ステップS1803)。   On the other hand, when an acquisition request is input (step S1801: Yes), the information processing apparatus 100 acquires the specific file F from the directory D in the path requested to be acquired (step S1802). Next, the information processing apparatus 100 determines whether or not the specific file F has been acquired (step S1803).

ここで、特定ファイルFが取得できなかった場合(ステップS1803:No)、情報処理装置100は、上位ディレクトリDがあるか否かを判定する(ステップS1804)。ここで、上位ディレクトリDがある場合(ステップS1804:Yes)、情報処理装置100は、ステップS1802に戻る。一方、上位ディレクトリDがない場合(ステップS1804:No)、情報処理装置100は、ディレクトリDからデータdを取得し(ステップS1805)、データ取得処理を終了する。   Here, when the specific file F cannot be acquired (step S1803: No), the information processing apparatus 100 determines whether or not there is an upper directory D (step S1804). If the upper directory D exists (step S1804: YES), the information processing apparatus 100 returns to step S1802. On the other hand, when there is no upper directory D (step S1804: No), the information processing apparatus 100 acquires data d from the directory D (step S1805), and ends the data acquisition process.

一方、ステップS1803において、特定ファイルFが取得できた場合(ステップS1803:Yes)、情報処理装置100は、図14に示したデータ鍵合成処理を実行する(ステップS1806)。   On the other hand, when the specific file F can be acquired in step S1803 (step S1803: Yes), the information processing apparatus 100 executes the data key composition process shown in FIG. 14 (step S1806).

次に、情報処理装置100は、データ鍵合成処理により、データ鍵dkが合成できたか否かを判定する(ステップS1807)。ここで、データ鍵dkが合成できなかった場合(ステップS1807:No)、情報処理装置100は、データ取得処理を終了する。   Next, the information processing apparatus 100 determines whether or not the data key dk has been synthesized by the data key synthesis process (step S1807). If the data key dk cannot be synthesized (step S1807: NO), the information processing apparatus 100 ends the data acquisition process.

一方、データ鍵dkが合成できた場合(ステップS1807:Yes)、ディレクトリDから暗号化データCdを取得する(ステップS1808)。次に、情報処理装置100は、合成したデータ鍵dkを用いて、取得した暗号化データCdを復号する(ステップS1809)。そして、情報処理装置100は、データ取得処理を終了する。これにより、情報処理装置100は、ディレクトリDの暗号化データCdを取得して復号することができる。   On the other hand, if the data key dk can be synthesized (step S1807: YES), the encrypted data Cd is acquired from the directory D (step S1808). Next, the information processing apparatus 100 decrypts the acquired encrypted data Cd using the combined data key dk (step S1809). Then, the information processing apparatus 100 ends the data acquisition process. Thereby, the information processing apparatus 100 can acquire and decrypt the encrypted data Cd in the directory D.

以上説明したように、情報処理装置100は、所属するグループGがディレクトリDを利用可能なグループGであれば、ディレクトリDにあるディレクトリ鍵DkとグループG固有のグループ鍵Gkとを合成することにより、データ鍵dkを生成することができる。一方、情報処理装置100は、所属するグループGがディレクトリDを利用可能なグループGでなければ、ディレクトリ鍵Dkを用いても、データ鍵dkを生成することができない。   As described above, if the group G to which the information processing apparatus 100 belongs is a group G that can use the directory D, the information processing apparatus 100 combines the directory key Dk in the directory D and the group key Gk unique to the group G. The data key dk can be generated. On the other hand, the information processing apparatus 100 cannot generate the data key dk even if the directory key Dk is used unless the group G to which it belongs is a group G that can use the directory D.

これにより、情報処理装置100は、データ鍵dkを用いて、ディレクトリDに格納するデータdを暗号化しておくことができる。また、情報処理装置100は、データ鍵dkを用いて、ディレクトリDに格納された暗号化データCdを取得して復号することができる。そして、ディレクトリDは、利用可能なグループG以外からは利用できないようになる。   Thereby, the information processing apparatus 100 can encrypt the data d stored in the directory D using the data key dk. In addition, the information processing apparatus 100 can acquire and decrypt the encrypted data Cd stored in the directory D using the data key dk. The directory D cannot be used from other than the available group G.

情報処理装置100は、ディレクトリDを作成する場合、ディレクトリDを利用可能なグループGに固有のグループ鍵Gkと合成することにより、データ鍵dkを生成することができるディレクトリ鍵Dkを生成する。次に、情報処理装置100は、ディレクトリDを利用可能なグループGを示す情報とディレクトリ鍵Dkとを対応付けた特定ファイルFをディレクトリDに格納する。これにより、情報処理装置100は、ディレクトリDを利用可能なグループGに固有のグループ鍵Gkを有する情報処理装置100からのみ利用可能なディレクトリDを作成することができる。そのため、ディレクトリDは、利用可能なグループG以外からは利用できないようになる。   When creating the directory D, the information processing apparatus 100 generates a directory key Dk that can generate a data key dk by combining the directory D with a group key Gk unique to the available group G. Next, the information processing apparatus 100 stores in the directory D a specific file F in which information indicating the group G that can use the directory D is associated with the directory key Dk. As a result, the information processing apparatus 100 can create a directory D that can be used only from the information processing apparatus 100 having the group key Gk unique to the group G that can use the directory D. Therefore, the directory D cannot be used from other than the available group G.

また、情報処理装置100によるデータdの暗号化や暗号化データCdの復号は、ディレクトリDのパスに依存しない。そのため、ディレクトリDの格納場所をデータベース101において他の格納場所に移動させても情報処理装置100は暗号化や復号が可能になる。また、ディレクトリDの格納場所をデータベース101以外の他のデータベース101に移動させた場合も同様に情報処理装置100は暗号化や復号が可能になる。   Further, the encryption of the data d and the decryption of the encrypted data Cd by the information processing apparatus 100 do not depend on the path of the directory D. Therefore, even if the storage location of the directory D is moved to another storage location in the database 101, the information processing apparatus 100 can perform encryption and decryption. Similarly, when the storage location of the directory D is moved to a database 101 other than the database 101, the information processing apparatus 100 can perform encryption and decryption.

なお、本実施の形態で説明した取得方法、格納方法、および作成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本取得プログラム、本格納プログラム、および本作成プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本取得プログラム、本格納プログラム、および本作成プログラムは、インターネット等のネットワークを介して配布してもよい。   The acquisition method, storage method, and creation method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. The acquisition program, the storage program, and the creation program are recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and are executed by being read from the recording medium by the computer. The The acquisition program, the storage program, and the creation program may be distributed via a network such as the Internet.

上述した実施の形態に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the embodiment described above.

(付記1)コンピュータが、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの格納要求を受け付け、
前記格納要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵を取得し、
前記第1の分散鍵と取得された第2の分散鍵を合成することにより暗号鍵を生成し、
生成された暗号鍵で前記データを暗号化し、
暗号化された暗号化データを前記データベース内の前記第2の分散鍵の格納場所に送信する、
処理を実行することを特徴とする格納方法。
(Supplementary note 1)
From a request source device belonging to any one of a plurality of groups, accepting a storage request for data related to any of the groups including identification information of any of the groups,
When the storage request is accepted, a first distributed key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
Obtaining a second distributed key unique to any of the groups associated with the identification information of any of the groups from a database storing a data group of each of the plurality of groups;
Generating an encryption key by combining the first distributed key and the acquired second distributed key;
Encrypt the data with the generated encryption key,
Sending encrypted encrypted data to a storage location of the second distributed key in the database;
A storage method characterized by executing processing.

(付記2)前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む格納要求がされた、前記特定のグループ群に関するデータである、
ことを特徴とする付記1に記載の格納方法。
(Supplementary Note 2) The plurality of groups are divided into specific group groups, and the data includes identification information of any of the groups from a request source device belonging to any of the specific group groups. Data relating to the specific group requested for storage.
The storage method according to supplementary note 1, wherein:

(付記3)前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれのグループにも所属する要求元装置から、前記特定のグループ群の識別情報を含む格納要求がされた、前記特定のグループ群に関するデータであり、
前記第1の分散鍵および第2の分散鍵は、それぞれ、前記特定のグループ群の識別情報に関連付けられた前記特定のグループ群の各グループに固有な分散鍵である、
ことを特徴とする付記1に記載の格納方法。
(Supplementary Note 3) The plurality of groups are divided into specific group groups, and the data includes identification information of the specific group groups from a request source device belonging to any group of the specific group groups. Data relating to the specific group requested for storage;
Each of the first distributed key and the second distributed key is a distributed key unique to each group of the specific group group associated with the identification information of the specific group group.
The storage method according to supplementary note 1, wherein:

(付記4)コンピュータが、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの取得要求を受け付け、
前記取得要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵と、前記データを取得された第1の分散鍵と前記第2の分散鍵とを合成することにより得られる暗号鍵により暗号化された暗号化データと、を取得し、
前記第1の分散鍵と取得された第2の分散鍵を合成することにより前記暗号鍵を生成し、
生成された暗号鍵で前記暗号化データを復号し、
復号されたデータを前記要求元装置に送信する、
処理を実行することを特徴とする取得方法。
(Appendix 4) The computer
From a request source device belonging to any one of a plurality of groups, accept a data acquisition request for any of the groups including identification information of any of the groups,
When the acquisition request is accepted, a first shared key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
The second distributed key unique to any one of the groups associated with the identification information of any one of the groups and the data obtained by acquiring the data from the database storing the data group of each of the plurality of groups. Obtaining encrypted data encrypted with an encryption key obtained by synthesizing the first distributed key and the second distributed key;
Generating the encryption key by combining the first distributed key and the acquired second distributed key;
Decrypting the encrypted data with the generated encryption key;
Sending the decrypted data to the requesting device;
An acquisition method characterized by executing processing.

(付記5)前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む取得要求がされた、前記特定のグループ群に関するデータである、
ことを特徴とする付記4に記載の取得方法。
(Supplementary Note 5) The plurality of groups are divided into specific groups, and the data includes identification information of any of the groups from a request source device belonging to any of the specific groups. Data relating to the specific group group for which an acquisition request has been made,
The acquisition method according to supplementary note 4, characterized by:

(付記6)前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれのグループにも所属する要求元装置から、前記特定のグループ群の識別情報を含む取得要求がされた、前記特定のグループ群に関するデータであり、
前記第1の分散鍵および第2の分散鍵は、それぞれ、前記特定のグループ群の識別情報に関連付けられた前記特定のグループ群の各グループに固有な分散鍵である、
ことを特徴とする付記4に記載の取得方法。
(Supplementary Note 6) The plurality of groups are divided into specific group groups, and the data includes identification information of the specific group groups from a request source device belonging to any group of the specific group groups. It is data relating to the specific group group for which an acquisition request has been made,
Each of the first distributed key and the second distributed key is a distributed key unique to each group of the specific group group associated with the identification information of the specific group group.
The acquisition method according to supplementary note 4, characterized by:

(付記7)コンピュータが、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関する格納場所の作成要求を受け付け、
前記作成要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記いずれかのグループに固有な第2の分散鍵を生成し、
生成された第2の分散鍵と前記いずれかのグループの識別情報とを関連付けた情報を、データベース内の前記いずれかのグループに固有な格納場所を指定して、前記データベースに送信する、
処理を実行することを特徴とする作成方法。
(Appendix 7) The computer
From a request source device belonging to any group of a plurality of groups, a storage location creation request for any of the groups including identification information of any of the groups is received,
When the creation request is accepted, a first distributed key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
Generating a second distributed key unique to any of the groups;
Specifying the storage location unique to any one of the groups in the database, and transmitting the information associating the generated second distributed key with the identification information of any one of the groups to the database;
A creation method characterized by executing processing.

(付記8)前記複数のグループは特定のグループ群に分かれており、前記格納場所は、前記特定のグループ群のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む作成要求がされた、前記特定のグループ群に関する格納場所であり、
前記第2の分散鍵は、前記いずれかのグループの識別情報に関連付けられた前記特定のグループ群に固有な分散鍵である、
ことを特徴とする付記7に記載の作成方法。
(Supplementary note 8) The plurality of groups are divided into specific groups, and the storage location receives identification information of any of the groups from a request source device belonging to any of the specific groups. A storage location for the specific group that has been requested to be created;
The second distributed key is a distributed key unique to the specific group group associated with the identification information of any group.
The creation method according to appendix 7, characterized by:

(付記9)前記複数のグループは特定のグループ群に分かれており、前記格納場所は、前記特定のグループ群のいずれのグループにも所属する要求元装置から、前記特定のグループ群の識別情報を含む作成要求がされた、前記特定のグループ群に関する格納場所であり、
前記第1の分散鍵および第2の分散鍵は、それぞれ、前記特定のグループ群の識別情報に関連付けられた前記特定のグループ群の各グループに固有な分散鍵である、
ことを特徴とする付記7に記載の作成方法。
(Supplementary Note 9) The plurality of groups are divided into specific group groups, and the storage location receives the identification information of the specific group groups from the request source device belonging to any group of the specific group groups. A storage location for the specific group that has been requested to be created;
Each of the first distributed key and the second distributed key is a distributed key unique to each group of the specific group group associated with the identification information of the specific group group.
The creation method according to appendix 7, characterized by:

(付記10)複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの格納要求を受け付ける受付部と、
前記受付部によって前記格納要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得する第1の取得部と、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵を取得する第2の取得部と、
前記第1の分散鍵と前記第2の取得部によって取得された第2の分散鍵を合成することにより暗号鍵を生成する生成部と、
前記生成部によって生成された暗号鍵で前記データを暗号化する暗号化部と、
前記暗号化部によって暗号化された暗号化データを前記データベース内の前記第2の分散鍵の格納場所に送信する送信部と、
を有することを特徴とする格納装置。
(Additional remark 10) The reception part which receives the storage request | requirement of the data regarding the said any group containing the identification information of the said any group from the request source apparatus which belongs to any group in a some group,
A first acquisition unit that acquires, from a storage device, a first distributed key unique to any of the groups associated with the identification information of any of the groups when the storage request is received by the reception unit; ,
A second acquisition unit that acquires a second distributed key unique to any of the groups associated with the identification information of any of the groups from a database that stores a data group of each of the plurality of groups; ,
A generating unit that generates an encryption key by combining the first distributed key and the second distributed key acquired by the second acquiring unit;
An encryption unit that encrypts the data with the encryption key generated by the generation unit;
A transmission unit for transmitting the encrypted data encrypted by the encryption unit to the storage location of the second distributed key in the database;
A storage device comprising:

(付記11)複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの取得要求を受け付ける受付部と、
前記受付部によって前記取得要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得する第1の取得部と、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵と、前記データを前記第1の取得部によって取得された第1の分散鍵と前記第2の分散鍵とを合成することにより得られる暗号鍵により暗号化された暗号化データと、を取得する第2の取得部と、
前記第1の分散鍵と前記第2の取得部によって取得された第2の分散鍵を合成することにより前記暗号鍵を生成する生成部と、
前記生成部によって生成された暗号鍵で前記暗号化データを復号する復号部と、
前記復号部によって復号されたデータを前記要求元装置に送信する送信部と、
を有することを特徴とする取得装置。
(Additional remark 11) The reception part which receives the acquisition request | requirement of the data regarding the said any group containing the identification information of the said any group from the request source apparatus which belongs to any group in the some group,
A first acquisition unit that acquires, from a storage device, a first distributed key unique to any of the groups associated with the identification information of any of the groups when the acquisition request is received by the reception unit; ,
From a database storing a data group of each group of the plurality of groups, a second distributed key unique to any one of the groups associated with the identification information of any one of the groups, and the data as the first A second acquisition unit for acquiring encrypted data encrypted with an encryption key obtained by combining the first distributed key acquired by the acquisition unit and the second distributed key;
A generating unit that generates the encryption key by synthesizing the first distributed key and the second distributed key acquired by the second acquiring unit;
A decryption unit for decrypting the encrypted data with the encryption key generated by the generation unit;
A transmission unit that transmits data decoded by the decoding unit to the request source device;
An acquisition apparatus comprising:

(付記12)複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関する格納場所の作成要求を受け付ける受付部と、
前記受付部によって前記作成要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得する取得部と、
前記いずれかのグループに固有な第2の分散鍵を生成する生成部と、
前記生成部によって生成された第2の分散鍵と前記いずれかのグループの識別情報とを関連付けた情報を、データベース内の前記いずれかのグループに固有な格納場所を指定して、前記データベースに送信する送信部と、
を有することを特徴とする作成装置。
(Additional remark 12) The reception part which receives the production | generation request | requirement of the storage location regarding the said any group containing the identification information of the said any group from the request source apparatus which belongs to any group in the some group,
When the creation request is accepted by the accepting unit, an acquisition unit that obtains from the storage device a first distributed key unique to any of the groups associated with the identification information of any of the groups;
A generating unit that generates a second distributed key unique to any one of the groups;
The information that associates the second distributed key generated by the generation unit with the identification information of any of the groups is transmitted to the database by specifying a storage location unique to the any of the groups in the database A transmitter to
A production apparatus characterized by comprising:

(付記13)コンピュータに、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの格納要求を受け付け、
前記格納要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵を取得し、
前記第1の分散鍵と取得された第2の分散鍵を合成することにより暗号鍵を生成し、
生成された暗号鍵で前記データを暗号化し、
暗号化された暗号化データを前記データベース内の前記第2の分散鍵の格納場所に送信する、
処理を実行させることを特徴とする格納プログラム。
(Supplementary note 13)
From a request source device belonging to any one of a plurality of groups, accepting a storage request for data related to any of the groups including identification information of any of the groups,
When the storage request is accepted, a first distributed key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
Obtaining a second distributed key unique to any of the groups associated with the identification information of any of the groups from a database storing a data group of each of the plurality of groups;
Generating an encryption key by combining the first distributed key and the acquired second distributed key;
Encrypt the data with the generated encryption key,
Sending encrypted encrypted data to a storage location of the second distributed key in the database;
A storage program characterized by causing a process to be executed.

(付記14)コンピュータに、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの取得要求を受け付け、
前記取得要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵と、前記データを取得された第1の分散鍵と前記第2の分散鍵とを合成することにより得られる暗号鍵により暗号化された暗号化データと、を取得し、
前記第1の分散鍵と取得された第2の分散鍵を合成することにより前記暗号鍵を生成し、
生成された暗号鍵で前記暗号化データを復号し、
復号されたデータを前記要求元装置に送信する、
処理を実行させることを特徴とする取得プログラム。
(Supplementary note 14)
From a request source device belonging to any one of a plurality of groups, accept a data acquisition request for any of the groups including identification information of any of the groups,
When the acquisition request is accepted, a first shared key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
The second distributed key unique to any one of the groups associated with the identification information of any one of the groups and the data obtained by acquiring the data from the database storing the data group of each of the plurality of groups. Obtaining encrypted data encrypted with an encryption key obtained by synthesizing the first distributed key and the second distributed key;
Generating the encryption key by combining the first distributed key and the acquired second distributed key;
Decrypting the encrypted data with the generated encryption key;
Sending the decrypted data to the requesting device;
An acquisition program characterized by causing a process to be executed.

(付記15)コンピュータに、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関する格納場所の作成要求を受け付け、
前記作成要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記いずれかのグループに固有な第2の分散鍵を生成し、
生成された第2の分散鍵と前記いずれかのグループの識別情報とを関連付けた情報を、データベース内の前記いずれかのグループに固有な格納場所を指定して、前記データベースに送信する、
処理を実行させることを特徴とする作成プログラム。
(Supplementary note 15)
From a request source device belonging to any group of a plurality of groups, a storage location creation request for any of the groups including identification information of any of the groups is received,
When the creation request is accepted, a first distributed key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
Generating a second distributed key unique to any of the groups;
Specifying the storage location unique to any one of the groups in the database, and transmitting the information associating the generated second distributed key with the identification information of any one of the groups to the database;
A creation program characterized by causing processing to be executed.

100 情報処理装置
401 受付部
402 取得部
403 生成部
404 送信部
405 暗号化部
DESCRIPTION OF SYMBOLS 100 Information processing apparatus 401 Reception part 402 Acquisition part 403 Generation part 404 Transmission part 405 Encryption part

Claims (17)

コンピュータが、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの格納要求を受け付け、
前記格納要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵を取得し、
前記第1の分散鍵と取得された第2の分散鍵を合成することにより暗号鍵を生成し、
生成された暗号鍵で前記データを暗号化し、
暗号化された暗号化データを前記データベース内の前記第2の分散鍵の格納場所に送信する、
処理を実行することを特徴とする格納方法。
Computer
From a request source device belonging to any one of a plurality of groups, accepting a storage request for data related to any of the groups including identification information of any of the groups,
When the storage request is accepted, a first distributed key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
Obtaining a second distributed key unique to any of the groups associated with the identification information of any of the groups from a database storing a data group of each of the plurality of groups;
Generating an encryption key by combining the first distributed key and the acquired second distributed key;
Encrypt the data with the generated encryption key,
Sending encrypted encrypted data to a storage location of the second distributed key in the database;
A storage method characterized by executing processing.
前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む格納要求がされた、前記特定のグループ群に関するデータである、
ことを特徴とする請求項1に記載の格納方法。
The plurality of groups are divided into specific groups, and the data is requested to be stored including identification information of any of the groups from a request source device belonging to any of the specific groups. Further, it is data relating to the specific group group,
The storage method according to claim 1, wherein:
前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれのグループにも所属する要求元装置から、前記特定のグループ群の識別情報を含む格納要求がされた、前記特定のグループ群に関するデータであり、
前記第1の分散鍵および第2の分散鍵は、それぞれ、前記特定のグループ群の識別情報に関連付けられた前記特定のグループ群の各グループに固有な分散鍵である、
ことを特徴とする請求項1に記載の格納方法。
The plurality of groups are divided into specific groups, and the data is requested to be stored including identification information of the specific groups from a request source device belonging to any group of the specific groups. Further, it is data relating to the specific group group,
Each of the first distributed key and the second distributed key is a distributed key unique to each group of the specific group group associated with the identification information of the specific group group.
The storage method according to claim 1, wherein:
コンピュータが、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの取得要求を受け付け、
前記取得要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵と、前記データを取得された第1の分散鍵と前記第2の分散鍵とを合成することにより得られる暗号鍵により暗号化された暗号化データと、を取得し、
前記第1の分散鍵と取得された第2の分散鍵を合成することにより前記暗号鍵を生成し、
生成された暗号鍵で前記暗号化データを復号し、
復号されたデータを前記要求元装置に送信する、処理を実行し、
前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む取得要求がされた、前記特定のグループ群に関するデータである、ことを特徴とする取得方法。
Computer
From a request source device belonging to any one of a plurality of groups, accept a data acquisition request for any of the groups including identification information of any of the groups,
When the acquisition request is accepted, a first shared key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
The second distributed key unique to any one of the groups associated with the identification information of any one of the groups and the data obtained by acquiring the data from the database storing the data group of each of the plurality of groups. Obtaining encrypted data encrypted with an encryption key obtained by synthesizing the first distributed key and the second distributed key;
Generating the encryption key by combining the first distributed key and the acquired second distributed key;
Decrypting the encrypted data with the generated encryption key;
Transmitting the decrypted data to the request source device, executing the process,
The plurality of groups are divided into specific group groups, and the data is requested to be acquired including identification information of any of the groups from a request source device belonging to any of the specific group groups. In addition, the acquisition method is data relating to the specific group group.
コンピュータが、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの取得要求を受け付け、
前記取得要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵と、前記データを取得された第1の分散鍵と前記第2の分散鍵とを合成することにより得られる暗号鍵により暗号化された暗号化データと、を取得し、
前記第1の分散鍵と取得された第2の分散鍵を合成することにより前記暗号鍵を生成し、
生成された暗号鍵で前記暗号化データを復号し、
復号されたデータを前記要求元装置に送信する、処理を実行し、
前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれのグループにも所属する要求元装置から、前記特定のグループ群の識別情報を含む取得要求がされた、前記特定のグループ群に関するデータであり、
前記第1の分散鍵および第2の分散鍵は、それぞれ、前記特定のグループ群の識別情報に関連付けられた前記特定のグループ群の各グループに固有な分散鍵である、ことを特徴とする取得方法。
Computer
From a request source device belonging to any one of a plurality of groups, accept a data acquisition request for any of the groups including identification information of any of the groups,
When the acquisition request is accepted, a first shared key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
The second distributed key unique to any one of the groups associated with the identification information of any one of the groups and the data obtained by acquiring the data from the database storing the data group of each of the plurality of groups. Obtaining encrypted data encrypted with an encryption key obtained by synthesizing the first distributed key and the second distributed key;
Generating the encryption key by combining the first distributed key and the acquired second distributed key;
Decrypting the encrypted data with the generated encryption key;
Transmitting the decrypted data to the request source device, executing the process,
The plurality of groups are divided into specific groups, and the data is requested for acquisition including identification information of the specific groups from a request source device belonging to any group of the specific groups. Further, it is data relating to the specific group group,
The first distributed key and the second distributed key are each a distributed key unique to each group of the specific group group associated with the identification information of the specific group group Method.
コンピュータが、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関する格納場所の作成要求を受け付け、
前記作成要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記いずれかのグループに固有な第2の分散鍵を生成し、
生成された第2の分散鍵と前記いずれかのグループの識別情報とを関連付けた情報を、データベース内の前記いずれかのグループに固有な格納場所を指定して、前記データベースに送信する、処理を実行し、
前記複数のグループは特定のグループ群に分かれており、前記格納場所は、前記特定のグループ群のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む作成要求がされた、前記特定のグループ群に関する格納場所であり、
前記第2の分散鍵は、前記いずれかのグループの識別情報に関連付けられた前記特定のグループ群に固有な分散鍵である、ことを特徴とする作成方法。
Computer
From a request source device belonging to any group of a plurality of groups, a storage location creation request for any of the groups including identification information of any of the groups is received,
When the creation request is accepted, a first distributed key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
Generating a second distributed key unique to any of the groups;
A process of transmitting information relating the generated second distributed key and the identification information of any of the groups to the database by designating a storage location unique to the any of the groups in the database, Run,
The plurality of groups are divided into specific groups, and the storage location includes a creation request including identification information of any of the groups from a request source device belonging to any of the specific groups. Is a storage location for the specific group,
The creation method, wherein the second distributed key is a distributed key unique to the specific group group associated with the identification information of any one of the groups.
コンピュータが、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関する格納場所の作成要求を受け付け、
前記作成要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記いずれかのグループに固有な第2の分散鍵を生成し、
生成された第2の分散鍵と前記いずれかのグループの識別情報とを関連付けた情報を、データベース内の前記いずれかのグループに固有な格納場所を指定して、前記データベースに送信する、処理を実行し、
前記複数のグループは特定のグループ群に分かれており、前記格納場所は、前記特定のグループ群のいずれのグループにも所属する要求元装置から、前記特定のグループ群の識別情報を含む作成要求がされた、前記特定のグループ群に関する格納場所であり、
前記第1の分散鍵および第2の分散鍵は、それぞれ、前記特定のグループ群の識別情報に関連付けられた前記特定のグループ群の各グループに固有な分散鍵である、ことを特徴とする作成方法。
Computer
From a request source device belonging to any group of a plurality of groups, a storage location creation request for any of the groups including identification information of any of the groups is received,
When the creation request is accepted, a first distributed key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
Generating a second distributed key unique to any of the groups;
A process of transmitting information relating the generated second distributed key and the identification information of any of the groups to the database by designating a storage location unique to the any of the groups in the database, Run,
The plurality of groups are divided into specific groups, and the storage location includes a creation request including identification information of the specific groups from a request source device belonging to any group of the specific groups. Is a storage location for the specific group,
The first distributed key and the second distributed key are each a distributed key unique to each group of the specific group group associated with the identification information of the specific group group Method.
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの格納要求を受け付ける受付部と、
前記受付部によって前記格納要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得する第1の取得部と、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵を取得する第2の取得部と、
前記第1の分散鍵と前記第2の取得部によって取得された第2の分散鍵を合成することにより暗号鍵を生成する生成部と、
前記生成部によって生成された暗号鍵で前記データを暗号化する暗号化部と、
前記暗号化部によって暗号化された暗号化データを前記データベース内の前記第2の分散鍵の格納場所に送信する送信部と、
を有することを特徴とする格納装置。
A receiving unit that receives a storage request for data related to any one of the groups including the identification information of any one of the groups from a request source device belonging to any one of the plurality of groups;
A first acquisition unit that acquires, from a storage device, a first distributed key unique to any of the groups associated with the identification information of any of the groups when the storage request is received by the reception unit; ,
A second acquisition unit that acquires a second distributed key unique to any of the groups associated with the identification information of any of the groups from a database that stores a data group of each of the plurality of groups; ,
A generating unit that generates an encryption key by combining the first distributed key and the second distributed key acquired by the second acquiring unit;
An encryption unit that encrypts the data with the encryption key generated by the generation unit;
A transmission unit for transmitting the encrypted data encrypted by the encryption unit to the storage location of the second distributed key in the database;
A storage device comprising:
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの取得要求を受け付ける受付部と、
前記受付部によって前記取得要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得する第1の取得部と、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵と、前記データを前記第1の取得部によって取得された第1の分散鍵と前記第2の分散鍵とを合成することにより得られる暗号鍵により暗号化された暗号化データと、を取得する第2の取得部と、
前記第1の分散鍵と前記第2の取得部によって取得された第2の分散鍵を合成することにより前記暗号鍵を生成する生成部と、
前記生成部によって生成された暗号鍵で前記暗号化データを復号する復号部と、
前記復号部によって復号されたデータを前記要求元装置に送信する送信部と、を有し、
前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれのグループにも所属する要求元装置から、前記特定のグループ群の識別情報を含む取得要求がされた、前記特定のグループ群に関するデータであり、
前記第1の分散鍵および第2の分散鍵は、それぞれ、前記特定のグループ群の識別情報に関連付けられた前記特定のグループ群の各グループに固有な分散鍵である、ことを特徴とする取得装置。
A receiving unit that receives an acquisition request for data regarding any of the groups including the identification information of any of the groups from a request source device belonging to any of the plurality of groups;
A first acquisition unit that acquires, from a storage device, a first distributed key unique to any of the groups associated with the identification information of any of the groups when the acquisition request is received by the reception unit; ,
From a database storing a data group of each group of the plurality of groups, a second distributed key unique to any one of the groups associated with the identification information of any one of the groups, and the data as the first A second acquisition unit for acquiring encrypted data encrypted with an encryption key obtained by combining the first distributed key acquired by the acquisition unit and the second distributed key;
A generating unit that generates the encryption key by synthesizing the first distributed key and the second distributed key acquired by the second acquiring unit;
A decryption unit for decrypting the encrypted data with the encryption key generated by the generation unit;
A transmission unit that transmits the data decoded by the decoding unit to the request source device,
The plurality of groups are divided into specific groups, and the data is requested for acquisition including identification information of the specific groups from a request source device belonging to any group of the specific groups. Further, it is data relating to the specific group group,
The first distributed key and the second distributed key are each a distributed key unique to each group of the specific group group associated with the identification information of the specific group group apparatus.
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの取得要求を受け付ける受付部と、
前記受付部によって前記取得要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得する第1の取得部と、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵と、前記データを前記第1の取得部によって取得された第1の分散鍵と前記第2の分散鍵とを合成することにより得られる暗号鍵により暗号化された暗号化データと、を取得する第2の取得部と、
前記第1の分散鍵と前記第2の取得部によって取得された第2の分散鍵を合成することにより前記暗号鍵を生成する生成部と、
前記生成部によって生成された暗号鍵で前記暗号化データを復号する復号部と、
前記復号部によって復号されたデータを前記要求元装置に送信する送信部と、を有し、
前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれかのグループに所属する前記要求元装置から、前記いずれかのグループの識別情報を含む取得要求がされた、前記特定のグループ群に関するデータである、ことを特徴とする取得装置。
A receiving unit that receives an acquisition request for data regarding any of the groups including the identification information of any of the groups from a request source device belonging to any of the plurality of groups;
A first acquisition unit that acquires, from a storage device, a first distributed key unique to any of the groups associated with the identification information of any of the groups when the acquisition request is received by the reception unit; ,
From a database storing a data group of each group of the plurality of groups, a second distributed key unique to any one of the groups associated with the identification information of any one of the groups, and the data as the first A second acquisition unit for acquiring encrypted data encrypted with an encryption key obtained by combining the first distributed key acquired by the acquisition unit and the second distributed key;
A generating unit that generates the encryption key by synthesizing the first distributed key and the second distributed key acquired by the second acquiring unit;
A decryption unit for decrypting the encrypted data with the encryption key generated by the generation unit;
A transmission unit that transmits the data decoded by the decoding unit to the request source device,
The plurality of groups are divided into specific groups, and the data includes an acquisition request including identification information of any of the groups from the request source device belonging to any of the specific groups. The acquisition apparatus is characterized in that the data is related to the specific group group .
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関する格納場所の作成要求を受け付ける受付部と、
前記受付部によって前記作成要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得する取得部と、
前記いずれかのグループに固有な第2の分散鍵を生成する生成部と、
前記生成部によって生成された第2の分散鍵と前記いずれかのグループの識別情報とを関連付けた情報を、データベース内の前記いずれかのグループに固有な格納場所を指定して、前記データベースに送信する送信部と、を有し、
前記複数のグループは特定のグループ群に分かれており、前記格納場所は、前記特定のグループ群のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む作成要求がされた、前記特定のグループ群に関する格納場所であり、
前記第2の分散鍵は、前記いずれかのグループの識別情報に関連付けられた前記特定のグループ群に固有な分散鍵である、ことを特徴とする作成装置。
A reception unit that receives a creation request for a storage location related to any of the groups including identification information of any of the groups from a request source device belonging to any of the plurality of groups;
When the creation request is accepted by the accepting unit, an acquisition unit that obtains from the storage device a first distributed key unique to any of the groups associated with the identification information of any of the groups;
A generating unit that generates a second distributed key unique to any one of the groups;
The information that associates the second distributed key generated by the generation unit with the identification information of any of the groups is transmitted to the database by specifying a storage location unique to the any of the groups in the database And a transmission unit to
The plurality of groups are divided into specific groups, and the storage location includes a creation request including identification information of any of the groups from a request source device belonging to any of the specific groups. Is a storage location for the specific group,
The creation apparatus, wherein the second distributed key is a distributed key unique to the specific group group associated with the identification information of any one of the groups.
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関する格納場所の作成要求を受け付ける受付部と、
前記受付部によって前記作成要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得する取得部と、
前記いずれかのグループに固有な第2の分散鍵を生成する生成部と、
前記生成部によって生成された第2の分散鍵と前記いずれかのグループの識別情報とを関連付けた情報を、データベース内の前記いずれかのグループに固有な格納場所を指定して、前記データベースに送信する送信部と、を有し、
前記複数のグループは特定のグループ群に分かれており、前記格納場所は、前記特定のグループ群のいずれのグループにも所属する要求元装置から、前記特定のグループ群の識別情報を含む作成要求がされた、前記特定のグループ群に関する格納場所であり、
前記第1の分散鍵および第2の分散鍵は、それぞれ、前記特定のグループ群の識別情報に関連付けられた前記特定のグループ群の各グループに固有な分散鍵である、ことを特徴とする作成装置。
A reception unit that receives a creation request for a storage location related to any of the groups including identification information of any of the groups from a request source device belonging to any of the plurality of groups;
When the creation request is accepted by the accepting unit, an acquisition unit that obtains from the storage device a first distributed key unique to any of the groups associated with the identification information of any of the groups;
A generating unit that generates a second distributed key unique to any one of the groups;
The information that associates the second distributed key generated by the generation unit with the identification information of any of the groups is transmitted to the database by specifying a storage location unique to the any of the groups in the database And a transmission unit to
The plurality of groups are divided into specific groups, and the storage location includes a creation request including identification information of the specific groups from a request source device belonging to any group of the specific groups. Is a storage location for the specific group,
The first distributed key and the second distributed key are each a distributed key unique to each group of the specific group group associated with the identification information of the specific group group apparatus.
コンピュータに、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの格納要求を受け付け、
前記格納要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵を取得し、
前記第1の分散鍵と取得された第2の分散鍵を合成することにより暗号鍵を生成し、
生成された暗号鍵で前記データを暗号化し、
暗号化された暗号化データを前記データベース内の前記第2の分散鍵の格納場所に送信する、
処理を実行させることを特徴とする格納プログラム。
On the computer,
From a request source device belonging to any one of a plurality of groups, accepting a storage request for data related to any of the groups including identification information of any of the groups,
When the storage request is accepted, a first distributed key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
Obtaining a second distributed key unique to any of the groups associated with the identification information of any of the groups from a database storing a data group of each of the plurality of groups;
Generating an encryption key by combining the first distributed key and the acquired second distributed key;
Encrypt the data with the generated encryption key,
Sending encrypted encrypted data to a storage location of the second distributed key in the database;
A storage program characterized by causing a process to be executed.
コンピュータに、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかの
グループの識別情報を含む前記いずれかのグループに関するデータの取得要求を受け付け、
前記取得要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵と、前記データを取得された第1の分散鍵と前記第2の分散鍵とを合成することにより得られる暗号鍵により暗号化された暗号化データと、を取得し、
前記第1の分散鍵と取得された第2の分散鍵を合成することにより前記暗号鍵を生成し、
生成された暗号鍵で前記暗号化データを復号し、
復号されたデータを前記要求元装置に送信する、処理を実行させ、
前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれのグループにも所属する要求元装置から、前記特定のグループ群の識別情報を含む取得要求がされた、前記特定のグループ群に関するデータであり、
前記第1の分散鍵および第2の分散鍵は、それぞれ、前記特定のグループ群の識別情報に関連付けられた前記特定のグループ群の各グループに固有な分散鍵である、ことを特徴とする取得プログラム。
On the computer,
From a request source device belonging to any one of a plurality of groups, accept a data acquisition request for any of the groups including identification information of any of the groups,
When the acquisition request is accepted, a first shared key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
The second distributed key unique to any one of the groups associated with the identification information of any one of the groups and the data obtained by acquiring the data from the database storing the data group of each of the plurality of groups. Obtaining encrypted data encrypted with an encryption key obtained by synthesizing the first distributed key and the second distributed key;
Generating the encryption key by combining the first distributed key and the acquired second distributed key;
Decrypting the encrypted data with the generated encryption key;
Transmitting the decrypted data to the request source device, causing the processing to be executed,
The plurality of groups are divided into specific groups, and the data is requested for acquisition including identification information of the specific groups from a request source device belonging to any group of the specific groups. Further, it is data relating to the specific group group,
The first distributed key and the second distributed key are each a distributed key unique to each group of the specific group group associated with the identification information of the specific group group program.
コンピュータに、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関するデータの取得要求を受け付け、
前記取得要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記複数のグループの各グループのデータ群を記憶するデータベースから、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第2の分散鍵と、前記データを取得された第1の分散鍵と前記第2の分散鍵とを合成することにより得られる暗号鍵により暗号化された暗号化データと、を取得し、
前記第1の分散鍵と取得された第2の分散鍵を合成することにより前記暗号鍵を生成し、
生成された暗号鍵で前記暗号化データを復号し、
復号されたデータを前記要求元装置に送信する、処理を実行させ、
前記複数のグループは特定のグループ群に分かれており、前記データは、前記特定のグループ群のいずれかのグループに所属する前記要求元装置から、前記いずれかのグループの識別情報を含む取得要求がされた、前記特定のグループ群に関するデータである、ことを特徴とする取得プログラム。
On the computer,
From a request source device belonging to any one of a plurality of groups, accept a data acquisition request for any of the groups including identification information of any of the groups,
When the acquisition request is accepted, a first shared key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
The second distributed key unique to any one of the groups associated with the identification information of any one of the groups and the data obtained by acquiring the data from the database storing the data group of each of the plurality of groups. Obtaining encrypted data encrypted with an encryption key obtained by synthesizing the first distributed key and the second distributed key;
Generating the encryption key by combining the first distributed key and the acquired second distributed key;
Decrypting the encrypted data with the generated encryption key;
Transmitting the decrypted data to the request source device, causing the processing to be executed,
The plurality of groups are divided into specific groups, and the data includes an acquisition request including identification information of any of the groups from the request source device belonging to any of the specific groups. The obtained acquisition program is data relating to the specific group group .
コンピュータに、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関する格納場所の作成要求を受け付け、
前記作成要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記いずれかのグループに固有な第2の分散鍵を生成し、
生成された第2の分散鍵と前記いずれかのグループの識別情報とを関連付けた情報を、データベース内の前記いずれかのグループに固有な格納場所を指定して、前記データベースに送信する、処理を実行させ、
前記複数のグループは特定のグループ群に分かれており、前記格納場所は、前記特定のグループ群のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む作成要求がされた、前記特定のグループ群に関する格納場所であり、
前記第2の分散鍵は、前記いずれかのグループの識別情報に関連付けられた前記特定のグループ群に固有な分散鍵である、ことを特徴とする作成プログラム。
On the computer,
From a request source device belonging to any group of a plurality of groups, a storage location creation request for any of the groups including identification information of any of the groups is received,
When the creation request is accepted, a first distributed key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
Generating a second distributed key unique to any of the groups;
A process of transmitting information relating the generated second distributed key and the identification information of any of the groups to the database by designating a storage location unique to the any of the groups in the database, Let it run
The plurality of groups are divided into specific groups, and the storage location includes a creation request including identification information of any of the groups from a request source device belonging to any of the specific groups. Is a storage location for the specific group,
The creation program, wherein the second distribution key is a distribution key unique to the specific group group associated with the identification information of any of the groups.
コンピュータに、
複数のグループの中のいずれかのグループに所属する要求元装置から、前記いずれかのグループの識別情報を含む前記いずれかのグループに関する格納場所の作成要求を受け付け、
前記作成要求が受け付けられた場合、前記いずれかのグループの識別情報に関連付けられた前記いずれかのグループに固有な第1の分散鍵を記憶装置から取得し、
前記いずれかのグループに固有な第2の分散鍵を生成し、
生成された第2の分散鍵と前記いずれかのグループの識別情報とを関連付けた情報を、データベース内の前記いずれかのグループに固有な格納場所を指定して、前記データベースに送信する、処理を実行させ、
前記複数のグループは特定のグループ群に分かれており、前記格納場所は、前記特定のグループ群のいずれのグループにも所属する要求元装置から、前記特定のグループ群の識別情報を含む作成要求がされた、前記特定のグループ群に関する格納場所であり、
前記第1の分散鍵および第2の分散鍵は、それぞれ、前記特定のグループ群の識別情報に関連付けられた前記特定のグループ群の各グループに固有な分散鍵である、ことを特徴とする作成プログラム。

On the computer,
From a request source device belonging to any group of a plurality of groups, a storage location creation request for any of the groups including identification information of any of the groups is received,
When the creation request is accepted, a first distributed key unique to any of the groups associated with the identification information of any of the groups is acquired from a storage device,
Generating a second distributed key unique to any of the groups;
A process of transmitting information relating the generated second distributed key and the identification information of any of the groups to the database by designating a storage location unique to the any of the groups in the database, Let it run
The plurality of groups are divided into specific groups, and the storage location includes a creation request including identification information of the specific groups from a request source device belonging to any group of the specific groups. Is a storage location for the specific group,
The first distributed key and the second distributed key are each a distributed key unique to each group of the specific group group associated with the identification information of the specific group group program.

JP2012082315A 2012-03-30 2012-03-30 Storage method, acquisition method, creation method, storage device, acquisition device, creation device, storage program, acquisition program, and creation program Expired - Fee Related JP5953886B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012082315A JP5953886B2 (en) 2012-03-30 2012-03-30 Storage method, acquisition method, creation method, storage device, acquisition device, creation device, storage program, acquisition program, and creation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012082315A JP5953886B2 (en) 2012-03-30 2012-03-30 Storage method, acquisition method, creation method, storage device, acquisition device, creation device, storage program, acquisition program, and creation program

Publications (2)

Publication Number Publication Date
JP2013211800A JP2013211800A (en) 2013-10-10
JP5953886B2 true JP5953886B2 (en) 2016-07-20

Family

ID=49529262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012082315A Expired - Fee Related JP5953886B2 (en) 2012-03-30 2012-03-30 Storage method, acquisition method, creation method, storage device, acquisition device, creation device, storage program, acquisition program, and creation program

Country Status (1)

Country Link
JP (1) JP5953886B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6745864B2 (en) * 2018-12-19 2020-08-26 東日本電信電話株式会社 Confidential information management system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247141A (en) * 1996-03-05 1997-09-19 Hitachi Ltd Group encryption method
JPH10260903A (en) * 1997-03-19 1998-09-29 Hitachi Ltd Group encryption method and file encryption system
JP4998518B2 (en) * 2003-09-30 2012-08-15 大日本印刷株式会社 Information processing apparatus, information processing system, and program
JP4778798B2 (en) * 2006-01-26 2011-09-21 株式会社野村総合研究所 Data management device
JP5035873B2 (en) * 2006-09-26 2012-09-26 株式会社日立ソリューションズ Encryption / decryption processing method and program for shared encryption file

Also Published As

Publication number Publication date
JP2013211800A (en) 2013-10-10

Similar Documents

Publication Publication Date Title
US8151356B2 (en) Method of transmitting and reproducing content processed by various DRM systems
US20100024011A1 (en) Document management system and document management method
US7873168B2 (en) Secret information management apparatus and secret information management system
JP5397691B2 (en) Information sharing system, computer, project management server, and information sharing method used therefor
KR100753932B1 (en) contents encryption method, system and method for providing contents through network using the encryption method
JP4742682B2 (en) Content protection device and content protection release device
KR100809292B1 (en) Digital rights management device and method
EP1571524A2 (en) Using a flexible rights template to obtain a signed rights label (SRL) for digital content in a rights management system
US20060080529A1 (en) Digital rights management conversion method and apparatus
US8079089B2 (en) Information usage control system and information usage control device
JP6573044B1 (en) Data management system
AU2006200096A1 (en) Flexible licensing architecture in content rights management systems
US8392723B2 (en) Information processing apparatus and computer readable medium for preventing unauthorized operation of a program
TWI502397B (en) Document authority management system, terminal device, document authority management method, and computer-readable recording medium
US20050268089A1 (en) Printing system and method that support security function
JP2011232834A (en) Data distribution program, data restoration program, data distribution device, data restoration device, data distribution method and data restoration method
US10412062B2 (en) Job execution method and job execution device
CN102667791A (en) Method and device for accessing control data according to provided permission information
JP6711042B2 (en) Decryption program, encryption program, decryption device, encryption device, decryption method, and encryption method
JP4891933B2 (en) Access control device, access control method and program
JP5953886B2 (en) Storage method, acquisition method, creation method, storage device, acquisition device, creation device, storage program, acquisition program, and creation program
KR101151211B1 (en) Method and System for Providing Secure Digital Document, Apparatus for Generating Security Package and Method for Executing Security Package
JP4924269B2 (en) Operation restriction management system and program
JP2006113664A (en) Document management device
JP5422300B2 (en) Graphic data encryption / decryption device and graphic data browsing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160314

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: 20160517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160530

R150 Certificate of patent or registration of utility model

Ref document number: 5953886

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees