JP2023048525A - Data sharing apparatus and data sharing method - Google Patents

Data sharing apparatus and data sharing method Download PDF

Info

Publication number
JP2023048525A
JP2023048525A JP2021157890A JP2021157890A JP2023048525A JP 2023048525 A JP2023048525 A JP 2023048525A JP 2021157890 A JP2021157890 A JP 2021157890A JP 2021157890 A JP2021157890 A JP 2021157890A JP 2023048525 A JP2023048525 A JP 2023048525A
Authority
JP
Japan
Prior art keywords
key
user
target data
decryption
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021157890A
Other languages
Japanese (ja)
Other versions
JP7060751B1 (en
Inventor
良多 根岸
Ryota Negishi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2021157890A priority Critical patent/JP7060751B1/en
Application granted granted Critical
Publication of JP7060751B1 publication Critical patent/JP7060751B1/en
Publication of JP2023048525A publication Critical patent/JP2023048525A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

To provide a data sharing apparatus configured to suppress leakage of information represented by target data while allowing a plurality of users to share the target data.SOLUTION: A data sharing apparatus 10 allows a plurality of users to share target data. Authenticity information acquisition units 111, 121 acquire authenticity information indicating that the users are authentic. A target data encryption unit 132 generates an encryption key and a decryption key, and encrypts the target data based on the encryption key to generate encrypted target data. A decryption key encryption unit 134 encrypts, for each of the users, the decryption key that can be decrypted based on the authenticity information on the users to generate an encrypted decryption key. A target data decryption unit 136 acquires a decryption key by decrypting the encrypted decryption key based on the authenticity information on the users, and decrypts the encrypted target data based on the decryption key, to acquire the target data.SELECTED DRAWING: Figure 4

Description

本発明は、データ共有装置、及び、データ共有方法に関する。 The present invention relates to a data sharing device and a data sharing method.

複数のユーザが対象データを共有するデータ共有装置が知られている。例えば、特許文献1に記載のデータ共有装置は、複数のユーザ間で締結される契約を表す対象データを、当該複数のユーザが共有する。 A data sharing device is known in which target data is shared by a plurality of users. For example, in the data sharing device described in Patent Literature 1, multiple users share target data representing a contract concluded between the multiple users.

特開2013-114641号公報JP 2013-114641 A

ところで、複数のユーザ間で締結される契約を対象データが表す場合等のように、対象データが表す情報に対して比較的高い機密性が求められることがある。このため、上記データ共有装置において、対象データを暗号化することにより暗号化済対象データを生成し、対象データに代えて、当該暗号化済対象データを記憶することが好適であると考えられる。 By the way, there are cases in which relatively high confidentiality is required for the information represented by the target data, such as when the target data represents a contract concluded between a plurality of users. Therefore, in the data sharing device, it is considered preferable to generate encrypted target data by encrypting the target data and store the encrypted target data instead of the target data.

しかしながら、この場合、暗号化済対象データの復号に用いられる復号鍵を、対象データを共有する複数のユーザに安全に通知することが困難である。
このように、上記データ共有装置においては、対象データが表す情報が漏洩する虞がある、という課題があった。なお、この種の課題は、複数のユーザ間で締結される契約以外の情報を対象データが表す場合も同様に生じ得る。
However, in this case, it is difficult to safely notify multiple users who share the target data of the decryption key used to decrypt the encrypted target data.
As described above, the data sharing apparatus has a problem that the information represented by the target data may be leaked. It should be noted that this type of problem can also occur when the target data represents information other than contracts concluded between a plurality of users.

本発明の目的の一つは、複数のユーザが対象データを共有しながら、対象データが表す情報の漏洩を抑制することである。 One of the objects of the present invention is to suppress leakage of information represented by target data while a plurality of users share the target data.

一つの側面では、データ共有装置は、複数のユーザが対象データを共有する。
データ共有装置は、真正情報取得部と、対象データ暗号化部と、対象データ記憶部と、復号鍵暗号化部と、復号鍵記憶部と、対象データ復号部と、を備える。
真正情報取得部は、ユーザに対する、当該ユーザが真正であることを示す情報である真正情報を取得する。
対象データ暗号化部は、対象データを受け付けるとともに、当該対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵を生成し、且つ、当該暗号鍵に基づいて当該対象データを暗号化することにより暗号化済対象データを生成する。
対象データ記憶部は、暗号化済対象データを記憶する。
In one aspect, a data sharing device allows multiple users to share target data.
The data sharing device includes an authentic information acquisition section, a target data encryption section, a target data storage section, a decryption key encryption section, a decryption key storage section, and a target data decryption section.
The authenticity information acquisition unit acquires authenticity information for a user, which is information indicating that the user is authentic.
The target data encryption unit receives target data, generates an encryption key and a decryption key respectively used for encryption and decryption of the target data, and encrypts the target data based on the encryption key. generates encrypted target data.
The target data storage unit stores encrypted target data.

復号鍵暗号化部は、複数のユーザのそれぞれに対して、当該ユーザに対する真正情報に基づいて復号可能に、復号鍵を暗号化することにより暗号化済復号鍵を生成する。
復号鍵記憶部は、複数のユーザのそれぞれに対して、当該ユーザに対して生成された暗号化済復号鍵を当該ユーザと対応付けて記憶する。
対象データ復号部は、ユーザに対して取得された真正情報に基づいて、当該ユーザと対応付けて記憶されている暗号化済復号鍵を復号することにより復号鍵を取得するとともに、当該復号鍵に基づいて、暗号化済対象データを復号することにより対象データを取得する。
The decryption key encryption unit generates an encrypted decryption key by encrypting the decryption key for each of a plurality of users so that the decryption key can be decrypted based on the authenticity information for the user.
The decryption key storage unit stores, for each of a plurality of users, an encrypted decryption key generated for the user in association with the user.
The target data decryption unit obtains the decryption key by decrypting the encrypted decryption key stored in association with the user based on the authenticity information obtained for the user, and obtains the decryption key Based on this, the target data is obtained by decrypting the encrypted target data.

他の一つの側面では、データ共有方法は、複数のユーザが対象データを共有する。
データ共有方法は、
ユーザに対する、当該ユーザが真正であることを示す情報である真正情報を取得し、
対象データを受け付けるとともに、当該対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵を生成し、且つ、当該暗号鍵に基づいて当該対象データを暗号化することにより暗号化済対象データを生成し、
暗号化済対象データを記憶し、
複数のユーザのそれぞれに対して、当該ユーザに対する真正情報に基づいて復号可能に、復号鍵を暗号化することにより暗号化済復号鍵を生成し、
複数のユーザのそれぞれに対して、当該ユーザに対して生成された暗号化済復号鍵を当該ユーザと対応付けて記憶し、
ユーザに対して取得された真正情報に基づいて、当該ユーザと対応付けて記憶されている暗号化済復号鍵を復号することにより復号鍵を取得するとともに、当該復号鍵に基づいて、暗号化済対象データを復号することにより対象データを取得する、
ことを含む。
In another aspect, a data sharing method allows multiple users to share target data.
Data sharing method
Acquiring authenticity information for a user, which is information indicating that the user is authentic,
Encrypted Target Data by receiving Target Data, generating an encryption key and a decryption key to be used respectively for encryption and decryption of the Target Data, and encrypting the Target Data based on the encryption key generate and
store the encrypted target data;
generating an encrypted decryption key by encrypting the decryption key for each of a plurality of users so that decryption is possible based on authenticity information for the user;
storing, for each of a plurality of users, an encrypted decryption key generated for the user in association with the user;
Acquire a decryption key by decrypting the encrypted decryption key stored in association with the user based on the authenticity information obtained for the user, and obtain the encrypted decryption key based on the decryption key obtaining the target data by decrypting the target data;
Including.

複数のユーザが対象データを共有しながら、対象データが表す情報の漏洩を抑制することができる。 While a plurality of users share the target data, leakage of information represented by the target data can be suppressed.

第1実施形態のデータ共有システムの構成を表すブロック図である。1 is a block diagram showing the configuration of a data sharing system according to a first embodiment; FIG. 第1実施形態のデータ共有装置の構成を表すブロック図である。It is a block diagram showing the structure of the data sharing apparatus of 1st Embodiment. 第1実施形態の端末装置の構成を表すブロック図である。It is a block diagram showing the structure of the terminal device of 1st Embodiment. 第1実施形態のデータ共有システムの機能を表すブロック図である。It is a block diagram showing the function of the data sharing system of 1st Embodiment. 第1実施形態のデータ共有装置が実行する処理を表すフローチャートである。4 is a flowchart showing processing executed by the data sharing device of the first embodiment; 第1実施形態のデータ共有装置が実行する処理を表すフローチャートである。4 is a flowchart showing processing executed by the data sharing device of the first embodiment; 第1実施形態のデータ共有装置が実行する処理を表すフローチャートである。4 is a flowchart showing processing executed by the data sharing device of the first embodiment; 第1実施形態のデータ共有装置が実行する処理を表すフローチャートである。4 is a flowchart showing processing executed by the data sharing device of the first embodiment; 第1実施形態のデータ共有装置が実行する処理を表すフローチャートである。4 is a flowchart showing processing executed by the data sharing device of the first embodiment; 第1実施形態のデータ共有装置が実行する処理を表すフローチャートである。4 is a flowchart showing processing executed by the data sharing device of the first embodiment; 第1実施形態のデータ共有装置が実行する処理を表すフローチャートである。4 is a flowchart showing processing executed by the data sharing device of the first embodiment;

以下、本発明の、データ共有装置、及び、データ共有方法に関する各実施形態について図1乃至図11を参照しながら説明する。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of a data sharing apparatus and a data sharing method of the present invention will be described below with reference to FIGS. 1 to 11. FIG.

<第1実施形態>
(概要)
第1実施形態のデータ共有装置は、複数のユーザが対象データを共有する。
データ共有装置は、真正情報取得部と、対象データ暗号化部と、対象データ記憶部と、復号鍵暗号化部と、復号鍵記憶部と、対象データ復号部と、を備える。
<First embodiment>
(overview)
In the data sharing device of the first embodiment, multiple users share target data.
The data sharing device includes an authentic information acquisition section, a target data encryption section, a target data storage section, a decryption key encryption section, a decryption key storage section, and a target data decryption section.

真正情報取得部は、ユーザに対する、当該ユーザが真正であることを示す情報である真正情報を取得する。
対象データ暗号化部は、対象データを受け付けるとともに、当該対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵を生成し、且つ、当該暗号鍵に基づいて当該対象データを暗号化することにより暗号化済対象データを生成する。
対象データ記憶部は、暗号化済対象データを記憶する。
The authenticity information acquisition unit acquires authenticity information for a user, which is information indicating that the user is authentic.
The target data encryption unit receives target data, generates an encryption key and a decryption key respectively used for encryption and decryption of the target data, and encrypts the target data based on the encryption key. generates encrypted target data.
The target data storage unit stores encrypted target data.

復号鍵暗号化部は、複数のユーザのそれぞれに対して、当該ユーザに対する真正情報に基づいて復号可能に、復号鍵を暗号化することにより暗号化済復号鍵を生成する。
復号鍵記憶部は、複数のユーザのそれぞれに対して、当該ユーザに対して生成された暗号化済復号鍵を当該ユーザと対応付けて記憶する。
The decryption key encryption unit generates an encrypted decryption key by encrypting the decryption key for each of a plurality of users so that the decryption key can be decrypted based on the authenticity information for the user.
The decryption key storage unit stores, for each of a plurality of users, an encrypted decryption key generated for the user in association with the user.

対象データ復号部は、ユーザに対して取得された真正情報に基づいて、当該ユーザと対応付けて記憶されている暗号化済復号鍵を復号することにより復号鍵を取得するとともに、当該復号鍵に基づいて、暗号化済対象データを復号することにより対象データを取得する。 The target data decryption unit obtains the decryption key by decrypting the encrypted decryption key stored in association with the user based on the authenticity information obtained for the user, and obtains the decryption key Based on this, the target data is obtained by decrypting the encrypted target data.

これによれば、対象データを共有する複数のユーザのそれぞれに対して、真正情報に基づいて、暗号化済復号鍵を復号することにより復号鍵が取得され、当該復号鍵に基づいて、暗号化済対象データを復号することにより対象データが取得される。従って、復号鍵を、対象データを共有する複数のユーザに通知することなく、当該複数のユーザのそれぞれが対象データを取得できる。 According to this, the decryption key is obtained by decrypting the encrypted decryption key based on the authenticity information for each of a plurality of users who share the target data, and the encrypted decryption key is obtained based on the decryption key. The target data is obtained by decoding the processed target data. Therefore, each of the multiple users can acquire the target data without notifying the multiple users who share the target data of the decryption key.

また、対象データに代えて、暗号化済対象データが記憶される。更に、暗号化済対象データの復号に用いられる復号鍵に代えて、暗号化済復号鍵が記憶される。従って、対象データ及び復号鍵が漏洩することを抑制できる。
このように、上記データ共有装置によれば、複数のユーザが対象データを共有しながら、対象データが表す情報の漏洩を抑制できる。
次に、第1実施形態のデータ共有装置について、より詳細に説明する。
Also, instead of the target data, the encrypted target data is stored. Further, an encrypted decryption key is stored instead of the decryption key used for decrypting the encrypted target data. Therefore, it is possible to prevent the target data and the decryption key from being leaked.
As described above, according to the data sharing apparatus, while a plurality of users share the target data, leakage of information represented by the target data can be suppressed.
Next, the data sharing device of the first embodiment will be described in more detail.

(構成)
図1に表されるように、データ共有システム1は、データ共有装置10と、複数(本例では、N個)の端末装置20-1,20-2,…,20-Nと、を備える。Nは、2以上の整数を表す。データ共有装置10と、各端末装置20-1,20-2,…,20-Nと、は、通信回線NWを介して互いに通信可能に接続される。通信回線NWは、無線通信の伝送路を含んでいてもよい。
(composition)
As shown in FIG. 1, a data sharing system 1 includes a data sharing device 10 and a plurality of (N in this example) terminal devices 20-1, 20-2, . . . , 20-N. . N represents an integer of 2 or more. The data sharing device 10 and each of the terminal devices 20-1, 20-2, . The communication line NW may include a transmission line for wireless communication.

データ共有装置10、及び、N個の端末装置20-1,20-2,…,20-Nのそれぞれは、情報処理装置、又は、コンピュータである。例えば、コンピュータは、据置型ゲーム機、携帯型ゲーム機、テレビ受像機、又は、スマートフォン等の少なくとも一部であってもよい。例えば、データ共有装置10は、サーバ型コンピュータ、デスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット型コンピュータ、又は、スマートフォン等であってよい。例えば、各端末装置20-1,20-2,…,20-Nは、デスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット型コンピュータ、又は、スマートフォン等であってよい。
なお、データ共有装置10は、互いに通信可能に接続された複数の装置により構成されていてもよい。
Each of the data sharing device 10 and the N terminal devices 20-1, 20-2, . . . , 20-N is an information processing device or a computer. For example, the computer may be at least part of a stationary game machine, a portable game machine, a television receiver, or a smart phone. For example, the data sharing device 10 may be a server computer, desktop computer, laptop computer, tablet computer, smartphone, or the like. For example, each terminal device 20-1, 20-2, . . . , 20-N may be a desktop computer, laptop computer, tablet computer, smart phone, or the like.
Note that the data sharing device 10 may be composed of a plurality of devices that are communicably connected to each other.

図2に表されるように、データ共有装置10は、バスBU1を介して互いに接続された、処理装置11、記憶装置12、入力装置13、出力装置14、及び、通信装置15を備える。
処理装置11は、記憶装置12に記憶されているプログラムを実行することにより、記憶装置12、入力装置13、出力装置14、及び、通信装置15を制御する。これにより、処理装置11は、後述する機能を実現する。
As shown in FIG. 2, the data sharing device 10 comprises a processing device 11, a storage device 12, an input device 13, an output device 14, and a communication device 15, which are interconnected via a bus BU1.
The processing device 11 controls the storage device 12 , the input device 13 , the output device 14 and the communication device 15 by executing programs stored in the storage device 12 . As a result, the processing device 11 implements functions to be described later.

本例では、処理装置11は、CPU(Central Processing Unit)である。なお、処理装置11は、CPUに代えて、又は、CPUに加えて、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、又は、DSP(Digital Signal Processor)を含んでもよい。 In this example, the processing device 11 is a CPU (Central Processing Unit). The processing device 11 may include an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), or a DSP (Digital Signal Processor) in place of or in addition to the CPU.

本例では、記憶装置12は、揮発性メモリと不揮発性メモリとを含む。例えば、記憶装置12は、RAM(Random Access Memory)、ROM(Read Only Memory)、半導体メモリ、有機メモリ、HDD(Hard Disk Drive)、及び、SSD(Solid State Drive)の少なくとも1つを含む。 In this example, storage device 12 includes volatile memory and non-volatile memory. For example, the storage device 12 includes at least one of RAM (Random Access Memory), ROM (Read Only Memory), semiconductor memory, organic memory, HDD (Hard Disk Drive), and SSD (Solid State Drive).

入力装置13は、データ共有装置10の外部から情報を入力する。本例では、入力装置13は、キーボード及びマウスを備える。なお、入力装置13は、マイクロフォンを備えてもよい。
出力装置14は、データ共有装置10の外部へ情報を出力する。本例では、出力装置14は、ディスプレイを備える。なお、出力装置14は、スピーカを備えてもよい。
なお、データ共有装置10は、入力装置13及び出力装置14の両方を構成するタッチパネル式のディスプレイを備えてもよい。
The input device 13 inputs information from outside the data sharing device 10 . In this example, the input device 13 comprises a keyboard and mouse. Note that the input device 13 may include a microphone.
The output device 14 outputs information to the outside of the data sharing device 10 . In this example, output device 14 comprises a display. Note that the output device 14 may include a speaker.
Note that the data sharing device 10 may include a touch panel display that constitutes both the input device 13 and the output device 14 .

