JP2019047334A - Data processing unit, data processing method and program for data processing - Google Patents

Data processing unit, data processing method and program for data processing Download PDF

Info

Publication number
JP2019047334A
JP2019047334A JP2017168595A JP2017168595A JP2019047334A JP 2019047334 A JP2019047334 A JP 2019047334A JP 2017168595 A JP2017168595 A JP 2017168595A JP 2017168595 A JP2017168595 A JP 2017168595A JP 2019047334 A JP2019047334 A JP 2019047334A
Authority
JP
Japan
Prior art keywords
data
program
processing
unit
file
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.)
Pending
Application number
JP2017168595A
Other languages
Japanese (ja)
Inventor
晋丈 金子
Kunitake Kaneko
晋丈 金子
凌 荻谷
Ryo Ogiya
凌 荻谷
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.)
Keio University
Original Assignee
Keio University
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 Keio University filed Critical Keio University
Priority to JP2017168595A priority Critical patent/JP2019047334A/en
Publication of JP2019047334A publication Critical patent/JP2019047334A/en
Pending legal-status Critical Current

Links

Images

Abstract

To provide a data processing unit capable of preventing data from being used for usage unintended by the data offerer, while allowing efficient use of the data.SOLUTION: A data processing unit 5 includes a file reception part 35 for receiving a DKP (Data Key Package) specifying a program for processing the processing object data, out of the programs stored in a program storage section 31, from the data offerer side that provided the processing object data, out of the data stored in a data storage section 30, and a data processing section 36 for processing the processing object data, by a program specified by the received DKP.SELECTED DRAWING: Figure 2

Description

本発明は、データ処理装置、データ処理方法及びデータ処理用プログラムに関する。   The present invention relates to a data processing device, a data processing method, and a data processing program.

従来、ビッグデータは、会社内に保有され、保有する会社でのみ利活用される場合が多く(例えば、非特許文献1参照)、効率的に利活用されていなかった。
これに対し、本発明の発明者は、ビッグデータを効率的に利活用するために、鋭意検討を行った結果、ビッグデータを複数の会社で共有することを案出した。そして、この案出した方法を用い、ビッグデータを複数の会社で共有する場合、ビッグデータがデータ提供者の意図しない用途に使われることを防止して、データ権利者のビッグデータの所有権を保護することが、ビッグデータの提供を促進するために重要となることを見出した。
Conventionally, big data has been held in the company and often used only in the company (for example, see Non-Patent Document 1), and has not been used efficiently.
On the other hand, the inventor of the present invention has devised to share big data among a plurality of companies as a result of intensive studies in order to efficiently utilize big data. And when using this devised method and sharing big data among multiple companies, it prevents big data from being used for purposes unintended by the data provider, and makes the right holder of data right We found that protecting is important to facilitate the provision of big data.

