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 PDFInfo
- 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
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
上述したオンラインストレージサービスから複数のグループに貸し出された共有の記憶領域に格納されたデータ群の中には、或るグループの利用者からのみアクセスを許可し、他のグループの利用者からのアクセスを禁止したいデータが存在する場合がある。しかしながら、共有の記憶領域に格納されたデータ群は、アクセス可能に設定した複数グループのいずれかに所属する利用者からアクセスされることになる。従って、或るグループの利用者の個人情報や技術情報といった他のグループの利用者からのアクセスを禁止したいデータが、他のグループの利用者からアクセスされ流出してしまう場合がある。 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を用いて、情報処理装置によるデータ処理の流れについて説明する。 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
情報処理装置100は、データベース101のディレクトリDからディレクトリD固有のディレクトリ鍵Dkを取得して、ディレクトリ鍵Dkとグループ鍵Gkとを合成して、データ鍵dkを作成する。情報処理装置100は、作成したデータ鍵dkを用いて、ディレクトリDにデータdを暗号化して格納し、また、ディレクトリDから暗号化データCdを取得して復号する。
The
暗号化するデータ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
図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
図1の例では、データベース101には、グループGAに所属する情報処理装置100が利用するデータdが暗号化されて格納されるディレクトリDAがある。ディレクトリDAには、特定ファイルFAが格納されている。特定ファイルFAは、ディレクトリDAを利用可能なグループを示す「GA」と、グループGAに固有のグループ鍵GkAと合成することにより、データ鍵dkAを生成することができるディレクトリ鍵DkAと、を対応付けた情報を含む。
In the example of FIG. 1, the
また、データベース101には、グループGBに所属する情報処理装置100が利用するデータdが暗号化されて格納されるディレクトリDBがある。ディレクトリDBには、特定ファイルFBが格納されている。特定ファイルFBは、ディレクトリDBを利用可能なグループを示す「GB」と、グループGBに固有のグループ鍵GkBと合成することにより、データ鍵dkBを生成することができるディレクトリ鍵DkBと、を対応付けた情報を含む。
Further, the
また、データベース101には、グループGAとグループGBとのいずれかのグループGに所属する情報処理装置100が利用するデータdが暗号化されて格納されるディレクトリDorがある。ディレクトリDorには、特定ファイルForが格納されている。
Further, the
特定ファイル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
特定ファイル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
まず、情報処理装置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
次に、情報処理装置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
次に、情報処理装置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
また、詳細は図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
このように、各ディレクトリDは、特定のグループGに所属する情報処理装置100から利用可能なディレクトリDになる。換言すれば、情報処理装置100とデータベース101とによるシステムは、情報処理装置100のディレクトリDへの利用権限を認証し、認証された情報処理装置100にディレクトリDの利用を許可する「アクセス制御」と同様の機能を実現することができる。
Thus, each directory D becomes a directory D that can be used from the
また、データベース101は、情報処理装置100から暗号化データCdを格納されたり、格納された暗号化データCdを取得されたりする。そのため、データベース101は、新たな機能を追加しなくてもよく、情報処理装置100の利用者とは異なるサービス提供者によって提供され、情報処理装置100の利用者が機能追加や機能変更をすることができないコンピュータによっても実現することができる。
Further, the
(情報処理装置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
ここで、CPU201は、情報処理装置100の全体の制御を司る。ROM202は、ブートプログラム、取得プログラム、格納プログラム、および作成プログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御に従って磁気ディスク205に対するデータdのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータdを記憶する。
Here, the
光ディスクドライブ206は、CPU201の制御に従って光ディスク207に対するデータdのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータdを記憶したり、光ディスク207に記憶されたデータdをコンピュータに読み取らせたりする。
The
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータdを表示する。このディスプレイ208は、例えば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
The
インターフェース(以下、「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
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データdの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
The
スキャナ212は、画像を光学的に読み取り、情報処理装置100内に画像データdを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データdや文書データdを印刷する。プリンタ213には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ206、光ディスク207、ディスプレイ208、キーボード210、マウス211、スキャナ212、およびプリンタ213の少なくともいずれか1つは、なくてもよい。
The
(グループ鍵テーブル)
次に、図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
図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
グループ名項目には、情報処理装置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
(情報処理装置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
情報処理装置100は、ディレクトリDを作成する機能と、データdを暗号化してディレクトリDに格納する機能と、ディレクトリDから暗号化データCdを取得して復号する機能と、を有する。
The
<ディレクトリ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
・或るグループGに所属する情報処理装置100から利用可能なディレクトリDを作成する場合
ここで、作成されるディレクトリDが、或るグループGに所属する情報処理装置100から利用可能なディレクトリDである場合を例に挙げる。この場合の作成例は図5を用いて後述する。
When creating a directory D that can be used from the
この場合、受付部401は、複数のグループGの中のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含むいずれかのグループGに関する格納場所の作成要求を受け付ける。
In this case, the accepting
ここで、要求元装置とは、例えば、情報処理装置100と通信可能であって、要求元装置の利用者から入力された情報を情報処理装置100に送信するコンピュータである。グループGとは、同一の識別情報を有する1または複数の要求元装置の集合である。識別情報とは、要求元装置が有する属性を示す情報であり、例えば、要求元装置を有する会社や部署を示す情報である。また、要求元装置は、例えば、情報処理装置100自体であってもよい。
Here, the request source device is, for example, a computer that can communicate with the
また、要求元装置は、利用者から識別情報の入力を受け付けて、所属するグループ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
受付部401は、具体的には、例えば、グループGAに所属する要求元装置から、グループGAに所属する情報処理装置100が利用するディレクトリDAの作成要求を受け付ける。作成要求には、例えば、作成するディレクトリDAを利用するグループGを示す識別情報「GA」と、ディレクトリDAの作成先を示す作成先情報が含まれる。作成先情報とは、例えば、データベース101内の或る階層を示すパスである。
Specifically, the receiving
受け付けられた作成要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの作成先を指定することができる。
The accepted creation request is stored in a storage area such as the
この場合、取得部402は、受付部401によって作成要求が受け付けられた場合、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第1の分散鍵を記憶装置から取得する。記憶装置とは、例えば、上述したグループ鍵テーブル300である。第1の分散鍵とは、他の分散鍵と合成することにより、データdの暗号化と復号とに用いられる鍵を生成するための鍵であり、上述したグループ鍵Gkである。
In this case, when the creation request is accepted by the accepting
取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、作成要求内の識別情報「GA」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。
Specifically, the acquiring
取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵を用いて、第2の分散鍵を生成することができる。
The acquired group key Gk is stored in a storage area such as the
この場合、生成部403は、いずれかのグループGに固有な第2の分散鍵を生成する。第2の分散鍵とは、他の分散鍵と合成することにより、データdの暗号化と復号とに用いられる鍵を生成するための鍵であり、上述したディレクトリ鍵Dkである。
In this case, the
生成部403は、具体的には、例えば、作成要求されたディレクトリDAに格納されるデータdの暗号化と復号とに用いられるデータ鍵dkAを生成する。次に、生成部403は、生成したデータ鍵dkAをグループ鍵GkAを用いて暗号化して、暗号化されたデータ鍵dkAをディレクトリ鍵DkA「23FB5A20EC989F1」として生成する。
Specifically, the
そして、生成部403は、生成したディレクトリ鍵DkA「23FB5A20EC989F1」と、ディレクトリDAを利用するグループGを示す識別情報「GA」と、を対応付けた特定ファイルFAを生成する。
Then, the
生成された第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
この場合、送信部404は、生成部403によって生成された第2の分散鍵といずれかのグループGの識別情報とを関連付けた情報を、データベース101内のいずれかのグループGに固有な格納場所を指定して、データベース101に送信する。ここで、生成部403によって生成された第2の分散鍵といずれかのグループGの識別情報とを関連付けた情報とは、例えば、上述した特定ファイルFである。固有な格納場所とは、例えば、作成要求されたディレクトリDである。
In this case, the
送信部404は、具体的には、例えば、データベース101が作成要求されたパスにディレクトリDを作成して特定ファイルFを格納するように、データベース101に作成要求されたパスを指定して特定ファイルFを送信する。これにより、データベース101は、作成要求されたパスにディレクトリDを作成し、作成したディレクトリDに特定ファイルFを格納することができる。
Specifically, the
・複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDを作成する場合
ここで、作成されるディレクトリDが、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDである場合を例に挙げる。この場合の作成例は図6を用いて後述する。
When creating a directory D that can be used from any of the
この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含む特定のグループG群に関する格納場所の作成要求を受け付ける。
In this case, the accepting
受付部401は、具体的には、例えば、グループGAとグループGBとに所属する要求元装置から、グループGAとグループGBとのいずれかに所属する情報処理装置100が利用するディレクトリDorの作成要求を受け付ける。
Specifically, the
作成要求には、例えば、作成するディレクトリ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
受け付けられた作成要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。
The accepted creation request is stored in a storage area such as the
この場合、取得部402は、受付部401によって作成要求が受け付けられた場合、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第1の分散鍵を記憶装置から取得する。
In this case, when the creation request is accepted by the accepting
取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、作成要求内の識別情報「GA」「GB」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」と、探索した「GB」に対応付けられたグループ鍵GkB「3A92EB8FC51F902」を取得する。
Specifically, for example, the
取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵を用いて、第2の分散鍵を生成することができる。
The acquired group key Gk is stored in a storage area such as the
この場合、生成部403は、特定のグループG群に固有な第2の分散鍵を生成する。生成部403は、具体的には、例えば、作成要求されたディレクトリDorに格納するデータdの暗号化と復号とに使用されるデータ鍵dkor「F921E0A2938F5CB」を生成する。次に、生成部403は、データ鍵dkorを、グループ鍵GkA「FE9F1A9302B582C」を用いて暗号化する。そして、生成部403は、ディレクトリ鍵Dkor1になる暗号化されたデータ鍵dkor「23FB5A20EC989F1」を生成する。
In this case, the
また、生成部403は、データ鍵dkor「F921E0A2938F5CB」を、グループ鍵GkB「3A92EB8FC51F902」を用いて暗号化する。そして、生成部403は、ディレクトリ鍵Dkor2になる暗号化されたデータ鍵dkor「99AA56A3E5DD3A2」を生成する。
Further, the
そして、生成部403は、特定ファイルForを生成する。特定ファイルForは、ディレクトリ鍵Dkor1とディレクトリDorを利用するグループGの名称「GA」とを対応付けた情報を含む。また、特定ファイルForは、ディレクトリ鍵Dkor2とディレクトリDorを利用するグループGの名称「GB」とを対応付けた情報を含む。また、特定ファイルFは、ディレクトリDorを利用する情報処理装置100が、グループGAとグループGBとのいずれかに所属する情報処理装置100であることを示す条件情報「or」を含む。
Then, the
生成された第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
この場合、送信部404は、生成部403によって生成された第2の分散鍵といずれかのグループGの識別情報とを関連付けた情報を、データベース101内のいずれかのグループGに固有な格納場所を指定して、データベース101に送信する。
In this case, the
送信部404は、具体的には、例えば、データベース101が作成要求されたパスにディレクトリDを作成して特定ファイルFを格納するように、データベース101に作成要求されたパスを指定して特定ファイルFを送信する。これにより、データベース101は、作成要求されたパスにディレクトリDを作成し、作成したディレクトリDに特定ファイルFを格納することができる。
Specifically, the
・複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDを作成する場合
ここで、作成されるディレクトリDが、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDである場合を例に挙げる。この場合の作成例は図7を用いて後述する。
When creating a usable directory D from the
この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれのグループGにも所属する要求元装置から、特定のグループG群の識別情報を含む特定のグループG群に関する格納場所の作成要求を受け付ける。
In this case, the accepting
受付部401は、具体的には、例えば、グループGAとグループGBとに所属する要求元装置から、グループGAとグループGBとのいずれにも所属する情報処理装置100が利用するディレクトリDandの作成要求を受け付ける。
Specifically, the
作成要求には、例えば、作成するディレクトリ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
受け付けられた作成要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。
The accepted creation request is stored in a storage area such as the
この場合、取得部402は、受付部401によって作成要求が受け付けられた場合、特定のグループG群の識別情報に関連付けられた特定のグループG群の各グループGに固有な第1の分散鍵を記憶装置から取得する。
In this case, when the creation request is accepted by the accepting
取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、作成要求内の識別情報「GA」「GB」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」と、探索した「GB」に対応付けられたグループ鍵GkB「3A92EB8FC51F902」を取得する。
Specifically, for example, the
取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵を用いて、第2の分散鍵を生成することができる。
The acquired group key Gk is stored in a storage area such as the
この場合、生成部403は、特定のグループG群の各グループGに固有な第2の分散鍵群を生成する。生成部403は、具体的には、例えば、作成要求されたディレクトリDandに格納するデータdの暗号化と復号とに使用されるデータ鍵dkand1「F921E0A2938F5CB」とデータ鍵dkand2「989E2BCF32A10F5」の組を生成する。
In this case, the
次に、生成部403は、データ鍵dkand1「F921E0A2938F5CB」を、グループ鍵GkA「FE9F1A9302B582C」を用いて暗号化する。そして、生成部403は、ディレクトリ鍵Dkand1になる暗号化されたデータ鍵dkand1「23FB5A20EC989F1」を生成する。
Next, the
また、生成部403は、データ鍵dkand2「989E2BCF32A10F5」を、グループ鍵GkB「3A92EB8FC51F902」を用いて暗号化する。そして、情報処理装置100ABは、ディレクトリ鍵Dkand2になる暗号化されたデータ鍵dkand2「2A89E9FC10F532B」を生成する。
Further, the
そして、生成部403は、特定ファイルFandを生成する。特定ファイルFandは、ディレクトリ鍵Dkand1とディレクトリDandを利用するグループG群の一方の名称「GA」とを対応付けた情報を含む。また、特定ファイルFは、ディレクトリ鍵Dkand2とディレクトリDandを利用するグループG群の他方の名称「GB」とを対応付けた情報を含む。また、特定ファイルFは、ディレクトリDandを利用する情報処理装置100が、グループGAにもグループGBにも所属する情報処理装置100であることを示す条件情報「and」を含む。
Then, the
生成された第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
この場合、送信部404は、生成部403によって生成された第2の分散鍵群と特定のグループG群の識別情報とを関連付けた情報を、データベース101内の特定のグループG群に固有な格納場所を指定して、データベース101に送信する。
In this case, the
送信部404は、具体的には、例えば、データベース101が作成要求されたパスにディレクトリDを作成して特定ファイルFを格納するように、データベース101に作成要求されたパスを指定して特定ファイルFを送信する。これにより、データベース101は、作成要求されたパスにディレクトリDを作成し、作成したディレクトリDに特定ファイルFを格納することができる。
Specifically, the
<データ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
・或るグループGに所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合
ここで、或るグループGに所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合を例に挙げる。この場合の格納例は図10を用いて後述する。
When data d is stored in a directory D that can be used from an
この場合、受付部401は、複数のグループGの中のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含むいずれかのグループGに関するデータdの格納要求を受け付ける。
In this case, the accepting
受付部401は、具体的には、例えば、グループGAに所属する要求元装置から、グループGAに所属する情報処理装置100が利用するディレクトリDAへのデータdの格納要求を受け付ける。格納要求には、例えば、格納されるデータdが含まれる。また、格納要求には、格納先のディレクトリDAを利用するグループGを示す識別情報「GA」と、格納先のディレクトリDAを示す格納先情報が含まれる。格納先情報とは、例えば、データベース101内の或る階層を示すパスである。
Specifically, the accepting
受け付けられた格納要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。
The received storage request is stored in a storage area such as the
この場合、取得部402は、受付部401によって格納要求が受け付けられた場合、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第1の分散鍵を記憶装置から取得する。
In this case, when the
取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、格納要求内の識別情報「GA」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。
Specifically, for example, the
取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵と第2の分散鍵を合成することができる。
The acquired group key Gk is stored in a storage area such as the
この場合、取得部402は、複数のグループGの各グループGのデータd群を記憶するデータベース101から、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第2の分散鍵を取得する。
In this case, the
取得部402は、具体的には、例えば、格納要求されたディレクトリDAから、特定ファイルFAを取得する。次に、取得部402は、特定ファイルFAの中から、格納要求内の識別情報「GA」が示すグループGAに対応するディレクトリ鍵DkAを取得する。
Specifically, the
この場合、生成部403は、第1の分散鍵と取得部402によって取得された第2の分散鍵を合成することにより暗号鍵を生成する。生成部403は、具体的には、例えば、ディレクトリ鍵DkAをグループ鍵GkAを用いて復号して、データ鍵dkAを生成する。
In this case, the
生成されたデータ鍵dkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、暗号化部405は、ディレクトリDに格納するデータdを暗号化することができる。
The generated data key dk is stored in a storage area such as the
この場合、暗号化部405は、生成部403によって生成された暗号鍵でデータdを暗号化する。暗号化部405は、具体的には、例えば、データ鍵dkを用いて、データdを暗号化する。これにより、送信部404は、暗号化データCdを送信することができる。
In this case, the
この場合、送信部404は、暗号化部405によって暗号化された暗号化データCdをデータベース101内の第2の分散鍵の格納場所に送信する。送信部404は、具体的には、例えば、データベース101が格納要求されたパスのディレクトリDに、暗号化データCdを格納するように、データベース101に格納要求されたパスを指定して暗号化データCdを送信する。これにより、データベース101は、格納要求されたパスのディレクトリDに、暗号化データCdを格納することができる。
In this case, the
・複数のグループ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
この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含む特定のグループG群に関するデータdの格納要求を受け付ける。
In this case, the accepting
受付部401は、具体的には、例えば、グループGAとグループGBとに所属する要求元装置から、グループGAとグループGBとのいずれかに所属する情報処理装置100が利用するディレクトリDorの格納要求を受け付ける。
Specifically, for example, the
格納要求には、例えば、格納されるデータ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
受け付けられた格納要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。
The received storage request is stored in a storage area such as the
この場合、取得部402は、受付部401によって格納要求が受け付けられた場合、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第1の分散鍵を記憶装置から取得する。
In this case, when the
取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、格納要求内の識別情報「GA」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」を取得する。
Specifically, for example, the
取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵と第2の分散鍵を合成することができる。
The acquired group key Gk is stored in a storage area such as the
この場合、取得部402は、複数のグループGの各グループGのデータd群を記憶するデータベース101から、いずれかのグループGの識別情報に関連付けられたいずれかのグループGに固有な第2の分散鍵を取得する。
In this case, the
取得部402は、具体的には、例えば、格納要求されたディレクトリDorから、特定ファイルForを取得する。次に、取得部402は、特定ファイルForの中から、格納要求内の識別情報「GA」が示すグループGAに対応するディレクトリ鍵DkAを取得する。
Specifically, for example, the
この場合、生成部403は、第1の分散鍵と取得部402によって取得された第2の分散鍵を合成することにより暗号鍵を生成する。生成部403は、具体的には、例えば、グループ鍵GkA「FE9F1A9302B582C」を用いて、ディレクトリ鍵Dkor1「23FB5A20EC989F1」を復号し、データ鍵dkor「F921E0A2938F5CB」を生成する。
In this case, the
生成されたデータ鍵dkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、暗号化部405は、ディレクトリDに格納するデータdを暗号化することができる。
The generated data key dk is stored in a storage area such as the
この場合、暗号化部405は、生成部403によって生成された暗号鍵でデータdを暗号化する。暗号化部405は、具体的には、例えば、データ鍵dkを用いて、データdを暗号化する。これにより、送信部404は、暗号化データCdを送信することができる。
In this case, the
この場合、送信部404は、暗号化部405によって暗号化された暗号化データCdをデータベース101内の第2の分散鍵の格納場所に送信する。送信部404は、具体的には、例えば、データベース101が格納要求されたパスのディレクトリDに、暗号化データCdを格納するように、データベース101に格納要求されたパスを指定して暗号化データCdを送信する。これにより、データベース101は、格納要求されたパスのディレクトリDに、暗号化データCdを格納することができる。
In this case, the
・複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合
ここで、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合を例に挙げる。この場合の格納例は図12を用いて後述する。
When data d is stored in the directory D that can be used from the
この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれのグループGにも所属する要求元装置から、特定のグループG群の識別情報を含む特定のグループG群に関するデータdの格納要求を受け付ける。
In this case, the accepting
受付部401は、具体的には、例えば、グループGAにもグループGBにも所属する要求元装置から、グループGAとグループGBとのいずれにも所属する情報処理装置100が利用するディレクトリDandへのデータdの格納要求を受け付ける。
Specifically, for example, the accepting
格納要求には、例えば、格納されるデータ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
受け付けられた格納要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。
The received storage request is stored in a storage area such as the
この場合、取得部402は、受付部401によって格納要求が受け付けられた場合、特定のグループG群の識別情報に関連付けられた特定のグループG群の各グループGに固有な第1の分散鍵を記憶装置から取得する。
In this case, when the
取得部402は、具体的には、例えば、グループ鍵テーブル300のグループ名項目から、格納要求内の識別情報「GA」「GB」を探索する。次に、取得部402は、探索した「GA」に対応付けられたグループ鍵GkA「FE9F1A9302B582C」と、探索した「GB」に対応付けられたグループ鍵GkB「3A92EB8FC51F902」を取得する。
Specifically, for example, the
取得されたグループ鍵Gkは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、生成部403は、第1の分散鍵と第2の分散鍵を合成することができる。
The acquired group key Gk is stored in a storage area such as the
この場合、取得部402は、複数のグループGの各グループGのデータd群を記憶するデータベース101から、特定のグループG群の識別情報に関連付けられた特定のグループG群の各グループGに固有な第2の分散鍵を取得する。
In this case, the
取得部402は、具体的には、例えば、格納要求されたディレクトリDandから、特定ファイルFandを取得する。次に、取得部402は、特定ファイルFandから、ディレクトリ鍵Dkand1「23FB5A20EC989F1」と、ディレクトリ鍵Dkand2「2A89E9FC10F532B」を取得する。
Specifically, for example, the
この場合、生成部403は、第1の分散鍵と取得部402によって取得された第2の分散鍵を合成することにより暗号鍵を生成する。生成部403は、具体的には、例えば、グループ鍵GkA「FE9F1A9302B582C」を用いて、ディレクトリ鍵Dkand1「23FB5A20EC989F1」を復号する。また、生成部403は、グループ鍵GkB「3A92EB8FC51F902」を用いて、ディレクトリ鍵Dkand2「2A89E9FC10F532B」を復号する。次に、生成部403は、復号により、データ鍵dkand1「F921E0A2938F5CB」とデータ鍵dkand2「989E2BCF32A10F5」の組を生成する。
In this case, the
この場合、暗号化部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
この場合、送信部404は、暗号化部405によって暗号化された暗号化データCdをデータベース101内の第2の分散鍵の格納場所に送信する。送信部404は、具体的には、例えば、データベース101が格納要求されたパスのディレクトリDに暗号化データCdを格納するように、データベース101に格納要求されたパスを指定して暗号化データCdを送信する。これにより、データベース101は、格納要求されたパスのディレクトリDに、暗号化データCdを格納することができる。
In this case, the
<ディレクトリ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
・或るグループGに所属する情報処理装置100から利用可能なディレクトリDからデータdを取得する場合
ここで、或るグループGに所属する情報処理装置100から利用可能なディレクトリDからデータdを取得する場合を例に挙げる。この場合の取得例は図15を用いて後述する。
When data d is acquired from an available directory D from an
この場合、受付部401は、複数のグループGの中のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含むいずれかのグループGに関するデータdの取得要求を受け付ける。
In this case, the accepting
受付部401は、具体的には、例えば、グループGAに所属する要求元装置から、グループGAに所属する情報処理装置100が利用するディレクトリDAへのデータdの取得要求を受け付ける。取得要求には、例えば、取得先のディレクトリDAを利用するグループGを示す識別情報「GA」と、取得先のディレクトリDAを示す取得先情報が含まれる。取得先情報とは、例えば、データベース101内の或る階層を示すパスである。
Specifically, the accepting
受け付けられた取得要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。
The accepted acquisition request is stored in a storage area such as the
この場合、取得部402および生成部403の機能は、上述した或るグループGに所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合の取得部402および生成部403の機能と同様のため、ここでは説明を省略する。
In this case, the functions of the
この場合、暗号化部405は、生成部403によって生成された暗号鍵で暗号化データCdを復号する。暗号化部405は、具体的には、例えば、生成部403によって生成されたデータ鍵dkAを用いて、暗号化データCdを復号する。復号されたデータdは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、送信部404は、復号されたデータdを要求元装置に送信することができる。
In this case, the
この場合、送信部404は、暗号化部405によって復号されたデータdを要求元装置に送信する。これにより、要求元装置は、復号されたデータdを利用することができる。
In this case, the
・複数のグループ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
この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれかのグループGに所属する要求元装置から、いずれかのグループGの識別情報を含む特定のグループG群に関するデータdの取得要求を受け付ける。
In this case, the accepting
受付部401は、具体的には、例えば、グループGAとグループGBとに所属する要求元装置から、グループGAとグループGBとのいずれかに所属する情報処理装置100が利用するディレクトリDorの取得要求を受け付ける。
Specifically, for example, the
取得要求には、例えば、取得先のディレクトリ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
受け付けられた取得要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。
The accepted acquisition request is stored in a storage area such as the
この場合、取得部402および生成部403の機能は、上述した複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDにデータdを格納する場合の取得部402および生成部403の機能と同様のため説明を省略する。
In this case, the functions of the
この場合、暗号化部405は、生成部403によって生成された暗号鍵で暗号化データCdを復号する。暗号化部405は、具体的には、例えば、生成部403によって生成されたデータ鍵dkAを用いて、暗号化データCdを復号する。復号されたデータdは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、送信部404は、復号されたデータdを要求元装置に送信することができる。
In this case, the
この場合、送信部404は、暗号化部405によって復号されたデータdを要求元装置に送信する。これにより、要求元装置は、復号されたデータdを利用することができる。
In this case, the
・複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDからデータdを取得する場合
ここで、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDにデータdからデータdを取得する場合を例に挙げる。この場合の取得例は図17を用いて後述する。
When acquiring data d from the directory D that can be used from the
この場合、受付部401は、複数のグループGの中の特定のグループG群のいずれのグループGにも所属する要求元装置から、特定のグループG群の識別情報を含む特定のグループG群に関するデータdの取得要求を受け付ける。
In this case, the accepting
受付部401は、具体的には、例えば、グループGAにもグループGBにも所属する要求元装置から、グループGAとグループGBとのいずれにも所属する情報処理装置100が利用するディレクトリDandへのデータdの取得要求を受け付ける。
Specifically, for example, the accepting
取得要求には、例えば、取得先のディレクトリ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
受け付けられた取得要求は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、取得部402は、第1の分散鍵の取得のトリガを得ることができる。また、送信部404は、ディレクトリDの場所を指定することができる。
The accepted acquisition request is stored in a storage area such as the
この場合、取得部402および生成部403は、上述した複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDにデータdを格納する場合の取得部402および生成部403の機能と同様のため説明を省略する。
In this case, the
この場合、暗号化部405は、生成部403によって生成された暗号鍵で暗号化データCdを復号する。暗号化部405は、具体的には、例えば、生成部403によって生成されたデータ鍵dkAの組を用いて、暗号化データCdを復号する。復号されたデータdは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。これにより、送信部404は、復号されたデータdを要求元装置に送信することができる。
In this case, the
この場合、送信部404は、暗号化部405によって復号されたデータdを要求元装置に送信する。これにより、要求元装置は、復号されたデータdを利用することができる。
In this case, the
(ディレクトリ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
図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
図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
(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
これにより、グループGAに所属する情報処理装置100は、特定ファイルFA内のディレクトリ鍵DkAと、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkAを生成することができる。そのため、グループGAに所属する情報処理装置100は、データ鍵dkAを用いて、ディレクトリDAにデータdを暗号化して格納し、ディレクトリDAから暗号化データCdを取得して復号することができる。
Thereby, the
一方、グループGAに所属しない情報処理装置100は、特定ファイルFA内のディレクトリ鍵DkAを取得しても、グループGAに固有なグループ鍵GkAを有していないため、データ鍵dkAを合成することができない。そのため、グループGAに所属しない情報処理装置100は、データ鍵dkAがないため、ディレクトリDAに格納するデータdを暗号化することができず、ディレクトリDAから暗号化データCdを取得して復号することができない。
On the other hand, since the
結果として、ディレクトリ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
次に、図6を用いて、複数のグループGのいずれに所属する情報処理装置100からも利用可能なディレクトリDを作成する場合の作成例2について説明する。
Next, creation example 2 in the case where a directory D that can be used from the
図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
図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
(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
そして、情報処理装置100ABは、生成した特定ファイルForをディレクトリDorに格納するように、データベース101に格納依頼を送信する。これにより、データベース101は、ディレクトリDorに特定ファイルForを格納する。
Then, the information processing apparatus 100AB transmits a storage request to the
これにより、グループGAに所属する情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor1と、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkorを生成することができる。また、グループGBに所属する情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor2と、グループGBに固有なグループ鍵GkBと、を合成して、データ鍵dkorを生成することができる。
Thus, the
そのため、グループGAまたはグループGBに所属する情報処理装置100は、データ鍵dkorを用いて、ディレクトリDorにデータdを暗号化して格納し、ディレクトリDorから暗号化データCdを取得して復号することができる。
Therefore, the
一方、グループGAにもグループGBにも所属しない情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor1やディレクトリ鍵Dkor2を取得しても、データ鍵dkorを合成することができない。そのため、グループGAにもグループGBにも所属しない情報処理装置100は、データ鍵dkorがないため、ディレクトリDorに格納するデータdを暗号化することができず、ディレクトリDorから暗号化データCdを取得して復号することができない。
On the other hand, the
結果として、ディレクトリ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
次に、図7を用いて、複数のグループGのいずれにも所属する情報処理装置100から利用可能なディレクトリDを作成する場合の作成例3について説明する。
Next, creation example 3 in the case of creating a directory D that can be used from the
図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
図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
(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
(46)そして、情報処理装置100ABは、生成した特定ファイルFをディレクトリDandに格納するように、データベース101に格納依頼を送信する。これにより、データベース101は、ディレクトリDandに特定ファイルFandを格納する。
(46) Then, the information processing apparatus 100AB transmits a storage request to the
これにより、グループGAにもグループGBにも所属する情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand1と、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkand1を生成することができる。また、グループGAにもグループGBにも所属する情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand2と、グループGBに固有なグループ鍵GkBと、を合成して、データ鍵dkand2を生成することができる。
Thereby, the
そのため、グループGAにもグループGBにも所属する情報処理装置100は、データ鍵dkand1とデータ鍵dkand2とを用いて、ディレクトリDandにデータdを暗号化して格納することができる。また、グループGAにもグループGBにも所属する情報処理装置100は、データ鍵dkand1とデータ鍵dkand2とを用いて、ディレクトリDandから暗号化データCdを取得して復号することができる。
Therefore, the
一方、グループGAに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand1を取得しても、データ鍵dkand1を合成することができない。また、グループGBに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand2を取得しても、データ鍵dkand2を合成することができない。
On the other hand, the
そのため、グループGAとグループGBとのいずれかに所属しない情報処理装置100は、データ鍵dkand1とデータ鍵dkand2との少なくとも一方がないため、ディレクトリDandに格納するデータdを暗号化することができない。同様に、グループGAとグループGBとのいずれかに所属しない情報処理装置100は、ディレクトリDandから暗号化データCdを取得しても、復号することができない。
For this reason, the
結果として、ディレクトリ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
情報処理装置100は、作成したディレクトリDの下位に、さらに新たなディレクトリDを作成してもよい。ここで、情報処理装置100は、新たな特定ファイルFを作成して新たなディレクトリDに格納してもよい。また、情報処理装置100は、新たなディレクトリDでは、上位のディレクトリDにある特定ファイルFを流用するとして、新たなディレクトリDには特定ファイルFを格納しなくてもよい。
The
(ディレクトリ作成処理)
次に、図8を用いて、情報処理装置100によるディレクトリ作成処理の詳細な処理手順について説明する。ディレクトリ作成処理は、図5〜図7に示した作成例1〜作成例3における情報処理装置100の処理である。
(Directory creation process)
Next, a detailed processing procedure of directory creation processing by the
図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
一方、作成要求が入力された場合(ステップS801:Yes)、情報処理装置100は、作成要求されたパスにディレクトリDを作成するように作成依頼をデータベース101に送信する(ステップS802)。
On the other hand, when a creation request is input (step S801: Yes), the
次に、情報処理装置100は、特定ファイルFを作成するか否かを判定する(ステップS803)。ここで、特定ファイルFを作成しない場合(ステップS803:No)、情報処理装置100は、ディレクトリ作成処理を終了する。
Next, the
一方、特定ファイル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
そして、情報処理装置100は、ディレクトリ作成処理を終了する。これにより、情報処理装置100は、利用可能なグループGが特定されたディレクトリDを作成することができる。
Then, the
(特定ファイル作成処理)
次に、図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
次に、情報処理装置100は、データ鍵dkを生成する(ステップS902)。そして、情報処理装置100は、識別情報に従って、グループ鍵Gkを用いてデータ鍵dkを暗号化する(ステップS903)。
Next, the
次に、情報処理装置100は、暗号化により得られたディレクトリ鍵Dkと識別情報とを対応付けた情報を含む特定ファイルFを作成する(ステップS904)。そして、情報処理装置100は、特定ファイル作成処理を終了する。これにより、情報処理装置100は、特定ファイルFを、ディレクトリDに格納することができる。
Next, the
(ディレクトリ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
図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
図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
これにより、グループGAに所属する情報処理装置100は、特定ファイルFA内のディレクトリ鍵DkAと、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkAを生成することができる。そのため、グループGAに所属する情報処理装置100は、データ鍵dkAを用いて、ディレクトリDAにデータdを暗号化して格納することができる。
Thereby, the
一方、グループGAに所属しない情報処理装置100は、特定ファイルFA内のディレクトリ鍵DkAを取得しても、グループGAに固有なグループ鍵GkAを有していないため、データ鍵dkAを合成することができない。そのため、グループGAに所属しない情報処理装置100は、データ鍵dkAがないため、ディレクトリDAに格納するデータdを暗号化することができない。
On the other hand, since the
次に、図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
図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
図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
(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
情報処理装置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
これにより、グループGAに所属する情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor1と、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkorを生成することができる。また、グループGBに所属する情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor2と、グループGBに固有なグループ鍵GkBと、を合成して、データ鍵dkorを生成することができる。そのため、グループGAまたはグループGBに所属する情報処理装置100は、データ鍵dkorを用いて、ディレクトリDorにデータdを暗号化して格納することができる。
Thus, the
一方、グループGAにもグループGBにも所属しない情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor1やディレクトリ鍵Dkor2を取得しても、データ鍵dkorを合成することができない。そのため、グループGAにもグループGBにも所属しない情報処理装置100は、データ鍵dkorがないため、ディレクトリDorに格納するデータdを暗号化することができない。
On the other hand, the
次に、図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
図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
図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
(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
次に、情報処理装置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
これにより、グループGAにもグループGBにも所属する情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand1と、グループGAに固有なグループ鍵GkAと、を合成して、データ鍵dkand1を生成することができる。また、グループGAにもグループGBにも所属する情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand2と、グループGBに固有なグループ鍵GkBと、を合成して、データ鍵dkand2を生成することができる。
Thereby, the
そのため、グループGAにもグループGBにも所属する情報処理装置100は、データ鍵dkand1とデータ鍵dkand2との組を用いて、ディレクトリDandにデータdを暗号化して格納することができる。
Therefore, the
一方、グループGAに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand1を取得しても、データ鍵dkand1を合成することができない。また、グループGBに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand2を取得しても、データ鍵dkand2を合成することができない。
On the other hand, the
そのため、グループGAとグループGBとのいずれかに所属しない情報処理装置100は、データ鍵dkand1とデータ鍵dkand2との少なくとも一方がないため、ディレクトリDandに格納するデータdを暗号化することができない。
For this reason, the
情報処理装置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
情報処理装置100は、データdを暗号化すると共に、データdに付与された識別名を暗号化してもよい。データdに付与された識別名とは、いわゆるファイル名である。これにより、情報処理装置100は、セキュリティを担保することができる。
The
(データ格納処理)
次に、図13を用いて、情報処理装置100によるデータ格納処理の詳細な処理手順について説明する。データ格納処理は、図10〜図12に示した格納例1〜格納例3における情報処理装置100の処理である。
(Data storage processing)
Next, a detailed processing procedure of data storage processing by the
図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
一方、格納要求が入力された場合(ステップS1301:Yes)、情報処理装置100は、格納要求されたパスにあるディレクトリDから特定ファイルFを取得する(ステップS1302)。次に、情報処理装置100は、特定ファイルFが取得できたか否かを判定する(ステップS1303)。
On the other hand, when the storage request is input (step S1301: Yes), the
ここで、特定ファイル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
一方、ステップ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
次に、情報処理装置100は、データ鍵合成処理により、データ鍵dkが合成できたか否かを判定する(ステップS1306)。ここで、データ鍵dkが合成できなかった場合(ステップS1306:No)、情報処理装置100は、ステップS1308に移行する。
Next, the
一方、データ鍵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
ステップS1308において、情報処理装置100は、データdを格納する格納依頼をデータベース101に送信する(ステップS1308)。次に、情報処理装置100は、データ格納処理を終了する。これにより、データベース101は、ディレクトリDに暗号化データCdを格納することができる。
In step S1308, the
(データ鍵合成処理)
次に、図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
次に、情報処理装置100は、条件情報が示すグループGに対応するグループ鍵Gkが、グループ鍵テーブル300に格納されているか否かを判定する(ステップS1402)。ここで、格納されていない場合(ステップS1402:No)、情報処理装置100は、データ鍵合成処理を終了する。
Next, the
一方、格納されている場合(ステップS1402:Yes)、情報処理装置100は、条件情報に従ってグループ鍵Gkを取得する(ステップS1403)。次に、情報処理装置100は、取得したグループ鍵Gkを用いて、特定ファイルF内のディレクトリ鍵Dkを復号し、復号によりデータ鍵dkを生成する(ステップS1404)。
On the other hand, if it is stored (step S1402: Yes), the
そして、情報処理装置100は、データ鍵合成処理を終了する。これにより、情報処理装置100は、データ鍵dkを用いて、データdを暗号化することができる。
Then, the
(ディレクトリ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
図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
図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
(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
一方、グループGAに所属しない情報処理装置100は、特定ファイルFA内のディレクトリ鍵DkAを取得しても、グループGAに固有なグループ鍵GkAを有していないため、データ鍵dkAを合成することができない。そのため、グループGAに所属しない情報処理装置100は、データ鍵dkAがないため、ディレクトリDAの暗号化データCdを復号することができない。
On the other hand, since the
次に、図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
図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
図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
一方、グループGAにもグループGBにも所属しない情報処理装置100は、特定ファイルFor内のディレクトリ鍵Dkor1やディレクトリ鍵Dkor2を取得しても、データ鍵dkorを合成することができない。そのため、グループGAにもグループGBにも所属しない情報処理装置100は、データ鍵dkorがないため、ディレクトリDorの暗号化データCdorを復号することができない。
On the other hand, the
次に、図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
図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
図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
そのため、グループGAにもグループGBにも所属する情報処理装置100は、データ鍵dkand1とデータ鍵dkand2との組を用いて、ディレクトリDandの暗号化データCdandを復号することができる。
Therefore, the
一方、グループGAに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand1を取得しても、データ鍵dkand1を合成することができない。また、グループGBに所属しない情報処理装置100は、特定ファイルFand内のディレクトリ鍵Dkand2を取得しても、データ鍵dkand2を合成することができない。
On the other hand, the
そのため、グループGAとグループGBとのいずれかに所属しない情報処理装置100は、データ鍵dkand1とデータ鍵dkand2との少なくとも一方がないため、ディレクトリDandの暗号化データCdandを復号することができない。
Therefore, the
情報処理装置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
情報処理装置100は、データdに付与された識別名が暗号化されている場合、データ鍵dkを用いて識別名を復号してもよい。これにより、情報処理装置100の利用者は、データdの識別名を把握することができる。
If the identification name given to the data d is encrypted, the
(データ取得処理)
次に、図18を用いて、情報処理装置100によるデータ取得処理の詳細な処理手順について説明する。データ取得処理は、図15〜図17に示した取得例1〜取得例3における情報処理装置100の処理である。
(Data acquisition process)
Next, a detailed processing procedure of data acquisition processing by the
図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
一方、取得要求が入力された場合(ステップS1801:Yes)、情報処理装置100は、取得要求されたパスにあるディレクトリDから特定ファイルFを取得する(ステップS1802)。次に、情報処理装置100は、特定ファイルFが取得できたか否かを判定する(ステップS1803)。
On the other hand, when an acquisition request is input (step S1801: Yes), the
ここで、特定ファイル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
一方、ステップ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
次に、情報処理装置100は、データ鍵合成処理により、データ鍵dkが合成できたか否かを判定する(ステップS1807)。ここで、データ鍵dkが合成できなかった場合(ステップS1807:No)、情報処理装置100は、データ取得処理を終了する。
Next, the
一方、データ鍵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
以上説明したように、情報処理装置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
これにより、情報処理装置100は、データ鍵dkを用いて、ディレクトリDに格納するデータdを暗号化しておくことができる。また、情報処理装置100は、データ鍵dkを用いて、ディレクトリDに格納された暗号化データCdを取得して復号することができる。そして、ディレクトリDは、利用可能なグループG以外からは利用できないようになる。
Thereby, the
情報処理装置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
また、情報処理装置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
なお、本実施の形態で説明した取得方法、格納方法、および作成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本取得プログラム、本格納プログラム、および本作成プログラムは、ハードディスク、フレキシブルディスク、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
(付記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
(付記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
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.
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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6745864B2 (en) * | 2018-12-19 | 2020-08-26 | 東日本電信電話株式会社 | Confidential information management system |
Family Cites Families (5)
| 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 |
-
2012
- 2012-03-30 JP JP2012082315A patent/JP5953886B2/en not_active Expired - Fee Related
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 |