通信装置15は、データ共有装置10の外部の装置と通信する。本例では、通信装置15は、カード型、又は、オンボード型の、ネットワークアダプタ、又は、ネットワークインタフェースを備える。 The communication device 15 communicates with devices external to the data sharing device 10 . In this example, the communication device 15 comprises a card-type or on-board type network adapter or network interface.

図3に表されるように、端末装置20-nは、バスBU2を介して互いに接続された、処理装置21、記憶装置22、入力装置23、出力装置24、及び、通信装置25を備える。nは、1乃至Nの整数を表す。
処理装置21、記憶装置22、入力装置23、出力装置24、及び、通信装置25は、データ共有装置10の処理装置11、記憶装置12、入力装置13、出力装置14、及び、通信装置15と同様の機能をそれぞれ有する。
As shown in FIG. 3, the terminal device 20-n comprises a processing device 21, a storage device 22, an input device 23, an output device 24, and a communication device 25 which are interconnected via a bus BU2. n represents an integer from 1 to N;
The processing device 21, the storage device 22, the input device 23, the output device 24, and the communication device 25 are the processing device 11, the storage device 12, the input device 13, the output device 14, and the communication device 15 of the data sharing device 10. Each has a similar function.

(機能)
図4に表されるように、端末装置20-nの機能は、ユーザ情報入力部201と、認証用入力情報入力部202と、要求入力部203と、対象データ出力部204と、を含む。
(function)
As shown in FIG. 4, the functions of the terminal device 20-n include a user information input section 201, an authentication input information input section 202, a request input section 203, and a target data output section 204.

ユーザ情報入力部201は、端末装置20-nのユーザにより入力装置23を用いて入力されたユーザ情報を受け付ける。
本例では、ユーザ情報は、ユーザ識別情報と、パスワードと、を含む。例えば、ユーザを識別するユーザ識別情報は、当該ユーザのユーザID(Identification)、又は、当該ユーザのメールアドレスであってもよい。
The user information input unit 201 accepts user information input using the input device 23 by the user of the terminal device 20-n.
In this example, the user information includes user identification information and a password. For example, the user identification information that identifies the user may be the user's user ID (Identification) or the user's email address.

加えて、ユーザ情報は、住所、電話番号、誕生日、及び、年齢、の少なくとも1つを含んでいてもよい。例えば、ユーザ識別情報、及び、パスワードのそれぞれは、文字列である。文字列は、複数の文字要素からなる。文字要素は、文字、数字、又は、記号である。
ユーザ情報入力部201は、受け付けられたユーザ情報を通信装置25を用いてデータ共有装置10へ送信する。
Additionally, the user information may include at least one of address, phone number, date of birth, and age. For example, each of the user identification information and password is a character string. A string consists of multiple character elements. Character elements are letters, numbers, or symbols.
The user information input unit 201 transmits the accepted user information to the data sharing device 10 using the communication device 25 .

認証用入力情報入力部202は、端末装置20-nのユーザにより入力装置23を用いて入力された認証用入力情報を受け付ける。
本例では、認証用入力情報は、ユーザ識別情報と、パスワードと、を含む。
認証用入力情報入力部202は、受け付けられた認証用入力情報を通信装置25を用いてデータ共有装置10へ送信する。
The authentication input information input unit 202 accepts authentication input information input using the input device 23 by the user of the terminal device 20-n.
In this example, the authentication input information includes user identification information and a password.
The authentication input information input unit 202 transmits the accepted authentication input information to the data sharing device 10 using the communication device 25 .

要求入力部203は、端末装置20-nのユーザにより入力装置23を用いて入力された処理要求を受け付ける。本例では、処理要求は、共有要求、アクセス要求、更新要求、又は、締結要求である。 The request input unit 203 accepts a processing request input using the input device 23 by the user of the terminal device 20-n. In this example, the processing request is a sharing request, an access request, an update request, or a conclusion request.

共有要求は、ユーザ(換言すると、共有元ユーザ)が、他のユーザ(換言すると、共有先ユーザ)との間で、対象データを共有することを要求する情報である。対象データは、複数のユーザの間で締結される契約を表す。本例では、対象データは、共有元ユーザと共有先ユーザとの間で締結される契約の内容を表す契約書を表すデータである。
なお、共有先ユーザは、複数であってもよい。また、対象データは、複数のユーザ間で締結される契約以外の情報を表していてもよい。
A sharing request is information requesting that a user (in other words, a sharing source user) share target data with another user (in other words, a sharing destination user). The target data represents a contract concluded between multiple users. In this example, the target data is data representing a contract document representing the details of the contract concluded between the sharing source user and the sharing destination user.
It should be noted that the number of sharing destination users may be plural. Also, the target data may represent information other than contracts concluded between a plurality of users.

本例では、共有要求は、対象データと、共有元ユーザを識別するユーザ識別情報である共有元ユーザ識別情報と、共有先ユーザを識別するユーザ識別情報である共有先ユーザ識別情報と、を含む。なお、データ共有装置10は、対象データの基となる基礎データを記憶していてもよい。例えば、基礎データは、複数のユーザの間で締結される契約の内容を表す契約書の雛型を表すデータである。この場合、共有要求は、対象データに代えて、基礎データを識別する基礎データ識別情報を含んでいてもよい。 In this example, the sharing request includes the target data, the sharing source user identification information that is the user identification information that identifies the sharing source user, and the sharing destination user identification information that is the user identification information that identifies the sharing destination user. . Note that the data sharing device 10 may store basic data on which the target data is based. For example, the basic data is data representing a template of a contract representing the details of a contract concluded between a plurality of users. In this case, the sharing request may contain basic data identification information for identifying the basic data instead of the target data.

共有元ユーザが対象データの共有においてアクセスコードの使用を設定する場合、共有要求は、アクセスコードを含む。例えば、アクセスコードは、文字列である。文字列は、複数の文字要素からなる。文字要素は、文字、数字、又は、記号である。 If the sharing source user sets the use of the access code in sharing the target data, the sharing request includes the access code. For example, the access code is a string. A string consists of multiple character elements. Character elements are letters, numbers, or symbols.

アクセス要求は、ユーザ(換言すると、アクセスユーザ)が、対象データにアクセスする(例えば、閲覧する)ことを要求する情報である。
本例では、アクセス要求は、アクセスユーザを識別するユーザ識別情報であるアクセスユーザ識別情報と、対象データを識別する対象データ識別情報と、を含む。
アクセスの対象となる対象データの共有においてアクセスコードの使用が設定されている場合、アクセス要求は、アクセスコードを含む。
An access request is information requesting a user (in other words, an access user) to access (eg, view) target data.
In this example, the access request includes access user identification information that identifies the access user, and target data identification information that identifies the target data.
If the use of an access code is set in the sharing of the target data to be accessed, the access request includes the access code.

更新要求は、ユーザ(換言すると、更新要求ユーザ)が、対象データを更新することを要求する情報である。
本例では、更新要求は、更新要求ユーザを識別するユーザ識別情報である更新要求ユーザ識別情報と、更新の対象となる対象データを識別する対象データ識別情報と、更新後の対象データと、を含む。
An update request is information that a user (in other words, an update requesting user) requests to update target data.
In this example, the update request includes update request user identification information that identifies the update requesting user, target data identification information that identifies target data to be updated, and updated target data. include.

更新の対象となる対象データの共有においてアクセスコードの使用が設定されている場合、更新要求は、アクセスコードを含む。本例では、更新要求は、アクセス要求に続いて入力される。なお、アクセス要求に続いて更新要求が入力される場合、アクセス要求に含まれる、アクセスユーザ識別情報、対象データ識別情報、及び、アクセスコードは、更新要求に含まれる、更新要求ユーザ識別情報、対象データ識別情報、及び、アクセスコードとしてそれぞれ用いられてよい。 If the use of an access code is set in sharing the target data to be updated, the update request includes the access code. In this example, the update request is entered following the access request. When an update request is input following an access request, the access user identification information, the target data identification information, and the access code included in the access request are the update request user identification information, the target data identification information, and the access code included in the update request. They may be used as data identification information and access codes, respectively.

締結要求は、ユーザ(換言すると、締結要求ユーザ)が、対象データが表す契約を締結することを要求する情報である。
本例では、締結要求は、締結要求ユーザを識別するユーザ識別情報である締結要求ユーザ識別情報と、締結の対象となる対象データを識別する対象データ識別情報と、を含む。
A conclusion request is information requesting that a user (in other words, a conclusion requesting user) conclude a contract represented by target data.
In this example, the conclusion request includes conclusion-requesting user identification information that identifies the conclusion-requesting user, and target data identification information that identifies target data to be concluded.

締結の対象となる対象データの共有においてアクセスコードの使用が設定されている場合、締結要求は、アクセスコードを含む。本例では、締結要求は、アクセス要求に続いて入力される。なお、アクセス要求に続いて締結要求が入力される場合、アクセス要求に含まれる、アクセスユーザ識別情報、対象データ識別情報、及び、アクセスコードは、締結要求に含まれる、締結要求ユーザ識別情報、対象データ識別情報、及び、アクセスコードとしてそれぞれ用いられてよい。
要求入力部203は、受け付けられた処理要求を通信装置25を用いてデータ共有装置10へ送信する。
If the use of an access code is set in the sharing of the target data to be concluded, the conclusion request includes the access code. In this example, the closing request is entered following the access request. When an access request is followed by a conclusion request, the access user identification information, target data identification information, and access code included in the access request are the same as the conclusion request user identification information, target data identification information, and target data identification information included in the access request. They may be used as data identification information and access codes, respectively.
The request input unit 203 uses the communication device 25 to transmit the received processing request to the data sharing device 10 .

対象データ出力部204は、通信装置25を用いてデータ共有装置10から対象データを受信する。対象データ出力部204は、受信された対象データを出力装置24を用いて出力する(本例では、ディスプレイに表示する)。 The target data output unit 204 receives target data from the data sharing device 10 using the communication device 25 . The target data output unit 204 outputs the received target data using the output device 24 (in this example, displays it on the display).

データ共有装置10の機能は、ユーザ登録処理部110と、ユーザ認証処理部120と、要求処理部130と、を含む。
ユーザ登録処理部110は、ユーザ情報受付部111と、秘密鍵暗号化部112と、ユーザ情報記憶部113と、を含む。
The functions of the data sharing device 10 include a user registration processing unit 110 , a user authentication processing unit 120 and a request processing unit 130 .
User registration processing unit 110 includes user information reception unit 111 , secret key encryption unit 112 , and user information storage unit 113 .

ユーザ情報受付部111は、通信装置15を用いて端末装置20-nからユーザ情報を受信し、受信されたユーザ情報を受け付ける。ユーザ情報受付部111は、受け付けられたユーザ情報に基づいて真正情報及び照合基準情報を取得する。本例では、ユーザ情報受付部111は、真正情報及び照合基準情報を生成することにより取得する。 The user information accepting unit 111 receives user information from the terminal device 20-n using the communication device 15, and accepts the received user information. The user information reception unit 111 acquires authenticity information and verification reference information based on the received user information. In this example, the user information reception unit 111 acquires the authenticity information and the matching reference information by generating them.