本田技研工業株式会社、“到着予想時間が正確”、[online]、 [平成29年8月7日検索]、インターネット(URL: http://www.honda.co.jp/internavi/time/)Honda Motor Co., Ltd., “Predicted arrival time is accurate”, [online], [Search August 7, 2017], Internet (URL: http://www.honda.co.jp/internavi/time/)

本発明は、上記のような課題に着目したもので、データの効率的な利活用を可能としつつ、データがデータ提供者の意図しない用途に使われること、又はデータ処理用のプログラムがブログラム提供者の意図しない用途に使われることを防止可能なデータ処理装置、データ処理方法及びデータ処理用プログラムを提供することを目的とする。   The present invention pays attention to the above-described problems, and allows data to be used for purposes unintended by the data provider while enabling efficient use of data, or a program for processing data is a program. It is an object of the present invention to provide a data processing device, a data processing method, and a data processing program that can be prevented from being used for purposes not intended by the provider.

上記課題を解決するために、本発明の一態様は、(a)複数のデータを記憶しているデータ記憶部と、(b)複数のプログラムを記憶しているプログラム記憶部と、(c)データ記憶部が記憶しているデータのうちの処理対象のデータを提供したデータ提供者側から、プログラム記憶部が記憶しているプログラムのうちの、処理対象のデータの処理用のプログラムを指定する第1のファイルを受信するファイル受信部と、(d)処理対象のデータを、ファイル受信部で受信した第1のファイルが指定するプログラムで処理するデータ処理部と、を備えるデータ処理装置であることを要旨とする。   In order to solve the above problems, one embodiment of the present invention includes (a) a data storage unit storing a plurality of data, (b) a program storage unit storing a plurality of programs, and (c). From the data provider side that provided the data to be processed among the data stored in the data storage unit, a program for processing the data to be processed among the programs stored in the program storage unit is specified. A data processing apparatus comprising: a file receiving unit that receives a first file; and (d) a data processing unit that processes data to be processed by a program specified by the first file received by the file receiving unit. This is the gist.

また、本発明の他の態様は、(a)複数のデータを記憶しているデータ記憶部と、(b)複数のプログラムを記憶しているプログラム記憶部と、(c)プログラム記憶部が記憶しているプログラムのうちの処理用のプログラムを提供したプログラム提供者側から、データ記憶部が記憶しているデータのうちの、処理用のプログラムで処理するデータを指定する第2のファイルを受信するファイル受信部と、(d)処理用のプログラムで、ファイル受信部で受信した第2のファイルが指定するデータを処理するデータ処理部と、を備えるデータ処理装置であることを要旨とする。   In another aspect of the present invention, (a) a data storage unit that stores a plurality of data, (b) a program storage unit that stores a plurality of programs, and (c) a program storage unit stores A second file designating data to be processed by the processing program out of the data stored in the data storage unit is received from the program provider who provided the processing program among the programs being processed The gist of the present invention is a data processing device comprising: a file receiving unit that performs processing; and (d) a processing program that processes data specified by the second file received by the file receiving unit.

また、本発明の他の態様は、(a)複数のデータを記憶しているデータ記憶部が記憶するデータのうちの処理対象のデータを提供したデータ提供者側から、複数のプログラムを記憶しているプログラム記憶部が記憶するプログラムのうちの、処理対象のデータの処理用のプログラムを指定する第1のファイルをプロセッサが受信するステップと、(b)プロセッサのデータ処理部が、処理対象のデータを、受信した第1のファイルが指定するプログラムで処理するステップとを含むデータ処理方法であることを要旨とする。   In another aspect of the present invention, (a) a plurality of programs are stored from a data provider side that provides data to be processed among data stored in a data storage unit storing a plurality of data. The processor receives a first file that specifies a program for processing data to be processed among the programs stored in the program storage unit, and (b) the data processing unit of the processor The gist of the present invention is a data processing method including a step of processing data by a program specified by the received first file.

また、本発明の他の態様は、(a)複数のプログラムを記憶しているプログラム記憶部が記憶するプログラムのうちの処理用のプログラムを提供したプログラム提供者側から、複数のデータを記憶しているデータ記憶部が記憶するデータのうちの、処理用のプログラムで処理するデータを指定する第2のファイルをプロセッサが受信するステップと、(b)プロセッサのデータ処理部が、処理用のプログラムで、受信した第2のファイルが指定するデータを処理するステップとを含むデータ処理方法であることを要旨とする。   In another aspect of the present invention, (a) a plurality of data is stored from a program provider who provides a processing program among programs stored in a program storage unit storing a plurality of programs. The processor receives a second file designating data to be processed by the processing program among the data stored in the data storage unit, and (b) the data processing unit of the processor receives the processing program The gist of the present invention is a data processing method including a step of processing data designated by the received second file.

また、本発明の他の態様は、(a)複数のデータを記憶しているデータ記憶部が記憶するデータのうちの処理対象のデータを提供したデータ提供者側から、複数のプログラムを記憶しているプログラム記憶部が記憶するプログラムのうちの、処理対象のデータの処理用のプログラムを指定する第1のファイルをプロセッサに受信させる命令と、(b)プロセッサのデータ処理部に、処理対象のデータを、受信した第1のファイルで指定するプログラムで処理させる命令と、を含む一連の処理を、プロセッサを備えたデータ処理装置に実行させるデータ処理用プログラムであることを要旨とする。   In another aspect of the present invention, (a) a plurality of programs are stored from a data provider side that provides data to be processed among data stored in a data storage unit storing a plurality of data. An instruction that causes the processor to receive a first file that specifies a program for processing data to be processed among the programs stored in the program storage unit, and (b) causes the data processing unit of the processor to The gist of the present invention is a data processing program that causes a data processing apparatus including a processor to execute a series of processes including data that is processed by a program specified by the received first file.

また、本発明の他の態様は、(a)複数のプログラムを記憶しているプログラム記憶部が記憶するプログラムのうちの処理用のプログラムを提供したプログラム提供者側から、複数のデータを記憶しているデータ記憶部が記憶するデータのうちの、処理用のプログラムで処理するデータを指定する第2のファイルをプロセッサに受信させる命令と、(b)プロセッサのデータ処理部に、処理用のプログラムで、受信した第2のファイルで指定するデータを処理させる命令と、を含む一連の処理を、プロセッサを備えたデータ処理装置に実行させるデータ処理用プログラムであることを要旨とする。   In another aspect of the present invention, (a) a plurality of data is stored from a program provider who provides a processing program among programs stored in a program storage unit storing a plurality of programs. An instruction that causes the processor to receive a second file that specifies data to be processed by the processing program among the data stored in the data storage unit, and (b) the processing program is sent to the data processing unit of the processor. Thus, the gist of the present invention is a data processing program for causing a data processing apparatus including a processor to execute a series of processing including an instruction for processing data specified by the received second file.

本発明によれば、処理対象のデータを処理用のプログラムを指定するファイルをデータ提供者側から受信するため、データ提供者がデータの用途を限定できる。また、処理用のプログラムで処理するデータを指定するファイルをプログラム提供者側から受信するため、プログラム提供者がプログラムの用途を限定できる。それゆえ、データの効率的な利活用を可能としつつ、データがデータ提供者の意図しない用途に使われること、又は処理用のプログラムがプログラム提供社の意図しない用途に使われることを防止可能なデータ処理装置、データ処理方法及びデータ処理用プログラムを提供することができる。   According to the present invention, since a file specifying a program for processing data to be processed is received from the data provider side, the data provider can limit the use of the data. Further, since the file specifying the data to be processed by the processing program is received from the program provider side, the program provider can limit the use of the program. Therefore, it is possible to prevent the data from being used for an unintended use of the data provider or the processing program from being used for an unintended use of the program provider while enabling efficient use of the data. A data processing apparatus, a data processing method, and a data processing program can be provided.

本発明の実施形態のデータ提供システムの概略構成を表す構成図である。It is a block diagram showing schematic structure of the data provision system of embodiment of this invention. アクティベーションサーバの内部構成を表す構成図である。It is a block diagram showing the internal structure of an activation server. データ提供者端末の内部構成を表す構成図である。It is a block diagram showing the internal structure of a data provider terminal. データパッケージを説明するための説明図である。It is explanatory drawing for demonstrating a data package. DKPを説明するための説明図である。It is explanatory drawing for demonstrating DKP. プログラム提供者端末の内部構成を表す構成図である。It is a block diagram showing the internal structure of a program provider terminal. プログラムパッケージを説明するための説明図である。It is explanatory drawing for demonstrating a program package. PKPを説明するための説明図である。It is explanatory drawing for demonstrating PKP. 利用者端末の内部構成を表す構成図である。It is a block diagram showing the internal structure of a user terminal. プロセッサが実行する処理済みデータ提供処理のフローチャートである。It is a flowchart of the processed data provision process which a processor performs. 受信DKPに対応する対応データパッケージが登録済みであるかを判定する判定方法を説明するための説明図である。It is explanatory drawing for demonstrating the determination method which determines whether the corresponding | compatible data package corresponding to reception DKP has been registered. 受信DKPに対応する対応PKPをバファが記憶しているかを判定する判定方法を説明するための説明図である。It is explanatory drawing for demonstrating the determination method which determines whether the buffer memorize | stores the corresponding PKP corresponding to reception DKP. 受信DKPが含むデータID及びプログラムIDと、対応PKPが含むデータID及びプログラムIDとの対応の検証方法を説明するための説明図である。It is explanatory drawing for demonstrating the verification method of a response | compatibility with data ID and program ID which reception DKP contains, and data ID and program ID which correspondence PKP contains. 受信DKPの検証方法を説明するための説明図である。It is explanatory drawing for demonstrating the verification method of reception DKP. 対応PKPの検証方法を説明するための説明図である。It is explanatory drawing for demonstrating the verification method of corresponding | compatible PKP. データ復号鍵とプログラム復号鍵との復号を説明するための説明図である。It is explanatory drawing for demonstrating the decoding of a data decoding key and a program decoding key. データとプログラムとの復号を説明するための説明図である。It is explanatory drawing for demonstrating decoding of a data and a program. 本発明の実施形態のデータ提供システムの動作を表すシーケンス図である。It is a sequence diagram showing operation | movement of the data provision system of embodiment of this invention.

以下、本発明の実施形態に係るデータ処理装置、データ処理方法及びデータ処理用プログラムについて、実施形態に係るデータ処理装置が構成するデータ提供システムの全体について統括的に、図面を参照しつつ説明する。すなわち、後述するように、本発明の実施形態に係るデータ処理装置は、データを共有するとともに、共有しているデータをプログラムで処理した処理結果(以下「処理済みデータ」とも呼ぶ)をデータ利用者に提供するデータ提供システムを構成する。ここで、データとしては、例えば、ビッグデータ等の潜在的価値を有するデータ、音声アシスタントの音声データやSNS(Social Network Service)のユーザデータ等の個人情報を有するデータを用いることができる。また、プログラムとしては、データを処理可能なプログラムであればよく、例えば、ビッグデータの潜在的価値を顕在化するプログラム、音声データやユーザデータに含まれている個人情報を匿名化するプログラム等のデータの価値を限定するプログラムを用いることができる。   Hereinafter, a data processing apparatus, a data processing method, and a data processing program according to an embodiment of the present invention will be described in an overall manner with reference to the drawings, with respect to the entire data providing system configured by the data processing apparatus according to the embodiment. . That is, as will be described later, the data processing apparatus according to the embodiment of the present invention shares data and uses processing results obtained by processing the shared data with a program (hereinafter also referred to as “processed data”) as data. A data providing system to be provided to the user. Here, as the data, for example, data having potential value such as big data, voice assistant voice data, and data having personal information such as SNS (Social Network Service) user data can be used. The program may be any program that can process data, such as a program that reveals the potential value of big data, a program that anonymizes personal information contained in voice data or user data, etc. Programs that limit the value of the data can be used.

なお、以下に示す実施形態は、本発明の技術的思想を具体化するための装置や方法を、データ提供システムの全体について概略的に例示するものであって、本発明の技術的思想は、データ提供システムを構成しているそれぞれのハードウェア並びにファームウェア及びミドルウェアを含むソフトウェアや、これらの具体的なコンポーネント等を下記のものに特定するものでない。本発明の技術的思想は、請求の範囲に記載された請求項が規定する技術的範囲内において、種々の変更を加えることができる。   In the following embodiments, an apparatus and method for embodying the technical idea of the present invention are schematically illustrated for the entire data providing system, and the technical idea of the present invention is as follows. The hardware that constitutes the data providing system, software including firmware and middleware, and specific components thereof are not specified as follows. The technical idea of the present invention can be variously modified within the technical scope defined by the claims described in the claims.

(構成)
本発明の実施形態に係るデータ提供システム1は、図1に示すように、データを提供するデータ提供者の端末(以下「データ提供者端末2」とも呼ぶ)と、プログラムを提供するプログラム提供者の端末(以下「プログラム提供者端末3」とも呼ぶ)と、データを利用するデータ利用者の端末「以下「利用者端末4」とも呼ぶ」と、提供されたデータ及びプログラムを記憶し、記憶しているデータをプログラムで処理して提供するデータ処理装置としてのアクティベーションサーバ5とを備えている。なお、以下の説明では、図1及び図18に示した「アクティベーションサーバ5」を「データ処理装置5」と呼ぶ。データ提供者端末2、プログラム提供者端末3、利用者端末4及びデータ処理装置5は、インターネット等の通信網6 を介して、ファイル等を互いに送受信可能に接続されている。
ここで、データ提供者としては、例えば、ビッグデータを持っている会社、音声アシスタント機器の所有者、SNSの運営会社等が挙げられる。また、プログラム提供者としては、例えば、データ提供者と異なる人であっていてもよいし、同一の人であってもよい。
(Constitution)
As shown in FIG. 1, a data providing system 1 according to an embodiment of the present invention includes a data provider terminal that provides data (hereinafter also referred to as “data provider terminal 2”) and a program provider that provides a program. The terminal (hereinafter also referred to as “program provider terminal 3”) and the terminal of the data user who uses the data “hereinafter also referred to as“ user terminal 4 ”” are stored and stored. And an activation server 5 as a data processing device for processing and providing the processed data by a program. In the following description, “activation server 5” shown in FIGS. 1 and 18 is referred to as “data processing device 5”. The data provider terminal 2, the program provider terminal 3, the user terminal 4, and the data processing device 5 are connected to each other via a communication network 6 such as the Internet so as to be able to transmit and receive files and the like.
Here, examples of the data provider include a company having big data, an owner of a voice assistant device, an SNS operating company, and the like. Further, as the program provider, for example, the program provider may be a different person or the same person.

(データ処理装置:アクティベーションサーバ)
本発明の実施形態に係るデータ提供システム1を構成しているデータ処理装置5は、図2に示すように、通信部27、記憶装置28及びプロセッサ29等のハードウェア資源を備えている。例えば、インターネット上に設置され、第三者機関で、そのハードウェア、ソフトウェア、設置場所等の面で安全性が確認されたセキュアなサーバを採用することができる。通信部27は、通信網6を介して、プロセッサ29と、データ提供者端末2、プログラム提供者端末3及び利用者端末4との間でファイル等の送受信を可能とする。記憶装置28は、データ記憶部30、プログラム記憶部31、復号データ記憶部(以下「ストレージ32」とも呼ぶ)等のハードウェア資源を論理的に備えている。図2では、データ記憶部30、プログラム記憶部31、ストレージ32は、論理的な機能に着目したハードウェア資源を形式的に表現している。図2の表現では、必ずしも基板上に物理的な領域として独立して存在する記憶装置を意味するものではない。
(Data processing device: Activation server)
As shown in FIG. 2, the data processing device 5 constituting the data providing system 1 according to the embodiment of the present invention includes hardware resources such as a communication unit 27, a storage device 28, and a processor 29. For example, it is possible to employ a secure server that is installed on the Internet and whose safety is confirmed in terms of its hardware, software, installation location, etc. by a third party organization. The communication unit 27 enables transmission and reception of files and the like between the processor 29 and the data provider terminal 2, the program provider terminal 3, and the user terminal 4 via the communication network 6. The storage device 28 logically includes hardware resources such as a data storage unit 30, a program storage unit 31, and a decrypted data storage unit (hereinafter also referred to as “storage 32”). In FIG. 2, the data storage unit 30, the program storage unit 31, and the storage 32 formally express hardware resources that focus on logical functions. The expression in FIG. 2 does not necessarily mean a storage device that exists independently as a physical area on the substrate.

プロセッサ29は、データパッケージ受信部33、プログラムパッケージ受信部34、ファイル受信部35、データ処理部36等のハードウェア資源を物理的に備えている。図2では、データパッケージ受信部33、プログラムパッケージ受信部34、ファイル受信部35、データ処理部36等は、論理的な機能に着目したハードウェア資源を形式的に表現している。また、データ処理部36は、データパッケージ登録判定部37、プログラムパッケージ登録判定部38、PKP(Program Key Package)記憶状態判定部39、DKP(Data Key Package)記憶状態判定部40、対応検証部41、DKP検証部42、PKP検証部43、データ・プログラム検証部44、データ復号鍵復号部45、プログラム復号鍵復号部46、データ復号部47、プログラム復号部48、処理実行部49、処理済みデータ暗号化部50、復号データ消去部51、処理済みデータ送信部52を含んでいる。   The processor 29 physically includes hardware resources such as a data package receiving unit 33, a program package receiving unit 34, a file receiving unit 35, and a data processing unit 36. In FIG. 2, the data package receiving unit 33, the program package receiving unit 34, the file receiving unit 35, the data processing unit 36, and the like formally express hardware resources focusing on logical functions. The data processing unit 36 includes a data package registration determination unit 37, a program package registration determination unit 38, a PKP (Program Key Package) storage state determination unit 39, a DKP (Data Key Package) storage state determination unit 40, and a correspondence verification unit 41. , DKP verification unit 42, PKP verification unit 43, data / program verification unit 44, data decryption key decryption unit 45, program decryption key decryption unit 46, data decryption unit 47, program decryption unit 48, process execution unit 49, processed data An encryption unit 50, a decrypted data erasing unit 51, and a processed data transmission unit 52 are included.

データパッケージ受信部33は、図1に示したデータ提供者端末2から図4に示したデータパッケージ60が送信されると、通信部27を介して、送信されたデータパッケージ60を受信してデータ記憶部30に記憶させる。そして、データパッケージ60の受信・記憶を繰り返すことで、データ提供者から提供される複数のデータをデータ記憶部30に記憶させる。その結果、データ処理装置5でデータが共有される。また、プログラムパッケージ受信部34は、図1に示したプログラム提供者端末3から図7に示したプログラムパッケージ81が送信されると、通信部27を介して、プログラムパッケージ81を受信してプログラム記憶部31に記憶させる。そして、プログラムパッケージ81の受信・記憶を繰り返すことで、プログラム提供者から提供される、データ記憶部30が記憶している複数のデータを処理可能な複数のプログラムをプログラム記憶部31に記憶させる。   When the data package 60 shown in FIG. 4 is transmitted from the data provider terminal 2 shown in FIG. 1, the data package receiving unit 33 receives the transmitted data package 60 via the communication unit 27 and receives data. The data is stored in the storage unit 30. Then, by repeatedly receiving and storing the data package 60, a plurality of data provided by the data provider is stored in the data storage unit 30. As a result, data is shared by the data processing device 5. In addition, when the program package 81 shown in FIG. 7 is transmitted from the program provider terminal 3 shown in FIG. 1, the program package receiving unit 34 receives the program package 81 via the communication unit 27 and stores the program package 81. Store in the unit 31. Then, by repeatedly receiving and storing the program package 81, the program storage unit 31 stores a plurality of programs provided by the program provider and capable of processing a plurality of data stored in the data storage unit 30.

(データ提供者端末)
本発明の実施形態に係るデータ提供システム1を構成しているデータ提供者端末2は、図3に示すように、通信部7及びプロセッサ8等のハードウェア資源を備えている。データ提供者端末2としては、例えば、パーソナルコンピュータを採用することができる。通信部7は、通信網6を介して、プロセッサ8と、プログラム提供者端末3、利用者端末4及びデータ処理装置5との間で、ファイル等の送受信を可能とする。また、プロセッサ8は、データパッケージ生成部9、データパッケージ送信部10、リクエスト受信部11、DKP生成部12、DKP送信部13及びリクエスト送信部14等のハードウェア資源を物理的に備えている。図3では、データパッケージ生成部9、データパッケージ送信部10、リクエスト受信部11、DKP生成部12、DKP送信部13及びリクエスト送信部14等は、論理的な機能に着目したハードウェア資源を形式的に表現している。
(Data provider terminal)
The data provider terminal 2 constituting the data providing system 1 according to the embodiment of the present invention includes hardware resources such as a communication unit 7 and a processor 8 as shown in FIG. As the data provider terminal 2, for example, a personal computer can be adopted. The communication unit 7 enables transmission and reception of files and the like between the processor 8, the program provider terminal 3, the user terminal 4, and the data processing device 5 via the communication network 6. Further, the processor 8 physically includes hardware resources such as a data package generation unit 9, a data package transmission unit 10, a request reception unit 11, a DKP generation unit 12, a DKP transmission unit 13, and a request transmission unit 14. In FIG. 3, the data package generation unit 9, the data package transmission unit 10, the request reception unit 11, the DKP generation unit 12, the DKP transmission unit 13, the request transmission unit 14, and the like form hardware resources focusing on logical functions. Expressively.

図3に示したデータパッケージ生成部9は、データ提供者からデータ処理装置5に提供されるデータ(例えば、ビッグデータ、音声アシスタントの音声データ、SNSのユーザデータ)を含むデータパッケージ60を生成する。データパッケージ60は、図4に示すように、暗号化されたデータ61、複数のXMLファイル「ASSETMAP.xml」62、「*info.xml」63、「*hash.xml」64を含んでいる。暗号化されたデータ61としては、例えば、データ提供者の共通鍵等のデータ暗号化鍵で暗号化されたデータ61を用いることができる。データを暗号化することで、盗聴を防止でき、データの機密性を確保できる。また、XMLファイル「ASSETMAP.xml」62は、データパッケージ60内のファイル一覧を含むファイルであり、「*info.xml」63はデータの各種情報を含むファイルである。   The data package generation unit 9 shown in FIG. 3 generates a data package 60 including data (for example, big data, voice assistant voice data, SNS user data) provided from the data provider to the data processing device 5. . As shown in FIG. 4, the data package 60 includes encrypted data 61, a plurality of XML files “ASSETMAP.xml” 62, “* info.xml” 63, and “* hash.xml” 64. As the encrypted data 61, for example, the data 61 encrypted with a data encryption key such as a common key of the data provider can be used. By encrypting the data, eavesdropping can be prevented and the confidentiality of the data can be secured. An XML file “ASSETMAP.xml” 62 is a file including a list of files in the data package 60, and “* info.xml” 63 is a file including various data information.

また、XMLファイル「*hash.xml」64は、データパッケージ60内の各ファイル内のハッシュ値65とデータ提供者のデジタル署名66と公開鍵証明書67とを含むファイルである。また、「ASSETMAP.xml」62、「*info.xml」63、「*hash.xml」64のそれぞれは、データを示すデータID68、69、70を含んでいる。データID68、69、70としては、例えば、UUID(Universally Unique Identifier)を採用できる。UUIDは、128ビットの数値であるため、乱数等を用いて設定するだけで互いに重複しないIDとなる。それゆえ、例えば、すべてのデータIDを管理して、他のデータIDと異なるデータIDを設定する方法と異なり、データIDの設定の手間を軽減できる。   The XML file “* hash.xml” 64 includes a hash value 65 in each file in the data package 60, a digital signature 66 of the data provider, and a public key certificate 67. Each of “ASSETMAP.xml” 62, “* info.xml” 63, and “* hash.xml” 64 includes data IDs 68, 69, and 70 indicating data. As the data IDs 68, 69, 70, for example, UUID (Universally Unique Identifier) can be adopted. Since the UUID is a 128-bit numerical value, it is an ID that does not overlap each other only by setting using a random number or the like. Therefore, for example, unlike the method of managing all the data IDs and setting a data ID different from the other data IDs, it is possible to reduce the labor for setting the data IDs.

図3に示したデータパッケージ送信部10は、図3に示した通信部7を介して、図3に示したデータパッケージ生成部9で生成したデータパッケージ60を図1に示したデータ処理装置5に送信する。
なお、本発明の実施形態に係るデータ提供システム1では、データ提供者端末2が、データパッケージ60を図3に示した通信部7を介して、つまり、インターネット等の通信網6を介して図1に示したデータ処理装置5に送信する例を示したが、他の構成を採用することもできる。例えば、データ提供者が、データ提供者端末2を操作して、データパッケージ60をハードディスク等のストレージに格納し、ストレージをデータ処理装置5の管理者に渡し、管理者が、データ処理装置5を操作して、ストレージが格納しているデータパッケージ60をデータ記憶部30に記憶させる構成としてもよい。
3 transmits the data package 60 generated by the data package generation unit 9 shown in FIG. 3 to the data processing device 5 shown in FIG. 1 via the communication unit 7 shown in FIG. Send to.
In the data providing system 1 according to the embodiment of the present invention, the data provider terminal 2 displays the data package 60 via the communication unit 7 shown in FIG. 3, that is, via the communication network 6 such as the Internet. Although the example which transmits to the data processor 5 shown in 1 was shown, another structure is also employable. For example, the data provider operates the data provider terminal 2 to store the data package 60 in a storage such as a hard disk, and passes the storage to the administrator of the data processing device 5. The data package 60 stored in the storage may be operated and stored in the data storage unit 30.

図3に示したリクエスト受信部11は、図1に示した利用者端末4から実行結果リクエストが送信されると、図3に示した通信部7を介して、送信された実行結果リクエストを受信する。実行結果リクエストとは、データ処理装置5が共有しているデータのいずれかを特定のプログラムで処理した処理済みデータの提供を要求するリクエストである。なお、実行結果リクエストには利用者端末4のホスト名と公開鍵証明書とが付加されている。   When the execution result request is transmitted from the user terminal 4 illustrated in FIG. 1, the request reception unit 11 illustrated in FIG. 3 receives the transmitted execution result request via the communication unit 7 illustrated in FIG. 3. To do. The execution result request is a request for requesting provision of processed data obtained by processing any of the data shared by the data processing device 5 with a specific program. Note that the host name of the user terminal 4 and the public key certificate are added to the execution result request.

図3に示したDKP生成部12は、図3に示したリクエスト受信部11で実行結果リクエストを受信すると、データ処理装置5(データ記憶部30)が記憶している複数のデータのうちの、自装置(データ提供者端末2)がデータ処理装置5に提供したデータのうちから、処理対象のデータを指定する第1のファイル(以下「DKP71」とも呼ぶ)を生成する。DKP(Data Key Package)71は、例えば、図5に示すようにDKPのUUID72、DKPの発行日時73、DKPの有効期限74、対応するデータのデータID75、対応するデータのファイル名76、暗号化されたデータ復号鍵77、相手プログラムのプログラムID78、データ提供者のデジタル署名79及びデータ提供者の公開鍵証明書80を含んでいる。   When the DKP generation unit 12 illustrated in FIG. 3 receives the execution result request by the request reception unit 11 illustrated in FIG. 3, among the plurality of data stored in the data processing device 5 (data storage unit 30), A first file (hereinafter also referred to as “DKP 71”) that specifies data to be processed is generated from the data provided to the data processing device 5 by the own device (data provider terminal 2). The DKP (Data Key Package) 71 includes, for example, a DKP UUID 72, a DKP issue date and time 73, a DKP expiration date 74, a corresponding data data ID 75, a corresponding data file name 76, and an encryption as shown in FIG. The data decryption key 77, the program ID 78 of the partner program, the digital signature 79 of the data provider, and the public key certificate 80 of the data provider are included.

また、対応するデータのデータID75としては、例えば、処理対象のデータを指定するデータIDを用いることができる。さらに、暗号化されたデータ復号鍵77としては、例えば、データ処理装置5の公開鍵で暗号化されたデータ復号鍵を用いることができる。データ復号鍵を暗号化することで、データ復号鍵の盗聴を防止できる。また、データ処理装置5の公開鍵を用いることで、公開鍵に対応する秘密鍵を有するデータ処理装置5でのみデータを復号でき、不正なサーバ等でデータが処理されることを防止できる。データ復号鍵としては、暗号化されたデータ61を復号可能な鍵であればよく、例えば、データ提供者の共通鍵を採用できる。また、相手プログラムのプログラムID78としては、例えば、処理対象のデータの処理用のプログラムを指定するプログラムIDを用いることができる。プログラムIDとしては、例えば、UUIDを採用できる。UUIDを用いることで、例えば、すべてのプログラムIDを管理し、他のプログラムIDと異なるプログラムIDを設定する方法と異なり、プログラムIDの設定の手間を軽減することができる。また、処理用のプログラム(相手プログラム)としては、例えば、データ処理装置5(プログラム記憶部31)が記憶している複数のプログラムのいずれかを用いることができる。   As the data ID 75 of the corresponding data, for example, a data ID that designates data to be processed can be used. Further, as the encrypted data decryption key 77, for example, a data decryption key encrypted with the public key of the data processing device 5 can be used. By encrypting the data decryption key, wiretapping of the data decryption key can be prevented. Further, by using the public key of the data processing device 5, the data can be decrypted only by the data processing device 5 having the secret key corresponding to the public key, and it is possible to prevent the data from being processed by an unauthorized server or the like. The data decryption key may be any key that can decrypt the encrypted data 61. For example, a common key of the data provider can be adopted. Further, as the program ID 78 of the partner program, for example, a program ID that designates a program for processing data to be processed can be used. For example, a UUID can be adopted as the program ID. By using the UUID, for example, unlike the method of managing all program IDs and setting program IDs different from other program IDs, it is possible to reduce the trouble of setting program IDs. Further, as the processing program (partner program), for example, any of a plurality of programs stored in the data processing device 5 (program storage unit 31) can be used.

図3に示したDKP送信部13は、図3に示した通信部7を介して、DKP生成部12で生成したDKP71、つまり処理対象のデータを指定するデータID75、処理対象のデータの処理用のプログラムを指定するプログラムID78、暗号化されたデータ復号鍵77を含むファイルをデータ処理装置5に送信する。すなわち、図1に示したデータ記憶部30が記憶しているデータのうちの処理対象のデータを提供したデータ提供者側から、プログラム記憶部31が記憶しているプログラムのうちの、処理対象のデータの処理用のプログラムを指定するDKP71をデータ処理装置5に送信する。DKP71には、実行結果リクエストに付加されていた利用者端末4のホスト名と公開鍵証明書とを付加する。   The DKP transmission unit 13 illustrated in FIG. 3 is configured to process the DKP 71 generated by the DKP generation unit 12 via the communication unit 7 illustrated in FIG. 3, that is, the data ID 75 that specifies the processing target data, and the processing target data. A file including a program ID 78 for specifying the program and an encrypted data decryption key 77 is transmitted to the data processing device 5. That is, from the data provider side that provided the data to be processed among the data stored in the data storage unit 30 illustrated in FIG. 1, the processing target of the programs stored in the program storage unit 31 is selected. A DKP 71 specifying a data processing program is transmitted to the data processing device 5. The host name of the user terminal 4 and the public key certificate added to the execution result request are added to the DKP 71.

図3に示したリクエスト送信部14は、図3に示したDKP送信部13でDKP71を送信すると、図3に示した通信部7を介して、第2のファイル(以下「PKP92」とも呼ぶ)の送信を要求するPKPリクエストを図1に示したプログラム提供者端末3に送信する。PKPリクエストには、DKP送信部13で送信したDKP71が含む対応するデータのデータID75と相手プログラムのプログラムID78と同じデータIDとプログラムIDとが付加されている。PKPリクエストの送信先としては、プログラムIDが指定するプログラムを提供したプログラム提供者のプログラム提供者端末3を選択する。   When the request transmission unit 14 illustrated in FIG. 3 transmits the DKP 71 by the DKP transmission unit 13 illustrated in FIG. 3, the second file (hereinafter also referred to as “PKP92”) is transmitted via the communication unit 7 illustrated in FIG. 1 is transmitted to the program provider terminal 3 shown in FIG. To the PKP request, the data ID 75 corresponding to the data included in the DKP 71 transmitted by the DKP transmitter 13 and the same data ID and program ID as the program ID 78 of the counterpart program are added. As the transmission destination of the PKP request, the program provider terminal 3 of the program provider that provided the program specified by the program ID is selected.

(プログラム提供者端末)
本発明の実施形態に係るデータ提供システム1を構成しているプログラム提供者端末3は、図6に示すように、通信部15及びプロセッサ16等のハードウェア資源を備えている。例えば、パーソナルコンピュータを採用できる。通信部15は、通信網6を介して、プロセッサ16と、データ提供者端末2及びデータ処理装置5との間でファイル等の送受信を可能とする。プロセッサ16は、プログラムパッケージ生成部17、プログラムパッケージ送信部18、リクエスト受信部19、PKP生成部20及びPKP送信部21等のハードウェア資源を物理的に備えている。図6では、プログラムパッケージ生成部17、プログラムパッケージ送信部18、リクエスト受信部19、PKP生成部20及びPKP送信部21等は、論理的な機能に着目したハードウェア資源を形式的に表現している。
(Program provider terminal)
As shown in FIG. 6, the program provider terminal 3 constituting the data providing system 1 according to the embodiment of the present invention includes hardware resources such as a communication unit 15 and a processor 16. For example, a personal computer can be adopted. The communication unit 15 enables transmission and reception of files and the like between the processor 16, the data provider terminal 2, and the data processing device 5 via the communication network 6. The processor 16 physically includes hardware resources such as a program package generation unit 17, a program package transmission unit 18, a request reception unit 19, a PKP generation unit 20, and a PKP transmission unit 21. In FIG. 6, the program package generation unit 17, the program package transmission unit 18, the request reception unit 19, the PKP generation unit 20, the PKP transmission unit 21, and the like formally express hardware resources focusing on logical functions. Yes.

図6に示したプログラムパッケージ生成部17は、プログラム提供者からデータ処理装置5に提供されるプログラム、つまりデータ処理装置5(データ記憶部30)が記憶している複数のデータを処理可能な複数のプログラムを含むプログラムパッケージ81を生成する。プログラムパッケージ81は、図7に示すように暗号化されたプログラム82、複数のXMLファイル「ASSETMAP.xml」83、「*info.xml」84、「*hash.xml」85を含んでいる。暗号化されたプログラム82としては、例えば、プログラム提供者の共通鍵等のプログラム暗号化鍵で暗号化されたプログラム82を用いることができる。プログラムを暗号化することで、プログラムの盗聴を防止でき、プログラムの機密性を確保できる。   The program package generation unit 17 illustrated in FIG. 6 is capable of processing a program provided from the program provider to the data processing device 5, that is, a plurality of data stored in the data processing device 5 (data storage unit 30). A program package 81 including the program is generated. The program package 81 includes an encrypted program 82, a plurality of XML files “ASSETMAP.xml” 83, “* info.xml” 84, and “* hash.xml” 85 as shown in FIG. As the encrypted program 82, for example, the program 82 encrypted with a program encryption key such as a common key of the program provider can be used. By encrypting the program, eavesdropping of the program can be prevented, and the confidentiality of the program can be secured.

また、XMLファイル「ASSETMAP.xml」83は、プログラムパッケージ81内のファイル一覧を含むファイルである。さらに、「*info.xml」84は、プログラムの各種情報を含むファイルである。また、「*hash.xml」85は、プログラムパッケージ81内の各ファイル内のハッシュ値86とプログラム提供者のデジタル署名87と公開鍵証明書88とを含むファイルである。「ASSETMAP.xml」83、「*info.xml」84、「*hash.xml」85のそれぞれは、プログラムを示すプログラムID89、90、91を含んでいる。   The XML file “ASSETMAP.xml” 83 is a file including a file list in the program package 81. Furthermore, “* info.xml” 84 is a file containing various pieces of program information. “* Hash.xml” 85 is a file including a hash value 86 in each file in the program package 81, a digital signature 87 of the program provider, and a public key certificate 88. Each of “ASSETMAP.xml” 83, “* info.xml” 84, and “* hash.xml” 85 includes program IDs 89, 90, and 91 indicating programs.

図6に示したプログラムパッケージ送信部18は、図6に示した通信部15を介して、図6に示したプログラムパッケージ生成部17で生成したプログラムパッケージ81を図1に示したデータ処理装置5に送信する。
なお、本発明の実施形態に係るデータ提供システム1では、プログラム提供者端末3が、プログラムパッケージ81を図6に示した通信部15を介して、つまり、インターネット等の通信網6を介して図1に示したデータ処理装置5に送信する例を示したが、他の構成を採用することもできる。例えば、プログラム提供者が、プログラム提供者端末3を操作して、プログラムパッケージ81をストレージに格納し、ストレージをデータ処理装置5の管理者に渡し、管理者が、データ処理装置5を操作して、ストレージが格納しているプログラムパッケージ81をプログラム記憶部31に記憶させる構成としてもよい。
6 transmits the program package 81 generated by the program package generation unit 17 shown in FIG. 6 via the communication unit 15 shown in FIG. 6 to the data processing device 5 shown in FIG. Send to.
In the data providing system 1 according to the embodiment of the present invention, the program provider terminal 3 displays the program package 81 via the communication unit 15 shown in FIG. 6, that is, via the communication network 6 such as the Internet. Although the example which transmits to the data processor 5 shown in 1 was shown, another structure is also employable. For example, the program provider operates the program provider terminal 3 to store the program package 81 in the storage, passes the storage to the administrator of the data processing device 5, and the administrator operates the data processing device 5. The program package 81 stored in the storage may be stored in the program storage unit 31.

図6に示したリクエスト受信部19は、 図1に示したデータ提供者端末2からPKP92の送信を要求するPKPリクエストが送信されると、図6に示した通信部15を介して、送信されたPKPリクエストを受信する。
図6に示したPKP生成部20は、リクエスト受信部19でPKPリクエストを受信すると、データ処理装置5(プログラム記憶部31)が記憶している複数のプログラムのうちの、自装置(プログラム提供者端末3)が提供したデータのうちから、処理対象のデータの処理用のプログラムを指定するPKP92を生成する。PKP(Program Key Package)92は、例えば、図8に示すようにPKPのUUID93、PKPの発行日時94、PKPの有効期限95、対応するプログラムのプログラムID96、対応するプログラムのファイル名97、暗号化されたプログラム復号鍵98、相手データのデータID99、プログラム提供者のデジタル署名100及びプログラム提供者の公開鍵証明書101を含んでいる。
When the PKP request for requesting transmission of the PKP 92 is transmitted from the data provider terminal 2 illustrated in FIG. 1, the request reception unit 19 illustrated in FIG. 6 is transmitted via the communication unit 15 illustrated in FIG. 6. Receive a PKP request.
When the request receiving unit 19 receives the PKP request, the PKP generation unit 20 illustrated in FIG. 6 among the plurality of programs stored in the data processing device 5 (program storage unit 31) (the program provider) A PKP 92 for specifying a program for processing data to be processed is generated from the data provided by the terminal 3). The PKP (Program Key Package) 92 includes, for example, a PKP UUID 93, a PKP issue date 94, a PKP expiration date 95, a program ID 96 of the corresponding program, a file name 97 of the corresponding program, as shown in FIG. The program decryption key 98, the data ID 99 of the partner data, the digital signature 100 of the program provider, and the public key certificate 101 of the program provider are included.