真正情報は、ユーザが真正であることを示す情報である。本例では、真正情報は、ユーザ情報に含まれるパスワードに基づいて生成される。本例では、真正情報は、暗号用ハッシュ化方式に従って生成されるパスワードのハッシュ値である。
例えば、パスワードのハッシュ値は、ランダムに生成される文字列(換言すると、ソルト)をパスワードに連結するとともに、ハッシュ関数による文字列の変換を、所定のストレッチ回数だけ繰り返し実行する(換言すると、ストレッチングを行う)ことにより生成される。
The authenticity information is information indicating that the user is authentic. In this example, the authenticity information is generated based on the password included in the user information. In this example, the authenticity information is a password hash value generated according to a cryptographic hashing scheme.
For example, the hash value of a password is obtained by concatenating a randomly generated character string (in other words, salt) to the password, and repeatedly converting the character string using a hash function for a predetermined number of stretches (in other words, stretching generated by

なお、ユーザ情報受付部111は、真正情報を、データ共有システム1の外部のユーザ認証システムから受信することにより取得してもよい。この場合、ユーザ認証システムは、ユーザが真正であるか否かを判定し、ユーザが真正であると判定された場合に真正情報をデータ共有システム1へ送信し、一方、ユーザが真正であると判定されなかった場合に真正情報を送信しない。 Note that the user information accepting unit 111 may acquire authenticity information by receiving it from a user authentication system external to the data sharing system 1 . In this case, the user authentication system determines whether or not the user is genuine. Do not send authenticity information if not determined.

照合基準情報は、ユーザ情報に含まれるパスワードに基づいて生成される。本例では、照合基準情報は、暗号用ハッシュ化方式と異なる認証用ハッシュ化方式に従って生成されるパスワードのハッシュ値である。例えば、認証用ハッシュ化方式は、ソルト、及び、ストレッチ回数の少なくとも一方が暗号用ハッシュ化方式と異なる。 The matching reference information is generated based on the password included in the user information. In this example, the matching reference information is a password hash value generated according to an authentication hashing scheme different from the cryptographic hashing scheme. For example, the hashing scheme for authentication differs from the hashing scheme for encryption in at least one of the salt and the stretch count.

本例では、ユーザ情報受付部111は、ユーザに対する、当該ユーザが真正であることを示す情報である真正情報を取得する真正情報取得部の少なくとも一部に対応する。 In this example, the user information receiving unit 111 corresponds to at least a part of an authenticity information acquiring unit that acquires authenticity information, which is information indicating that the user is authentic, for the user.

秘密鍵暗号化部112は、ユーザ情報受付部111によってユーザ情報が受け付けられた場合、当該ユーザ情報に対して、公開鍵暗号方式に従った暗号化処理及び復号処理にそれぞれ用いられる公開鍵及び秘密鍵を生成する。例えば、公開鍵暗号方式は、RSA暗号方式である。 When user information is received by the user information receiving unit 111, the private key encryption unit 112 encrypts the user information with a public key and a secret key that are used for encryption processing and decryption processing according to the public key cryptosystem. Generate a key. For example, the public key cryptosystem is the RSA cryptosystem.

この場合、秘密鍵暗号化部112は、当該ユーザ情報に対して生成された秘密鍵に対して、当該ユーザ情報に対して取得された真正情報に基づく、共通鍵暗号方式に従った暗号化処理を行うことによって、当該秘密鍵を暗号化することにより暗号化済秘密鍵を生成する。例えば、共通鍵暗号方式は、AES(Advanced Encryption Standard)と呼ばれる暗号方式である。 In this case, the secret key encryption unit 112 encrypts the secret key generated for the user information according to the common key cryptosystem based on the authenticity information obtained for the user information. to generate an encrypted private key by encrypting the private key. For example, the common key cryptosystem is a cryptosystem called AES (Advanced Encryption Standard).

ユーザ情報記憶部113は、ユーザ情報受付部111によってユーザ情報が受け付けられた場合、当該ユーザ情報に含まれるパスワード以外の情報と、秘密鍵暗号化部112によって当該ユーザ情報に対して生成された公開鍵と、秘密鍵暗号化部112によって当該ユーザ情報に対して生成された暗号化済秘密鍵と、ユーザ情報受付部111によって当該ユーザ情報に対して生成された照合基準情報と、暗号用ハッシュ化方式情報と、認証用ハッシュ化方式情報と、を互いに対応付けて記憶装置12に記憶させる。 When the user information receiving unit 111 receives user information, the user information storage unit 113 stores information other than the password included in the user information and the public key generated for the user information by the secret key encryption unit 112. A key, an encrypted secret key generated for the user information by the secret key encryption unit 112, matching reference information generated for the user information by the user information reception unit 111, and cryptographic hashing Method information and authentication hashing method information are associated with each other and stored in the storage device 12 .

暗号用ハッシュ化方式情報は、当該ユーザ情報に対して真正情報を生成するために用いられた暗号用ハッシュ化方式を表す情報である。本例では、暗号用ハッシュ化方式情報は、ソルト、及び、ストレッチ回数を表す情報を含む。
認証用ハッシュ化方式情報は、当該ユーザ情報に対して照合基準情報を生成するために用いられた認証用ハッシュ化方式を表す情報である。本例では、認証用ハッシュ化方式情報は、ソルト、及び、ストレッチ回数を表す情報を含む。
The cryptographic hashing method information is information representing the cryptographic hashing method used to generate authentic information for the user information. In this example, the cryptographic hashing scheme information includes salt and information representing the number of stretches.
The authentication hashing method information is information representing the authentication hashing method used to generate the matching reference information for the user information. In this example, the authentication hashing method information includes salt and information representing the number of stretches.

本例では、ユーザ情報記憶部113は、複数のユーザのそれぞれに対して、当該ユーザと、公開鍵と、暗号化済秘密鍵と、を互いに対応付けて記憶する公開鍵秘密鍵記憶部に対応する。 In this example, the user information storage unit 113 corresponds to a public key/private key storage unit that stores, for each of a plurality of users, a user, a public key, and an encrypted private key in association with each other. do.

ユーザ認証処理部120は、認証用入力情報受付部121と、真正情報記憶部122と、を含む。
認証用入力情報受付部121は、通信装置15を用いて端末装置20-nから認証用入力情報を受信し、受信された認証用入力情報を受け付ける。認証用入力情報受付部121は、受け付けられた認証用入力情報に基づいて照合対象情報を取得する。本例では、認証用入力情報受付部121は、照合対象情報を生成することにより取得する。
User authentication processing unit 120 includes authentication input information accepting unit 121 and authenticity information storage unit 122 .
The authentication input information receiving unit 121 receives the authentication input information from the terminal device 20-n using the communication device 15, and accepts the received authentication input information. The authentication input information reception unit 121 acquires matching target information based on the received authentication input information. In this example, the authentication input information receiving unit 121 acquires by generating matching target information.

照合対象情報は、認証用入力情報に含まれるパスワードに基づいて生成される。本例では、照合対象情報は、認証用入力情報に含まれるユーザ識別情報と対応付けて記憶装置12に記憶されている認証用ハッシュ化方式情報が表す認証用ハッシュ化方式に従って生成されるパスワードのハッシュ値である。 The matching target information is generated based on the password included in the authentication input information. In this example, the verification target information is the password generated according to the authentication hashing method represented by the authentication hashing method information stored in the storage device 12 in association with the user identification information included in the authentication input information. is a hash value.

認証用入力情報受付部121は、生成された照合対象情報が、認証用入力情報に含まれるユーザ識別情報と対応付けて記憶装置12に記憶されている照合基準情報と一致する場合、当該ユーザ識別情報(換言すると、当該ユーザ識別情報により識別されるユーザ)に対するログインを許可し、一方、当該照合対象情報が当該照合基準情報と異なる場合、当該ユーザ識別情報に対するログインを禁止する。 If the generated matching target information matches the matching reference information stored in the storage device 12 in association with the user identification information included in the authentication input information, the authentication input information accepting unit 121 Login for information (in other words, a user identified by the user identification information) is permitted, while login for the user identification information is prohibited if the collation target information is different from the collation reference information.

認証用入力情報受付部121は、認証用入力情報に含まれるユーザ識別情報に対するログインが許可された場合、当該認証用入力情報に基づいて真正情報を取得する。本例では、認証用入力情報受付部121は、真正情報を生成することにより取得する。 When the login for the user identification information included in the authentication input information is permitted, the authentication input information accepting unit 121 acquires the authenticity information based on the authentication input information. In this example, the authentication input information receiving unit 121 acquires the authenticity information by generating it.

真正情報は、認証用入力情報に含まれるパスワードに基づいて生成される。本例では、真正情報は、認証用入力情報に含まれるユーザ識別情報と対応付けて記憶装置12に記憶されている暗号用ハッシュ化方式情報が表す暗号用ハッシュ化方式に従って生成されるパスワードのハッシュ値である。 Authenticity information is generated based on the password included in the authentication input information. In this example, the authenticity information is the hash of the password generated according to the cryptographic hashing scheme represented by the cryptographic hashing scheme information stored in the storage device 12 in association with the user identification information included in the authentication input information. value.

なお、認証用入力情報受付部121は、真正情報を、データ共有システム1の外部のユーザ認証システムから受信することにより取得してもよい。
本例では、認証用入力情報受付部121は、ユーザに対する、当該ユーザが真正であることを示す情報である真正情報を取得する真正情報取得部の少なくとも一部に対応する。
Note that the authentication input information accepting unit 121 may acquire authenticity information by receiving it from a user authentication system external to the data sharing system 1 .
In this example, the authentication input information receiving unit 121 corresponds to at least part of an authenticity information acquisition unit that acquires authenticity information, which is information indicating that the user is authentic, for the user.

真正情報記憶部122は、認証用入力情報受付部121によって真正情報が取得された場合、当該真正情報を、当該真正情報が取得される基となった認証用入力情報に含まれるユーザ識別情報と対応付けて記憶装置12に記憶させる。換言すると、真正情報記憶部122は、ユーザ識別情報に対するログインが許可された場合、当該ユーザ識別情報に対する真正情報の記憶を開始する。 When the authentication input information receiving unit 121 acquires the authentication information, the authentication information storage unit 122 stores the authentication information as the user identification information included in the authentication input information from which the authentication information is acquired. They are stored in the storage device 12 in association with each other. In other words, when the login for the user identification information is permitted, the authenticity information storage unit 122 starts storing the authenticity information for the user identification information.

真正情報記憶部122は、ユーザ識別情報に対して所定の保持終了条件が満足された場合、当該ユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報を記憶装置12から消去する。換言すると、真正情報記憶部122は、ユーザ識別情報に対して所定の保持終了条件が満足された場合、当該ユーザ識別情報に対する真正情報の記憶を終了する。 The authenticity information storage unit 122 deletes from the storage device 12 the authenticity information stored in the storage device 12 in association with the user identification information when a predetermined retention end condition is satisfied for the user identification information. In other words, the authenticity information storage unit 122 terminates storage of authenticity information for the user identification information when a predetermined retention termination condition is satisfied for the user identification information.

本例では、保持終了条件は、ログアウト条件、タイムアウト条件、及び、セッション破棄条件の少なくとも1つが満足された場合に満足される。
本例では、ログアウト条件は、ユーザ識別情報に対するログアウトが要求された、という条件である。
本例では、タイムアウト条件は、ユーザ識別情報に対するログインが許可されてから経過した時間が、所定のタイムアウト時間よりも長くなった、という条件である。
本例では、セッション破棄条件は、異常な状態が発生した、という条件である。例えば、異常な状態は、ログイン中のユーザに対して、再びログインが要求された(換言すると、多重ログインが行われた)状態、不正なアクセスが行われた状態、又は、ユーザがログイン中に、端末装置20-n、又は、データ共有装置10が再起動した状態である。
In this example, the retention termination condition is satisfied when at least one of the logout condition, the timeout condition, and the session abandonment condition is satisfied.
In this example, the logout condition is that a logout is requested for the user identification information.
In this example, the time-out condition is that the time that has elapsed since the login for the user identification information was permitted is longer than a predetermined time-out time.
In this example, the session abandonment condition is that an abnormal state has occurred. For example, an abnormal state is a state in which the logged-in user is requested to log in again (in other words, multiple logins are performed), a state in which unauthorized access is performed, or a state in which the user is logged in. , the terminal device 20-n, or the data sharing device 10 has been restarted.

なお、保持終了条件は、真正情報が暗号化又は復号において使用された(換言すると、真正情報が使用済みである)、という条件であってもよい。
また、データ共有装置10の機能は、真正情報記憶部122を備えていなくてもよい。この場合、データ共有装置10は、暗号化又は復号において使用が要求される毎に真正情報を取得し、暗号化又は復号において、取得された真正情報を使用した後に、真正情報を記憶装置12に記憶させない。
Note that the holding end condition may be a condition that the authentic information has been used in encryption or decryption (in other words, the authentic information has been used).
Also, the functions of the data sharing device 10 do not have to include the authenticity information storage unit 122 . In this case, the data sharing device 10 acquires authentic information each time use is requested in encryption or decryption, and after using the acquired authentic information in encryption or decryption, stores the authentic information in the storage device 12. don't remember.

要求処理部130は、要求受付部131と、対象データ暗号化部132と、対象データ記憶部133と、復号鍵暗号化部134と、アクセス情報記憶部135と、対象データ復号部136と、を含む。
要求受付部131は、通信装置15を用いて端末装置20-nから処理要求を受信し、受信された処理要求を受け付ける。
The request processing unit 130 includes a request receiving unit 131, a target data encryption unit 132, a target data storage unit 133, a decryption key encryption unit 134, an access information storage unit 135, and a target data decryption unit 136. include.
The request receiving unit 131 receives a processing request from the terminal device 20-n using the communication device 15, and receives the received processing request.

対象データ暗号化部132は、要求受付部131によって受け付けられた処理要求が共有要求である(換言すると、共有要求が受け付けられた)場合、当該共有要求に含まれる対象データを受け付けるとともに、当該対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵を生成する。 When the processing request accepted by the request accepting unit 131 is a sharing request (in other words, the sharing request is accepted), the target data encryption unit 132 accepts the target data included in the sharing request and encrypts the target data. An encryption key and a decryption key are generated to be used for data encryption and decryption, respectively.

本例では、対象データ暗号化部132は、対象データの暗号化及び復号において、共通鍵暗号方式に従った暗号化処理及び復号処理をそれぞれ行う。従って、本例では、対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵は、同一である。従って、本例では、対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵は、いずれも対称鍵と表されてよい。なお、対象データ暗号化部132は、対象データの暗号化及び復号において、公開鍵暗号方式に従った暗号化処理及び復号処理をそれぞれ行ってもよい。 In this example, the target data encryption unit 132 performs encryption processing and decryption processing according to the common key cryptosystem when encrypting and decrypting target data, respectively. Therefore, in this example, the same encryption key and decryption key are used to encrypt and decrypt the target data. Therefore, in this example, both the encryption key and the decryption key used for encrypting and decrypting the target data may be expressed as symmetric keys. Note that the target data encryption unit 132 may perform encryption processing and decryption processing according to the public key cryptosystem in the encryption and decryption of the target data, respectively.

対象データ暗号化部132は、受け付けられた対象データに対して、生成された暗号鍵(本例では、対称鍵)に基づく、共通鍵暗号方式に従った暗号化処理を行うことによって、当該対象データを暗号化することにより暗号化済対象データを生成する。 The target data encryption unit 132 performs encryption processing according to the common key cryptosystem on the received target data based on the generated encryption key (symmetric key in this example), thereby encrypting the target data. Generate encrypted target data by encrypting the data.

対象データ記憶部133は、対象データ暗号化部132によって生成された暗号化済対象データを、当該暗号化済対象データが生成される基となった対象データを識別する対象データ識別情報と対応付けて記憶装置12に記憶させる。 The target data storage unit 133 associates the encrypted target data generated by the target data encryption unit 132 with the target data identification information that identifies the target data from which the encrypted target data is generated. and store it in the storage device 12.

復号鍵暗号化部134は、要求受付部131によって共有要求が受け付けられた場合、当該共有要求における共有ユーザのそれぞれに対して、当該共有ユーザに対する真正情報に基づいて復号可能に、対象データ暗号化部132によって生成された復号鍵(本例では、対称鍵)を暗号化することにより暗号化済復号鍵を生成する。 When a sharing request is accepted by the request accepting unit 131, the decryption key encryption unit 134 decrypts the target data for each of the sharing users in the sharing request based on the authenticity information for the sharing user. An encrypted decryption key is generated by encrypting the decryption key (symmetric key in this example) generated by the unit 132 .

共有要求における複数の共有ユーザは、当該共有要求に含まれる共有元ユーザ識別情報により識別される共有元ユーザと、当該共有要求に含まれる共有先ユーザ識別情報により識別される共有先ユーザと、からなる。また、共有要求に含まれる、共有元ユーザ識別情報、及び、共有先ユーザ識別情報のそれぞれは、共有ユーザ識別情報と表されてもよい。 The plurality of sharing users in the sharing request are composed of the sharing source user identified by the sharing source user identification information included in the sharing request and the sharing destination user identified by the sharing destination user identification information included in the sharing request. Become. Also, each of the sharing source user identification information and the sharing destination user identification information included in the sharing request may be represented as sharing user identification information.

復号鍵暗号化部134は、要求受付部131によって受け付けられた共有要求がアクセスコードを含まない場合、対称鍵に対して、共有元ユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った暗号化処理を行うことにより暗号化済対称鍵を生成する。本例では、共有元ユーザ識別情報により識別される共有元ユーザは、ログインしている場合に共有要求を送信する。従って、本例では、共有元ユーザ識別情報により識別される共有元ユーザは、複数の共有ユーザのうちの、ログイン中のユーザである。 If the sharing request received by the request receiving unit 131 does not include an access code, the decryption key encryption unit 134 encrypts the symmetric key with the authenticity stored in the storage device 12 in association with the sharing source user identification information. An encrypted symmetric key is generated by performing encryption processing according to the information-based common key cryptosystem. In this example, the sharer user identified by the sharer user identification information sends the share request when logged in. Therefore, in this example, the sharer user identified by the sharer user identification information is the logged-in user among the plurality of sharers.

更に、この場合、復号鍵暗号化部134は、共有先ユーザ識別情報のそれぞれに対して、当該共有先ユーザ識別情報と対応付けて記憶装置12に記憶されている公開鍵に基づく、公開鍵暗号方式に従った暗号化処理を対称鍵に対して行うことにより暗号化済対称鍵を生成する。本例では、共有先ユーザ識別情報により識別される共有先ユーザは、共有要求が受け付けられた時点にてログインしていない。従って、本例では、共有先ユーザ識別情報により識別される共有先ユーザは、複数の共有ユーザのうちの、ログイン中のユーザ以外のユーザである。 Furthermore, in this case, the decryption key encryption unit 134 performs public key encryption based on the public key stored in the storage device 12 in association with the shared user identification information for each of the shared user identification information. An encrypted symmetric key is generated by performing encryption processing according to the scheme on the symmetric key. In this example, the sharing destination user identified by the sharing destination user identification information has not logged in when the sharing request is accepted. Therefore, in this example, the sharing destination user identified by the sharing destination user identification information is a user other than the logged-in user among the plurality of sharing users.

復号鍵暗号化部134は、要求受付部131によって受け付けられた共有要求がアクセスコードを含む場合、当該アクセスコードを受け付けるとともに、対称鍵に対して、当該アクセスコードに基づく、共通鍵暗号方式に従った暗号化処理を行うことにより、暫定暗号化済対称鍵を生成する。 When the sharing request accepted by request accepting unit 131 includes an access code, decryption key encryption unit 134 accepts the access code, and encrypts the symmetric key based on the access code according to the common key cryptosystem. A provisional encrypted symmetric key is generated by performing the encryption process.

この場合、復号鍵暗号化部134は、生成された暫定暗号化済対称鍵に対して、共有元ユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った暗号化処理を行うことにより暗号化済対称鍵を生成する。 In this case, the decryption key encryption unit 134 uses a common key cryptosystem based on the authenticity information stored in the storage device 12 in association with the sharer user identification information for the generated provisional encrypted symmetric key. Generate an encrypted symmetric key by performing the encryption process according to.

更に、この場合、復号鍵暗号化部134は、共有先ユーザ識別情報のそれぞれに対して、当該共有先ユーザ識別情報と対応付けて記憶装置12に記憶されている公開鍵に基づく、公開鍵暗号方式に従った暗号化処理を暫定暗号化済対称鍵に対して行うことにより暗号化済対称鍵を生成する。 Furthermore, in this case, the decryption key encryption unit 134 performs public key encryption based on the public key stored in the storage device 12 in association with the shared user identification information for each of the shared user identification information. An encrypted symmetric key is generated by performing encryption processing according to the scheme on the provisional encrypted symmetric key.

アクセス情報記憶部135は、要求受付部131によって共有要求が受け付けられた場合、当該共有要求に含まれる共有ユーザ識別情報のそれぞれに対して、当該共有ユーザ識別情報と、当該共有要求に基づいて当該共有ユーザ識別情報に対して復号鍵暗号化部134によって生成された暗号化済対称鍵と、暗号方式情報と、当該共有要求に基づいて対象データ記憶部133によって記憶された対象データ識別情報と、を互いに対応付けて記憶装置12に記憶させる。 When a sharing request is received by the request receiving unit 131, the access information storage unit 135 stores each of the sharing user identification information included in the sharing request and the sharing user identification information based on the sharing request. the encrypted symmetric key generated by the decryption key encryption unit 134 for the shared user identification information, the encryption method information, the target data identification information stored by the target data storage unit 133 based on the sharing request; are associated with each other and stored in the storage device 12 .

本例では、暗号方式情報は、暗号化済対称鍵を生成するために使用された暗号方式(本例では、共通鍵暗号方式、又は、公開鍵暗号方式)を表す情報と、暗号化済対称鍵を生成するためにアクセスコードが使用された(換言すると、対象データの共有においてアクセスコードの使用が設定されている)か否かを表す情報と、を含む。
本例では、アクセス情報記憶部135は、複数のユーザのそれぞれに対して、当該ユーザに対して生成された暗号化済復号鍵を記憶する復号鍵記憶部に対応する。
In this example, the cryptographic method information includes information representing the cryptographic method used to generate the encrypted symmetric key (in this example, the symmetric key cryptographic method or the public key cryptographic method), and the encrypted symmetric key. and information indicating whether the access code was used to generate the key (in other words, the use of the access code is set in sharing the target data).
In this example, the access information storage unit 135 corresponds to a decryption key storage unit that stores an encrypted decryption key generated for each of a plurality of users.

対象データ復号部136は、要求受付部131によって受け付けられた処理要求がアクセス要求である(換言すると、アクセス要求が受け付けられた)場合、当該アクセス要求に含まれるアクセスユーザ識別情報により識別されるアクセスユーザに対して取得された真正情報に基づいて、当該アクセスユーザと対応付けて記憶装置12に記憶されている暗号化済復号鍵を復号することにより復号鍵を取得する。 When the processing request accepted by the request accepting unit 131 is an access request (in other words, the access request is accepted), the target data decoding unit 136 decrypts the access identified by the access user identification information included in the access request. Based on the authenticity information obtained for the user, the decryption key is obtained by decrypting the encrypted decryption key stored in the storage device 12 in association with the access user.

本例では、対象データ復号部136は、アクセス要求に含まれる、アクセスユーザ識別情報及び対象データ識別情報と対応付けて記憶装置12に記憶されている暗号方式情報が、共通鍵暗号方式を表すとともに、アクセスコードの使用が設定されていないことを表す場合、当該アクセスユーザ識別情報及び当該対象データ識別情報と対応付けて記憶装置12に記憶されている暗号化済対称鍵に対して、当該アクセスユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った復号処理を行うことにより対称鍵を取得する。 In this example, the target data decryption unit 136 causes the encryption method information stored in the storage device 12 in association with the access user identification information and the target data identification information included in the access request to represent the common key cryptosystem and , indicates that the use of the access code is not set, the access user for the encrypted symmetric key stored in the storage device 12 in association with the access user identification information and the target data identification information A symmetric key is obtained by performing decryption processing according to the common key cryptosystem based on the authenticity information stored in the storage device 12 in association with the identification information.

また、対象データ復号部136は、当該暗号方式情報が、共通鍵暗号方式を表すとともに、アクセスコードの使用が設定されていることを表す場合、当該アクセスユーザ識別情報及び当該対象データ識別情報と対応付けて記憶装置12に記憶されている暗号化済対称鍵に対して、当該アクセスユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った復号処理を行うことにより暫定暗号化済対称鍵を取得する。この場合、対象データ復号部136は、取得された暫定暗号化済対称鍵に対して、当該アクセス要求に含まれるアクセスコードに基づく、共通鍵暗号方式に従った復号処理を行うことにより対称鍵を取得する。 In addition, when the encryption method information indicates the common key cryptosystem and indicates that the use of the access code is set, the target data decryption unit 136 corresponds to the access user identification information and the target data identification information. Decryption processing according to the common key cryptosystem based on the authenticity information stored in the storage device 12 in association with the access user identification information for the encrypted symmetric key stored in the storage device 12 with the Obtain the temporary encrypted symmetric key by doing In this case, the target data decryption unit 136 decrypts the obtained provisional encrypted symmetric key based on the access code included in the access request according to the common key cryptosystem, thereby obtaining the symmetric key. get.

また、対象データ復号部136は、当該暗号方式情報が、公開鍵暗号方式を表すとともに、アクセスコードの使用が設定されていないことを表す場合、当該アクセスユーザ識別情報と対応付けて記憶装置12に記憶されている暗号化済秘密鍵に対して、当該アクセスユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った復号処理を行うことにより秘密鍵を取得する。この場合、対象データ復号部136は、当該アクセスユーザ識別情報及び当該対象データ識別情報と対応付けて記憶装置12に記憶されている暗号化済対称鍵に対して、取得された秘密鍵に基づく、公開鍵暗号方式に従った復号処理を行うことにより対称鍵を取得する。 In addition, when the encryption method information indicates that the access code is not set to be used while the encryption method information indicates the public key encryption method, the target data decryption unit 136 stores the data in the storage device 12 in association with the access user identification information. The stored encrypted private key is decrypted according to the common key cryptosystem based on the authenticity information stored in the storage device 12 in association with the access user identification information to obtain the private key. to get In this case, the target data decryption unit 136, for the encrypted symmetric key stored in the storage device 12 in association with the access user identification information and the target data identification information, based on the obtained private key, A symmetric key is obtained by performing decryption processing according to the public key cryptosystem.

また、対象データ復号部136は、当該暗号方式情報が、公開鍵暗号方式を表すとともに、アクセスコードの使用が設定されていることを表す場合、当該アクセスユーザ識別情報と対応付けて記憶装置12に記憶されている暗号化済秘密鍵に対して、当該アクセスユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った復号処理を行うことにより秘密鍵を取得する。この場合、対象データ復号部136は、当該アクセスユーザ識別情報及び当該対象データ識別情報と対応付けて記憶装置12に記憶されている暗号化済対称鍵に対して、取得された秘密鍵に基づく、公開鍵暗号方式に従った復号処理を行うことにより暫定暗号化済対称鍵を取得する。更に、この場合、対象データ復号部136は、取得された暫定暗号化済対称鍵に対して、当該アクセス要求に含まれるアクセスコードに基づく、共通鍵暗号方式に従った復号処理を行うことにより対称鍵を取得する。 When the encryption method information indicates that the access code is set to be used as well as the public key encryption method, the target data decryption unit 136 stores the data in the storage device 12 in association with the access user identification information. The stored encrypted private key is decrypted according to the common key cryptosystem based on the authenticity information stored in the storage device 12 in association with the access user identification information to obtain the private key. to get In this case, the target data decryption unit 136, for the encrypted symmetric key stored in the storage device 12 in association with the access user identification information and the target data identification information, based on the obtained private key, A temporary encrypted symmetric key is obtained by performing decryption processing according to the public key cryptosystem. Furthermore, in this case, the target data decryption unit 136 decrypts the obtained provisional encrypted symmetric key based on the access code included in the access request according to the common key cryptosystem. get the key.

対象データ復号部136は、アクセス要求に対して対称鍵が取得された場合、当該アクセス要求に含まれる対象データ識別情報と対応付けて記憶装置12に記憶されている暗号化済対象データに対して、当該対称鍵に基づく、共通鍵暗号方式に従った復号処理を行うことにより対象データを取得する。 When the symmetric key is acquired for the access request, the target data decryption unit 136 decrypts the encrypted target data stored in the storage device 12 in association with the target data identification information included in the access request. , the target data is acquired by performing decryption processing according to the common key cryptosystem based on the symmetric key.

対象データ復号部136は、アクセス要求に対して対象データが取得された場合、当該対象データを、当該アクセス要求を送信してきた端末装置20-nへ、通信装置15を用いて送信する。 When the target data is acquired in response to the access request, the target data decoding unit 136 uses the communication device 15 to transmit the target data to the terminal device 20-n that has transmitted the access request.

復号鍵暗号化部134は、対象データ復号部136によってアクセス要求に対して対称鍵が取得された場合において、暗号化済復号鍵の復号において公開鍵暗号方式に従った復号処理が行われることにより当該対称鍵が取得された場合、当該アクセス要求に含まれるアクセスユーザ識別情報により識別されるアクセスユーザに対する真正情報に基づく、共通鍵暗号方式に従った暗号化処理を行うことによって当該対称鍵を暗号化し直すことにより、当該アクセスユーザに対する暗号化済復号鍵を生成する。本例では、アクセスユーザ識別情報により識別されるアクセスユーザは、ログインしている場合にアクセス要求を送信する。従って、本例では、アクセスユーザ識別情報により識別されるアクセスユーザは、複数の共有ユーザのうちの、ログイン中のユーザである。 When the target data decryption unit 136 acquires the symmetric key in response to the access request, the decryption key encryption unit 134 performs decryption processing according to the public key cryptosystem in decrypting the encrypted decryption key. When the symmetric key is acquired, the symmetric key is encrypted by performing encryption processing according to the common key cryptosystem based on the authenticity information for the access user identified by the access user identification information included in the access request. By re-encrypting, an encrypted decryption key for the access user is generated. In this example, an access user identified by access user identification information sends an access request when logged in. Therefore, in this example, the access user identified by the access user identification information is the logged-in user among the plurality of shared users.

本例では、復号鍵暗号化部134は、対象データ復号部136によってアクセス要求に対して対称鍵が取得された場合において、暗号化済復号鍵の復号において公開鍵暗号方式に従った復号処理が行われることにより当該対称鍵が取得され、且つ、当該アクセス要求にアクセスコードが含まれない場合、当該対称鍵に対して、当該アクセス要求に含まれるアクセスユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った暗号化処理を行うことにより暗号化済対称鍵を生成する。 In this example, when the target data decryption unit 136 acquires a symmetric key in response to an access request, the decryption key encryption unit 134 performs decryption processing according to the public key cryptosystem in decrypting the encrypted decryption key. If the symmetric key is acquired by the access request and the access code is not included in the access request, the symmetric key is stored in the storage device 12 in association with the access user identification information included in the access request. An encrypted symmetric key is generated by performing encryption processing according to the common key cryptosystem based on the stored authenticity information.

また、復号鍵暗号化部134は、対象データ復号部136によってアクセス要求に対して対称鍵が取得された場合において、暗号化済復号鍵の復号において公開鍵暗号方式に従った復号処理が行われることにより当該対称鍵が取得され、且つ、当該アクセス要求にアクセスコードが含まれる場合、当該対称鍵に対して、当該アクセスコードに基づく、共通鍵暗号方式に従った暗号化処理を行うことにより暫定暗号化済対称鍵を生成する。更に、この場合、復号鍵暗号化部134は、生成された暫定暗号化済対称鍵に対して、当該アクセス要求に含まれるアクセスユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った暗号化処理を行うことにより暗号化済対称鍵を生成する。 Further, when the target data decryption unit 136 acquires the symmetric key in response to the access request, the decryption key encryption unit 134 performs decryption processing according to the public key cryptosystem in decrypting the encrypted decryption key. If the symmetric key is obtained by the above method and an access code is included in the access request, the symmetric key is encrypted according to the common key cryptosystem based on the access code to provide a provisional Generate an encrypted symmetric key. Furthermore, in this case, the decryption key encryption unit 134 associates the generated provisional encrypted symmetric key with the access user identification information included in the access request and stores the authenticity information stored in the storage device 12 in correspondence with the access user identification information. An encrypted symmetric key is generated by performing encryption processing according to the common key cryptosystem based on.

アクセス情報記憶部135は、復号鍵暗号化部134によってアクセス要求に対して対称鍵が暗号化し直された場合、当該アクセス要求に含まれるアクセスユーザ識別情報、及び、当該アクセス要求に含まれる対象データ識別情報と対応付けて記憶装置12に記憶されている、暗号化済対称鍵、及び、暗号方式情報を、復号鍵暗号化部134によって新たに生成された暗号化済対称鍵、及び、当該暗号化済対称鍵に対する新たな暗号方式情報にそれぞれ更新(本例では、置換)する。 When the decryption key encryption unit 134 re-encrypts the symmetric key for the access request, the access information storage unit 135 stores the access user identification information included in the access request and the target data included in the access request. The encrypted symmetric key and the encryption method information stored in the storage device 12 in association with the identification information are converted to the encrypted symmetric key newly generated by the decryption key encryption unit 134 and the encryption each update (in this example, replace) with new encryption method information for the encrypted symmetric key.

対象データ暗号化部132は、要求受付部131によってアクセス要求に続いて更新要求が受け付けられた場合、当該更新要求に含まれる、更新後の対象データに対して、復号鍵暗号化部134によって当該アクセス要求に対して取得された対称鍵に基づく、共通鍵暗号方式に従った暗号化処理を行うことによって、当該対象データを暗号化することにより暗号化済対象データを生成する。 When the request receiving unit 131 receives an update request following an access request, the target data encryption unit 132 encrypts the updated target data included in the update request with the decryption key encryption unit 134. Encrypted target data is generated by encrypting the target data by performing encryption processing according to the common key cryptosystem based on the symmetric key acquired in response to the access request.

対象データ記憶部133は、要求受付部131によってアクセス要求に続いて更新要求が受け付けられた場合、当該更新要求に含まれる対象データ識別情報と対応付けて記憶装置12に記憶されている暗号化済対象データを、対象データ暗号化部132によって当該更新要求に対して生成された暗号化済対象データに更新(本例では、置換)する。 When the request receiving unit 131 receives an update request following an access request, the target data storage unit 133 stores encrypted data stored in the storage device 12 in association with the target data identification information included in the update request. The target data is updated (in this example, replaced) with the encrypted target data generated in response to the update request by the target data encryption unit 132 .

アクセス情報記憶部135は、要求受付部131によってアクセス要求に続いて締結要求が受け付けられた場合、締結要求情報を、当該締結要求に含まれる対象データ識別情報及び締結要求ユーザ識別情報と対応付けて記憶装置12に記憶させる。締結要求情報は、締結が要求されたことを表す情報である。 When the request receiving unit 131 receives an access request followed by a conclusion request, the access information storage unit 135 associates the conclusion request information with the target data identification information and the conclusion request user identification information included in the conclusion request. Store in the storage device 12 . The fastening request information is information indicating that fastening is requested.

対象データ暗号化部132は、要求受付部131によってアクセス要求に続いて締結要求が受け付けられた場合、当該締結要求に含まれる対象データ識別情報と対応付けて記憶装置12に記憶されている、すべての共有ユーザ識別情報を抽出する。この場合、対象データ暗号化部132は、抽出された共有ユーザ識別情報のそれぞれに対して、当該共有ユーザ識別情報と対応付けて締結要求情報が記憶装置12に記憶されているか否かを判定する。 When the request receiving unit 131 receives an access request followed by a conclusion request, the target data encryption unit 132 encrypts all data stored in the storage device 12 in association with the target data identification information included in the connection request. extract the shared user identity of In this case, for each of the extracted shared user identification information, the target data encryption unit 132 determines whether or not conclusion request information is stored in the storage device 12 in association with the shared user identification information. .

対象データ暗号化部132は、抽出された共有ユーザ識別情報のすべてに対して締結要求情報が記憶されている(換言すると、対象データが表す契約が締結された)場合、当該抽出された共有ユーザ識別情報により識別される共有ユーザのそれぞれに対して、対象データ復号部136によって当該アクセス要求に対して取得された対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵を生成する。上述のように、本例では、対象データ暗号化部132は、対象データの暗号化及び復号において、共通鍵暗号方式に従った暗号化処理及び復号処理をそれぞれ行う。従って、本例では、対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵は、同一である。 When the conclusion request information is stored for all of the extracted shared user identification information (in other words, the contract represented by the target data is concluded), the target data encryption unit 132 encrypts the extracted shared user identification information. For each shared user identified by the identification information, the target data decryption unit 136 generates an encryption key and a decryption key respectively used for encryption and decryption of the target data acquired in response to the access request. As described above, in this example, the target data encryption unit 132 performs encryption processing and decryption processing according to the common key cryptosystem when encrypting and decoding target data, respectively. Therefore, in this example, the same encryption key and decryption key are used to encrypt and decrypt the target data.

対象データ暗号化部132は、当該抽出された共有ユーザ識別情報により識別される共有ユーザのそれぞれに対して、生成された暗号鍵(本例では、対称鍵)に基づく、共通鍵暗号方式に従った暗号化処理を当該対象データに対して行うことによって、当該対象データを暗号化することにより暗号化済対象データを生成する。 The target data encryption unit 132 encrypts each of the shared users identified by the extracted shared user identification information according to the common key cryptosystem based on the generated encryption key (symmetric key in this example). Encrypted target data is generated by encrypting the target data by performing the encryption process described above on the target data.

対象データ記憶部133は、当該抽出された共有ユーザ識別情報により識別される共有ユーザのそれぞれに対して、対象データ暗号化部132によって生成された暗号化済対象データを、新たに割り当てられる対象データ識別情報と対応付けて記憶装置12に記憶させる。 The target data storage unit 133 stores the encrypted target data generated by the target data encryption unit 132 for each of the shared users identified by the extracted shared user identification information as newly assigned target data. It is stored in the storage device 12 in association with the identification information.

復号鍵暗号化部134は、対象データ暗号化部132によって締結要求に基づいて共有ユーザのそれぞれに対して復号鍵が生成された場合、当該共有ユーザのそれぞれに対して、当該共有ユーザに対する真正情報に基づいて復号可能に、対象データ暗号化部132によって生成された復号鍵(本例では、対称鍵)を暗号化することにより暗号化済復号鍵を生成する。 When the target data encryption unit 132 generates a decryption key for each of the shared users based on the conclusion request, the decryption key encryption unit 134 provides each of the shared users with authenticity information for the shared user. The encrypted decryption key is generated by encrypting the decryption key (the symmetric key in this example) generated by the target data encryption unit 132 so that it can be decrypted based on .

締結要求に基づく複数の共有ユーザは、当該締結要求に含まれる締結要求ユーザ識別情報により識別される今回要求ユーザと、過去に送信された締結要求に含まれる締結要求ユーザ識別情報により識別される過去要求ユーザと、からなる。 The multiple shared users based on the conclusion request are the current requesting user identified by the conclusion request user identification information included in the conclusion request, and the past request user identified by the conclusion request user identification information included in the conclusion request sent in the past. requesting user; and

復号鍵暗号化部134は、今回要求ユーザに対して生成された対称鍵に対して、今回要求ユーザを識別するユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った暗号化処理を行うことにより暗号化済対称鍵を生成する。本例では、今回要求ユーザは、ログインしている場合に締結要求を送信する。従って、本例では、今回要求ユーザは、複数の共有ユーザのうちの、ログイン中のユーザである。 The decryption key encryption unit 134, for the symmetric key generated for the current requesting user, uses the common An encrypted symmetric key is generated by performing encryption processing according to the key cryptosystem. In this example, the current requesting user transmits the conclusion request when logged in. Therefore, in this example, the requesting user this time is a logged-in user among the plurality of sharing users.

更に、復号鍵暗号化部134は、過去要求ユーザのそれぞれに対して、当該過去要求ユーザを識別するユーザ識別情報と対応付けて記憶装置12に記憶されている公開鍵に基づく、公開鍵暗号方式に従った暗号化処理を、当該過去要求ユーザに対して生成された対称鍵に対して行うことにより暗号化済対称鍵を生成する。本例では、過去要求ユーザは、締結要求が受け付けられた時点にてログインしていない。従って、本例では、過去要求ユーザは、複数の共有ユーザのうちの、ログイン中のユーザ以外のユーザである。 Further, the decryption key encryption unit 134 uses a public key cryptosystem based on the public key stored in the storage device 12 in association with the user identification information that identifies the past requesting user for each of the past requesting users. on the symmetric key generated for the user who requested it in the past, to generate an encrypted symmetric key. In this example, the past-requesting user has not logged in at the time the conclusion request is received. Therefore, in this example, the past requesting user is a user other than the logged-in user among the plurality of shared users.

アクセス情報記憶部135は、復号鍵暗号化部134によって締結要求に基づいて共有ユーザのそれぞれに対して暗号化済対称鍵が生成された場合、当該共有ユーザのそれぞれに対して、当該共有ユーザを識別するユーザ識別情報と、当該共有ユーザに対して復号鍵暗号化部134によって生成された暗号化済対称鍵と、当該暗号化済対称鍵に対する暗号方式情報と、当該締結要求に基づいて当該共有ユーザに対して対象データ記憶部133によって記憶された対象データ識別情報と、を互いに対応付けて記憶装置12に記憶させる。 When the decryption key encryption unit 134 generates an encrypted symmetric key for each of the shared users based on the conclusion request, the access information storage unit 135 notifies each of the shared users of the shared user. user identification information to be identified, an encrypted symmetric key generated by the decryption key encryption unit 134 for the shared user, encryption method information for the encrypted symmetric key, and the shared key based on the conclusion request The target data identification information stored by the target data storage unit 133 for the user is associated with each other and stored in the storage device 12 .

(動作)
次に、データ共有システム1の動作について、図5乃至図11を参照しながら説明する。
本例では、データ共有装置10は、ユーザ情報を登録するため、図5に表される処理を実行する。
データ共有装置10は、ユーザ情報を受け付けるまで、図5のステップS101にて「No」と判定することにより待機する。
(motion)
Next, operations of the data sharing system 1 will be described with reference to FIGS. 5 to 11. FIG.
In this example, the data sharing device 10 executes the process shown in FIG. 5 in order to register user information.
The data sharing apparatus 10 waits by determining "No" in step S101 of FIG. 5 until user information is received.

その後、端末装置20-nのユーザは、入力装置23を用いてユーザ情報を入力する。これにより、端末装置20-nは、入力されたユーザ情報を受け付け、受け付けられたユーザ情報をデータ共有装置10へ送信する。 Thereafter, the user of the terminal device 20-n uses the input device 23 to input user information. As a result, the terminal device 20 -n accepts the input user information and transmits the accepted user information to the data sharing device 10 .

これにより、データ共有装置10は、端末装置20-nからユーザ情報を受信し、受信されたユーザ情報を受け付ける(図5のステップS101)。その結果、データ共有装置10は、図5のステップS101にて「Yes」と判定し、受け付けられたユーザ情報に対して、公開鍵暗号方式に従った暗号化処理及び復号処理にそれぞれ用いられる公開鍵及び秘密鍵を生成する(図5のステップS102)。 As a result, the data sharing device 10 receives the user information from the terminal device 20-n and accepts the received user information (step S101 in FIG. 5). As a result, the data sharing apparatus 10 determines "Yes" in step S101 of FIG. A key and a private key are generated (step S102 in FIG. 5).

次いで、データ共有装置10は、受け付けられたユーザ情報に基づいて真正情報及び照合基準情報を生成することにより取得する。更に、データ共有装置10は、生成された秘密鍵に対して、取得された真正情報に基づく、共通鍵暗号方式に従った暗号化処理を行うことによって、当該秘密鍵を暗号化することにより暗号化済秘密鍵を生成する(図5のステップS103)。 Next, the data sharing device 10 acquires authenticity information and verification reference information by generating them based on the received user information. Furthermore, the data sharing device 10 encrypts the generated secret key by performing encryption processing according to the common key cryptosystem based on the acquired authenticity information. generate a encrypted private key (step S103 in FIG. 5).

次いで、データ共有装置10は、受け付けられたユーザ情報に含まれるパスワード以外の情報と、生成された公開鍵と、生成された暗号化済秘密鍵と、取得された照合基準情報と、暗号用ハッシュ化方式情報と、認証用ハッシュ化方式情報と、を互いに対応付けて記憶装置12に記憶させる(図5のステップS104)。
これにより、データ共有装置10は、図5の処理を終了する。
Next, the data sharing device 10 extracts information other than the password included in the accepted user information, the generated public key, the generated encrypted private key, the obtained verification reference information, and the cryptographic hash The hashing method information and the authentication hashing method information are associated with each other and stored in the storage device 12 (step S104 in FIG. 5).
As a result, the data sharing device 10 terminates the processing of FIG.

また、データ共有装置10は、ユーザ認証を行うため、図6に表される処理を実行する。
データ共有装置10は、認証用入力情報を受け付けるまで、図6のステップS201にて「No」と判定することにより待機する。
Further, the data sharing device 10 executes the processing shown in FIG. 6 in order to perform user authentication.
The data sharing device 10 waits by determining "No" in step S201 of FIG. 6 until receiving the input information for authentication.

その後、端末装置20-nのユーザは、入力装置23を用いて認証用入力情報を入力する。これにより、端末装置20-nは、入力された認証用入力情報を受け付け、受け付けられた認証用入力情報をデータ共有装置10へ送信する。 After that, the user of the terminal device 20-n uses the input device 23 to input authentication input information. As a result, the terminal device 20-n accepts the entered authentication input information and transmits the accepted authentication input information to the data sharing device 10. FIG.

これにより、データ共有装置10は、端末装置20-nから認証用入力情報を受信し、受信された認証用入力情報を受け付ける(図6のステップS201)。その結果、データ共有装置10は、図6のステップS201にて「Yes」と判定し、受け付けられた認証用入力情報に基づいて照合対象情報を生成することにより取得する。 As a result, the data sharing device 10 receives the authentication input information from the terminal device 20-n and accepts the received authentication input information (step S201 in FIG. 6). As a result, the data sharing device 10 determines “Yes” in step S201 of FIG. 6, and generates and acquires matching target information based on the accepted input information for authentication.

次いで、データ共有装置10は、取得された照合対象情報が、認証用入力情報に含まれるユーザ識別情報と対応付けて記憶装置12に記憶されている照合基準情報と一致する(換言すると、ユーザが真正である)か否かを判定する(図6のステップS202)。 Next, the data sharing device 10 matches the acquired matching target information with the matching reference information stored in the storage device 12 in association with the user identification information included in the authentication input information (in other words, if the user authenticity) (step S202 in FIG. 6).

データ共有装置10は、当該照合対象情報が当該照合基準情報と異なる場合、図6のステップS202にて「No」と判定し、ステップS201へ戻ることにより、受け付けられた認証用入力情報に含まれるユーザ識別情報に対するログインを禁止する。 If the matching target information is different from the matching reference information, the data sharing device 10 determines "No" in step S202 of FIG. Prohibit login for user identification information.

一方、データ共有装置10は、当該照合対象情報が当該照合基準情報と一致する場合、図6のステップS202にて「Yes」と判定し、ステップS203へ進むことにより、受け付けられた認証用入力情報に含まれるユーザ識別情報に対するログインを許可する。 On the other hand, if the matching target information matches the matching reference information, the data sharing device 10 determines "Yes" in step S202 of FIG. Allows login for the user identification information contained in the .

次いで、データ共有装置10は、当該認証用入力情報に基づいて真正情報を生成することにより取得し、取得された真正情報を、当該認証用入力情報に含まれるユーザ識別情報と対応付けて記憶装置12に記憶させる(図6のステップS203)。 Next, the data sharing device 10 acquires authenticity information by generating authenticity information based on the authentication input information, associates the acquired authenticity information with the user identification information included in the authentication input information, and stores the information in the storage device. 12 (step S203 in FIG. 6).

次いで、データ共有装置10は、保持終了条件が満足されるまで、図6のステップS204にて「No」と判定することにより待機する。
その後、保持終了条件が満足された場合、データ共有装置10は、図6のステップS204にて「Yes」と判定し、ステップS201にて受け付けられた認証用入力情報に含まれるユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報を記憶装置12から消去する(図6のステップS205)。
これにより、データ共有装置10は、図6の処理を終了する。
Next, the data sharing device 10 waits by determining "No" in step S204 of FIG. 6 until the holding end condition is satisfied.
After that, if the holding end condition is satisfied, the data sharing device 10 determines "Yes" in step S204 of FIG. The authenticity information stored in the storage device 12 is erased from the storage device 12 (step S205 in FIG. 6).
As a result, the data sharing device 10 terminates the processing of FIG.

また、データ共有装置10は、共有要求を処理するため、図7に表される処理を実行する。
データ共有装置10は、共有要求を受け付けるまで、図7のステップS301にて「No」と判定することにより待機する。
Also, the data sharing device 10 executes the processing shown in FIG. 7 to process the sharing request.
The data sharing device 10 waits by judging "No" in step S301 of FIG. 7 until receiving a sharing request.

その後、端末装置20-nのユーザは、入力装置23を用いて共有要求を入力する。これにより、端末装置20-nは、入力された共有要求を受け付け、受け付けられた共有要求をデータ共有装置10へ送信する。 After that, the user of the terminal device 20-n uses the input device 23 to input a sharing request. As a result, the terminal device 20-n accepts the input sharing request and transmits the accepted sharing request to the data sharing device 10. FIG.

これにより、データ共有装置10は、端末装置20-nから共有要求を受信し、受信された共有要求を受け付ける(図7のステップS301)。その結果、データ共有装置10は、図7のステップS301にて「Yes」と判定し、受け付けられた共有要求に含まれる共有元ユーザ識別情報に対するログインが許可されている(換言すると、共有元ユーザがログイン中である)か否かを判定する(図7のステップS302)。例えば、データ共有装置10は、共有元ユーザ識別情報と対応付けて記憶装置12に真正情報が記憶されている場合、共有元ユーザがログイン中であると判定してよい。 As a result, the data sharing device 10 receives the sharing request from the terminal device 20-n and accepts the received sharing request (step S301 in FIG. 7). As a result, the data sharing device 10 determines “Yes” in step S301 of FIG. 7, and login to the sharing source user identification information included in the accepted sharing request is permitted (in other words, the sharing source user is logging in) (step S302 in FIG. 7). For example, the data sharing device 10 may determine that the sharing source user is logging in when authenticity information is stored in the storage device 12 in association with the sharing source user identification information.

共有元ユーザがログイン中でない場合、データ共有装置10は、ステップS302にて「No」と判定し、ステップS303へ進んで、図6に表されるユーザ認証処理を開始した後、ステップS302へ戻る。 If the sharing source user is not logged in, the data sharing apparatus 10 determines "No" in step S302, proceeds to step S303, starts the user authentication process shown in FIG. 6, and then returns to step S302. .

共有元ユーザがログイン中である場合、データ共有装置10は、ステップS302にて「Yes」と判定し、対象データの暗号化及び復号に用いられる対象鍵を生成する(図7のステップS304)。 If the sharing source user is logged in, the data sharing device 10 determines "Yes" in step S302, and generates a target key to be used for encryption and decryption of target data (step S304 in FIG. 7).

次いで、データ共有装置10は、受け付けられた共有要求に含まれる対象データに対して、生成された対称鍵に基づく、共通鍵暗号方式に従った暗号化処理を行うことによって、当該対象データを暗号化することにより暗号化済対象データを生成する(図7のステップS305)。 Next, the data sharing device 10 encrypts the target data included in the accepted sharing request by performing encryption processing according to the common key cryptosystem based on the generated symmetric key. Encrypted target data is generated by enciphering (step S305 in FIG. 7).

次いで、データ共有装置10は、生成された暗号化済対象データを、受け付けられた共有要求に含まれる対象データを識別する対象データ識別情報と対応付けて記憶装置12に記憶させる(図7のステップS306)。 Next, the data sharing device 10 stores the generated encrypted target data in the storage device 12 in association with the target data identification information that identifies the target data included in the accepted sharing request (step of FIG. 7). S306).

次いで、データ共有装置10は、受け付けられた共有要求がアクセスコードを含む(換言すると、アクセスコードを使用する)か否かを判定する(図7のステップS307)。
共有要求がアクセスコードを含む場合、データ共有装置10は、ステップS307にて「Yes」と判定し、生成された対称鍵に対して、当該アクセスコードに基づく、共通鍵暗号方式に従った暗号化処理を行うことにより、暫定暗号化済対称鍵を生成する(図7のステップS308)。その後、データ共有装置10は、図7のステップS309へ進む。
一方、共有要求がアクセスコードを含まない場合、データ共有装置10は、ステップS307にて「No」と判定し、図7のステップS308の処理を実行することなく、ステップS309へ進む。
Next, data sharing device 10 determines whether or not the accepted sharing request includes an access code (in other words, uses an access code) (step S307 in FIG. 7).
If the sharing request includes an access code, the data sharing device 10 determines "Yes" in step S307, and encrypts the generated symmetric key based on the access code according to the common key cryptosystem. By performing processing, a provisional encrypted symmetric key is generated (step S308 in FIG. 7). After that, the data sharing device 10 proceeds to step S309 in FIG.
On the other hand, if the sharing request does not include an access code, the data sharing device 10 determines "No" in step S307, and proceeds to step S309 without executing the process of step S308 in FIG.