また、対応するプログラムのプログラムID96としては、例えば、処理対象のデータの処理用のプログラムを指定するプログラムIDを用いることができる。さらに、暗号化されたプログラム復号鍵98としては、例えば、データ処理装置5の公開鍵で暗号化されたプログラム復号鍵を用いることができる。プログラム復号鍵を暗号化することで、プログラム復号鍵の盗聴を防止できる。また、データ処理装置5の公開鍵を用いることで、公開鍵に対応する秘密鍵を有するデータ処理装置5でのみプログラムを復号でき、不正なサーバ等でプログラムが使用されることを防止できる。プログラム復号鍵としては、暗号化されたプログラム82を復号可能な鍵であればよく、例えば、プログラム提供者の共通鍵を採用することができる。また、相手データのデータID99としては、例えば、処理用のプログラムで処理する処理対象のデータを指定するデータIDを用いることができる。また、処理対象データ(相手データ)としては、例えば、データ処理装置5(データ記憶部30)が記憶している複数のデータのいずれかを用いることができる。対応するプログラムのプログラムID96と相手データのデータID99の設定方法としては、PKPリクエストに付加されているプログラムIDとデータIDとを用いる方法を採用できる。   As the program ID 96 of the corresponding program, for example, a program ID that designates a program for processing data to be processed can be used. Further, as the encrypted program decryption key 98, for example, a program decryption key encrypted with the public key of the data processing device 5 can be used. By encrypting the program decryption key, eavesdropping of the program decryption key can be prevented. In addition, by using the public key of the data processing device 5, the program can be decrypted only by the data processing device 5 having a secret key corresponding to the public key, and the program can be prevented from being used by an unauthorized server or the like. The program decryption key may be any key that can decrypt the encrypted program 82. For example, a common key of the program provider can be adopted. As the data ID 99 of the partner data, for example, a data ID that designates data to be processed that is processed by a processing program can be used. Further, as the processing target data (partner data), for example, any of a plurality of data stored in the data processing device 5 (data storage unit 30) can be used. As a method for setting the program ID 96 of the corresponding program and the data ID 99 of the partner data, a method using the program ID and the data ID added to the PKP request can be employed.

図6に示したPKP送信部21は、図6に示した通信部15を介して、図6に示したPKP生成部20で生成したPKP、つまり、処理用のプログラムを指定するプログラムID、プログラムで処理するデータを指定するデータID及び暗号化されたプログラム復号鍵等を含むファイルを図1に示したデータ処理装置5に送信する。すなわち、図1に示したプログラム記憶部31が記憶しているプログラムのうちの処理用のプログラムを提供したプログラム提供者側から、データ記憶部30が記憶しているデータのうちの、処理用のプログラムで処理するデータを指定するPKP92をデータ処理装置5に送信する。   The PKP transmission unit 21 shown in FIG. 6 has the PKP generated by the PKP generation unit 20 shown in FIG. 6 via the communication unit 15 shown in FIG. 1 is transmitted to the data processing apparatus 5 shown in FIG. 1 including a data ID for designating data to be processed in step 1 and an encrypted program decryption key. That is, from the program provider side that provided the processing program among the programs stored in the program storage unit 31 shown in FIG. 1, the processing data out of the data stored in the data storage unit 30 is processed. A PKP 92 specifying data to be processed by the program is transmitted to the data processing device 5.

(利用者端末)
本発明の実施形態に係るデータ提供システム1を構成している利用者端末4は、図9に示すように、通信部22及びプロセッサ23等のハードウェア資源を備えている。例えば、パーソナルコンピュータを採用できる。通信部22は、通信網6を介して、プロセッサ23と、データ提供者端末2及びデータ処理装置5との間で、ファイル等の送受信を可能とする。プロセッサ23は、リクエスト送信部24、処理済みデータ受信部25及び処理済みデータ復号部26等のハードウェア資源を物理的に備えている。図9では、リクエスト送信部24、処理済みデータ受信部25及び処理済みデータ復号部26等は、論理的な機能に着目したハードウェア資源を形式的に表現している。
(User terminal)
As shown in FIG. 9, the user terminal 4 constituting the data providing system 1 according to the embodiment of the present invention includes hardware resources such as a communication unit 22 and a processor 23. For example, a personal computer can be adopted. The communication unit 22 enables transmission / reception of files and the like between the processor 23, the data provider terminal 2, and the data processing device 5 via the communication network 6. The processor 23 physically includes hardware resources such as a request transmission unit 24, a processed data reception unit 25, and a processed data decoding unit 26. In FIG. 9, the request transmitting unit 24, the processed data receiving unit 25, the processed data decoding unit 26, and the like formally express hardware resources focusing on logical functions.

図9に示したリクエスト送信部24は、図9に示した通信部22を介して、実行結果リクエストを図1に示したデータ提供者端末2に送信する。実行結果リクエストには、利用者端末4、つまり、自端末装置のホスト名と公開鍵証明書とを付加する。
図9に示した処理済みデータ受信部25は、図1に示したデータ処理装置5から暗号化された処理済みデータが送信されると、図9に示した通信部22を介して、送信された暗号化された処理済みデータを受信する。なお、処理済みデータの暗号化には、任意の共通鍵が用いられている。また、暗号化された処理済みデータには、暗号化に用いられた共通鍵を、利用者端末4、つまり、自端末装置の公開鍵で暗号化したものが付加されている。
図9に示した処理済みデータ復号部26は、図9に示した処理済みデータ受信部25で受信した暗号化された処理済みデータに付加されている暗号化された共通鍵を、利用者端末4の公開鍵に対応する秘密鍵、つまり、自端末装置の公開鍵に対応する秘密鍵で復号する。続いて、復号した共通鍵で、暗号化された処理済みデータを復号して、暗号化が解除された処理済みデータを取得する。
The request transmission unit 24 illustrated in FIG. 9 transmits an execution result request to the data provider terminal 2 illustrated in FIG. 1 via the communication unit 22 illustrated in FIG. To the execution result request, the host name of the user terminal 4, that is, the own terminal device and the public key certificate are added.
The processed data receiving unit 25 shown in FIG. 9 receives the encrypted processed data from the data processing device 5 shown in FIG. 1 via the communication unit 22 shown in FIG. Receive encrypted encrypted processed data. An arbitrary common key is used for encrypting the processed data. Further, the encrypted processed data is added with the common key used for encryption encrypted with the user terminal 4, that is, the public key of the own terminal device.
The processed data decryption unit 26 shown in FIG. 9 uses the encrypted common key added to the encrypted processed data received by the processed data reception unit 25 shown in FIG. 4 is decrypted with a private key corresponding to the public key of 4, that is, a private key corresponding to the public key of the terminal device itself. Subsequently, the encrypted processed data is decrypted with the decrypted common key to obtain the processed data that has been decrypted.

(データ処理方法)
次に、本発明の実施形態に係るデータ処理装置5のプロセッサ29が実行する処理済みデータ提供処理について説明する。処理済みデータ提供処理は、プロセッサ29への各種命令を含む一連の処理をデータ処理装置5に実行させるプログラムによって実現される。
処理済みデータ提供処理では、図10に示すように、まずそのステップS101で、図2に示したファイル受信部35が、図1に示したデータ提供者端末2からDKP71が送信されるまで、または図1に示したプログラム提供者端末3からPKP92が送信されるまで待機状態を維持する。そして、DKP71またはPKP92が送信されたと判定すると、待機状態を終了して、ステップS102に移行する。
(Data processing method)
Next, processed data providing processing executed by the processor 29 of the data processing device 5 according to the embodiment of the present invention will be described. The processed data providing process is realized by a program that causes the data processing device 5 to execute a series of processes including various instructions to the processor 29.
In the processed data providing process, as shown in FIG. 10, first, in step S101, the file receiving unit 35 shown in FIG. 2 until the DKP 71 is transmitted from the data provider terminal 2 shown in FIG. The standby state is maintained until the PKP 92 is transmitted from the program provider terminal 3 shown in FIG. And if it determines with DKP71 or PKP92 having been transmitted, a standby state will be complete | finished and it will transfer to step S102.

ステップS102では、図2に示したファイル受信部35が、図2に示した通信部27を介して、図1に示したデータ提供者端末2からDKPを受信する、または図1に示したプログラム提供者端末3からPKP92を受信する。すなわち、ステップS102では、DKP71をプロセッサ29に受信させる命令をファイル受信部35に実行させる。
続いてステップS103に移行して、図2に示したファイル受信部35が、ステップS102で受信したファイルがDKP71であるか否かを判定する。そして、ファイルがDKP71であると判定した場合には(Yes)、ステップS104に移行する。一方、ファイルがDKP71ではないと判定した場合には(No)、PKP92であると判定し、ステップS119に移行する。
In step S102, the file receiving unit 35 shown in FIG. 2 receives DKP from the data provider terminal 2 shown in FIG. 1 via the communication unit 27 shown in FIG. 2, or the program shown in FIG. A PKP 92 is received from the provider terminal 3. That is, in step S102, the file receiving unit 35 is caused to execute a command for causing the processor 29 to receive the DKP 71.
Subsequently, the process proceeds to step S103, and the file reception unit 35 illustrated in FIG. 2 determines whether the file received in step S102 is the DKP 71. If it is determined that the file is DKP 71 (Yes), the process proceeds to step S104. On the other hand, if it is determined that the file is not DKP 71 (No), it is determined that the file is PKP 92, and the process proceeds to step S119.

ステップS104では、図2に示したデータパッケージ登録判定部37が、ステップS102で受信したDKP71(以下「受信DKP71」とも呼ぶ)に対応するデータパッケージ60(以下「対応データパッケージ60」とも呼ぶ)がデータ処理装置5に登録済みであるか否かを判定する。例えば、図11に示すように、受信DKP71が含む対応するデータのデータID75と同じデータIDを含むデータパッケージ60がデータ記憶部30に記憶されていると判定した場合に、対応データパッケージ60が登録済みであると判定する。なお、データパッケージ60のデータIDとしては、XMLファイル「*info.xml」63が含むデータID69を参照する。そして、対応データパッケージ60が登録済みであると判定した場合には(Yes)、ステップS105に移行し、対応データパッケージ60が登録済みではないと判定した場合には(No)、ステップS101に戻る。   In step S104, the data package 60 (hereinafter also referred to as “corresponding data package 60”) corresponding to the DKP 71 (hereinafter also referred to as “reception DKP 71”) received by the data package registration determination unit 37 illustrated in FIG. It is determined whether or not it has been registered in the data processing device 5. For example, as shown in FIG. 11, when it is determined that the data package 60 including the same data ID as the data ID 75 of the corresponding data included in the reception DKP 71 is stored in the data storage unit 30, the corresponding data package 60 is registered. It is determined that it has been completed. Note that the data ID 69 included in the XML file “* info.xml” 63 is referred to as the data ID of the data package 60. If it is determined that the corresponding data package 60 has been registered (Yes), the process proceeds to step S105. If it is determined that the corresponding data package 60 has not been registered (No), the process returns to step S101. .

ステップS105では、図2に示したPKP記憶状態判定部39が、受信DKP71に対応するPKP92(以下「対応PKP92」とも呼ぶ)をストレージ32が記憶しているか否かを判定する。例えば、図12に示すように、受信DKP71が含む相手プログラムのプログラムID78と同じプログラムIDを含むPKP92をストレージ32が記憶していると判定した場合に、対応PKP92をストレージ32が記憶していると判定する。そして、対応PKP92をストレージ32が記憶していると判定した場合には(Yes)、ステップS106に移行し、対応PKP92をストレージ32が記憶していないと判定した場合には(No)、ステップS110に移行する。   In step S105, the PKP storage state determination unit 39 shown in FIG. 2 determines whether or not the storage 32 stores a PKP 92 corresponding to the reception DKP 71 (hereinafter also referred to as “corresponding PKP 92”). For example, as shown in FIG. 12, when it is determined that the storage 32 stores the PKP 92 including the same program ID as the program ID 78 of the partner program included in the reception DKP 71, the storage 32 stores the corresponding PKP 92. judge. If it is determined that the storage 32 stores the corresponding PKP 92 (Yes), the process proceeds to step S106. If it is determined that the storage 32 does not store the corresponding PKP 92 (No), step S110 is performed. Migrate to

ステップS106では、図2に示した対応検証部41が、受信DKP71が含む対応するデータのデータID75及び相手プログラムのプログラムID78と、対応PKP92が含む相手データのデータID99及び対応するプログラムのプログラムID96との対応を検証する。例えば、図13に示すように、受信DKP71が含む対応するデータのデータIDと対応PKP92が含む相手データのデータID99とが互いに同一であり、且つ受信DKP71が含む相手プログラムのプログラムID78と対応PKP92が含む対応するプログラムのプログラムID96とが互いに同一であると判定した場合に、検証に成功したと判定する。そして、検証に成功したと判定した場合には(Yes)、対応データパッケージ60が含むデータと、対応プログラムパッケージ81が含むプログラムとを紐付け(以下「バインド」とも呼ぶ)して、ステップS107に移行し、検証に失敗したと判定した場合には(No)、ステップS110に移行する。   In step S106, the correspondence verification unit 41 shown in FIG. 2 receives the data ID 75 of the corresponding data included in the received DKP 71 and the program ID 78 of the counterpart program, the data ID 99 of the counterpart data included in the corresponding PKP 92, and the program ID 96 of the corresponding program. Verify the correspondence. For example, as shown in FIG. 13, the data ID of the corresponding data included in the reception DKP 71 and the data ID 99 of the partner data included in the corresponding PKP 92 are the same as each other, and the program ID 78 of the partner program included in the reception DKP 71 and the corresponding PKP 92 are When it is determined that the program IDs 96 of the corresponding programs that are included are the same, it is determined that the verification is successful. If it is determined that the verification is successful (Yes), the data included in the corresponding data package 60 and the program included in the corresponding program package 81 are linked (hereinafter also referred to as “bind”), and the process proceeds to step S107. If it is determined that the verification has failed (No), the process proceeds to step S110.

ステップS107では、図2に示したDKP検証部42が、受信DKP71の検証を行う。例えば、受信DKP71の有効期限が切れていないかの検証(以下「第1の検証」とも呼ぶ)、図14に示すように、受信DKP71の公開鍵証明書80と対応データパッケージ60の公開鍵証明書67とが同一であるかの検証(以下「第2の検証」とも呼ぶ)、公開鍵証明書80を用いた受信DKP71のデジタル署名79の検証(以下「第3の検証」とも呼ぶ)を行い、第1〜第3の検証に成功したと判定した場合に、受信DKP71の検証に成功したと判定する。第2の検証により、受信DKP71を作成したデータ提供者端末2(図1参照)と対応データパッケージ60を作成したデータ提供者端末2とが同一であるかを確認する。また、第3の検証により、受信DKP71が改ざんされていないかを確認し、受信DKP71の完全性・正当性を確認する。そして、受信DKP71の検証に成功したと判定した場合には(Yes)、ステップS108に移行し、受信DKP71の検証に失敗したと判定した場合には(No)、ステップS101に戻る。   In step S107, the DKP verification unit 42 illustrated in FIG. 2 verifies the reception DKP 71. For example, verification of whether the expiration date of the received DKP 71 has expired (hereinafter also referred to as “first verification”), as shown in FIG. 14, the public key certificate 80 of the received DKP 71 and the public key certificate of the corresponding data package 60 Verification of the identity of the certificate 67 (hereinafter also referred to as “second verification”) and verification of the digital signature 79 of the received DKP 71 using the public key certificate 80 (hereinafter also referred to as “third verification”). If it is determined that the first to third verifications are successful, it is determined that the verification of the reception DKP 71 is successful. In the second verification, it is confirmed whether the data provider terminal 2 (see FIG. 1) that created the reception DKP 71 and the data provider terminal 2 that created the corresponding data package 60 are the same. In addition, the third verification confirms whether or not the received DKP 71 has been tampered with, and confirms the integrity and validity of the received DKP 71. If it is determined that the verification of the received DKP 71 is successful (Yes), the process proceeds to step S108. If it is determined that the verification of the received DKP 71 has failed (No), the process returns to step S101.