次いで、データ共有装置10は、対称鍵(アクセスコードを使用しない場合)、又は、暫定暗号化済対称鍵(アクセスコードを使用する場合)に対して、受け付けられた共有要求に含まれる共有元ユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った暗号化処理を行うことにより暗号化済対称鍵を生成する(図7のステップS309)。 Next, the data sharing device 10 sends the symmetric key (if no access code is used) or the provisional encrypted symmetric key (if an access code is used) to the sharing source user included in the accepted sharing request. An encrypted symmetric key is generated by performing encryption processing according to the common key cryptosystem based on the authenticity information stored in the storage device 12 in association with the identification information (step S309 in FIG. 7).

次いで、データ共有装置10は、受け付けられた共有要求に含まれる共有元ユーザ識別情報と、図7のステップS306にて記憶された対象データ識別情報と、図7のステップS309にて生成された暗号化済対称鍵と、当該暗号化済対称鍵に対する暗号方式情報と、を互いに対応付けて記憶装置12に記憶させる(図7のステップS310)。 Next, the data sharing device 10 stores the sharing source user identification information included in the accepted sharing request, the target data identification information stored in step S306 of FIG. 7, and the encryption generated in step S309 of FIG. The encrypted symmetric key and the encryption method information for the encrypted symmetric key are associated with each other and stored in the storage device 12 (step S310 in FIG. 7).

次いで、データ共有装置10は、受け付けられた共有要求に含まれる共有先ユーザ識別情報のそれぞれに対して、当該共有先ユーザ識別情報と対応付けて記憶装置12に記憶されている公開鍵に基づく、公開鍵暗号方式に従った暗号化処理を、対称鍵(アクセスコードを使用しない場合)、又は、暫定暗号化済対称鍵(アクセスコードを使用する場合)に対して行うことにより暗号化済対称鍵を生成する(図7のステップS311)。 Next, the data sharing device 10, for each of the sharing destination user identification information included in the accepted sharing request, based on the public key stored in the storage device 12 in association with the sharing destination user identification information, A symmetric key encrypted by performing encryption processing according to public key cryptography on a symmetric key (when not using an access code) or a provisional encrypted symmetric key (when using an access code) is generated (step S311 in FIG. 7).

次いで、データ共有装置10は、受け付けられた共有要求に含まれる共有先ユーザ識別情報のそれぞれに対して、当該共有先ユーザ識別情報と、図7のステップS306にて記憶された対象データ識別情報と、図7のステップS311にて生成された暗号化済対称鍵と、当該暗号化済対称鍵に対する暗号方式情報と、を互いに対応付けて記憶装置12に記憶させる(図7のステップS312)。
これにより、データ共有装置10は、図7の処理を終了する。
Next, the data sharing apparatus 10, for each of the sharing destination user identification information included in the accepted sharing request, combines the sharing destination user identification information with the target data identification information stored in step S306 of FIG. , the encrypted symmetric key generated in step S311 of FIG. 7 and the encryption method information for the encrypted symmetric key are associated with each other and stored in the storage device 12 (step S312 of FIG. 7).
As a result, the data sharing device 10 terminates the processing of FIG.

また、データ共有装置10は、アクセス要求、更新要求、及び、締結要求を処理するため、図8に表される処理を実行する。
データ共有装置10は、アクセス要求を受け付けるまで、図8のステップS401にて「No」と判定することにより待機する。
In addition, the data sharing device 10 executes the processing shown in FIG. 8 in order to process access requests, update requests, and conclusion requests.
The data sharing apparatus 10 waits by determining "No" in step S401 of FIG. 8 until an access request is received.

その後、端末装置20-nのユーザは、入力装置23を用いてアクセス要求を入力する。これにより、端末装置20-nは、入力されたアクセス要求を受け付け、受け付けられたアクセス要求をデータ共有装置10へ送信する。 After that, the user of the terminal device 20-n uses the input device 23 to input an access request. As a result, the terminal device 20-n accepts the input access request and transmits the accepted access request to the data sharing device 10. FIG.

これにより、データ共有装置10は、端末装置20-nからアクセス要求を受信し、受信されたアクセス要求を受け付ける(図8のステップS401)。その結果、データ共有装置10は、図8のステップS401にて「Yes」と判定し、受け付けられたアクセス要求に含まれるアクセスユーザ識別情報に対するログインが許可されている(換言すると、アクセスユーザがログイン中である)か否かを判定する(図8のステップS402)。例えば、データ共有装置10は、アクセスユーザ識別情報と対応付けて記憶装置12に真正情報が記憶されている場合、アクセスユーザがログイン中であると判定してよい。 As a result, the data sharing device 10 receives the access request from the terminal device 20-n and accepts the received access request (step S401 in FIG. 8). As a result, the data sharing apparatus 10 determines "Yes" in step S401 of FIG. (step S402 in FIG. 8). For example, the data sharing device 10 may determine that the accessing user is logging in when authenticity information is stored in the storage device 12 in association with the accessing user identification information.

アクセスユーザがログイン中でない場合、データ共有装置10は、ステップS402にて「No」と判定し、ステップS403へ進んで、図6に表されるユーザ認証処理を開始した後、ステップS402へ戻る。 If the accessing user is not logged in, the data sharing apparatus 10 determines "No" in step S402, proceeds to step S403, starts the user authentication process shown in FIG. 6, and then returns to step S402.

アクセスユーザがログイン中である場合、データ共有装置10は、ステップS402にて「Yes」と判定し、受け付けられたアクセス要求に含まれる、対象データ識別情報及びアクセスユーザ識別情報と対応付けて記憶装置12に記憶されている暗号方式情報を取得する(図8のステップS404)。 If the access user is logged in, the data sharing apparatus 10 determines "Yes" in step S402, and associates the target data identification information and the access user identification information included in the received access request with the storage device. 12 is acquired (step S404 in FIG. 8).