ステップS108では、図2に示したPKP検証部43が、対応PKP92の検証を行う。例えば、対応PKP92の有効期限が切れていないかの検証(以下「第4の検証」とも呼ぶ)、図15に示すように、対応PKP92の公開鍵証明書101と対応PKP92に対応するプログラムパッケージ81(以下「対応プログラムパッケージ81」とも呼ぶ)の公開鍵証明書88とが同一であるかの検証(以下「第5の検証」とも呼ぶ)、公開鍵証明書101を用いた対応PKP92のデジタル署名100の検証(以下「第6の検証」とも呼ぶ)を行い、第4〜第6の検証に成功したと判定した場合に、対応PKP92の検証に成功したと判定する。第5の検証により、対応PKP92を作成したプログラム提供者端末3(図1参照)と対応プログラムパッケージ81を作成したプログラム提供者端末3とが同一であるかを確認する。また、第6の検証により、対応PKP92が改ざんされていないかを確認し、対応PKP92の完全性・正当性を確認する。そして、対応PKP92の検証に成功したと判定した場合には(Yes)、ステップS111に移行し、対応PKP92の検証に失敗したと判定した場合には(No)ステップS109に移行する。   In step S108, the PKP verification unit 43 illustrated in FIG. 2 verifies the corresponding PKP 92. For example, verification of whether the corresponding PKP 92 has expired (hereinafter also referred to as “fourth verification”), as shown in FIG. 15, the public key certificate 101 of the corresponding PKP 92 and the program package 81 corresponding to the corresponding PKP 92 Verification of whether the public key certificate 88 (hereinafter also referred to as “corresponding program package 81”) is the same (hereinafter also referred to as “fifth verification”), digital signature of the corresponding PKP 92 using the public key certificate 101 When 100 verifications (hereinafter also referred to as “sixth verification”) are performed and it is determined that the fourth to sixth verifications are successful, it is determined that the corresponding PKP 92 has been successfully verified. By the fifth verification, it is confirmed whether the program provider terminal 3 (see FIG. 1) that created the corresponding PKP 92 and the program provider terminal 3 that created the corresponding program package 81 are the same. In addition, it is confirmed by the sixth verification whether the corresponding PKP 92 has been tampered with, and the completeness / validity of the corresponding PKP 92 is confirmed. If it is determined that the verification of the corresponding PKP 92 has been successful (Yes), the process proceeds to step S111. If it is determined that the verification of the corresponding PKP 92 has failed (No), the process proceeds to step S109.

ステップS109では、図2に示したPKP検証部43が、対応PKP92をストレージ32から消去した後、ステップS110に移行する。
ステップS110では、図2に示したPKP検証部43が、受信DKP71をストレージ32に記憶させた後、ステップS101に戻る。
In step S109, the PKP verification unit 43 illustrated in FIG. 2 deletes the corresponding PKP 92 from the storage 32, and then proceeds to step S110.
In step S110, the PKP verification unit 43 illustrated in FIG. 2 stores the received DKP 71 in the storage 32, and then returns to step S101.

一方、ステップS111では、図2に示したデータ・プログラム検証部44が、対応データパッケージ60及び対応プログラムパッケージ81の検証を行う。例えば、対応データパッケージ60のXMLファイル「*hash.xml」64のハッシュ値65の検証(以下「第7の検証」とも呼ぶ)、公開鍵証明書67を用いた「*hash.xml」64のデジタル署名66の検証(以下「第8の検証」とも呼ぶ)を行う。第7の検証により、対応データパッケージ60が改ざんされていないかを確認する。また、第8の検証により、「*hash.xml」64のハッシュ値65が改ざんされていないかを確認する。すなわち、第7、第8の検証により、対応データパッケージ60が含むデータの完全性を検証する。   On the other hand, in step S111, the data / program verification unit 44 shown in FIG. 2 verifies the corresponding data package 60 and the corresponding program package 81. For example, verification of the hash value 65 of the XML file “* hash.xml” 64 of the corresponding data package 60 (hereinafter also referred to as “seventh verification”), and “* hash.xml” 64 using the public key certificate 67 The digital signature 66 is verified (hereinafter also referred to as “eighth verification”). In the seventh verification, it is confirmed whether the corresponding data package 60 has been tampered with. Further, it is confirmed whether or not the hash value 65 of “* hash.xml” 64 has been falsified by the eighth verification. That is, the integrity of the data included in the corresponding data package 60 is verified by the seventh and eighth verifications.

また、例えば、対応プログラムパッケージ81のXMLファイル「*hash.xml」85のハッシュ値86の検証(以下「第9の検証」とも呼ぶ)、公開鍵証明書88を用いた「*hash.xml」85のデジタル署名87の検証(以下「第10の検証」とも呼ぶ)を行う。第9の検証により、対応プログラムパッケージ81が改ざんされていないかを確認する。また、第10の検証により、「*hash.xml」85のハッシュ値86が改ざんされていないかを確認する。すなわち、第9、第10の検証により、対応プログラムパッケージ81が含むプログラムの完全性を検証する。そして、第7、第8、第9及び第10の検証に成功したと判定した場合に、対応データパッケージ60及び対応プログラムパッケージ81の検証に成功したと判定する。対応データパッケージ60及び対応プログラムパッケージ81の検証に成功したと判定した場合には(Yes)、ステップS112に移行し、検証に失敗したと判定した場合には(No)、ステップS101に戻る。   Also, for example, verification of the hash value 86 of the XML file “* hash.xml” 85 of the corresponding program package 81 (hereinafter also referred to as “ninth verification”), “* hash.xml” using the public key certificate 88 85 digital signatures 87 are verified (hereinafter also referred to as “tenth verification”). In the ninth verification, it is confirmed whether the corresponding program package 81 has been tampered with. Further, the tenth verification confirms whether the hash value 86 of “* hash.xml” 85 has been tampered with. That is, the integrity of the program included in the corresponding program package 81 is verified by the ninth and tenth verifications. When it is determined that the seventh, eighth, ninth, and tenth verifications are successful, it is determined that the corresponding data package 60 and the corresponding program package 81 are successfully verified. If it is determined that the verification of the corresponding data package 60 and the corresponding program package 81 has been successful (Yes), the process proceeds to step S112. If it is determined that the verification has failed (No), the process returns to step S101.

ステップS112では、図2に示したデータ復号鍵復号部45が、図16に示すように、受信DKP71が含む暗号化されたデータ復号鍵77をデータ処理装置5の秘密鍵102で復号して、データ復号鍵103を得る。また、プログラム復号鍵復号部46が、対応PKP92が含む暗号化されたプログラム復号鍵98をデータ処理装置5の秘密鍵102で復号して、プログラム復号鍵104を得る。暗号化されたデータ復号鍵77及びプログラム復号鍵98のそれぞれをデータ処理装置5の秘密鍵102、つまり、暗号化に用いた公開鍵に対応する秘密鍵で復号することで、データ処理装置5の認証を実行できる。   In step S112, the data decryption key decryption unit 45 shown in FIG. 2 decrypts the encrypted data decryption key 77 included in the reception DKP 71 with the private key 102 of the data processing device 5, as shown in FIG. A data decryption key 103 is obtained. In addition, the program decryption key decryption unit 46 decrypts the encrypted program decryption key 98 included in the corresponding PKP 92 with the private key 102 of the data processing device 5 to obtain the program decryption key 104. Each of the encrypted data decryption key 77 and the program decryption key 98 is decrypted with the private key 102 of the data processing device 5, that is, the private key corresponding to the public key used for encryption. Authentication can be performed.

続いてステップS113に移行して、図2に示したデータ復号部47とプログラム復号部48とが、ステップS106でバインドしたデータとプログラムとをストレージ32に記憶させる。例えば、図2に示したデータ復号部47が、図17に示すように、データ記憶部30が記憶している複数のデータパッケージのうちの、対応データパッケージ60が含む暗号化されたデータ61をステップS112で復号したデータ復号鍵103で復号し、復号したデータ105を、バインドしたデータとしてストレージ32に記憶させる。復号したデータ105をストレージ32に記憶させることで、ステップS106で互いに同一であると判定したデータID、つまり、受信DKP71が含む対応するデータのデータID75または対応PKPが含む相手データのデータID99が指定するデータ105を記憶できる。   Subsequently, the process proceeds to step S113, and the data decoding unit 47 and the program decoding unit 48 illustrated in FIG. 2 store the data and program bound in step S106 in the storage 32. For example, the data decrypting unit 47 shown in FIG. 2 receives encrypted data 61 included in the corresponding data package 60 among the plurality of data packages stored in the data storage unit 30 as shown in FIG. The data decryption key 103 decrypted in step S112 is decrypted, and the decrypted data 105 is stored in the storage 32 as bound data. By storing the decrypted data 105 in the storage 32, the data ID determined to be the same in step S106, that is, the data ID 75 of the corresponding data included in the received DKP 71 or the data ID 99 of the counterpart data included in the corresponding PKP is designated. The data 105 to be stored can be stored.

また、例えば、図2に示したプログラム復号部48が、プログラム記憶部31が記憶している複数のプログラムパッケージのうちの、対応プログラムパッケージ81が含む暗号化されたプログラム82をステップS112で復号したプログラム復号鍵104で復号し、復号したプログラム106を、ステップS106でバインドしたプログラムとしてストレージ32に記憶させる。復号したプログラム106をストレージ32に記憶させることで、ステップS106で互いに同一であると判定したプログラムID、つまり、受信DKP71が含む相手プログラムのプログラムID78または対応PKP92が含む対応するプログラムのプログラムID96が指定するプログラムをストレージ32に記憶させることができる。   Further, for example, the program decryption unit 48 illustrated in FIG. 2 decrypts the encrypted program 82 included in the corresponding program package 81 among the plurality of program packages stored in the program storage unit 31 in step S112. The program decrypted with the program decryption key 104 is stored in the storage 32 as the program bound in step S106. By storing the decrypted program 106 in the storage 32, the program ID determined to be the same in step S106, that is, the program ID 78 of the counterpart program included in the received DKP 71 or the program ID 96 of the corresponding program included in the corresponding PKP 92 is designated. The program to be stored can be stored in the storage 32.

続いてステップS114に移行して、図2に示した処理実行部49が、ステップS106でバインドしたデータとプログラムとを用いて処理済みデータを生成する。例えば、ストレージ32が記憶しているデータ105を、ストレージ32が記憶しているプログラム106で処理し、処理結果を処理済みデータとする。ストレージ32が記憶しているデータ105とプログラム106とを用いることで、ステップS106で互いに同一であると判定したデータIDが指定するデータを、同ステップで互いに同一であると判定したプログラムIDが指定するプログラムで処理する。すなわち、ステップS113、S114では、データ記憶部30が記憶している複数のデータのうちの、受信DKP71が含む対応するデータのデータID75が指定するデータ(処理対象のデータ)を、プログラム記憶部31が記憶している複数のプログラムのうちの、受信DKP71が含む相手プログラムのプログラムID78が指定するプログラムで処理させる命令を処理実行部49に実行させる。   Subsequently, the process proceeds to step S114, and the process execution unit 49 shown in FIG. 2 generates processed data using the data and program bound in step S106. For example, the data 105 stored in the storage 32 is processed by the program 106 stored in the storage 32, and the processing result is processed data. By using the data 105 and the program 106 stored in the storage 32, the data specified by the data ID determined to be the same in step S106 is specified by the program ID determined to be the same in the same step. Process it with a program. That is, in steps S113 and S114, the data (data to be processed) specified by the data ID 75 of the corresponding data included in the reception DKP 71 among the plurality of data stored in the data storage unit 30 is stored in the program storage unit 31. Among the plurality of programs stored in the received DKP 71, causes the process execution unit 49 to execute an instruction to be processed by the program specified by the program ID 78 of the partner program included in the received DKP 71.

その際、処理済みデータとしては、例えば、ストレージ32が記憶しているデータ105に統計処理等を施してデータ105の潜在的価値を顕在化したデータや、データ105に含まれている個人情報を匿名化してデータ105の価値を限定したデータが生成される。   At this time, the processed data includes, for example, data that has been subjected to statistical processing or the like on the data 105 stored in the storage 32 to reveal the potential value of the data 105 or personal information included in the data 105. Data in which the value of the data 105 is limited by anonymization is generated.

続いてステップS115に移行して、図2に示した処理済みデータ暗号化部50が、ステップS114で生成した処理済みデータを任意の共通鍵で暗号化する。続いて、暗号化に用いた共通鍵を、受信DKP71に付加されている利用者端末4の公開鍵証明書の公開鍵で暗号化する。
続いてステップS116に移行して、図2に示した復号データ消去部51が、ストレージ32からデータ105とプログラム106とを消去する。
続いてステップS117に移行して、図2に示した復号データ消去部51が、ストレージ32から対応PKP92を消去する。
続いてステップS118に移行して、図2に示した処理済みデータ送信部52が、ステップS115で暗号化された処理済みデータを、受信DKP71に付加されているホスト名に対応する利用者端末4(図1参照)に送信した後、この演算処理を終了する。暗号化された処理済みデータには、ステップS115で暗号化された共通鍵を付加する。
Subsequently, the process proceeds to step S115, and the processed data encryption unit 50 shown in FIG. 2 encrypts the processed data generated in step S114 with an arbitrary common key. Subsequently, the common key used for encryption is encrypted with the public key of the public key certificate of the user terminal 4 added to the reception DKP 71.
Subsequently, the process proceeds to step S116, and the decrypted data erasure unit 51 shown in FIG. 2 erases the data 105 and the program 106 from the storage 32.
Subsequently, the process proceeds to step S117, and the decrypted data erasure unit 51 shown in FIG. 2 erases the corresponding PKP 92 from the storage 32.
Subsequently, the process proceeds to step S118, where the processed data transmission unit 52 shown in FIG. 2 uses the processed data encrypted in step S115 to the user terminal 4 corresponding to the host name added to the reception DKP 71. After transmitting to (see FIG. 1), the calculation process is terminated. The common key encrypted in step S115 is added to the encrypted processed data.

また一方、ステップS119では、図2に示したプログラムパッケージ登録判定部38が、ステップS102で受信したPKP92(以下「受信PKP92」とも呼ぶ)に対応するプログラムパッケージ81(以下「対応プログラムパッケージ81」とも呼ぶ)がデータ処理装置5に登録済みであるか否かを判定する。例えば、受信PKP92が含む対応するプログラムのプログラムID96と同じプログラムIDを含むプログラムパッケージ81がプログラム記憶部31に記憶されていると判定した場合に、対応プログラムパッケージ81が登録済みであると判定する。そして、対応プログラムパッケージ81が登録済みであると判定した場合には(Yes)、ステップS120に移行し、対応プログラムパッケージ81が登録済みではないと判定した場合には(No)ステップS101に戻る。   On the other hand, in step S119, the program package registration determination unit 38 shown in FIG. 2 corresponds to the program package 81 (hereinafter referred to as “corresponding program package 81”) corresponding to the PKP 92 received in step S102 (hereinafter also referred to as “reception PKP 92”). Call) is already registered in the data processing device 5. For example, when it is determined that the program package 81 including the same program ID 96 as the corresponding program ID 96 included in the received PKP 92 is stored in the program storage unit 31, it is determined that the corresponding program package 81 has been registered. If it is determined that the corresponding program package 81 has been registered (Yes), the process proceeds to step S120. If it is determined that the corresponding program package 81 has not been registered (No), the process returns to step S101.

ステップS120では、図2に示したDKP記憶状態判定部40が、受信PKP92に対応するDKP71(以下「対応DKP71」とも呼ぶ)をストレージ32が記憶しているか否かを判定する。例えば、受信PKP92が含む相手データのデータIDと同じデータIDを含むDKP71をストレージ32が記憶していると判定した場合に、対応DKP71をストレージ32が記憶していると判定する。そして、ストレージ32が記憶していると判定した場合には(Yes)、ステップS121に移行し、記憶していないと判定した場合には(No)、ステップS125に移行する。   In step S120, the DKP storage state determination unit 40 shown in FIG. 2 determines whether or not the storage 32 stores the DKP 71 corresponding to the reception PKP 92 (hereinafter also referred to as “corresponding DKP 71”). For example, when it is determined that the storage 32 stores the DKP 71 including the same data ID as the data ID of the counterpart data included in the reception PKP 92, it is determined that the corresponding DKP 71 is stored in the storage 32. If it is determined that the storage 32 is stored (Yes), the process proceeds to step S121. If it is determined that the storage 32 is not stored (No), the process proceeds to step S125.

ステップS121では、図2に示した対応検証部41が、受信PKP92が含む相手データのデータID99及び対応するプログラムのプログラムID96と、対応DKP71が含む対応するデータのデータID75及び相手プログラムのプログラムID78との対応を検証する。例えば、対応DKP71が含む対応するデータのデータID75と受信PKP92が含む相手データのデータID99とが互いに同一であり、且つ対応DKP71が含む相手プログラムのプログラムID78と受信PKP92が含む対応するプログラムのプログラムID96とが互いに同一であると判定した場合に、検証に成功したと判定する。そして、検証に成功したと判定した場合には(Yes)、対応データパッケージ60が含むデータと、対応プログラムパッケージ81が含むプログラムとの紐付け、つまり、バインドを行い、ステップS122に移行し、検証に失敗したと判定した場合には(No)、ステップS125に移行する。   In step S121, the correspondence verification unit 41 shown in FIG. 2 includes the data ID 99 of the counterpart data included in the received PKP 92 and the program ID 96 of the corresponding program, the data ID 75 of the corresponding data included in the corresponding DKP 71, and the program ID 78 of the counterpart program. Verify the correspondence. For example, the data ID 75 of the corresponding data included in the corresponding DKP 71 and the data ID 99 of the counterpart data included in the received PKP 92 are the same, and the program ID 78 of the counterpart program included in the corresponding DKP 71 and the program ID 96 of the corresponding program included in the received PKP 92 are included. Are determined to be the same as each other, it is determined that the verification is successful. If it is determined that the verification is successful (Yes), the data included in the corresponding data package 60 and the program included in the corresponding program package 81 are linked, that is, bound, and the process proceeds to step S122. If it is determined that the process has failed (No), the process proceeds to step S125.

ステップS122では、図2に示したPKP検証部43が、受信PKP92の検証を行う。例えば、受信PKP92の有効期限が切れていないかの検証(以下「第11の検証」とも呼ぶ)、受信PKP92の公開鍵証明書101と対応プログラムパッケージ81の公開鍵証明書88とが同一であるかの検証(以下「第12の検証」とも呼ぶ)、公開鍵証明書101を用いた受信PKP92のデジタル署名100の検証(以下「第13の検証」とも呼ぶ)を行い、第11〜第13の検証に成功したと判定した場合に、受信PKP92の検証に成功したと判定する。第12の検証により、受信PKP92を作成したプログラム提供者端末3(図1参照)と対応プログラムパッケージ81を作成したプログラム提供者端末3とが同一であるかを確認する。また、第13の検証により、受信PKP92が改ざんされていないかを確認し、受信PKP92の完全性・正当性を確認する。そして、受信PKP92の検証に成功したと判定した場合には(Yes)、ステップS123に移行し、検証に失敗したと判定した場合には(No)、ステップS101に戻る。   In step S122, the PKP verification unit 43 shown in FIG. 2 verifies the received PKP 92. For example, verification of whether the expiration date of the received PKP 92 has expired (hereinafter also referred to as “eleventh verification”), the public key certificate 101 of the received PKP 92 and the public key certificate 88 of the corresponding program package 81 are the same. Verification (hereinafter also referred to as “twelfth verification”), verification of the digital signature 100 of the received PKP 92 using the public key certificate 101 (hereinafter also referred to as “thirteenth verification”), and When it is determined that the verification of the received PKP 92 is successful, it is determined that the verification of the received PKP 92 is successful. In the twelfth verification, it is confirmed whether the program provider terminal 3 (see FIG. 1) that created the reception PKP 92 and the program provider terminal 3 that created the corresponding program package 81 are the same. Further, in the thirteenth verification, it is confirmed whether the received PKP 92 has been tampered with, and the completeness / validity of the received PKP 92 is confirmed. If it is determined that the received PKP 92 has been successfully verified (Yes), the process proceeds to step S123. If it is determined that the verification has failed (No), the process returns to step S101.