次いで、データ共有装置10は、取得された暗号方式情報が表す暗号方式が共通鍵暗号方式であるか否かを判定する(図8のステップS405)。
暗号方式情報が表す暗号方式が共通鍵暗号方式である場合、データ共有装置10は、ステップS405にて「Yes」と判定し、ステップS406へ進んで、図9に表される共通鍵暗号方式対称鍵復号処理を実行する。
Next, the data sharing device 10 determines whether or not the encryption method represented by the obtained encryption method information is the common key encryption method (step S405 in FIG. 8).
If the encryption method represented by the encryption method information is the common key cryptosystem, the data sharing device 10 determines "Yes" in step S405, proceeds to step S406, and uses the common key cryptosystem shown in FIG. Execute the key decryption process.

具体的には、データ共有装置10は、受け付けられたアクセス要求に含まれる、アクセスユーザ識別情報及び対象データ識別情報と対応付けて記憶装置12に記憶されている暗号化済対称鍵に対して、当該アクセスユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った復号処理を行うことにより、対称鍵(アクセスコードを使用しない場合)、又は、暫定暗号化済対称鍵(アクセスコードを使用する場合)を取得する(図9のステップS4061)。 Specifically, the data sharing device 10, with respect to the encrypted symmetric key stored in the storage device 12 in association with the access user identification information and the target data identification information included in the accepted access request, A symmetric key (if an access code is not used) or a temporary An encrypted symmetric key (when using an access code) is obtained (step S4061 in FIG. 9).

次いで、データ共有装置10は、図8のステップS404にて取得された暗号方式情報が、アクセスコードの使用が設定されていることを表すか否かを判定する(図9のステップS4062)。
暗号方式情報が、アクセスコードの使用が設定されていることを表す場合、データ共有装置10は、ステップS4062にて「Yes」と判定し、ステップS4061にて取得された暫定暗号化済対称鍵に対して、受け付けられたアクセス要求に含まれるアクセスコードに基づく、共通鍵暗号方式に従った復号処理を行うことにより対称鍵を取得する(図9のステップS4063)。次いで、データ共有装置10は、図9の処理を終了することにより、図8のステップS408へ進む。
Next, the data sharing device 10 determines whether or not the encryption method information acquired in step S404 of FIG. 8 indicates that use of the access code is set (step S4062 of FIG. 9).
If the encryption method information indicates that the use of an access code is set, the data sharing device 10 determines "Yes" in step S4062, and uses the provisional encrypted symmetric key obtained in step S4061. On the other hand, the symmetric key is acquired by performing decryption processing according to the common key cryptosystem based on the access code included in the accepted access request (step S4063 in FIG. 9). Next, the data sharing device 10 proceeds to step S408 in FIG. 8 by ending the processing in FIG.

一方、暗号方式情報が、アクセスコードの使用が設定されていないことを表す場合、データ共有装置10は、ステップS4062にて「No」と判定し、図9のステップS4063を実行することなく、図9の処理を終了することにより、図8のステップS408へ進む。 On the other hand, if the encryption method information indicates that the use of the access code is not set, the data sharing device 10 determines "No" in step S4062, and without executing step S4063 in FIG. 9, the process proceeds to step S408 in FIG.

また、暗号方式情報が表す暗号方式が公開鍵暗号方式である場合、データ共有装置10は、ステップS405にて「No」と判定し、ステップS407へ進んで、図10に表される公開鍵暗号方式対称鍵復号処理を実行する。 If the encryption method indicated by the encryption method information is the public key encryption method, the data sharing device 10 determines “No” in step S405, proceeds to step S407, and performs the public key encryption method illustrated in FIG. Execute the scheme symmetric key decryption process.

具体的には、データ共有装置10は、受け付けられたアクセス要求に含まれる、アクセスユーザ識別情報と対応付けて記憶装置12に記憶されている暗号化済秘密鍵に対して、当該アクセスユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った復号処理を行うことにより秘密鍵を取得する(図10のステップS4071)。 Specifically, the data sharing device 10 assigns the access user identification information to the encrypted private key stored in the storage device 12 in association with the access user identification information included in the accepted access request. The secret key is acquired by performing decryption processing according to the common key cryptosystem based on the authenticity information stored in the storage device 12 in association with (step S4071 in FIG. 10).

次いで、データ共有装置10は、受け付けられたアクセス要求に含まれる、アクセスユーザ識別情報及び対象データ識別情報と対応付けて記憶装置12に記憶されている暗号化済対称鍵に対して、取得された秘密鍵に基づく、公開鍵暗号方式に従った復号処理を行うことにより、対称鍵(アクセスコードを使用しない場合)、又は、暫定暗号化済対称鍵(アクセスコードを使用する場合)を取得する(図10のステップS4072)。 Next, the data sharing device 10 uses the acquired encrypted symmetric key stored in the storage device 12 in association with the access user identification information and the target data identification information included in the accepted access request. Obtain a symmetric key (when not using an access code) or a temporary encrypted symmetric key (when using an access code) by performing decryption processing according to public key cryptography based on the private key ( Step S4072 in FIG. 10).

次いで、データ共有装置10は、図8のステップS404にて取得された暗号方式情報が、アクセスコードの使用が設定されていることを表すか否かを判定する(図10のステップS4073)。
暗号方式情報が、アクセスコードの使用が設定されていることを表す場合、データ共有装置10は、ステップS4073にて「Yes」と判定し、ステップS4072にて取得された暫定暗号化済対称鍵に対して、受け付けられたアクセス要求に含まれるアクセスコードに基づく、共通鍵暗号方式に従った復号処理を行うことにより対称鍵を取得する(図10のステップS4074)。次いで、データ共有装置10は、図10のステップS4075へ進む。
Next, the data sharing device 10 determines whether or not the encryption method information acquired in step S404 of FIG. 8 indicates that use of the access code is set (step S4073 of FIG. 10).
If the encryption method information indicates that the use of the access code is set, the data sharing device 10 determines "Yes" in step S4073, and uses the provisional encrypted symmetric key obtained in step S4072. On the other hand, the symmetric key is obtained by performing decryption processing according to the common key cryptosystem based on the access code included in the accepted access request (step S4074 in FIG. 10). The data sharing device 10 then proceeds to step S4075 in FIG.

一方、暗号方式情報が、アクセスコードの使用が設定されていないことを表す場合、データ共有装置10は、ステップS4073にて「No」と判定し、図10のステップS4074を実行することなく、図10のステップS4075へ進む。 On the other hand, if the encryption method information indicates that the use of the access code is not set, the data sharing device 10 determines "No" in step S4073, and without executing step S4074 in FIG. 10 to step S4075.

次いで、データ共有装置10は、図8のステップS404にて取得された暗号方式情報が、アクセスコードの使用が設定されていることを表すか否かを判定する(図10のステップS4075)。
暗号方式情報が、アクセスコードの使用が設定されていることを表す場合、データ共有装置10は、ステップS4075にて「Yes」と判定し、ステップS4074にて取得された対称鍵に対して、受け付けられたアクセス要求に含まれるアクセスコードに基づく、共通鍵暗号方式に従った暗号化処理を行うことにより、暫定暗号化済対称鍵を生成する(図10のステップS4076)。その後、データ共有装置10は、図10のステップS4077へ進む。
Next, the data sharing device 10 determines whether or not the encryption method information acquired in step S404 of FIG. 8 indicates that use of the access code is set (step S4075 of FIG. 10).
If the encryption method information indicates that the use of the access code is set, the data sharing device 10 determines "Yes" in step S4075, and accepts the symmetric key acquired in step S4074. A temporary encrypted symmetric key is generated by performing encryption processing according to the common key cryptosystem based on the access code included in the received access request (step S4076 in FIG. 10). After that, the data sharing device 10 proceeds to step S4077 in FIG.

一方、暗号方式情報が、アクセスコードの使用が設定されていないことを表す場合、データ共有装置10は、ステップS4075にて「No」と判定し、図10のステップS4076を実行することなく、図10のステップS4077へ進む。 On the other hand, if the encryption method information indicates that the use of the access code is not set, the data sharing device 10 determines "No" in step S4075, and without executing step S4076 in FIG. 10 to step S4077.

次いで、データ共有装置10は、ステップS4072にて取得された対称鍵(アクセスコードを使用しない場合)、又は、ステップS4076にて生成された暫定暗号化済対称鍵(アクセスコードを使用する場合)に対して、受け付けられたアクセス要求に含まれるアクセスユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った暗号化処理を行うことにより暗号化済対称鍵を生成する(図10のステップS4077)。 Next, the data sharing device 10 uses the symmetric key acquired in step S4072 (when not using an access code) or the temporary encrypted symmetric key generated in step S4076 (when using an access code). On the other hand, by performing encryption processing according to the common key cryptosystem based on the authenticity information stored in the storage device 12 in association with the access user identification information included in the accepted access request, the encrypted symmetric A key is generated (step S4077 in FIG. 10).

なお、データ共有装置10は、ステップS4072にて取得された暫定暗号化済対称鍵を、ステップS4077にて使用してもよい。この場合、図10のステップS4075及びステップS4076の処理は、図10の処理から省略されてよい。 Data sharing apparatus 10 may use the provisional encrypted symmetric key obtained in step S4072 in step S4077. In this case, the processing of steps S4075 and S4076 of FIG. 10 may be omitted from the processing of FIG.

次いで、データ共有装置10は、受け付けられたアクセス要求に含まれる、アクセスユーザ識別情報及び対象データ識別情報と対応付けて記憶装置12に記憶されている、暗号化済対称鍵及び暗号方式情報を、図10のステップS4077にて生成された暗号化済対称鍵、及び、当該暗号化済対称鍵に対する新たな暗号方式情報にそれぞれ更新する(図10のステップS4078)。
次いで、データ共有装置10は、図10の処理を終了することにより、図8のステップS408へ進む。
Next, the data sharing device 10 uses the encrypted symmetric key and encryption method information stored in the storage device 12 in association with the access user identification information and the target data identification information included in the accepted access request, The encrypted symmetric key generated in step S4077 in FIG. 10 and the new encryption method information for the encrypted symmetric key are updated (step S4078 in FIG. 10).
Next, the data sharing device 10 proceeds to step S408 of FIG. 8 by ending the processing of FIG.

次いで、データ共有装置10は、受け付けられたアクセス要求に含まれる対象データ識別情報と対応付けて記憶装置12に記憶されている暗号化済対象データに対して、ステップS406又はステップS407にて取得された対称鍵に基づく、共通鍵暗号方式に従った復号処理を行うことにより対象データを取得する(図8のステップS408)。 Next, the data sharing device 10 acquires in step S406 or step S407 the encrypted target data stored in the storage device 12 in association with the target data identification information included in the accepted access request. The target data is acquired by performing decryption processing according to the common key cryptosystem based on the symmetric key obtained (step S408 in FIG. 8).

次いで、データ共有装置10は、取得された対象データを、受け付けられたアクセス要求を送信してきた端末装置20-nへ送信する。
これにより、端末装置20-nは、データ共有装置10から対象データを受信し、受信された対象データを出力する(本例では、ディスプレイに表示する)。
Next, the data sharing device 10 transmits the acquired target data to the terminal device 20-n that transmitted the accepted access request.
As a result, the terminal device 20-n receives the target data from the data sharing device 10 and outputs the received target data (in this example, displays it on the display).

次いで、データ共有装置10は、アクセス要求に続いて更新要求又は締結要求を受け付けるまで、図8のステップS409にて「No」と判定することにより待機する。 Next, the data sharing device 10 waits by judging "No" in step S409 of FIG. 8 until receiving an update request or a conclusion request following the access request.

その後、端末装置20-nのユーザは、入力装置23を用いて更新要求又は締結要求を入力する。これにより、端末装置20-nは、入力された更新要求又は締結要求を受け付け、受け付けられた更新要求又は締結要求をデータ共有装置10へ送信する。 After that, the user of the terminal device 20-n uses the input device 23 to input an update request or a conclusion request. As a result, the terminal device 20-n accepts the input update request or conclusion request and transmits the accepted update request or conclusion request to the data sharing device 10. FIG.

これにより、データ共有装置10は、端末装置20-nから更新要求又は締結要求を受信し、受信された更新要求又は締結要求を受け付ける(図8のステップS409)。その結果、データ共有装置10は、図8のステップS409にて「Yes」と判定し、ステップS409にて受け付けられた処理要求が更新要求であるか否かを判定する(図8のステップS410)。 As a result, the data sharing device 10 receives the update request or conclusion request from the terminal device 20-n, and accepts the received update request or conclusion request (step S409 in FIG. 8). As a result, the data sharing apparatus 10 determines "Yes" in step S409 of FIG. 8, and determines whether or not the processing request accepted in step S409 is an update request (step S410 of FIG. 8). .

受け付けられた処理要求が更新要求である場合、データ共有装置10は、ステップS410にて「Yes」と判定し、当該更新要求に含まれる、更新後の対象データに対して、ステップS406又はステップS407にて取得された対称鍵に基づく、共通鍵暗号方式に従った暗号化処理を行うことによって、当該対象データを暗号化することにより暗号化済対象データを生成する(図8のステップS411)。 If the received processing request is an update request, the data sharing device 10 determines "Yes" in step S410, and performs step S406 or step S407 on the updated target data included in the update request. Encrypted target data is generated by encrypting the target data by performing encryption processing according to the common key cryptosystem based on the symmetric key obtained in (step S411 in FIG. 8).

次いで、データ共有装置10は、受け付けられた更新要求に含まれる対象データ識別情報と対応付けて記憶装置12に記憶されている暗号化済対象データを、ステップS411にて生成された暗号化済対象データに更新する(図8のステップS412)。次いで、データ共有装置10は、図8の処理を終了する。 Next, the data sharing device 10 converts the encrypted target data stored in the storage device 12 in association with the target data identification information included in the accepted update request to the encrypted target data generated in step S411. Data is updated (step S412 in FIG. 8). The data sharing device 10 then terminates the process of FIG.

一方、受け付けられた処理要求が締結要求である場合、データ共有装置10は、ステップS410にて「No」と判定し、ステップS413へ進んで、図11に表される締結処理を実行する。 On the other hand, if the received processing request is a conclusion request, the data sharing device 10 determines "No" in step S410, proceeds to step S413, and executes the conclusion processing shown in FIG.

具体的には、データ共有装置10は、締結要求情報を、受け付けられた締結要求に含まれる対象データ識別情報及び締結要求ユーザ識別情報と対応付けて記憶装置12に記憶させる(図11のステップS4131)。 Specifically, the data sharing apparatus 10 associates the conclusion request information with the target data identification information and the conclusion request user identification information included in the received conclusion request, and stores the conclusion request information in the storage device 12 (step S4131 in FIG. 11). ).

次いで、データ共有装置10は、受け付けられた締結要求に含まれる対象データ識別情報と対応付けて記憶装置12に記憶されている、すべての共有ユーザ識別情報を抽出し、抽出された共有ユーザ識別情報のそれぞれに対して、当該共有ユーザ識別情報と対応付けて締結要求情報が記憶装置12に記憶されている(換言すると、すべての共有ユーザの締結要求情報が記憶されている)か否かを判定する(図11のステップS4132)。 Next, the data sharing device 10 extracts all shared user identification information stored in the storage device 12 in association with the target data identification information included in the accepted conclusion request, and extracts the extracted shared user identification information. is stored in the storage device 12 in association with the shared user identification information (in other words, whether or not the conclusion request information of all shared users is stored). (step S4132 in FIG. 11).

抽出された共有ユーザ識別情報の少なくとも1つに対して締結要求情報が記憶されていない(換言すると、対象データが表す契約が締結されていない)場合、データ共有装置10は、ステップS4132にて「No」と判定し、後述されるステップS4133乃至ステップS4139の処理を実行することなく、図11の処理を終了することにより図8の処理を終了する。 If the conclusion request information is not stored for at least one of the extracted shared user identification information (in other words, the contract represented by the target data is not concluded), the data sharing device 10 in step S4132 reads " No", and the process of FIG. 8 ends by ending the process of FIG. 11 without executing the processes of steps S4133 to S4139 described later.

一方、抽出された共有ユーザ識別情報のすべてに対して締結要求情報が記憶されている(換言すると、対象データが表す契約が締結された)場合、データ共有装置10は、ステップS4132にて「Yes」と判定し、当該抽出された共有ユーザ識別情報により識別される共有ユーザのそれぞれに対して、図8のステップS408にて取得された対象データの暗号化及び復号に用いられる対称鍵を生成する(図11のステップS4133)。 On the other hand, if conclusion request information is stored for all of the extracted shared user identification information (in other words, if the contract represented by the target data has been concluded), the data sharing device 10 determines in step S4132 "Yes , and generates a symmetric key to be used for encryption and decryption of the target data acquired in step S408 of FIG. 8 for each shared user identified by the extracted shared user identification information. (Step S4133 in FIG. 11).

次いで、データ共有装置10は、当該抽出された共有ユーザ識別情報により識別される共有ユーザのそれぞれに対して、生成された対称鍵に基づく、共通鍵暗号方式に従った暗号化処理を、図8のステップS408にて取得された対象データに対して行うことによって、当該対象データを暗号化することにより暗号化済対象データを生成する(図11のステップS4134)。 Next, the data sharing device 10 performs encryption processing according to the common key cryptosystem based on the generated symmetric key for each shared user identified by the extracted shared user identification information. Encrypted target data is generated by encrypting the target data obtained in step S408 of FIG. 11 (step S4134 in FIG. 11).

次いで、データ共有装置10は、当該抽出された共有ユーザ識別情報により識別される共有ユーザのそれぞれに対して、ステップS4134にて生成された暗号化済対象データを、新たに割り当てられる対象データ識別情報と対応付けて記憶装置12に記憶させる(図11のステップS4135)。 Next, the data sharing apparatus 10 transmits the encrypted target data generated in step S4134 to each of the shared users identified by the extracted shared user identification information as the newly assigned target data identification information. , and stored in the storage device 12 (step S4135 in FIG. 11).