ステップS123では、図2に示したDKP検証部42が、対応DKP71の検証を行う。例えば、対応DKP71の有効期限が切れていないかの検証(以下「第14の検証」とも呼ぶ)、対応DKP71の公開鍵証明書80と対応DKP71に対応するデータパッケージ60(以下「対応データパッケージ60」とも呼ぶ)の公開鍵証明書67とが同一であるかの検証(以下「第15の検証」とも呼ぶ)、公開鍵証明書80を用いた対応DKP71のデジタル署名79の検証(以下「第16の検証」とも呼ぶ)を行い、第14〜第16の検証に成功したと判定した場合に、対応DKP71の検証に成功したと判定する。第15の検証により、対応DKP71を作成したデータ提供者端末2(図1参照)と対応データパッケージ60を作成したデータ提供者端末2とが同一であるかを確認する。また、第6の検証により、対応DKP71が改ざんされていないかを確認し、対応PKP92の完全性・正当性を確認する。そして、対応DKP71の検証に成功したと判定した場合には(Yes)、ステップS126に移行し、対応DKP71の検証に失敗したと判定した場合には(No)ステップS124に移行する。   In step S123, the DKP verification unit 42 illustrated in FIG. 2 verifies the corresponding DKP 71. For example, verification of whether the expiration date of the corresponding DKP 71 has expired (hereinafter also referred to as “14th verification”), the public key certificate 80 of the corresponding DKP 71 and the data package 60 corresponding to the corresponding DKP 71 (hereinafter “corresponding data package 60”). (Hereinafter also referred to as “fifteenth verification”), verification of the digital signature 79 of the corresponding DKP 71 using the public key certificate 80 (hereinafter referred to as “first”). If the 14th to 16th verifications are determined to be successful, it is determined that the verification of the corresponding DKP 71 is successful. In the fifteenth verification, it is confirmed whether the data provider terminal 2 (see FIG. 1) that created the corresponding DKP 71 and the data provider terminal 2 that created the corresponding data package 60 are the same. In addition, the sixth verification confirms whether the corresponding DKP 71 has been tampered with, and confirms the completeness / validity of the corresponding PKP 92. If it is determined that the corresponding DKP 71 has been successfully verified (Yes), the process proceeds to step S126. If it is determined that the corresponding DKP 71 has not been verified (No), the process proceeds to step S124.

ステップS124では、図2に示したDKP検証部42が、対応DKP71をストレージ32から消去した後、ステップS125に移行する。
ステップS125では、図2に示したDKP検証部42が、受信PKP92をストレージ32に記憶させた後、ステップS101に戻る。
In step S124, the DKP verification unit 42 shown in FIG. 2 deletes the corresponding DKP 71 from the storage 32, and then proceeds to step S125.
In step S125, the DKP verification unit 42 illustrated in FIG. 2 stores the received PKP 92 in the storage 32, and then returns to step S101.

一方、ステップS126では、図2に示したデータ・プログラム検証部44が、対応データパッケージ60及び対応プログラムパッケージ81の検証を行う。例えば、対応データパッケージ60のXMLファイル「*hash.xml」64のハッシュ値65の検証(以下「第17の検証」とも呼ぶ)、公開鍵証明書67を用いた「*hash.xml」64のデジタル署名の検証(以下「第18の検証」とも呼ぶ)を行う。第17の検証により、対応データパッケージ60が改ざんされていないかを確認する。また、第18の検証により、「*hash.xml」64のハッシュ値65が改ざんされていないかを確認する。すなわち、第17、第18の検証により、対応データパッケージ60が含むデータの完全性を検証する。   On the other hand, in step S 126, the data / program verification unit 44 shown in FIG. 2 verifies the corresponding data package 60 and the corresponding program package 81. For example, verification of the hash value 65 of the XML file “* hash.xml” 64 of the corresponding data package 60 (hereinafter also referred to as “17th verification”), and “* hash.xml” 64 using the public key certificate 67 The digital signature is verified (hereinafter also referred to as “18th verification”). In the seventeenth verification, it is confirmed whether the corresponding data package 60 has been tampered with. Further, it is confirmed whether or not the hash value 65 of “* hash.xml” 64 has been falsified by the eighteenth verification. That is, the integrity of the data included in the corresponding data package 60 is verified by the 17th and 18th verifications.

また、例えば、対応プログラムパッケージ81のXMLファイル「*hash.xml」85のハッシュ値86の検証(以下「第19の検証」とも呼ぶ)、公開鍵証明書88を用いた「*hash.xml」85のデジタル署名87の検証(以下「第20の検証」とも呼ぶ)を行う。第19の検証により、対応プログラムパッケージ81が改ざんされていないかを確認する。また、第20の検証により、「*hash.xml」85のハッシュ値86が改ざんされていないかを確認する。すなわち、第19、第20の検証により、対応プログラムパッケージ81が含んでいるプログラムの完全性を検証する。そして、第17〜第20の検証に成功したと判定した場合に、対応データパッケージ60及び対応プログラムパッケージ81の検証に成功したと判定する。対応データパッケージ60及び対応プログラムパッケージ81の検証に成功したと判定した場合には(Yes)、ステップS127に移行し、検証に失敗したと判定した場合には(No)、ステップS101に戻る。   Further, for example, verification of the hash value 86 of the XML file “* hash.xml” 85 of the corresponding program package 81 (hereinafter also referred to as “19th verification”), “* hash.xml” using the public key certificate 88 85 digital signatures 87 are verified (hereinafter also referred to as “20th verification”). In the nineteenth verification, it is confirmed whether the corresponding program package 81 has been tampered with. In addition, it is confirmed whether or not the hash value 86 of “* hash.xml” 85 has been falsified by the 20th verification. That is, the integrity of the program included in the corresponding program package 81 is verified by the 19th and 20th verifications. When it is determined that the 17th to 20th verifications have been successful, it is determined that the corresponding data package 60 and the corresponding program package 81 have been successfully verified. If it is determined that the verification of the corresponding data package 60 and the corresponding program package 81 is successful (Yes), the process proceeds to step S127. If it is determined that the verification fails (No), the process returns to step S101.

ステップS127では、図2に示したデータ復号鍵復号部45が、対応DKP71が含む暗号化されたデータ復号鍵77をデータ処理装置5の秘密鍵102で復号して、データ復号鍵103を得る。また、プログラム復号鍵復号部46が、受信PKP92が含む暗号化されたプログラム復号鍵98をデータ処理装置5の秘密鍵102で復号して、プログラム復号鍵104を得る。暗号化されたデータ復号鍵77及びプログラム復号鍵98のそれぞれをデータ処理装置5の秘密鍵102、つまり、暗号化に用いた公開鍵に対応する秘密鍵で復号することで、データ処理装置5の認証を実行することができる。   In step S127, the data decryption key decryption unit 45 shown in FIG. 2 decrypts the encrypted data decryption key 77 included in the corresponding DKP 71 with the private key 102 of the data processing device 5 to obtain the data decryption key 103. Further, the program decryption key decryption unit 46 decrypts the encrypted program decryption key 98 included in the received PKP 92 with the private key 102 of the data processing device 5 to obtain the program decryption key 104. Each of the encrypted data decryption key 77 and the program decryption key 98 is decrypted with the private key 102 of the data processing device 5, that is, the private key corresponding to the public key used for encryption. Authentication can be performed.

続いてステップS128に移行して、図2に示したデータ復号部47とプログラム復号部48とが、ステップS121でバインドしたデータとプログラムとをストレージ32に記憶させる。例えば、図2に示したデータ復号部47が、データ記憶部30が記憶している複数のデータパッケージのうちの、対応データパッケージ60が含む暗号化されたデータ61をステップS127で復号したデータ復号鍵103で復号し、復号したデータ105をバインドしたデータとしてストレージ32に記憶させる。復号したデータ105をストレージ32に記憶させることで、ステップS121で互いに同一であると判定したデータID、つまり受信PKP92が含む相手データのデータID99または対応DKP71が含む対応するデータのデータID75が指定するデータをストレージ32に記憶させることができる。   Subsequently, the process proceeds to step S128, and the data decoding unit 47 and the program decoding unit 48 illustrated in FIG. 2 store the data and program bound in step S121 in the storage 32. For example, the data decryption unit 47 illustrated in FIG. 2 decrypts the encrypted data 61 included in the corresponding data package 60 among the plurality of data packages stored in the data storage unit 30 in step S127. Decrypted with the key 103 and the decrypted data 105 is stored in the storage 32 as bound data. By storing the decrypted data 105 in the storage 32, the data ID determined to be the same in step S121, that is, the data ID 99 of the counterpart data included in the received PKP 92 or the data ID 75 of the corresponding data included in the corresponding DKP 71 is designated. Data can be stored in the storage 32.

また、例えば、図2に示したプログラム復号部48が、プログラム記憶部31が記憶している複数のプログラムパッケージのうちの、対応プログラムパッケージ81が含む暗号化されたプログラム82をステップS127で復号したプログラム復号鍵104で復号し、復号したプログラム106を、ステップS121でバインドしたプログラムとしてストレージ32に記憶させる。復号したプログラム106をストレージ32に記憶させることで、ステップS121で互いに同一であると判定したプログラムID、つまり、受信PKP92が含む相手プログラムのプログラムID78または対応DKP71が含む対応するプログラムのプログラムID96が指定するプログラムをストレージ32に記憶させることができる。   For example, the program decryption unit 48 illustrated in FIG. 2 decrypts the encrypted program 82 included in the corresponding program package 81 among the plurality of program packages stored in the program storage unit 31 in step S127. The program decrypted with the program decryption key 104 is stored in the storage 32 as the program bound in step S121. By storing the decrypted program 106 in the storage 32, the program ID determined to be the same in step S121, that is, the program ID 78 of the counterpart program included in the received PKP 92 or the program ID 96 of the corresponding program included in the corresponding DKP 71 is designated. The program to be stored can be stored in the storage 32.

続いてステップS129に移行して、図2に示した処理実行部49が、ステップS121でバインドしたデータとプログラムとを用いて処理済みデータを生成する。例えば、ストレージ32が記憶しているデータ105を、ストレージ32が記憶しているプログラム106で処理し、処理結果を処理済みデータとする。ストレージ32が記憶しているデータ105とプログラム106とを用いることで、ステップS121で互いに同一であると判定したデータIDが指定するデータを、同ステップで互いに同一であると判定したプログラムIDが指定するプログラムで処理する。すなわち、ステップS128、S129では、データ記憶部30が記憶している複数のデータのうちの、受信PKP92が含む相手データのデータID99が指定するデータ(処理対象のデータ)を、プログラム記憶部31が記憶している複数のプログラムのうちの、受信PKP91が含む対応するプログラムのプログラムID96が指定するプログラムで処理させる命令を処理実行部49に実行させる。   Subsequently, the process proceeds to step S129, and the process execution unit 49 illustrated in FIG. 2 generates processed data using the data and program bound in step S121. For example, the data 105 stored in the storage 32 is processed by the program 106 stored in the storage 32, and the processing result is processed data. By using the data 105 and the program 106 stored in the storage 32, the data specified by the data ID determined to be the same in step S121 is specified by the program ID determined to be the same in the same step. Process it with a program. That is, in steps S128 and S129, the program storage unit 31 stores the data (processing target data) specified by the data ID 99 of the partner data included in the reception PKP 92 among the plurality of data stored in the data storage unit 30. The process execution unit 49 is caused to execute an instruction to be processed by a program specified by the program ID 96 of the corresponding program included in the reception PKP 91 among the plurality of stored programs.

その際、処理済みデータとしては、例えば、ストレージ32が記憶しているデータ105に統計処理等を施してデータ105の潜在的価値を顕在化したデータや、データ105に含まれている個人情報を匿名化してデータ105の価値を限定したデータが生成される。   At this time, the processed data includes, for example, data that has been subjected to statistical processing or the like on the data 105 stored in the storage 32 to reveal the potential value of the data 105 or personal information included in the data 105. Data in which the value of the data 105 is limited by anonymization is generated.

続いてステップS130に移行して、図2に示した処理済みデータ暗号化部50が、ステップS129で生成した処理済みデータを任意の共通鍵で暗号化する。続いて、暗号化に用いた共通鍵を、対応DKP71に付加されている利用者端末4の公開鍵証明書の公開鍵で暗号化する。
続いてステップS131に移行して、図2に示した復号データ消去部51が、ストレージ32からデータ105とプログラム106とを消去する。
続いてステップS132に移行して、図2に示した復号データ消去部51が、ストレージ32から対応DKP71を消去する。
続いてステップS133に移行して、図2に示した処理済みデータ送信部52が、ステップS130で暗号化された処理済みデータを、対応DKP71に付加されているホスト名に対応する利用者端末4(図1参照)に送信した後、この演算処理を終了する。暗号化された処理済みデータには、ステップS130で暗号化された共通鍵を付加する。
Subsequently, the process proceeds to step S130, and the processed data encryption unit 50 illustrated in FIG. 2 encrypts the processed data generated in step S129 with an arbitrary common key. Subsequently, the common key used for encryption is encrypted with the public key of the public key certificate of the user terminal 4 attached to the corresponding DKP 71.
Subsequently, the process proceeds to step S131, and the decrypted data erasure unit 51 shown in FIG. 2 erases the data 105 and the program 106 from the storage 32.
Subsequently, the process proceeds to step S132, and the decrypted data erasure unit 51 shown in FIG.
Subsequently, the process proceeds to step S133, where the processed data transmission unit 52 shown in FIG. 2 uses the processed data encrypted in step S130 as the user terminal 4 corresponding to the host name added to the corresponding DKP 71. After transmitting to (see FIG. 1), the calculation process is terminated. To the encrypted processed data, the common key encrypted in step S130 is added.

(動作その他)
次に、本発明の実施形態に係るデータ提供システム1の動作について説明する。
まず、各データ提供者は、自身のデータ提供者端末2を操作し、提供するデータ(例えば、ビッグデータ、音声アシスタントの音声データ、SNSのユーザデータ)をデータ暗号鍵で暗号化し、図18に示すように暗号化されたデータ61を含むデータパッケージ60を作成してデータ処理装置5に送信する(ステップS201)。データパッケージ60が送信されると、データ処理装置5は、送信されたデータパッケージ60を受信してデータ記憶部30に記憶させる(ステップS202)。また、各プログラム提供者は、自身のプログラム提供者端末3を操作し、提供するプログラム、つまりデータ処理装置5(データ記憶部30)が記憶している複数のデータを処理可能な複数のプログラムをプログラム暗号鍵で暗号化し、暗号化されたプログラム82を含むプログラムパッケージ81を作成してデータ処理装置5に送信する(ステップS203)。プログラムパッケージ81が送信されると、データ処理装置5は、送信されたプログラムパッケージ81を受信してプログラム記憶部31に記憶させる(ステップS204)。そして、上記フローを繰り返すことで、データ処理装置5は、データ記憶部30に複数のデータを記憶させ、複数のデータを共有させるとともに、プログラム記憶部31に複数のプログラムを記憶させる。
(Operation other)
Next, the operation of the data providing system 1 according to the embodiment of the present invention will be described.
First, each data provider operates its own data provider terminal 2 and encrypts data to be provided (for example, big data, voice assistant voice data, SNS user data) with a data encryption key, as shown in FIG. As shown, the data package 60 including the encrypted data 61 is created and transmitted to the data processing device 5 (step S201). When the data package 60 is transmitted, the data processing device 5 receives the transmitted data package 60 and stores it in the data storage unit 30 (step S202). Each program provider operates its own program provider terminal 3 to provide a program to be provided, that is, a plurality of programs capable of processing a plurality of data stored in the data processing device 5 (data storage unit 30). The program package 81 is encrypted with the program encryption key and includes the encrypted program 82, and is transmitted to the data processing apparatus 5 (step S203). When the program package 81 is transmitted, the data processing device 5 receives the transmitted program package 81 and stores it in the program storage unit 31 (step S204). Then, by repeating the above flow, the data processing device 5 causes the data storage unit 30 to store a plurality of data, shares the plurality of data, and causes the program storage unit 31 to store a plurality of programs.

データ記憶部30への複数のデータの記憶や、プログラム記憶部31への複数のプログラムの記憶が行われた後に、動画配信事業者(データ利用者)が、視聴者に配信する作品を選定するために自身が所有する利用者端末4を操作し、作品の年齢層毎の評価等を表す処理済みデータの提供を要求する実行結果リクエストを、映画レビューサイトの運営者(データ提供者)のデータ提供者端末2に送信したとする(ステップS205)。実行結果リクエストには、利用者端末4のホスト名と公開鍵証明書とが付加される。すると、映画レビューサイトの運営者が、受信した実行結果リクエストを用いて、レビュアーの性別、年齢、作品評価等を含むビッグデータである映画レビューデータ(処理対象のデータ)と処理用のプログラムとを選定し、自身のデータ提供者端末2を操作し、選定した処理対象のデータを指定するデータID75(対応するデータのデータID75)と、選定した処理用のプログラムを指定するプログラムID78(相手プログラムのプログラムID78)とを含むDKP71を生成してデータ処理装置5に送信する(ステップS206)。DKP71には、実行結果リクエストに付加されていた利用者端末4のホスト名と公開鍵証明書とが付加される。   After the storage of a plurality of data in the data storage unit 30 and the storage of a plurality of programs in the program storage unit 31, the video distribution company (data user) selects works to be distributed to the viewers. In order to operate the user terminal 4 owned by itself, the execution result request for requesting the provision of processed data representing the evaluation of each work age group, etc. is sent to the movie review site operator (data provider) data. It is assumed that the message is transmitted to the provider terminal 2 (step S205). The host name of the user terminal 4 and the public key certificate are added to the execution result request. Then, the operator of the movie review site uses the received execution result request to obtain movie review data (data to be processed) that is big data including the gender, age, work evaluation, etc. of the reviewer and the processing program. Select and operate its own data provider terminal 2 to specify the data ID 75 (data ID 75 of the corresponding data) that specifies the data to be processed, and the program ID 78 (the partner program) that specifies the program for the selected processing DKP 71 including the program ID 78) is generated and transmitted to the data processing device 5 (step S206). The host name of the user terminal 4 and the public key certificate added to the execution result request are added to the DKP 71.

ここで、処理対象のデータは、データ記憶部30が記憶しているデータのうちの、映画レビューサイトの運営者が提供したデータのうちから選定される。また、処理用のプログラムは、プログラム記憶部31が記憶しているプログラムのうちから選定される。すなわち、データ処理装置5には、データ記憶部30が記憶しているデータのうちの処理対象のデータを提供したデータ提供者側(映画レビューサイトの運営者側)から、プログラム記憶部31が記憶しているプログラムのうちの、処理対象のデータの処理用のプログラムを指定するDKP71が送信される。また、PKPリクエストを、選定したプログラムを提供したプログラム提供者のプログラム提供者端末3に送信する(ステップS207)。   Here, the data to be processed is selected from the data provided by the movie review site operator among the data stored in the data storage unit 30. The processing program is selected from the programs stored in the program storage unit 31. That is, in the data processing device 5, the program storage unit 31 stores data from the data provider side (movie review site operator side) that provided the data to be processed among the data stored in the data storage unit 30. DKP 71 that designates a program for processing data to be processed among the programs being processed is transmitted. Further, the PKP request is transmitted to the program provider terminal 3 of the program provider who provided the selected program (step S207).

データ提供者端末2からDKP71が送信されると、データ処理装置5は、送信されたDKP71を受信し(ステップS208)、受信したDKP71(受信DKP71)に対応する対応データパッケージ60がデータ記憶部30に記憶されていると、対応データパッケージ60を登録済みであると判定する(ステップS209)。また、受信DKP71に対応するPKP92(対応PKP92)をストレージ32が記憶していないと判定し(ステップS210)、受信DKP71をストレージ32に記憶させる(ステップS211)。   When the DKP 71 is transmitted from the data provider terminal 2, the data processing device 5 receives the transmitted DKP 71 (step S208), and the corresponding data package 60 corresponding to the received DKP 71 (reception DKP 71) is the data storage unit 30. If it is stored, the corresponding data package 60 is determined to have been registered (step S209). Further, it is determined that the storage 32 does not store the PKP 92 (corresponding PKP 92) corresponding to the reception DKP 71 (step S210), and the reception DKP 71 is stored in the storage 32 (step S211).

またデータ提供者端末2からPKPリクエストが送信されると、プログラム提供者端末3は、DKP71が含む対応するデータのデータID75及び相手プログラムのプログラムID78と同じデータID及びプログラムIDを含むPKP92をデータ処理装置5に送信する(ステップS212)。PKP92が送信されると、データ処理装置5は、送信されたPKP92を受信し(ステップS213)、受信したPKP92(受信PKP92)に対応するプログラムパッケージ81(対応プログラムパッケージ81)がプログラム記憶部31に記憶されていると、対応プログラムパッケージ81が登録済みと判定する(ステップS214)。また、ストレージ32を参照し、受信PKP92に対応するDKP71(対応DKP71)をストレージ32が記憶していると判定する(ステップS215)。   When the PKP request is transmitted from the data provider terminal 2, the program provider terminal 3 performs data processing on the PKP 92 including the data ID 75 and the program ID 78 of the corresponding program included in the DKP 71 and the program ID 78 of the counterpart program. It transmits to the apparatus 5 (step S212). When the PKP 92 is transmitted, the data processing device 5 receives the transmitted PKP 92 (step S213), and the program package 81 (corresponding program package 81) corresponding to the received PKP 92 (received PKP 92) is stored in the program storage unit 31. If stored, it is determined that the corresponding program package 81 has been registered (step S214). Further, the storage 32 is referred to, and it is determined that the storage 32 stores the DKP 71 (corresponding DKP 71) corresponding to the reception PKP 92 (step S215).

また、データ処理装置5は、受信PKP92が含む相手データのデータID99及び対応するプログラムのプログラムID96と、対応DKP71が含む対応するデータのデータID75及び相手プログラムのプログラムID78との対応を検証し、検証に成功すると、対応データパッケージ60が含むデータと、対応プログラムパッケージ81が含むプログラムとをバインドする(ステップS216)。また、受信PKP92を検証し(ステップS217)、対応DKP71を検証する(ステップS218)。さらに、対応データパッケージ60と対応プログラムパッケージ81との検証に成功すると(ステップS219)、対応DKP71が含む暗号化されたデータ復号鍵77と、受信PKP92が含む暗号化されたプログラム復号鍵98とのそれぞれをデータ処理装置5の秘密鍵102で復号して、データ復号鍵103とプログラム復号鍵104とを得る(ステップS220)。   Further, the data processing device 5 verifies the correspondence between the data ID 99 of the counterpart data included in the received PKP 92 and the program ID 96 of the corresponding program, and the data ID 75 of the corresponding data included in the corresponding DKP 71 and the program ID 78 of the counterpart program. If successful, the data included in the corresponding data package 60 and the program included in the corresponding program package 81 are bound (step S216). Also, the received PKP 92 is verified (step S217), and the corresponding DKP 71 is verified (step S218). Further, when the corresponding data package 60 and the corresponding program package 81 are successfully verified (step S219), the encrypted data decryption key 77 included in the corresponding DKP 71 and the encrypted program decryption key 98 included in the received PKP 92 are obtained. Each is decrypted with the private key 102 of the data processing device 5 to obtain the data decryption key 103 and the program decryption key 104 (step S220).

さらに、データ処理装置5は、復号したデータ復号鍵77で対応データパッケージ60が含む暗号化されたデータ61を復号し、復号したデータ105をステップS216でバインドしたデータとしてストレージ32に記憶させる。また、復号したプログラム復号鍵104で対応プログラムパッケージ81が含む暗号化されたプログラム82を復号し、復号したプログラム106をバインドしたプログラムとしてストレージ32に記憶させる(ステップS221)。また、ストレージ32が記憶しているデータ105をストレージ32が記憶しているプログラム106で処理して処理済みデータを生成する(ステップS222)。処理済みデータとしては、例えば、データ105に統計処理等を施してデータ105の潜在的価値を顕在化して、作品の年齢層毎の評価等を表すデータが生成される。また、生成した処理済みデータを任意の共通鍵で暗号化し、暗号化に用いた共通鍵を対応DKP71に付加されている利用者端末4の公開鍵証明書の公開鍵で暗号化する(ステップS223)。さらに、ストレージ32から、データ105、プログラム106及び対応DKP71を消去する(ステップS224)。また、データ処理装置5は、暗号化された処理済みデータを、対応DKP71に付加されているホスト名に対応する、動画配信事業者(データ利用者)の利用者端末4に送信する(ステップS225)。暗号化された処理済みデータには、ステップS223で暗号化された共通鍵が付加される。   Further, the data processing device 5 decrypts the encrypted data 61 included in the corresponding data package 60 with the decrypted data decryption key 77, and stores the decrypted data 105 in the storage 32 as the bound data in step S216. Further, the encrypted program 82 included in the corresponding program package 81 is decrypted with the decrypted program decryption key 104, and the decrypted program 106 is stored in the storage 32 as a bound program (step S221). Further, the data 105 stored in the storage 32 is processed by the program 106 stored in the storage 32 to generate processed data (step S222). As the processed data, for example, statistical processing or the like is performed on the data 105 to reveal the potential value of the data 105, and data representing an evaluation or the like for each age group of the work is generated. The generated processed data is encrypted with an arbitrary common key, and the common key used for encryption is encrypted with the public key of the public key certificate of the user terminal 4 attached to the corresponding DKP 71 (step S223). ). Further, the data 105, the program 106, and the corresponding DKP 71 are deleted from the storage 32 (step S224). Further, the data processing device 5 transmits the encrypted processed data to the user terminal 4 of the moving picture distribution business operator (data user) corresponding to the host name added to the corresponding DKP 71 (step S225). ). The common key encrypted in step S223 is added to the encrypted processed data.

データ処理装置5から暗号化された処理済みデータが送信されると、利用者端末4は、暗号化された処理済みデータを受信し(ステップS226)、受信した暗号化された処理済みデータに付加されている暗号化された共通鍵を、利用者端末4の公開鍵に対応する秘密鍵、つまり、自装置の公開鍵に対応する秘密鍵で復号する。また、復号した共通鍵で、暗号化された処理済みーデータを復号して、暗号化が解除された処理済みデータを取得する(ステップS227)。   When the encrypted processed data is transmitted from the data processing device 5, the user terminal 4 receives the encrypted processed data (step S226) and adds it to the received encrypted processed data. The encrypted common key is decrypted with a secret key corresponding to the public key of the user terminal 4, that is, a secret key corresponding to the public key of the own device. Further, the encrypted processed data is decrypted with the decrypted common key to obtain the processed data that has been decrypted (step S227).

以上説明したように、本発明の実施形態に係るデータ処理装置5は、データ記憶部30が記憶しているデータのうちの処理対象のデータを提供したデータ提供者側から、プログラム記憶部31が記憶しているプログラムのうちの、処理対象のデータを処理用のプログラムを指定するDKP71を受信するファイル受信部35と、処理対象のデータを、受信したDKP71で指定するプログラムで処理するデータ処理部36と、を備えるようにした。それゆえ、処理対象のデータを処理用のプログラムを指定するDKP71をデータ提供者側から受信するため、データ提供者がデータの用途を限定できる。   As described above, in the data processing device 5 according to the embodiment of the present invention, the program storage unit 31 is provided from the data provider side that provided the data to be processed among the data stored in the data storage unit 30. Of the stored programs, a file receiving unit 35 that receives a DKP 71 that specifies a processing program for processing target data, and a data processing unit that processes the processing target data using a program specified by the received DKP 71 36. Therefore, since the DKP 71 that specifies the processing program for the data to be processed is received from the data provider side, the data provider can limit the use of the data.

そのため、データの効率的な利活用を可能としつつ、データがデータ提供者の意図しない用途に使われることを防止でき、データ提供者のデータの所有権を保護することが可能なデータ処理装置5を提供することができる。また、例えば、単にデータ提供者とデータ利用者との間の契約でのみデータの用途を限定する方法と異なり、データの用途を技術的に制限できるため、データの用途をより確実に限定することができる。また、データ提供者のデータの所有権が保護されるため、データ提供者にデータ処理装置5へのデータの提供を促すことができ、データ処理装置5によるデータの共有を促進させることができる。   Therefore, the data processing apparatus 5 can prevent the data from being used for an unintended use of the data provider while enabling efficient use of the data, and can protect the data provider's data ownership. Can be provided. Also, for example, unlike the method of limiting the use of data only by a contract between the data provider and the data user, the use of the data can be technically restricted, so that the use of the data is more reliably limited. Can do. In addition, since the data provider's data ownership is protected, the data provider can be prompted to provide data to the data processing device 5, and data sharing by the data processing device 5 can be promoted.

また、データ処理装置5を用いてデータの共有を実現するようにしたため、例えば、データ提供者の会社内でデータを保有する方法に比べ、データの機密性や完全性を保証しつつ、比較的低いコストでデータの共有を実現することができる。さらに、データ提供者が管理等を行う必要がなく、データ提供者のヒューマンエラーを抑制することができる。
さらに、データをプログラムで処理することで、データが持つ潜在的価値を顕在化することができる。このように価値が顕在化されたデータ、つまり処理済みデータをデータ利用者に提供することで、新たな価値が創出され、豊かな未来社会の創造に繋がることが期待される。また、データ提供者は、データそのものをデータ利用者に渡さずに済み、データの所有権を維持しつつ、データが有する多様な価値の一部分のみを提供できる。さらに、データ利用者は、データがそのまま提供される方法に比べ、データを利活用しやすい。
In addition, since data sharing is realized using the data processing device 5, for example, data confidentiality and integrity are relatively ensured as compared with a method of holding data in a data provider company. Data sharing can be realized at low cost. Furthermore, it is not necessary for the data provider to perform management or the like, and human errors of the data provider can be suppressed.
Furthermore, by processing the data with a program, the potential value of the data can be revealed. By providing data users with data whose value has become obvious in this way, that is, processed data, it is expected that new value will be created and that a rich future society will be created. Further, the data provider does not need to pass the data itself to the data user, and can provide only a part of various values possessed by the data while maintaining the ownership of the data. Furthermore, the data user can use the data more easily than the method in which the data is provided as it is.

ちなみに、例えば、データの拡張子でプログラムを指定する従来の方法によれば、1つのデータに対し1つのプログラムしか指定できない。それゆえ、データから得たい処理結果、つまり、顕在化したい潜在的価値にあわせてプログラムを指定することができない。
これに対し、本発明の実施形態に係るデータ処理装置5は、DKP71が含むプログラムID78でプログラムを指定できるため、1つのデータに対し任意のプログラムを指定できる。それゆえ、顕在化したい潜在的価値にあわせてプログラムを指定できる。
Incidentally, for example, according to the conventional method of specifying a program by the extension of data, only one program can be specified for one data. Therefore, the program cannot be specified in accordance with the processing result desired from the data, that is, the potential value desired to be manifested.
On the other hand, since the data processing apparatus 5 according to the embodiment of the present invention can specify a program with the program ID 78 included in the DKP 71, an arbitrary program can be specified for one piece of data. Therefore, the program can be specified according to the potential value to be manifested.