次いで、データ共有装置10は、今回、受け付けられた締結要求に含まれる締結要求ユーザ識別情報により識別される今回要求ユーザに対してステップS4133にて生成された対称鍵に対して、今回要求ユーザを識別するユーザ識別情報と対応付けて記憶装置12に記憶されている真正情報に基づく、共通鍵暗号方式に従った暗号化処理を行うことにより暗号化済対称鍵を生成する(図11のステップS4136)。 Next, the data sharing device 10 assigns the current requesting user to the symmetric key generated in step S4133 for the current requesting user identified by the conclusion requesting user identification information included in the currently accepted conclusion request. An encrypted symmetric key is generated by performing encryption processing according to the common key cryptosystem based on the authenticity information stored in the storage device 12 in association with the user identification information to be identified (step S4136 in FIG. 11). ).

次いで、データ共有装置10は、当該今回要求ユーザを識別するユーザ識別情報と、ステップS4136にて生成された暗号化済対称鍵と、当該暗号化済対称鍵に対する暗号方式情報と、当該今回要求ユーザに対してステップS4135にて記憶された対象データ識別情報と、を互いに対応付けて記憶装置12に記憶させる(図11のステップS4137)。 Next, the data sharing apparatus 10 generates user identification information for identifying the current requesting user, the encrypted symmetric key generated in step S4136, encryption method information for the encrypted symmetric key, and the current requesting user. and the target data identification information stored in step S4135 are associated with each other and stored in the storage device 12 (step S4137 in FIG. 11).

次いで、データ共有装置10は、当該抽出された共有ユーザ識別情報のうちの、今回、受け付けられた締結要求に含まれる締結要求ユーザ識別情報以外の共有ユーザ識別情報(換言すると、今回よりも前に受け付けられた締結要求に含まれる締結要求ユーザ識別情報)により識別される過去要求ユーザのそれぞれに対して、当該過去要求ユーザを識別するユーザ識別情報と対応付けて記憶装置12に記憶されている公開鍵に基づく、公開鍵暗号方式に従った暗号化処理を当該過去要求ユーザに対してステップS4133にて生成された対称鍵に対して行うことにより暗号化済対称鍵を生成する(図11のステップS4138)。 Next, the data sharing device 10 selects the shared user identification information other than the conclusion request user identification information included in the conclusion request accepted this time (in other words, before the current conclusion request) among the extracted shared user identification information. For each past-requesting user identified by the conclusion-requesting user identification information included in the accepted conclusion-request, disclosure stored in the storage device 12 in association with the user identification information that identifies the past-requesting user An encrypted symmetric key is generated by performing key-based encryption processing according to the public key cryptosystem on the symmetric key generated in step S4133 for the past requesting user (step S4133 in FIG. 11). S4138).

次いで、データ共有装置10は、当該過去要求ユーザのそれぞれに対して、当該過去要求ユーザを識別するユーザ識別情報と、ステップS4138にて生成された暗号化済対称鍵と、当該暗号化済対称鍵に対する暗号方式情報と、当該過去要求ユーザに対してステップS4135にて記憶された対象データ識別情報と、を互いに対応付けて記憶装置12に記憶させる(図11のステップS4139)。
次いで、データ共有装置10は、図11の処理を終了することにより図8の処理を終了する。
Next, data sharing apparatus 10 sends user identification information for identifying the past requesting user, the encrypted symmetric key generated in step S4138, and the encrypted symmetric key to each of the past requesting users. and the target data identification information stored in step S4135 for the past requesting user are associated with each other and stored in the storage device 12 (step S4139 in FIG. 11).
Next, the data sharing device 10 terminates the processing of FIG. 8 by terminating the processing of FIG.

以上、説明したように、第1実施形態のデータ共有装置10は、複数のユーザ(本例では、共有ユーザ)が対象データを共有する。
データ共有装置10は、真正情報取得部(本例では、ユーザ情報受付部111、及び、認証用入力情報受付部121)と、対象データ暗号化部132と、対象データ記憶部133と、復号鍵暗号化部134と、復号鍵記憶部(本例では、アクセス情報記憶部135)と、対象データ復号部136と、を備える。
As described above, in the data sharing device 10 of the first embodiment, multiple users (shared users in this example) share target data.
The data sharing device 10 includes an authentic information acquisition unit (user information reception unit 111 and authentication input information reception unit 121 in this example), a target data encryption unit 132, a target data storage unit 133, a decryption key It includes an encryption unit 134 , a decryption key storage unit (access information storage unit 135 in this example), and a target data decryption unit 136 .

真正情報取得部は、ユーザに対する、当該ユーザが真正であることを示す情報である真正情報を取得する。
対象データ暗号化部132は、対象データを受け付けるとともに、当該対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵を生成し、且つ、当該暗号鍵に基づいて当該対象データを暗号化することにより暗号化済対象データを生成する。
対象データ記憶部133は、暗号化済対象データを記憶する。
The authenticity information acquisition unit acquires authenticity information for a user, which is information indicating that the user is authentic.
The target data encryption unit 132 receives target data, generates an encryption key and a decryption key used for encryption and decryption of the target data, and encrypts the target data based on the encryption key. to generate the encrypted target data.
The target data storage unit 133 stores encrypted target data.

復号鍵暗号化部134は、複数のユーザのそれぞれに対して、当該ユーザに対する真正情報に基づいて復号可能に、復号鍵を暗号化することにより暗号化済復号鍵を生成する。
復号鍵記憶部は、複数のユーザのそれぞれに対して、当該ユーザに対して生成された暗号化済復号鍵を当該ユーザと対応付けて記憶する。
The decryption key encryption unit 134 generates an encrypted decryption key by encrypting the decryption key for each of a plurality of users so that the decryption key can be decrypted based on the authenticity information for the user.
The decryption key storage unit stores, for each of a plurality of users, an encrypted decryption key generated for the user in association with the user.

対象データ復号部136は、ユーザに対して取得された真正情報に基づいて、当該ユーザと対応付けて記憶されている暗号化済復号鍵を復号することにより復号鍵を取得するとともに、当該復号鍵に基づいて、暗号化済対象データを復号することにより対象データを取得する。 The target data decryption unit 136 obtains the decryption key by decrypting the encrypted decryption key stored in association with the user based on the authenticity information obtained for the user, and obtains the decryption key Based on, the target data is obtained by decrypting the encrypted target data.

これによれば、対象データを共有する複数のユーザのそれぞれに対して、真正情報に基づいて、暗号化済復号鍵を復号することにより復号鍵が取得され、当該復号鍵に基づいて、暗号化済対象データを復号することにより対象データが取得される。従って、復号鍵を、対象データを共有する複数のユーザに通知することなく、当該複数のユーザのそれぞれが対象データを取得できる。 According to this, the decryption key is obtained by decrypting the encrypted decryption key based on the authenticity information for each of a plurality of users who share the target data, and the encrypted decryption key is obtained based on the decryption key. The target data is obtained by decoding the processed target data. Therefore, each of the multiple users can acquire the target data without notifying the multiple users who share the target data of the decryption key.

また、対象データに代えて、暗号化済対象データが記憶される。更に、暗号化済対象データの復号に用いられる復号鍵に代えて、暗号化済復号鍵が記憶される。従って、対象データ及び復号鍵が漏洩することを抑制できる。
このように、データ共有装置10によれば、複数のユーザが対象データを共有しながら、対象データが表す情報の漏洩を抑制できる。
Also, instead of the target data, the encrypted target data is stored. Further, an encrypted decryption key is stored instead of the decryption key used for decrypting the encrypted target data. Therefore, it is possible to prevent the target data and the decryption key from being leaked.
As described above, according to the data sharing device 10, it is possible to suppress the leakage of information represented by the target data while sharing the target data among a plurality of users.

更に、第1実施形態のデータ共有装置10において、復号鍵暗号化部134は、複数のユーザのうちの、少なくとも一部のユーザのそれぞれに対する復号鍵の暗号化において、共通鍵暗号方式に従った、当該ユーザに対する真正情報に基づく暗号化処理を行う。 Furthermore, in the data sharing device 10 of the first embodiment, the decryption key encryption unit 134 follows the common key cryptosystem in encrypting the decryption keys for at least some of the users. , encryption processing is performed based on the authenticity information for the user.

これによれば、公開鍵暗号方式を用いる場合よりも、復号鍵の暗号化及び復号における処理の負荷を抑制できる。 According to this, the processing load for encryption and decryption of the decryption key can be reduced more than when the public key cryptosystem is used.

更に、第1実施形態のデータ共有装置10において、復号鍵暗号化部134は、複数のユーザのうちの、少なくとも一部のユーザのそれぞれに対する復号鍵の暗号化において、公開鍵暗号方式に従った、当該ユーザと対応付けられた公開鍵に基づく暗号化処理を行う。 Furthermore, in the data sharing device 10 of the first embodiment, the decryption key encryption unit 134 follows the public key cryptosystem in encrypting the decryption keys for at least some of the users. , performs encryption processing based on the public key associated with the user.

ところで、データ共有装置10は、ログインしていないユーザに対して真正情報を取得できないことが多い。このため、ログインしていないユーザに対して、当該ユーザに対する真正情報に基づく暗号化処理を行えない虞がある。これに対し、データ共有装置10によれば、ログインしていないユーザに対しても、復号鍵の暗号化を行うことができる。 By the way, the data sharing device 10 is often unable to acquire authentic information for users who have not logged in. For this reason, there is a possibility that the encryption processing based on the authenticity information for the user who has not logged in cannot be performed. On the other hand, according to the data sharing device 10, even a user who has not logged in can encrypt the decryption key.

更に、第1実施形態のデータ共有装置10において、復号鍵暗号化部134は、複数のユーザのうちの、ログイン中のユーザに対する復号鍵の暗号化において、共通鍵暗号方式に従った、当該ユーザに対する真正情報に基づく暗号化処理を行うとともに、当該複数のユーザのうちの、ログイン中のユーザ以外のユーザのそれぞれに対する復号鍵の暗号化において、公開鍵暗号方式に従った、当該ユーザと対応付けられた公開鍵に基づく暗号化処理を行う。 Furthermore, in the data sharing device 10 of the first embodiment, the decryption key encryption unit 134 encrypts the decryption key for a logged-in user among a plurality of users according to the common key cryptosystem. In addition to performing encryption processing based on authenticity information for each of the multiple users, in encrypting the decryption key for each user other than the logged-in user among the multiple users, in accordance with the public key cryptosystem, matching with the user Performs encryption processing based on the public key obtained.

これによれば、ログイン中のユーザに対して、共通鍵暗号方式に従った暗号化処理が行われる。従って、公開鍵暗号方式を用いる場合よりも、復号鍵の暗号化における処理の負荷を抑制できる。更に、複数のユーザのうちの、ログイン中のユーザ以外のユーザに対して、公開鍵暗号方式に従った暗号化処理が行われる。
このように、対象データを共有する複数のユーザのそれぞれに対して、復号鍵の暗号化を行うことができる。
According to this, encryption processing according to the common key cryptosystem is performed for the logged-in user. Therefore, the processing load in encrypting the decryption key can be reduced more than in the case of using the public key cryptosystem. Furthermore, encryption processing according to the public key cryptosystem is performed for users other than the logged-in user among the plurality of users.
In this way, the decryption key can be encrypted for each of a plurality of users who share target data.

更に、第1実施形態のデータ共有装置10において、復号鍵暗号化部134は、複数のユーザのうちの、ログイン中のユーザに対して、当該ユーザと対応付けて記憶されている暗号化済復号鍵の復号において公開鍵暗号方式に従った復号処理が行われることにより復号鍵が取得された場合、共通鍵暗号方式に従った、当該ユーザに対する真正情報に基づく暗号化処理を行うことによって当該復号鍵を暗号化し直すことにより、当該ユーザに対する暗号化済復号鍵を生成する。復号鍵記憶部は、ログイン中のユーザに対して、当該ユーザに対して生成された暗号化済復号鍵を当該ユーザと対応付けて記憶する。 Furthermore, in the data sharing device 10 of the first embodiment, the decryption key encryption unit 134 provides the encrypted decryption stored in association with the logged-in user among the plurality of users. When the decryption key is obtained by performing decryption processing according to public key cryptography in decrypting the key, decryption is performed by performing encryption processing based on authentic information for the user according to common key cryptography Re-encrypting the key produces an encrypted decryption key for the user. The decryption key storage unit stores an encrypted decryption key generated for a logged-in user in association with the user.

これによれば、公開鍵暗号方式に従った暗号化済復号鍵を、共通鍵暗号方式に従った暗号化済復号鍵に置き換えることができる。ところで、共通鍵暗号方式に従った暗号化処理及び復号処理は、公開鍵暗号方式よりも負荷が小さい。従って、復号鍵の暗号化及び復号における処理の負荷を抑制できる。 According to this, the encrypted decryption key according to the public key cryptosystem can be replaced with the encrypted decryption key according to the common key cryptosystem. By the way, the load of encryption processing and decryption processing according to the common key cryptosystem is smaller than that of the public key cryptosystem. Therefore, the processing load in encryption and decryption of the decryption key can be suppressed.

更に、第1実施形態のデータ共有装置10は、秘密鍵暗号化部112と、公開鍵秘密鍵記憶部(本例では、ユーザ情報記憶部113)と、を備える。
秘密鍵暗号化部112は、複数のユーザのそれぞれに対して、公開鍵暗号方式に従った暗号化処理及び復号処理にそれぞれ用いられる公開鍵及び秘密鍵を生成するとともに、共通鍵暗号方式に従った、当該ユーザに対して取得された真正情報に基づく暗号化処理を行うことによって当該秘密鍵を暗号化することにより暗号化済秘密鍵を生成する。
公開鍵秘密鍵記憶部は、複数のユーザのそれぞれに対して、当該ユーザと、公開鍵と、暗号化済秘密鍵と、を互いに対応付けて記憶する。
Further, the data sharing device 10 of the first embodiment includes a private key encryption unit 112 and a public key/private key storage unit (user information storage unit 113 in this example).
The private key encryption unit 112 generates a public key and a private key to be used for encryption processing and decryption processing according to the public key cryptosystem for each of a plurality of users, and also generates a public key and a private key according to the common key cryptosystem. Further, the encrypted secret key is generated by encrypting the secret key by performing encryption processing based on the authenticity information acquired for the user.
The public key/private key storage unit stores, for each of a plurality of users, the user, the public key, and the encrypted private key in association with each other.

復号鍵暗号化部134は、複数のユーザのうちの、少なくとも一部のユーザのそれぞれに対する復号鍵の暗号化において、公開鍵暗号方式に従った、当該ユーザと対応付けて記憶されている公開鍵に基づく暗号化処理を行う。 The decryption key encryption unit 134 encrypts the decryption key for each of at least some users out of the plurality of users, and uses the public key stored in association with the user in accordance with the public key cryptosystem. Perform encryption processing based on

これによれば、秘密鍵に代えて、暗号化済秘密鍵が記憶される。従って、秘密鍵が漏洩することを抑制できる。この結果、複数のユーザが対象データを共有しながら、対象データが表す情報の漏洩を抑制できる。 According to this, an encrypted private key is stored instead of the private key. Therefore, leakage of the private key can be suppressed. As a result, while a plurality of users share the target data, leakage of information represented by the target data can be suppressed.

更に、第1実施形態のデータ共有装置10において、対象データは、複数のユーザの間で締結される契約を表す。対象データ暗号化部132は、契約が締結された場合、複数のユーザのそれぞれに対して、対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵を生成し、且つ、当該暗号鍵に基づいて当該対象データを暗号化することにより暗号化済対象データを生成する。
対象データ記憶部133は、複数のユーザのそれぞれに対して、当該ユーザに対して生成された暗号化済対象データを当該ユーザと対応付けて記憶する。
Furthermore, in the data sharing device 10 of the first embodiment, the target data represents contracts concluded between a plurality of users. When a contract is concluded, the target data encryption unit 132 generates an encryption key and a decryption key used for encrypting and decrypting target data for each of a plurality of users, and encrypts the encryption key with the encryption key. Encrypted target data is generated by encrypting the target data based on.
For each of a plurality of users, the target data storage unit 133 stores the encrypted target data generated for the user in association with the user.

これによれば、契約が締結された後、対象データを共有していた複数のユーザに対して、互いに独立に対象データを保管できる。 According to this, after the contract is concluded, the target data can be stored independently of each other for a plurality of users who have shared the target data.

更に、第1実施形態のデータ共有装置10において、復号鍵暗号化部134は、アクセスコードを受け付けるとともに、複数のユーザのそれぞれに対する復号鍵の暗号化において、共通鍵暗号方式に従った、当該アクセスコードに基づく暗号化処理を行う。
対象データ復号部136は、アクセスコードを受け付けるとともに、暗号化済復号鍵の復号において、共通鍵暗号方式に従った、当該アクセスコードに基づく復号処理を行う。
Furthermore, in the data sharing device 10 of the first embodiment, the decryption key encryption unit 134 receives an access code, and encrypts the decryption key for each of a plurality of users according to the common key cryptosystem. Perform code-based cryptographic processing.
The target data decryption unit 136 receives the access code, and performs decryption processing based on the access code in accordance with the common key cryptosystem when decrypting the encrypted decryption key.

これによれば、アクセスコードが知得されない限り、復号鍵が取得されない。従って、対象データが表す情報の漏洩をより一層抑制できる。 According to this, the decryption key cannot be obtained unless the access code is known. Therefore, leakage of information represented by the target data can be further suppressed.

なお、第1実施形態の変形例のデータ共有装置10は、アクセスコードを使用しないように構成されていてもよい。
また、第1実施形態の変形例のデータ共有装置10は、対称鍵の暗号化において、真正情報に基づく共通鍵暗号方式に従った暗号化処理に代えて、公開鍵に基づく公開鍵暗号方式に従った暗号化処理を用いてもよい。換言すると、第1実施形態の変形例のデータ共有装置10は、いずれのユーザに対しても、対称鍵の暗号化において、当該ユーザに対応付けられた公開鍵に基づく公開鍵暗号方式に従った暗号化処理を行ってもよい。
Note that the data sharing device 10 of the modified example of the first embodiment may be configured not to use access codes.
Further, in the symmetric key encryption, the data sharing device 10 of the modified example of the first embodiment uses the public key cryptosystem based on the public key instead of the encryption process according to the common key cryptosystem based on the authenticity information. A compliant encryption process may also be used. In other words, the data sharing device 10 according to the modification of the first embodiment follows the public key cryptosystem based on the public key associated with the user in symmetric key encryption for any user. Encryption processing may be performed.