また、本発明の実施形態に係るデータ処理装置5では、DKP71は、処理対象のデータを指定するデータID75(対応するデータのデータID75)と、処理対象のデータを処理するプログラムを指定するプログラムID78(相手プログラムのプログラムID78)とを含み、データ処理部36は、データ記憶部30が記憶している複数のデータのうちの、ファイル受信部35で受信したDKP71(受信DKP71)が含むデータID75が指定するデータを、プログラム記憶部31が記憶している複数のプログラムのうちの、受信DKP71が含むプログラムID78が指定するプログラムで処理するようにした。それゆえ、処理対象のデータと、処理用のプログラムとを比較的容易に選択できる。   Further, in the data processing device 5 according to the embodiment of the present invention, the DKP 71 has a data ID 75 (data ID 75 of the corresponding data) that specifies data to be processed and a program ID 78 that specifies a program that processes the data to be processed. (Data ID 75 included in the DKP 71 (received DKP 71) received by the file receiving unit 35 among the plurality of data stored in the data storage unit 30 is included in the data processing unit 36. The designated data is processed by the program designated by the program ID 78 included in the reception DKP 71 among the plurality of programs stored in the program storage unit 31. Therefore, the data to be processed and the processing program can be selected relatively easily.

また、本発明の実施形態に係るデータ処理装置5では、複数のデータそれぞれは、データ暗号化鍵で暗号化されており、DKP71は、暗号化されたデータ61を復号可能なデータ復号鍵77を含むようにした。また、処理実行部49は、データ記憶部30が記憶している複数のデータのうち、受信DKP71が含むデータID75が指定するデータを、受信DKP71が含むデータ復号鍵77で復号するデータ復号部47を備えるようにした。それゆえ、データをより確実に保護でき、データ処理装置5からのデータの流出をより確実に防止できる。   In the data processing device 5 according to the embodiment of the present invention, each of the plurality of data is encrypted with the data encryption key, and the DKP 71 uses the data decryption key 77 that can decrypt the encrypted data 61. I included it. The process execution unit 49 also decrypts the data specified by the data ID 75 included in the reception DKP 71 with the data decryption key 77 included in the reception DKP 71 among the plurality of data stored in the data storage unit 30. I was prepared to. Therefore, the data can be protected more reliably, and the outflow of data from the data processing device 5 can be prevented more reliably.

さらに、本発明の実施形態に係るデータ処理装置5では、データ暗号化鍵及びデータ復号鍵77は、データ提供者の共通鍵とした。それゆえ、例えば、公開鍵を用いる方法に比べ、計算量を低減でき、暗号化及び復号に要する時間を短縮することができる。
また、本発明の実施形態に係るデータ処理装置5では、データ復号鍵77は、データ処理装置5の公開鍵で暗号化されており、処理実行部49は、データ復号鍵を公開鍵に対応する秘密鍵で復号するデータ復号鍵復号部45を備えている。それゆえ、データの復号や処理等を行うデータ処理装置5の認証を行うことができる。
Furthermore, in the data processing device 5 according to the embodiment of the present invention, the data encryption key and the data decryption key 77 are common keys of the data provider. Therefore, for example, compared with a method using a public key, the amount of calculation can be reduced, and the time required for encryption and decryption can be shortened.
In the data processing device 5 according to the embodiment of the present invention, the data decryption key 77 is encrypted with the public key of the data processing device 5, and the process execution unit 49 corresponds to the data decryption key as the public key. A data decryption key decrypting unit 45 for decrypting with the secret key is provided. Therefore, it is possible to authenticate the data processing device 5 that performs data decryption, processing, and the like.

さらに、本発明の実施形態に係るデータ処理装置5は、プログラム記憶部31が記憶しているプログラムのうちの処理用のプログラムを提供したプログラム提供者側から、データ記憶部が記憶しているデータのうちの、処理用のプログラムで処理するデータを指定するPKP92をプログラム提供者側から受信するファイル受信部35と、処理用のプログラムで、受信したPKP92で指定するデータを処理するデータ処理部36とを備えるようにした。それゆえ、処理用のプログラムで処理するデータを指定するPKP92をプログラム提供者側から受信するため、プログラム提供者がプログラムの用途を限定できる。そのため、データの効率的な利活用を可能としつつ、プログラムがプログラム提供者の意図しない用途に使われることを防止でき、プログラム提供者のプログラムの所有権を保護することが可能なデータ処理装置5を提供できる。また、プログラム提供者のプログラムの所有権が保護されるため、プログラム提供者からデータ処理装置5へのプログラムの提供を促すことができる。その結果、データ処理装置5によるデータの共有を促進できる。   Furthermore, the data processing device 5 according to the embodiment of the present invention has the data stored in the data storage unit from the program provider side that provides the processing program among the programs stored in the program storage unit 31. Among them, a file receiving unit 35 that receives a PKP 92 that specifies data to be processed by a processing program from the program provider side, and a data processing unit 36 that processes the data specified by the received PKP 92 by a processing program. And was prepared. Therefore, since the PKP 92 that specifies data to be processed by the processing program is received from the program provider side, the program provider can limit the use of the program. Therefore, the data processing apparatus 5 can prevent the program from being used for an unintended use of the program provider and can protect the ownership of the program provider's program while enabling efficient use of the data. Can provide. Further, since the program provider's ownership of the program is protected, it is possible to prompt the program provider to provide the program to the data processing device 5. As a result, data sharing by the data processing device 5 can be promoted.

また、本発明の実施形態に係るデータ処理装置5では、ファイル受信部35は、処理用のプログラムを指定するプログラムID96とプログラムで処理するデータを指定するデータID99とを含むPKP92をプログラム提供者側から受信する。また、処理実行部49は、DKP71が含むデータID75とPKP92が含むデータID99とが互いに同一であり、且つDKP71が含むプログラムID78とPKP92が含むプログラムID96とが互いに同一であるかを判定する対応検証部41と、対応検証部41でデータIDが互いに同一であり、且つプログラムIDが互いに同一であると判定した場合には、互いに同一であると判定したデータIDが指定するデータを、互いに同一であると判定したプログラムIDが指定するプログラムで処理する処理実行部49とを備えるようにした。   In the data processing device 5 according to the embodiment of the present invention, the file receiving unit 35 receives a PKP 92 including a program ID 96 that specifies a processing program and a data ID 99 that specifies data to be processed by the program. Receive from. The process execution unit 49 also determines whether the data ID 75 included in the DKP 71 and the data ID 99 included in the PKP 92 are the same, and whether the program ID 78 included in the DKP 71 and the program ID 96 included in the PKP 92 are the same. When the unit 41 and the correspondence verification unit 41 determine that the data IDs are the same and the program IDs are the same, the data specified by the data IDs determined to be the same are the same. And a process execution unit 49 that processes the program specified by the program ID determined to be present.

それゆえ、例えば、データ提供者が、自身が提供したデータを他者が提供したプログラムで処理する場合には、プログラム提供者にPKP92を送信させる必要がある。そのため、プログラム提供者の許可なくプログラムが使用されることを防止でき、プログラム提供者のプログラムの所有権をより確実に保護できる。また、例えば、プログラム提供者が、他者が提供したデータを自身のプログラムで処理する場合には、データ提供者にDKP71を送信させる必要がある。そのため、データ提供者の許可なくデータが使用されることを防止でき、データ提供者のデータの所有権をより確実に保護することができる。   Therefore, for example, when a data provider processes data provided by itself with a program provided by another, it is necessary to cause the program provider to transmit the PKP 92. Therefore, the program can be prevented from being used without the permission of the program provider, and the ownership of the program provider's program can be more reliably protected. Further, for example, when a program provider processes data provided by another person with its own program, it is necessary to cause the data provider to transmit the DKP 71. Therefore, it is possible to prevent the data from being used without the permission of the data provider, and it is possible to protect the data provider's data ownership more reliably.

また、本発明の実施形態に係るデータ処理装置5では、複数のプログラムそれぞれは、プログラム暗号化鍵で暗号化されており、PKP92は、暗号化されたプログラム82を復号可能なプログラム復号鍵98を含むようにした。また、処理実行部49は、プログラム記憶部31が記憶している複数のプログラムのうち、受信PKP92が含むプログラムID96が指定するプログラムを、受信PKP92が含むプログラム復号鍵98で復号するプログラム復号部48を備えるようにした。それゆえ、プログラムをより確実に保護でき、データ処理装置5からのプログラム(アルゴリズム)の流出をより確実に防止できる。   In the data processing device 5 according to the embodiment of the present invention, each of the plurality of programs is encrypted with the program encryption key, and the PKP 92 uses the program decryption key 98 that can decrypt the encrypted program 82. I included it. Further, the process execution unit 49 decrypts a program specified by the program ID 96 included in the reception PKP 92 among the plurality of programs stored in the program storage unit 31 with the program decryption key 98 included in the reception PKP 92. I was prepared to. Therefore, the program can be protected more reliably, and the outflow of the program (algorithm) from the data processing device 5 can be prevented more reliably.

さらに、本発明の実施形態に係るデータ処理装置5では、プログラム暗号化鍵及びプログラム復号鍵98は、プログラム提供者の共通鍵とした。それゆえ、例えば、公開鍵を用いる方法に比べ、計算量を低減でき、暗号化及び復号に要する時間を短縮できる。
また、本発明の実施形態に係るデータ処理装置5では、プログラム復号鍵98は、データ処理装置5の公開鍵で暗号化されており、処理実行部49は、プログラム復号鍵98を公開鍵に対応する秘密鍵で復号するプログラム復号鍵復号部46を備えるようにした。それゆえ、処理を行うデータ処理装置5の認証を行うことができる。
Furthermore, in the data processing device 5 according to the embodiment of the present invention, the program encryption key and the program decryption key 98 are common keys of the program provider. Therefore, for example, compared with a method using a public key, the amount of calculation can be reduced, and the time required for encryption and decryption can be shortened.
In the data processing device 5 according to the embodiment of the present invention, the program decryption key 98 is encrypted with the public key of the data processing device 5, and the process execution unit 49 corresponds to the program decryption key 98 as a public key. A program decryption key decryption unit 46 for decrypting with the secret key to be decrypted is provided. Therefore, authentication of the data processing device 5 that performs processing can be performed.

また、本発明の実施形態に係るデータ処理装置5では、データ復号部47で復号したデータ105及びプログラム復号部48で復号したプログラム106を記憶するストレージ32と、処理実行部49で処理を終えた後に、ストレージ32から復号したデータ105及びプログラム106を消去する復号データ消去部51とを備えるようにした。それゆえ、データ及びプログラムの盗難を防止でき、データ及びプログラムをより確実に保護できる。   In the data processing device 5 according to the embodiment of the present invention, the storage 32 storing the data 105 decrypted by the data decryption unit 47 and the program 106 decrypted by the program decryption unit 48 and the processing by the processing execution unit 49 are finished. Later, a decrypted data erasure unit 51 for erasing the decrypted data 105 and the program 106 from the storage 32 is provided. Therefore, theft of data and programs can be prevented, and the data and programs can be protected more reliably.

さらに、本発明の実施形態に係るデータ処理装置5では、データ処理部36で行われた処理の処理結果である処理済みデータを、共通鍵で暗号化し、その共通鍵を、実行結果リクエストを送信した利用者端末4の公開鍵、つまり、処理済みデータの提供を要求する利用者端末4の公開鍵で暗号化するようにした。それゆえ、例えば、処理済みデータの暗号化に公開鍵を用いる方法に比べ、計算量を低減でき、暗号化及び復号に要する時間を短縮することができる。また、実行結果リクエストを送信したデータ利用者以外は処理済みデータを復号できないので、処理済みデータの盗難を防止することができる。   Further, in the data processing device 5 according to the embodiment of the present invention, the processed data that is the processing result of the processing performed by the data processing unit 36 is encrypted with the common key, and the execution result request is transmitted with the common key. The user terminal 4 is encrypted with the public key of the user terminal 4, that is, the public key of the user terminal 4 that requests the provision of processed data. Therefore, for example, the amount of calculation can be reduced and the time required for encryption and decryption can be shortened as compared with a method using a public key for encryption of processed data. Further, since the processed data cannot be decrypted by anyone other than the data user who transmitted the execution result request, it is possible to prevent the processed data from being stolen.

また、本発明の実施形態に係るデータ処理装置5では、プログラムは、データの潜在的価値を顕在化するプログラム、又はデータの価値を限定するプログラムとした。それゆえ、データが有する多様な価値の一部分を処理結果(処理済みデータ)として取得できる。   Further, in the data processing device 5 according to the embodiment of the present invention, the program is a program that reveals the potential value of data or a program that limits the value of data. Therefore, a part of various values possessed by the data can be acquired as a processing result (processed data).

(変形例)
(1)なお、本発明の実施形態に係るデータ提供システム1では、処理対象のデータとして、ビッグデータ、音声アシスタントの音声データ、SNSのユーザデータを用いる例を示したが、他の構成を採用することもできる。例えば、監視カメラの映像データを用いる構成としてもよい。監視カメラの映像データを用いる場合、映像データから統計情報を生成する統計情報生成用プログラム(データの潜在的価値を顕在化するプログラム)を指定するプログラムID78をDKP71に含ませ、DKP71が含むプログラムID78が指定する統計情報生成用プログラムで映像データを処理してもよい。また、映像データから人物を抽出する等の画像処理を行う画像処理用プログラム(データの潜在的価値を顕在化するプログラム)を指定するプログラムID78をDKP71に含ませ、DKP71が含むプログラムID78が指定する画像処理用プログラムで映像データを処理してもよい。
(Modification)
(1) In the data providing system 1 according to the embodiment of the present invention, an example is shown in which big data, voice assistant voice data, and SNS user data are used as processing target data, but other configurations are adopted. You can also For example, it is good also as a structure which uses the video data of a surveillance camera. When using video data of a surveillance camera, a program ID 78 for specifying a statistical information generation program (a program that reveals the potential value of data) for generating statistical information from the video data is included in the DKP 71, and the program ID 78 included in the DKP 71 The video data may be processed by a statistical information generation program specified by. In addition, a program ID 78 that specifies an image processing program (a program that reveals the potential value of data) that performs image processing such as extracting a person from video data is included in the DKP 71, and the program ID 78 included in the DKP 71 specifies it. The video data may be processed by an image processing program.

(2)また、例えば、処理対象のデータとして、音声アシスタントの音声データを用いる構成とした場合、プライバシー保護のため、音声データに含まれる個人情報を匿名化する匿名化用プログラム(データの価値を限定するプログラム)を指定するプログラムID78をDKP71に含ませて、DKP71が含むプログラムID78が指定する匿名化用プログラムで音声データを処理するようにしてもよい。また、例えば、処理対象のデータとして、SNSのユーザデータ(例えば、プロフィールのデータ、ユーザの趣味のデータ、嗜好のデータ)を用いる構成とした場合、プライバシー保護のため、ユーザデータに含まれる個人情報を匿名化する匿名化用プログラム(データの価値を限定するプログラム)を指定するプログラムID78をDKP71に含ませ、DKP71が含むプログラムID78が指定する匿名化用プログラムでユーザデータを処理するようにしてもよい。
個人情報を匿名化した処理済みデータを提供する場合、提供された処理済みデータから個人情報が漏洩する可能性があるが、データやプログラムの提供者が明確であるため、個人情報の漏洩の責任の所在を明確化できる。また、第三者機関が匿名化プログラムを認可する構成とすることで、従来曖昧であった、匿名化の基準を明確化することができる。
(2) Also, for example, when the voice assistant voice data is used as the processing target data, anonymization program for anonymizing personal information included in the voice data (the value of the data is set for privacy protection). A program ID 78 specifying a program to be limited may be included in the DKP 71, and the voice data may be processed by the anonymization program specified by the program ID 78 included in the DKP 71. In addition, for example, in the case of using SNS user data (for example, profile data, user hobby data, preference data) as processing target data, personal information included in the user data for privacy protection The program ID 78 for specifying the anonymization program (the program for limiting the value of data) for anonymizing is included in the DKP 71, and the user data is processed by the program for anonymization specified by the program ID 78 included in the DKP 71. Good.
When providing processed data with anonymized personal information, there is a possibility that personal information may be leaked from the provided processed data. Can be clarified. In addition, by adopting a configuration in which a third-party organization authorizes the anonymization program, it is possible to clarify the anonymization standard that has been vague in the past.

(3)また、例えば、処理対象のデータとして、自動車で収集される位置情報やセンサ情報等の多数の情報を含む自動車データを用いる構成とした場合、自動車データに含まれる一部の情報のみを抽出する情報抽出プログラム(データの価値を限定するプログラム)を指定するプログラムID78をDKP71に含ませて、DKP71が含むプログラムID78が指定する情報抽出プログラムで自動車データを処理するようにしてもよい。
(4)さらに、本発明の実施形態に係るデータ提供システム1では、プログラムを用いて、映画レビューデータから処理済み映画レビューデータを生成する例、つまり元のデータの加工データを生成する例を示したが、他の構成を採用することもできる。例えば、元のデータを加工せず、元のデータを閲覧可能なアプリケーションを生成する構成としてもよい。
(3) In addition, for example, in the case of using automobile data including a lot of information such as position information and sensor information collected by a car as data to be processed, only a part of information included in the car data is used. A program ID 78 that specifies an information extraction program to be extracted (a program that limits the value of data) may be included in the DKP 71, and the vehicle data may be processed by the information extraction program specified by the program ID 78 included in the DKP 71.
(4) Furthermore, in the data providing system 1 according to the embodiment of the present invention, an example of generating processed movie review data from movie review data using a program, that is, an example of generating processed data of original data is shown. However, other configurations can be employed. For example, it is good also as a structure which produces | generates the application which can browse original data, without processing original data.

(5)また、本発明の実施形態に係るデータ提供システム1では、データ記憶部30に暗号化されたデータ61を記憶させる例を示したが、他の構成を採用することもできる。例えば、暗号化されていないデータを記憶させる構成としてもよい。暗号化されていないデータを記憶させる場合、DKP71からデータ復号鍵77を除いたファイルを用いてもよい。
さらに、プログラム記憶部31に暗号化されたプログラム82を記憶させる例を示したが、他の構成を採用することもできる。例えば、暗号化されていないプログラムを記憶させる構成としてもよい。暗号化されていないプログラムを記憶させる場合、PKP92に代えて、PKP92からプログラム復号鍵98を除いたファイルを用いてもよい。
(5) In the data providing system 1 according to the embodiment of the present invention, the example in which the encrypted data 61 is stored in the data storage unit 30 has been shown, but other configurations may be employed. For example, it may be configured to store unencrypted data. When storing unencrypted data, a file obtained by removing the data decryption key 77 from the DKP 71 may be used.
Furthermore, although the example which memorize | stores the encrypted program 82 in the program memory | storage part 31 was shown, another structure can also be employ | adopted. For example, an unencrypted program may be stored. When storing an unencrypted program, a file obtained by removing the program decryption key 98 from the PKP 92 may be used instead of the PKP 92.

(6)また、本発明の実施形態に係るデータ提供システム1では、データ提供者のデータ提供者端末2が、利用者端末4のホスト名と公開鍵証明書とをDKP71に付加することで、処理済みデータの提供先となるデータ利用者を指定する例を示したが、他の構成を採用することもできる。例えば、プログラム提供者のプログラム提供者端末3がデータ利用者を指定する構成としてもよいし、データ提供者のデータ提供者端末2とプログラム提供者のプログラム提供者端末3との両方がデータ利用者を指定する構成としてもよい。 (6) Further, in the data providing system 1 according to the embodiment of the present invention, the data provider terminal 2 of the data provider adds the host name of the user terminal 4 and the public key certificate to the DKP 71. Although an example of designating a data user as a destination of processed data has been shown, other configurations can be adopted. For example, the program provider terminal 3 of the program provider may be configured to designate a data user, or both the data provider terminal 2 of the data provider and the program provider terminal 3 of the program provider are data users. It is good also as a structure which designates.

例えば、プログラム提供者がデータ利用者を指定する場合には、データ利用者のデータ提供者端末2が、プログラム提供者のプログラム提供者端末3に実行リクエストを送信するとともに、この実行リクエストに自身(データ提供者端末2)の公開鍵証明書を付加する。そして、プログラム提供者のプログラム提供者端末3は、利用者端末4のホスト名と公開鍵証明書とをPKP92に付加してデータ処理装置5に送信する。データ処理装置5は、処理対象のデータに処理を行い、処理済みデータを共通鍵で暗号化した後、暗号化に用いた共通鍵を、PKP92に付加されている利用者端末4の公開鍵証明書の公開鍵で暗号化する。そして、データ処理装置5は、暗号化した処理済みデータに暗号化した共通鍵を付加して、PKP92に付加されているホスト名の利用者端末4に送信する。   For example, when the program provider designates a data user, the data provider terminal 2 of the data user transmits an execution request to the program provider terminal 3 of the program provider, and the execution request itself ( The public key certificate of the data provider terminal 2) is added. Then, the program provider terminal 3 of the program provider adds the host name of the user terminal 4 and the public key certificate to the PKP 92 and transmits it to the data processing device 5. The data processing device 5 processes the data to be processed, encrypts the processed data with the common key, and then uses the common key used for the encryption to verify the public key of the user terminal 4 attached to the PKP 92. Encrypt with the public key of the certificate. Then, the data processing device 5 adds the encrypted common key to the encrypted processed data, and transmits it to the user terminal 4 having the host name added to the PKP 92.

一方、データ提供者とプログラム提供者との両方がデータ利用者を指定する場合には、データ利用者のデータ利用者端末4が、データ提供者のデータ提供者端末2とプログラム提供者のプログラム提供者端末3との両方に実行リクエストを送信するとともに、この実行リクエストに自身(データ提供者端末2)の公開鍵証明書を送付する。そして、データ提供者のデータ提供者端末2とプログラム提供者のプログラム提供者端末3とは、利用者端末4のホスト名と公開鍵証明書とのそれぞれをDKP71、PKP92に付加してデータ処理装置5に送信する。データ処理装置5は、処理対象のデータに処理を行い、処理済みデータを共通鍵で暗号化した後、DKP71に付加されている利用者端末4の公開鍵証明書と、PKPに付加されている利用者端末4の公開鍵証明書とが一致するか否かを判定する。一致すると判定した場合、DKP71、PKP92のどちらかに付加されている利用者端末4の公開鍵証明書の公開鍵で、処理済みデータの暗号化に用いた共通鍵を暗号化する。そして、データ処理装置5は、暗号化した処理済みデータに暗号化した共通鍵を付加して、DKP71、PKP92に付加されているホスト名の利用者端末4に送信する。   On the other hand, when both the data provider and the program provider specify a data user, the data user terminal 4 of the data user provides the data provider terminal 2 of the data provider and the program provider of the program provider. An execution request is transmitted to both the user terminal 3 and the public key certificate of itself (data provider terminal 2) is sent to the execution request. The data provider terminal 2 of the data provider and the program provider terminal 3 of the program provider add the host name and the public key certificate of the user terminal 4 to the DKP 71 and the PKP 92, respectively, and the data processing device Send to 5. The data processing device 5 processes the data to be processed, encrypts the processed data with a common key, and then adds the public key certificate of the user terminal 4 attached to the DKP 71 and the PKP. It is determined whether or not the public key certificate of the user terminal 4 matches. If it is determined that they match, the common key used to encrypt the processed data is encrypted with the public key of the public key certificate of the user terminal 4 added to either the DKP 71 or the PKP 92. Then, the data processing device 5 adds the encrypted common key to the encrypted processed data, and transmits it to the user terminal 4 having the host name added to the DKP 71 and PKP 92.

(7)また、本発明の実施形態に係るデータ提供システム1では、データのファイルサイズが大きくなると、ファイルサイズに応じてデータ処理装置5での処理時間が線形に増加してしまう。ファイルサイズに依存して処理時間が長くなる処理としては、例えば、データパッケージ60のXMLファイル「*hash.xml」64が含むハッシュ値65の検証、暗号化されたデータ61の復号、データ105からの処理済みデータの生成が挙げられる。
この問題を解決するために、例えば、データパッケージ60のXMLファイル「*hash.xml」64が含むハッシュ値65の検証、暗号化されたデータ61の復号、データ105からの処理済みデータの生成の3つの処理をデータ処理装置5内で分散処理する手法を用いるようにしてもよい。つまり、処理対象のデータを複数のブロックに分割し、分割したブロックそれぞれを互いに異なるスレッドで処理し、最後に処理結果を結合する手法である。例えば、1[GB]のデータを処理する際に、データを100[MB]単位で10個に分割し、分割したデータそれぞれを同時に互いに異なるスレッドで処理し、最後に各処理結果を順番に結合して、処理済みデータを生成する。このようにすれば、1[GB]のデータを直接処理するよりも短い時間で、処理済みデータを得ることができる。
(7) In the data providing system 1 according to the embodiment of the present invention, when the data file size increases, the processing time in the data processing device 5 increases linearly according to the file size. Examples of processing that increases the processing time depending on the file size include verification of the hash value 65 included in the XML file “* hash.xml” 64 of the data package 60, decryption of the encrypted data 61, Generation of processed data.
In order to solve this problem, for example, verification of the hash value 65 included in the XML file “* hash.xml” 64 of the data package 60, decryption of the encrypted data 61, and generation of processed data from the data 105 are performed. A method of performing distributed processing of the three processes in the data processing device 5 may be used. In other words, this is a technique in which data to be processed is divided into a plurality of blocks, the divided blocks are processed by different threads, and the processing results are finally combined. For example, when processing 1 [GB] data, the data is divided into 10 units in units of 100 [MB], each of the divided data is simultaneously processed by different threads, and finally the processing results are combined in order. Then, processed data is generated. In this way, processed data can be obtained in a shorter time than directly processing 1 [GB] data.

この手法の応用例として、ビッグデータのようなファイルサイズの大きいデータから必要な部分だけを抽出して処理することで、処理時間の短縮という効果が期待される。一般に、データ(ファイル)を利用する際には、利用する場所に局所性が生じる。つまり、対象データを1つの巨大なバイト列と考えたときに、利用する場所はバイト列の中の近い部分に集中することが多い。それゆえ、巨大なデータを全て復号するのではなく、必要な部分だけを復号し、複合した部分のみに処理を行うことで、処理時間の短縮を実現できる。   As an application example of this method, the processing time can be expected to be shortened by extracting and processing only necessary portions from data having a large file size such as big data. Generally, when data (file) is used, locality is generated at the place where the data is used. In other words, when the target data is considered as one huge byte string, the places to be used are often concentrated in a close part of the byte string. Therefore, it is possible to realize a reduction in processing time by not decoding all huge data but decoding only necessary portions and processing only the combined portions.

1…データ提供システム、2…データ提供者端末、3…プログラム提供者端末、4…利用者端末、5…データ処理装置(アクティベーションサーバ)、6…通信網、7…通信部、8…プロセッサ、9…データパッケージ生成部、10…データパッケージ送信部、11…リクエスト受信部、12…DKP生成部、13…DKP送信部、14…リクエスト送信部、15…通信部、16…プロセッサ、17…プログラムパッケージ生成部、18…プログラムパッケージ送信部、19…リクエスト受信部、20…PKP生成部、21…PKP送信部、22…通信部、23…プロセッサ、24…リクエスト送信部、25…処理済みデータ受信部、26…処理済みデータ復号部、27…通信部、28…記憶装置、29…プロセッサ、30…データ記憶部、31…プログラム記憶部、32…ストレージ、33…データパッケージ受信部、34…プログラムパッケージ受信部、35…ファイル受信部、36…データ処理部、37…データパッケージ登録判定部、38…プログラムパッケージ登録判定部、39…PKP記憶状態判定部、40…DKP記憶状態判定部、41…対応検証部、42…DKP検証部、43…PKP検証部、44…データ・プログラム検証部、45…データ復号鍵復号部、46…プログラム復号鍵復号部、47…データ復号部、48…プログラム復号部、49…処理実行部、50…処理済みデータ暗号化部、51…復号データ消去部、52…処理済みデータ送信部、60…データパッケージ、61…暗号化されたデータ、62…ASSETMAP.xml、63…*info.xml、64…*hash.xml、65…ハッシュ値、66…デジタル署名、67…公開鍵証明書、68、69、70…データID、71…DKP、72…DKPのUUID、73…DKPの発行日時、74…DKPの有効期限、75…対応するデータのデータID、76…対応するデータのファイル名、77…暗号化されたデータ復号鍵、78…相手プログラムのプログラムID、79…デジタル署名、80…公開鍵証明書、81…プログラムパッケージ、82…暗号化されたプログラム、83…ASSETMAP.xml、84…*info.xml、85…*hash.xml、86…ハッシュ値、87…デジタル署名、88…公開鍵証明書、89、90、91…プログラムID、92…PKP、93PKPのUUID、94…PKPの発行日時、95…PKPの有効期限、96…対応するプログラムのプログラムID、97…対応するプログラムのファイル名、98…暗号化されたプログラム復号鍵、99…相手データのデータID、100…デジタル署名、101…公開鍵証明書、102…秘密鍵、103…データ復号鍵、104…プログラム復号鍵、105…データ、106…プログラム   DESCRIPTION OF SYMBOLS 1 ... Data provision system, 2 ... Data provider terminal, 3 ... Program provider terminal, 4 ... User terminal, 5 ... Data processing apparatus (activation server), 6 ... Communication network, 7 ... Communication part, 8 ... Processor , 9 ... Data package generation unit, 10 ... Data package transmission unit, 11 ... Request reception unit, 12 ... DKP generation unit, 13 ... DKP transmission unit, 14 ... Request transmission unit, 15 ... Communication unit, 16 ... Processor, 17 ... Program package generation unit, 18 ... program package transmission unit, 19 ... request reception unit, 20 ... PKP generation unit, 21 ... PKP transmission unit, 22 ... communication unit, 23 ... processor, 24 ... request transmission unit, 25 ... processed data Receiving unit, 26 ... processed data decoding unit, 27 ... communication unit, 28 ... storage device, 29 ... processor, 30 ... data storage unit, DESCRIPTION OF SYMBOLS 1 ... Program memory | storage part, 32 ... Storage, 33 ... Data package receiving part, 34 ... Program package receiving part, 35 ... File receiving part, 36 ... Data processing part, 37 ... Data package registration determination part, 38 ... Program package registration determination 39 ... PKP storage state determination unit, 40 ... DKP storage state determination unit, 41 ... corresponding verification unit, 42 ... DKP verification unit, 43 ... PKP verification unit, 44 ... data / program verification unit, 45 ... data decryption key decryption , 46 ... Program decryption key decryption unit, 47 ... Data decryption unit, 48 ... Program decryption unit, 49 ... Process execution unit, 50 ... Processed data encryption unit, 51 ... Decrypted data erasure unit, 52 ... Processed data transmission Part 60 ... data package 61 ... encrypted data 62 ... ASSETMAP.xml 63 ... * info.xml 64 ... * hash.xml 65 ... 65 ... Digital signature, 67 ... Public key certificate, 68, 69, 70 ... Data ID, 71 ... DKP, 72 ... UUID of DKP, 73 ... Date and time of issue of DKP, 74 ... Expiration date of DKP, 75 ... Data ID of corresponding data, 76 ... File name of corresponding data, 77 ... Encrypted data decryption key, 78 ... Program ID of partner program, 79 ... Digital signature, 80 ... Public key certificate, 81 ... Program package , 82 ... encrypted program, 83 ... ASSETMAP.xml, 84 ... * info.xml, 85 ... * hash.xml, 86 ... hash value, 87 ... digital signature, 88 ... public key certificate, 89, 90, 91 ... Program ID, 92 ... PKP, 93PKP UUID, 94 ... PKP issue date, 95 ... PKP expiration date, 96 ... Program ID of the corresponding program, 9 7 ... File name of corresponding program, 98 ... Encrypted program decryption key, 99 ... Data ID of partner data, 100 ... Digital signature, 101 ... Public key certificate, 102 ... Private key, 103 ... Data decryption key, 104 ... Program decryption key, 105 ... Data, 106 ... Program

Claims (17)

複数のデータを記憶しているデータ記憶部と、
複数のプログラムを記憶しているプログラム記憶部と、
前記データ記憶部が記憶しているデータのうちの処理対象のデータを提供したデータ提供者側から、前記プログラム記憶部が記憶しているプログラムのうちの、前記処理対象のデータの処理用のプログラムを指定する第1のファイルを受信するファイル受信部と、
前記処理対象のデータを、前記ファイル受信部で受信した前記第1のファイルが指定するプログラムで処理するデータ処理部と、を備えることを特徴とするデータ処理装置。
A data storage unit storing a plurality of data;
A program storage unit storing a plurality of programs;
A program for processing the data to be processed among the programs stored in the program storage unit from the data provider side that provided the data to be processed among the data stored in the data storage unit A file receiving unit for receiving a first file designating
A data processing apparatus comprising: a data processing unit that processes the data to be processed by a program specified by the first file received by the file receiving unit.
前記第1のファイルは、前記処理対象のデータを指定するデータIDと、前記処理対象のデータを処理用のプログラムを指定するプログラムIDとを含み、
前記データ処理部は、前記データ記憶部が記憶しているデータのうちの、前記第1のファイルが含むデータIDが指定するデータを、前記プログラム記憶部が記憶しているプログラムのうちの、前記第1のファイルが含むプログラムIDが指定するプログラムで処理することを特徴とする請求項1に記載のデータ処理装置。
The first file includes a data ID that specifies the data to be processed, and a program ID that specifies a program for processing the data to be processed.
The data processing unit includes, among the data stored in the data storage unit, the data specified by the data ID included in the first file, of the program stored in the program storage unit, 2. The data processing apparatus according to claim 1, wherein the processing is performed by a program specified by a program ID included in the first file.
前記複数のデータそれぞれは、データ暗号化鍵で暗号化されており、
前記第1のファイルは、暗号化されたデータを復号可能なデータ復号鍵を含み、
前記データ処理部は、前記ファイル受信部で受信した前記第1のファイルが含むデータIDが指定するデータを、前記第1のファイルが含む前記データ復号鍵で復号するデータ復号部を備えたことを特徴とする請求項1または2に記載のデータ処理装置。
Each of the plurality of data is encrypted with a data encryption key,
The first file includes a data decryption key capable of decrypting encrypted data;
The data processing unit includes a data decryption unit that decrypts data specified by a data ID included in the first file received by the file reception unit with the data decryption key included in the first file. The data processing apparatus according to claim 1 or 2, characterized in that
前記データ暗号化鍵及び前記データ復号鍵は、データ提供者の共通鍵であることを特徴とする請求項3に記載のデータ処理装置。   The data processing apparatus according to claim 3, wherein the data encryption key and the data decryption key are a common key of a data provider. 前記データ復号鍵は、前記データ処理装置の公開鍵で暗号化されており、
前記データ処理部は、前記データ復号鍵を前記公開鍵に対応する秘密鍵で復号するデータ復号鍵復号部を備えたことを特徴とする請求項3または4に記載のデータ処理装置。
The data decryption key is encrypted with the public key of the data processing device,
5. The data processing apparatus according to claim 3, wherein the data processing unit includes a data decryption key decryption unit that decrypts the data decryption key with a secret key corresponding to the public key.
前記ファイル受信部は、処理用のプログラムを指定するプログラムIDと、前記プログラムで処理するデータを指定するデータIDとを含む第2のファイルをプログラム提供者側から受信し、
前記データ処理部は、
前記第1のファイルが含むデータIDと、前記第2のファイルが含むデータIDとが互いに同一であり、且つ前記第1のファイルが含むプログラムIDと前記第2のファイルが含むプログラムIDとが互いに同一であるかを判定する対応検証部と、
前記対応検証部でデータIDが互いに同一であり、且つプログラムIDが互いに同一であると判定した場合には、前記互いに同一であると判定したデータIDが指定するデータを前記互いに同一であると判定したプログラムIDが指定するプログラムで処理する処理実行部と、を備えたことを特徴とする請求項2から5のいずれか1項に記載のデータ処理装置。
The file receiving unit receives a second file including a program ID for designating a processing program and a data ID for designating data to be processed by the program from the program provider side,
The data processing unit
The data ID included in the first file and the data ID included in the second file are the same, and the program ID included in the first file and the program ID included in the second file are mutually A correspondence verification unit that determines whether or not they are the same;
When the correspondence verification unit determines that the data IDs are the same and the program IDs are the same, the data specified by the data IDs determined to be the same are determined to be the same. The data processing apparatus according to claim 2, further comprising: a processing execution unit that performs processing using a program specified by the program ID.
前記複数のプログラムそれぞれは、プログラム暗号化鍵で暗号化されており、
前記第2のファイルは、暗号化されたプログラムを復号可能なプログラム復号鍵を含み、
前記データ処理部は、前記第2のファイルが含むプログラムIDが指定するプログラムを、前記第2のファイルが含むプログラム復号鍵で復号するプログラム復号部を備えたことを特徴とする請求項6に記載のデータ処理装置。
Each of the plurality of programs is encrypted with a program encryption key,
The second file includes a program decryption key capable of decrypting an encrypted program,
The said data processing part is provided with the program decoding part which decodes the program which the program ID which the said 2nd file contains specifies with the program decryption key which the said 2nd file contains. Data processing equipment.
前記プログラム暗号化鍵及び前記プログラム復号鍵は、プログラム提供者の共通鍵であることを特徴とする請求項7に記載のデータ処理装置。   The data processing apparatus according to claim 7, wherein the program encryption key and the program decryption key are a common key of a program provider. 前記プログラム復号鍵は、前記データ処理装置の公開鍵で暗号化されており、
前記データ処理部は、前記プログラム復号鍵を前記公開鍵に対応する秘密鍵で復号するプログラム復号鍵復号部を備えたことを特徴とする請求項7または8に記載のデータ処理装置。
The program decryption key is encrypted with the public key of the data processing device,
9. The data processing apparatus according to claim 7, wherein the data processing unit includes a program decryption key decryption unit that decrypts the program decryption key with a secret key corresponding to the public key.
前記データ記憶部は、前記複数のデータそれぞれを暗号化して記憶しており、
前記第1のファイルは、暗号化されたデータを復号可能なデータ復号鍵を含み、
前記データ処理部は、前記データ記憶部が記憶しているデータのうち、前記ファイル受信部で受信した前記第1のファイルが含むデータIDが指定するデータを、前記第1のファイルが含む前記データ復号鍵で復号するデータ復号部を備え、
前記データ復号部で復号した前記データ及び前記プログラム復号部で復号した前記プログラムを記憶する復号データ記憶部と、
前記データ処理部でデータの処理を終えた後に、前記復号データ記憶部から復号した前記データ及び前記プログラムを消去する復号データ消去部と、を更に備えたことを特徴とする請求項7から9のいずれか1項に記載のデータ処理装置。
The data storage unit encrypts and stores each of the plurality of data,
The first file includes a data decryption key capable of decrypting encrypted data;
The data processing unit includes, among the data stored in the data storage unit, the data specified by the data ID included in the first file received by the file receiving unit, the data included in the first file. A data decryption unit for decrypting with a decryption key;
A decoded data storage unit for storing the data decoded by the data decoding unit and the program decoded by the program decoding unit;
The decoded data erasing unit for erasing the data and the program decoded from the decoded data storage unit after the data processing unit finishes processing the data, further comprising: The data processing device according to any one of claims.
複数のデータを記憶しているデータ記憶部と、
複数のプログラムを記憶しているプログラム記憶部と、
前記プログラム記憶部が記憶しているプログラムのうちの処理用のプログラムを提供したプログラム提供者側から、前記データ記憶部が記憶しているデータのうちの、前記処理用のプログラムで処理するデータを指定する第2のファイルを受信するファイル受信部と、
前記処理用のプログラムで、前記ファイル受信部で受信した前記第2のファイルが指定するデータを処理するデータ処理部と、を備えることを特徴とするデータ処理装置。
A data storage unit storing a plurality of data;
A program storage unit storing a plurality of programs;
Data to be processed by the processing program out of the data stored in the data storage unit from the program provider side that provided the processing program among the programs stored in the program storage unit A file receiver for receiving a second file to be designated;
A data processing apparatus comprising: a data processing unit that processes data specified by the second file received by the file receiving unit with the processing program.
前記プログラムは、データの潜在的価値を顕在化するプログラム、又はデータの価値を限定するプログラムであることを特徴とする請求項1から11のいずれか1項に記載のデータ処理装置。   The data processing apparatus according to any one of claims 1 to 11, wherein the program is a program that reveals the potential value of data or a program that limits the value of data. 前記データ処理部で行われた処理の処理結果である処理済みデータを、共通鍵で暗号化し、その共通鍵を、前記処理済みデータの提供を要求する利用者端末の公開鍵で暗号化する処理済みデータ暗号化部を更に備えたことを特徴とする請求項1から12のいずれか1項に記載のデータ処理装置。   Processing for encrypting processed data, which is a processing result of processing performed in the data processing unit, with a common key, and encrypting the common key with a public key of a user terminal that requests provision of the processed data The data processing apparatus according to claim 1, further comprising a completed data encryption unit. 複数のデータを記憶しているデータ記憶部が記憶するデータのうちの処理対象のデータを提供したデータ提供者側から、複数のプログラムを記憶しているプログラム記憶部が記憶するプログラムのうちの、前記処理対象のデータの処理用のプログラムを指定する第1のファイルをプロセッサが受信するステップと、
前記プロセッサのデータ処理部が、前記処理対象のデータを、受信した前記第1のファイルが指定するプログラムで処理するステップとを含むことを特徴とするデータ処理方法。
From the data provider side that provided the data to be processed among the data stored in the data storage unit storing a plurality of data, among the programs stored in the program storage unit storing a plurality of programs, A processor receiving a first file designating a program for processing the data to be processed;
A data processing method comprising: a data processing unit of the processor processing the data to be processed with a program specified by the received first file.
複数のプログラムを記憶しているプログラム記憶部が記憶するプログラムのうちの処理用のプログラムを提供したプログラム提供者側から、複数のデータを記憶しているデータ記憶部が記憶するデータのうちの、前記処理用のプログラムで処理するデータを指定する第2のファイルをプロセッサが受信するステップと、
前記プロセッサのデータ処理部が、前記処理用のプログラムで、受信した前記第2のファイルが指定するデータを処理するステップとを含むことを特徴とするデータ処理方法。
Of the data stored in the data storage unit storing a plurality of data, from the program provider side that provided the processing program among the programs stored in the program storage unit storing a plurality of programs, A processor receiving a second file designating data to be processed by the processing program;
A data processing method comprising: a data processing unit of the processor processing data specified by the received second file with the processing program.
複数のデータを記憶しているデータ記憶部が記憶するデータのうちの処理対象のデータを提供したデータ提供者側から、複数のプログラムを記憶しているプログラム記憶部が記憶するプログラムのうちの、前記処理対象のデータの処理用のプログラムを指定する第1のファイルをプロセッサに受信させる命令と、
前記プロセッサのデータ処理部に、前記処理対象のデータを、受信した前記第1のファイルで指定するプログラムで処理させる命令と、を含む一連の処理を、前記プロセッサを備えたデータ処理装置に実行させることを特徴とするデータ処理用プログラム。
From the data provider side that provided the data to be processed among the data stored in the data storage unit storing a plurality of data, among the programs stored in the program storage unit storing a plurality of programs, An instruction that causes a processor to receive a first file that specifies a program for processing the data to be processed;
Causing the data processing unit of the processor to execute a series of processing including an instruction for causing the data processing unit of the processor to process the data to be processed by the program specified by the received first file. A data processing program characterized by that.
複数のプログラムを記憶しているプログラム記憶部が記憶するプログラムのうちの処理用のプログラムを提供したプログラム提供者側から、複数のデータを記憶しているデータ記憶部が記憶するデータのうちの、前記処理用のプログラムで処理するデータを指定する第2のファイルをプロセッサに受信させる命令と、
前記プロセッサのデータ処理部に、前記処理用のプログラムで、受信した前記第2のファイルで指定するデータを処理させる命令と、を含む一連の処理を、前記プロセッサを備えたデータ処理装置に実行させることを特徴とするデータ処理用プログラム。
Of the data stored in the data storage unit storing a plurality of data, from the program provider side that provided the processing program among the programs stored in the program storage unit storing a plurality of programs, An instruction for causing a processor to receive a second file designating data to be processed by the processing program;
Causing the data processing unit of the processor to execute a series of processing including an instruction to cause the data processing unit of the processor to process the data specified by the received second file with the processing program. A data processing program characterized by that.
JP2017168595A 2017-09-01 2017-09-01 Data processing unit, data processing method and program for data processing Pending JP2019047334A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017168595A JP2019047334A (en) 2017-09-01 2017-09-01 Data processing unit, data processing method and program for data processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017168595A JP2019047334A (en) 2017-09-01 2017-09-01 Data processing unit, data processing method and program for data processing

Publications (1)

Publication Number Publication Date
JP2019047334A true JP2019047334A (en) 2019-03-22

Family

ID=65814764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017168595A Pending JP2019047334A (en) 2017-09-01 2017-09-01 Data processing unit, data processing method and program for data processing

Country Status (1)

Country Link
JP (1) JP2019047334A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020528224A (en) * 2019-04-26 2020-09-17 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Secure execution of smart contract operations in a reliable execution environment
JP2021103588A (en) * 2020-09-21 2021-07-15 北京百度網訊科技有限公司 Federal calculation method, federal calculation apparatus, federal calculation device, storage medium, and program
WO2022210383A1 (en) * 2021-03-27 2022-10-06 セーラ・ネットワークス株式会社 Information provision system, information provision method, and information provision program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
荻谷 凌,他: "デジタルオブジェクトの用途を限定した使用を可能にするActivation Serverの設計と実装", 電子情報通信学会技術研究報告, vol. 117, no. 204, JPN6021031139, 31 August 2017 (2017-08-31), pages 49 - 54, ISSN: 0004570910 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020528224A (en) * 2019-04-26 2020-09-17 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited Secure execution of smart contract operations in a reliable execution environment
JP2021103588A (en) * 2020-09-21 2021-07-15 北京百度網訊科技有限公司 Federal calculation method, federal calculation apparatus, federal calculation device, storage medium, and program
WO2022210383A1 (en) * 2021-03-27 2022-10-06 セーラ・ネットワークス株式会社 Information provision system, information provision method, and information provision program
JP2022151397A (en) * 2021-03-27 2022-10-07 セーラ・ネットワークス株式会社 Information providing system, information providing method, and information providing program
JP7205793B2 (en) 2021-03-27 2023-01-17 セーラ・ネットワークス株式会社 Information provision system, information provision method and information provision program
JP7477907B2 (en) 2021-03-27 2024-05-02 セーラ・ネットワークス株式会社 Information provision system, information provision method, and information provision program

Similar Documents

Publication Publication Date Title
JP6941146B2 (en) Data security service
US8874929B2 (en) Cross domain discovery
US9070112B2 (en) Method and system for securing documents on a remote shared storage resource
US9805350B2 (en) System and method for providing access of digital contents to offline DRM users
KR101371608B1 (en) Database Management System and Encrypting Method thereof
JP2018170802A (en) Multiple authority data security and access
JP5749236B2 (en) Key change management device and key change management method
JP2015181010A (en) System and method for protecting user privacy in multimedia uploaded to internet sites
CN105027130A (en) Delayed data access
CN105122265A (en) Data security service system
WO2019083379A1 (en) Data transmission
CN1851604A (en) Digital copyright protection system and method
CN111193755B (en) Data access method, data encryption method and data encryption and access system
JP5452192B2 (en) Access control system, access control method and program
JP2019047334A (en) Data processing unit, data processing method and program for data processing
US10740478B2 (en) Performing an operation on a data storage
KR102131976B1 (en) User terminal apparatus and method for providing personal information thereby
CN108494724B (en) Cloud storage encryption system based on multi-authority attribute encryption algorithm
US10726104B2 (en) Secure document management
JP5494171B2 (en) File management system, storage server, client, file management method and program
Katre et al. Trusted third party for data security in cloud environment
KR20170053459A (en) Encryption and decryption method for protecting information
KR20070114124A (en) Method for protection of a digital rights file
TWI436628B (en) Application software and distribute protection method and system for communication device platform of action
CN112187777A (en) Intelligent traffic sensing data encryption method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190401

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220301