なお、本発明は、上述した実施形態に限定されない。例えば、上述した実施形態に、本発明の趣旨を逸脱しない範囲内において当業者が理解し得る様々な変更が加えられてよい。 In addition, this invention is not limited to embodiment mentioned above. For example, various modifications that can be understood by those skilled in the art may be added to the above-described embodiments without departing from the scope of the present invention.

1 データ共有システム
10 データ共有装置
11 処理装置
12 記憶装置
13 入力装置
14 出力装置
15 通信装置
110 ユーザ登録処理部
111 ユーザ情報受付部
112 秘密鍵暗号化部
113 ユーザ情報記憶部
120 ユーザ認証処理部
121 認証用入力情報受付部
122 真正情報記憶部
130 要求処理部
131 要求受付部
132 対象データ暗号化部
133 対象データ記憶部
134 復号鍵暗号化部
135 アクセス情報記憶部
136 対象データ復号部
20-1,20-2,…,20-N 端末装置
21 処理装置
22 記憶装置
23 入力装置
24 出力装置
25 通信装置
201 ユーザ情報入力部
202 認証用入力情報入力部
203 要求入力部
204 対象データ出力部
BU1 バス
BU2 バス
NW 通信回線

1 Data sharing system 10 Data sharing device 11 Processing device 12 Storage device 13 Input device 14 Output device 15 Communication device 110 User registration processing unit 111 User information reception unit 112 Secret key encryption unit 113 User information storage unit 120 User authentication processing unit 121 Authentication input information reception unit 122 Authenticity information storage unit 130 Request processing unit 131 Request reception unit 132 Target data encryption unit 133 Target data storage unit 134 Decryption key encryption unit 135 Access information storage unit 136 Target data decryption unit 20-1, 20-2, ..., 20-N Terminal device 21 Processing device 22 Storage device 23 Input device 24 Output device 25 Communication device 201 User information input unit 202 Authentication input information input unit 203 Request input unit 204 Target data output unit BU1 Bus BU2 Bus NW communication line

Claims (9)

複数のユーザが対象データを共有するデータ共有装置であって、
前記ユーザに対する、当該ユーザが真正であることを示す情報である真正情報を取得する真正情報取得部と、
前記対象データを受け付けるとともに、当該対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵を生成し、且つ、当該暗号鍵に基づいて当該対象データを暗号化することにより暗号化済対象データを生成する対象データ暗号化部と、
前記暗号化済対象データを記憶する対象データ記憶部と、
前記複数のユーザのそれぞれに対して、当該ユーザに対する前記真正情報に基づいて復号可能に、前記復号鍵を暗号化することにより暗号化済復号鍵を生成する復号鍵暗号化部と、
前記複数のユーザのそれぞれに対して、当該ユーザに対して生成された前記暗号化済復号鍵を当該ユーザと対応付けて記憶する復号鍵記憶部と、
前記ユーザに対して取得された前記真正情報に基づいて、当該ユーザと対応付けて記憶されている前記暗号化済復号鍵を復号することにより前記復号鍵を取得するとともに、当該復号鍵に基づいて、前記暗号化済対象データを復号することにより前記対象データを取得する対象データ復号部と、
を備える、データ共有装置。
A data sharing device in which a plurality of users share target data,
an authenticity information acquiring unit for acquiring authenticity information for the user, which is information indicating that the user is authentic;
Encrypted target data by receiving the target data, generating an encryption key and a decryption key respectively used for encryption and decryption of the target data, and encrypting the target data based on the encryption key a target data encryption unit that generates
a target data storage unit that stores the encrypted target data;
a decryption key encryption unit that generates an encrypted decryption key by encrypting the decryption key for each of the plurality of users so that the decryption key can be decrypted based on the authenticity information for the user;
a decryption key storage unit that stores, for each of the plurality of users, the encrypted decryption key generated for the user in association with the user;
obtaining the decryption key by decrypting the encrypted decryption key stored in association with the user based on the authenticity information obtained for the user, and obtaining the decryption key based on the decryption key , a target data decryption unit that obtains the target data by decrypting the encrypted target data;
A data sharing device comprising:
請求項1に記載のデータ共有装置であって、
前記復号鍵暗号化部は、前記複数のユーザのうちの、少なくとも一部のユーザのそれぞれに対する前記復号鍵の暗号化において、共通鍵暗号方式に従った、当該ユーザに対する前記真正情報に基づく暗号化処理を行う、データ共有装置。
The data sharing device of claim 1, comprising:
The decryption key encryption unit encrypts the decryption key for each of at least some of the plurality of users based on the authentic information for the user according to a common key cryptosystem. A data sharing device that performs processing.
請求項1又は請求項2に記載のデータ共有装置であって、
前記復号鍵暗号化部は、前記複数のユーザのうちの、少なくとも一部のユーザのそれぞれに対する前記復号鍵の暗号化において、公開鍵暗号方式に従った、当該ユーザと対応付けられた公開鍵に基づく暗号化処理を行う、データ共有装置。
The data sharing device according to claim 1 or claim 2,
The decryption key encryption unit encrypts the decryption key for each of at least some of the plurality of users, using a public key associated with the user according to a public key cryptosystem. A data sharing device that performs encryption processing based on
請求項3に記載のデータ共有装置であって、
前記復号鍵暗号化部は、前記複数のユーザのうちの、ログイン中のユーザに対する前記復号鍵の暗号化において、共通鍵暗号方式に従った、当該ユーザに対する前記真正情報に基づく暗号化処理を行うとともに、前記複数のユーザのうちの、ログイン中のユーザ以外のユーザのそれぞれに対する前記復号鍵の暗号化において、公開鍵暗号方式に従った、当該ユーザと対応付けられた公開鍵に基づく暗号化処理を行う、データ共有装置。
The data sharing device according to claim 3,
The decryption key encryption unit performs encryption processing based on the authenticity information for the user according to a common key cryptosystem when encrypting the decryption key for a logged-in user among the plurality of users. and, in the encryption of the decryption key for each of the plurality of users other than the logged-in user, encryption processing based on the public key associated with the user according to public key cryptography. data sharing device.
請求項3又は請求項4に記載のデータ共有装置であって、
前記復号鍵暗号化部は、前記複数のユーザのうちの、ログイン中のユーザに対して、当該ユーザと対応付けて記憶されている前記暗号化済復号鍵の復号において公開鍵暗号方式に従った復号処理が行われることにより前記復号鍵が取得された場合、共通鍵暗号方式に従った、当該ユーザに対する前記真正情報に基づく暗号化処理を行うことによって当該復号鍵を暗号化し直すことにより、当該ユーザに対する暗号化済復号鍵を生成し、
前記復号鍵記憶部は、前記ログイン中のユーザに対して、当該ユーザに対して生成された前記暗号化済復号鍵を当該ユーザと対応付けて記憶する、データ共有装置。
The data sharing device according to claim 3 or claim 4,
The decryption key encryption unit, for a logged-in user among the plurality of users, decrypts the encrypted decryption key stored in association with the user according to public key cryptography. When the decryption key is obtained by performing the decryption process, the decryption key is re-encrypted by performing the encryption process based on the authentic information for the user in accordance with the common key cryptosystem. generate an encrypted decryption key for the user,
The data sharing device, wherein the decryption key storage unit stores the encrypted decryption key generated for the logged-in user in association with the user.
請求項3乃至請求項5のいずれか一項に記載のデータ共有装置であって、
前記複数のユーザのそれぞれに対して、公開鍵暗号方式に従った暗号化処理及び復号処理にそれぞれ用いられる公開鍵及び秘密鍵を生成するとともに、共通鍵暗号方式に従った、当該ユーザに対して取得された前記真正情報に基づく暗号化処理を行うことによって当該秘密鍵を暗号化することにより暗号化済秘密鍵を生成する秘密鍵暗号化部と、
前記複数のユーザのそれぞれに対して、当該ユーザと、前記公開鍵と、前記暗号化済秘密鍵と、を互いに対応付けて記憶する公開鍵秘密鍵記憶部と、
を備え、
前記復号鍵暗号化部は、前記複数のユーザのうちの、少なくとも一部のユーザのそれぞれに対する前記復号鍵の暗号化において、公開鍵暗号方式に従った、当該ユーザと対応付けて記憶されている前記公開鍵に基づく暗号化処理を行う、データ共有装置。
The data sharing device according to any one of claims 3 to 5,
For each of the plurality of users, a public key and a private key to be used for encryption processing and decryption processing according to the public key cryptosystem are generated, and for the user according to the common key cryptosystem. a secret key encryption unit that generates an encrypted secret key by encrypting the secret key by performing encryption processing based on the acquired authenticity information;
a public key/private key storage unit that stores, for each of the plurality of users, the user, the public key, and the encrypted private key in association with each other;
with
The decryption key encryption unit stores the decryption key for each of at least some of the plurality of users in association with the user in accordance with a public key cryptosystem. A data sharing device that performs encryption processing based on the public key.
請求項1乃至請求項6のいずれか一項に記載のデータ共有装置であって、
前記対象データは、前記複数のユーザの間で締結される契約を表し、
前記対象データ暗号化部は、前記契約が締結された場合、前記複数のユーザのそれぞれに対して、前記対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵を生成し、且つ、当該暗号鍵に基づいて当該対象データを暗号化することにより暗号化済対象データを生成し、
前記対象データ記憶部は、前記複数のユーザのそれぞれに対して、当該ユーザに対して生成された前記暗号化済対象データを当該ユーザと対応付けて記憶する、データ共有装置。
The data sharing device according to any one of claims 1 to 6,
The target data represents a contract concluded between the plurality of users,
The target data encryption unit generates, for each of the plurality of users, an encryption key and a decryption key respectively used for encryption and decryption of the target data when the contract is concluded, and generating encrypted target data by encrypting the target data based on the encryption key;
The data sharing device, wherein the target data storage unit stores, for each of the plurality of users, the encrypted target data generated for the user in association with the user.
請求項1乃至請求項7のいずれか一項に記載のデータ共有装置であって、
前記復号鍵暗号化部は、アクセスコードを受け付けるとともに、前記複数のユーザのそれぞれに対する前記復号鍵の暗号化において、共通鍵暗号方式に従った、当該アクセスコードに基づく暗号化処理を行い、
前記対象データ復号部は、アクセスコードを受け付けるとともに、前記暗号化済復号鍵の復号において、共通鍵暗号方式に従った、当該アクセスコードに基づく復号処理を行う、データ共有装置。
The data sharing device according to any one of claims 1 to 7,
The decryption key encryption unit receives an access code and, in encrypting the decryption key for each of the plurality of users, performs encryption processing based on the access code according to a common key cryptosystem,
The data sharing device, wherein the target data decryption unit receives an access code and, in decrypting the encrypted decryption key, performs decryption processing based on the access code in accordance with a common key cryptosystem.
複数のユーザが対象データを共有するデータ共有方法であって、
前記ユーザに対する、当該ユーザが真正であることを示す情報である真正情報を取得し、
前記対象データを受け付けるとともに、当該対象データの暗号化及び復号にそれぞれ用いられる暗号鍵及び復号鍵を生成し、且つ、当該暗号鍵に基づいて当該対象データを暗号化することにより暗号化済対象データを生成し、
前記暗号化済対象データを記憶し、
前記複数のユーザのそれぞれに対して、当該ユーザに対する前記真正情報に基づいて復号可能に、前記復号鍵を暗号化することにより暗号化済復号鍵を生成し、
前記複数のユーザのそれぞれに対して、当該ユーザに対して生成された前記暗号化済復号鍵を当該ユーザと対応付けて記憶し、
前記ユーザに対して取得された前記真正情報に基づいて、当該ユーザと対応付けて記憶されている前記暗号化済復号鍵を復号することにより前記復号鍵を取得するとともに、当該復号鍵に基づいて、前記暗号化済対象データを復号することにより前記対象データを取得する、
ことを含む、データ共有方法。
A data sharing method in which multiple users share target data,
Obtaining authenticity information for the user, which is information indicating that the user is authentic;
Encrypted target data by receiving the target data, generating an encryption key and a decryption key respectively used for encryption and decryption of the target data, and encrypting the target data based on the encryption key to generate
storing the encrypted target data;
generating an encrypted decryption key by encrypting the decryption key for each of the plurality of users so that decryption is possible based on the authenticity information for the user;
for each of the plurality of users, storing the encrypted decryption key generated for the user in association with the user;
obtaining the decryption key by decrypting the encrypted decryption key stored in association with the user based on the authenticity information obtained for the user, and obtaining the decryption key based on the decryption key , obtaining the target data by decrypting the encrypted target data;
How we share data, including:
JP2021157890A 2021-09-28 2021-09-28 Data sharing device and data sharing method Active JP7060751B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021157890A JP7060751B1 (en) 2021-09-28 2021-09-28 Data sharing device and data sharing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021157890A JP7060751B1 (en) 2021-09-28 2021-09-28 Data sharing device and data sharing method

Publications (2)

Publication Number Publication Date
JP7060751B1 JP7060751B1 (en) 2022-04-26
JP2023048525A true JP2023048525A (en) 2023-04-07

Family

ID=81387418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021157890A Active JP7060751B1 (en) 2021-09-28 2021-09-28 Data sharing device and data sharing method

Country Status (1)

Country Link
JP (1) JP7060751B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002033727A (en) * 2000-05-11 2002-01-31 Matsushita Electric Ind Co Ltd File management system
WO2005015862A1 (en) * 2003-08-07 2005-02-17 Onaras Ag Method and devices for secure transmission of electronic messages
JP2006345261A (en) * 2005-06-09 2006-12-21 Sharp Corp Data processor
JP2009098889A (en) * 2007-10-16 2009-05-07 Buffalo Inc Data management device, data management method, and data management program
JP2009245579A (en) * 2008-03-31 2009-10-22 Toshiba Corp Access method of storage drive, and hard disk drive
JP2009245227A (en) * 2008-03-31 2009-10-22 Fujitsu Ltd Information storage device
US20210152351A1 (en) * 2019-04-09 2021-05-20 Mark Rodney Anson Computer System Implemented Method for Generating a Symmetric Encryption Key Used for Encrypting and Decrypting a Computer System User's Hidden Data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002033727A (en) * 2000-05-11 2002-01-31 Matsushita Electric Ind Co Ltd File management system
WO2005015862A1 (en) * 2003-08-07 2005-02-17 Onaras Ag Method and devices for secure transmission of electronic messages
JP2006345261A (en) * 2005-06-09 2006-12-21 Sharp Corp Data processor
JP2009098889A (en) * 2007-10-16 2009-05-07 Buffalo Inc Data management device, data management method, and data management program
JP2009245579A (en) * 2008-03-31 2009-10-22 Toshiba Corp Access method of storage drive, and hard disk drive
JP2009245227A (en) * 2008-03-31 2009-10-22 Fujitsu Ltd Information storage device
US20210152351A1 (en) * 2019-04-09 2021-05-20 Mark Rodney Anson Computer System Implemented Method for Generating a Symmetric Encryption Key Used for Encrypting and Decrypting a Computer System User's Hidden Data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
株式会社日本マーケティングリサーチ機構: "高セキュリティ電子契約サービス「Kri」が、日本マーケティングリサーチ機構の調査で3部門No.1を獲得しまし", PR TIMES, JPN6022011234, 2 September 2021 (2021-09-02), ISSN: 0004732195 *

Also Published As

Publication number Publication date
JP7060751B1 (en) 2022-04-26

Similar Documents

Publication Publication Date Title
CN106716914B (en) Secure key management for roaming protected content
CN110176987B (en) Method, device, equipment and computer storage medium for equipment authentication
JP4597784B2 (en) Data processing device
US10943020B2 (en) Data communication system with hierarchical bus encryption system
US20120254622A1 (en) Secure Access to Electronic Devices
EP3282737B1 (en) Information processing device, authentication device, system, information processing method, program, and authentication method
CN110708291B (en) Data authorization access method, device, medium and electronic equipment in distributed network
US20200218826A1 (en) Data searching system, data searching method and computer readable medium
WO2018220693A1 (en) Information processing device, verification device, information processing system, information processing method, and recording medium
JP6930053B2 (en) Data encryption method and system using device authentication key
CN109039997B (en) Secret key obtaining method, device and system
JP6302851B2 (en) Re-encryption method, re-encryption system, and re-encryption device
KR101541165B1 (en) Mobile message encryption method, computer readable recording medium recording program performing the method and download server storing the method
JP2007058487A (en) Log-in information management device and method
KR20170038542A (en) Security certification apparatus using biometric information and security certification method
JP2016019233A (en) Communication system, communication device, key managing device and communication method
JP2006279269A (en) Information management device, information management system, network system, user terminal, and their programs
KR101485968B1 (en) Method for accessing to encoded files
JP7060751B1 (en) Data sharing device and data sharing method
JP2017108237A (en) System, terminal device, control method and program
KR100505481B1 (en) Certification system for WEB service access using a mobile terminal
KR20190007336A (en) Method and apparatus for generating end-to-end security channel, and method and apparatus for transmitting/receiving secure information using security channel
KR101808313B1 (en) Method of encrypting data
JP6627398B2 (en) Proxy authentication device, proxy authentication method and proxy authentication program
JP2013207368A (en) Data management device, data division device, and data restoration device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210928

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220414

R150 Certificate of patent or registration of utility model

Ref document number: 7060751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150