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 PDFInfo
- 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
Links
Images
Abstract
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.
本発明は、上記のような課題に着目したもので、データの効率的な利活用を可能としつつ、データがデータ提供者の意図しない用途に使われること、又はデータ処理用のプログラムがブログラム提供者の意図しない用途に使われることを防止可能なデータ処理装置、データ処理方法及びデータ処理用プログラムを提供することを目的とする。 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.
以下、本発明の実施形態に係るデータ処理装置、データ処理方法及びデータ処理用プログラムについて、実施形態に係るデータ処理装置が構成するデータ提供システムの全体について統括的に、図面を参照しつつ説明する。すなわち、後述するように、本発明の実施形態に係るデータ処理装置は、データを共有するとともに、共有しているデータをプログラムで処理した処理結果(以下「処理済みデータ」とも呼ぶ)をデータ利用者に提供するデータ提供システムを構成する。ここで、データとしては、例えば、ビッグデータ等の潜在的価値を有するデータ、音声アシスタントの音声データや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 “
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
プロセッサ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
データパッケージ受信部33は、図1に示したデータ提供者端末2から図4に示したデータパッケージ60が送信されると、通信部27を介して、送信されたデータパッケージ60を受信してデータ記憶部30に記憶させる。そして、データパッケージ60の受信・記憶を繰り返すことで、データ提供者から提供される複数のデータをデータ記憶部30に記憶させる。その結果、データ処理装置5でデータが共有される。また、プログラムパッケージ受信部34は、図1に示したプログラム提供者端末3から図7に示したプログラムパッケージ81が送信されると、通信部27を介して、プログラムパッケージ81を受信してプログラム記憶部31に記憶させる。そして、プログラムパッケージ81の受信・記憶を繰り返すことで、プログラム提供者から提供される、データ記憶部30が記憶している複数のデータを処理可能な複数のプログラムをプログラム記憶部31に記憶させる。
When the
(データ提供者端末)
本発明の実施形態に係るデータ提供システム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
図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
また、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
図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
In the data providing system 1 according to the embodiment of the present invention, the
図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
図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
また、対応するデータのデータID75としては、例えば、処理対象のデータを指定するデータIDを用いることができる。さらに、暗号化されたデータ復号鍵77としては、例えば、データ処理装置5の公開鍵で暗号化されたデータ復号鍵を用いることができる。データ復号鍵を暗号化することで、データ復号鍵の盗聴を防止できる。また、データ処理装置5の公開鍵を用いることで、公開鍵に対応する秘密鍵を有するデータ処理装置5でのみデータを復号でき、不正なサーバ等でデータが処理されることを防止できる。データ復号鍵としては、暗号化されたデータ61を復号可能な鍵であればよく、例えば、データ提供者の共通鍵を採用できる。また、相手プログラムのプログラムID78としては、例えば、処理対象のデータの処理用のプログラムを指定するプログラムIDを用いることができる。プログラムIDとしては、例えば、UUIDを採用できる。UUIDを用いることで、例えば、すべてのプログラムIDを管理し、他のプログラムIDと異なるプログラムIDを設定する方法と異なり、プログラムIDの設定の手間を軽減することができる。また、処理用のプログラム(相手プログラム)としては、例えば、データ処理装置5(プログラム記憶部31)が記憶している複数のプログラムのいずれかを用いることができる。
As the
図3に示したDKP送信部13は、図3に示した通信部7を介して、DKP生成部12で生成したDKP71、つまり処理対象のデータを指定するデータID75、処理対象のデータの処理用のプログラムを指定するプログラムID78、暗号化されたデータ復号鍵77を含むファイルをデータ処理装置5に送信する。すなわち、図1に示したデータ記憶部30が記憶しているデータのうちの処理対象のデータを提供したデータ提供者側から、プログラム記憶部31が記憶しているプログラムのうちの、処理対象のデータの処理用のプログラムを指定するDKP71をデータ処理装置5に送信する。DKP71には、実行結果リクエストに付加されていた利用者端末4のホスト名と公開鍵証明書とを付加する。
The
図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
(プログラム提供者端末)
本発明の実施形態に係るデータ提供システム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
図6に示したプログラムパッケージ生成部17は、プログラム提供者からデータ処理装置5に提供されるプログラム、つまりデータ処理装置5(データ記憶部30)が記憶している複数のデータを処理可能な複数のプログラムを含むプログラムパッケージ81を生成する。プログラムパッケージ81は、図7に示すように暗号化されたプログラム82、複数のXMLファイル「ASSETMAP.xml」83、「*info.xml」84、「*hash.xml」85を含んでいる。暗号化されたプログラム82としては、例えば、プログラム提供者の共通鍵等のプログラム暗号化鍵で暗号化されたプログラム82を用いることができる。プログラムを暗号化することで、プログラムの盗聴を防止でき、プログラムの機密性を確保できる。
The program
また、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
図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
In the data providing system 1 according to the embodiment of the present invention, the
図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
When the
また、対応するプログラムのプログラムID96としては、例えば、処理対象のデータの処理用のプログラムを指定するプログラムIDを用いることができる。さらに、暗号化されたプログラム復号鍵98としては、例えば、データ処理装置5の公開鍵で暗号化されたプログラム復号鍵を用いることができる。プログラム復号鍵を暗号化することで、プログラム復号鍵の盗聴を防止できる。また、データ処理装置5の公開鍵を用いることで、公開鍵に対応する秘密鍵を有するデータ処理装置5でのみプログラムを復号でき、不正なサーバ等でプログラムが使用されることを防止できる。プログラム復号鍵としては、暗号化されたプログラム82を復号可能な鍵であればよく、例えば、プログラム提供者の共通鍵を採用することができる。また、相手データのデータID99としては、例えば、処理用のプログラムで処理する処理対象のデータを指定するデータIDを用いることができる。また、処理対象データ(相手データ)としては、例えば、データ処理装置5(データ記憶部30)が記憶している複数のデータのいずれかを用いることができる。対応するプログラムのプログラムID96と相手データのデータID99の設定方法としては、PKPリクエストに付加されているプログラムIDとデータIDとを用いる方法を採用できる。
As the
図6に示したPKP送信部21は、図6に示した通信部15を介して、図6に示したPKP生成部20で生成したPKP、つまり、処理用のプログラムを指定するプログラムID、プログラムで処理するデータを指定するデータID及び暗号化されたプログラム復号鍵等を含むファイルを図1に示したデータ処理装置5に送信する。すなわち、図1に示したプログラム記憶部31が記憶しているプログラムのうちの処理用のプログラムを提供したプログラム提供者側から、データ記憶部30が記憶しているデータのうちの、処理用のプログラムで処理するデータを指定するPKP92をデータ処理装置5に送信する。
The
(利用者端末)
本発明の実施形態に係るデータ提供システム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
図9に示したリクエスト送信部24は、図9に示した通信部22を介して、実行結果リクエストを図1に示したデータ提供者端末2に送信する。実行結果リクエストには、利用者端末4、つまり、自端末装置のホスト名と公開鍵証明書とを付加する。
図9に示した処理済みデータ受信部25は、図1に示したデータ処理装置5から暗号化された処理済みデータが送信されると、図9に示した通信部22を介して、送信された暗号化された処理済みデータを受信する。なお、処理済みデータの暗号化には、任意の共通鍵が用いられている。また、暗号化された処理済みデータには、暗号化に用いられた共通鍵を、利用者端末4、つまり、自端末装置の公開鍵で暗号化したものが付加されている。
図9に示した処理済みデータ復号部26は、図9に示した処理済みデータ受信部25で受信した暗号化された処理済みデータに付加されている暗号化された共通鍵を、利用者端末4の公開鍵に対応する秘密鍵、つまり、自端末装置の公開鍵に対応する秘密鍵で復号する。続いて、復号した共通鍵で、暗号化された処理済みデータを復号して、暗号化が解除された処理済みデータを取得する。
The
The processed
The processed
(データ処理方法)
次に、本発明の実施形態に係るデータ処理装置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
In the processed data providing process, as shown in FIG. 10, first, in step S101, the
ステップ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
Subsequently, the process proceeds to step S103, and the
ステップ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
ステップ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
ステップ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
ステップ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
ステップ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
ステップS109では、図2に示したPKP検証部43が、対応PKP92をストレージ32から消去した後、ステップS110に移行する。
ステップS110では、図2に示したPKP検証部43が、受信DKP71をストレージ32に記憶させた後、ステップS101に戻る。
In step S109, the
In step S110, the
一方、ステップ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 /
また、例えば、対応プログラムパッケージ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
ステップ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
続いてステップ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
また、例えば、図2に示したプログラム復号部48が、プログラム記憶部31が記憶している複数のプログラムパッケージのうちの、対応プログラムパッケージ81が含む暗号化されたプログラム82をステップS112で復号したプログラム復号鍵104で復号し、復号したプログラム106を、ステップS106でバインドしたプログラムとしてストレージ32に記憶させる。復号したプログラム106をストレージ32に記憶させることで、ステップS106で互いに同一であると判定したプログラムID、つまり、受信DKP71が含む相手プログラムのプログラムID78または対応PKP92が含む対応するプログラムのプログラムID96が指定するプログラムをストレージ32に記憶させることができる。
Further, for example, the
続いてステップ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
その際、処理済みデータとしては、例えば、ストレージ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
続いてステップ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
Subsequently, the process proceeds to step S116, and the decrypted
Subsequently, the process proceeds to step S117, and the decrypted
Subsequently, the process proceeds to step S118, where the processed
また一方、ステップ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
ステップ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
ステップ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
ステップ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
ステップ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
ステップS124では、図2に示したDKP検証部42が、対応DKP71をストレージ32から消去した後、ステップS125に移行する。
ステップS125では、図2に示したDKP検証部42が、受信PKP92をストレージ32に記憶させた後、ステップS101に戻る。
In step S124, the
In step S125, the
一方、ステップ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 /
また、例えば、対応プログラムパッケージ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
ステップ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
続いてステップ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
また、例えば、図2に示したプログラム復号部48が、プログラム記憶部31が記憶している複数のプログラムパッケージのうちの、対応プログラムパッケージ81が含む暗号化されたプログラム82をステップS127で復号したプログラム復号鍵104で復号し、復号したプログラム106を、ステップS121でバインドしたプログラムとしてストレージ32に記憶させる。復号したプログラム106をストレージ32に記憶させることで、ステップS121で互いに同一であると判定したプログラムID、つまり、受信PKP92が含む相手プログラムのプログラムID78または対応DKP71が含む対応するプログラムのプログラムID96が指定するプログラムをストレージ32に記憶させることができる。
For example, the
続いてステップ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
その際、処理済みデータとしては、例えば、ストレージ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
続いてステップ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
Subsequently, the process proceeds to step S131, and the decrypted
Subsequently, the process proceeds to step S132, and the decrypted
Subsequently, the process proceeds to step S133, where the processed
(動作その他)
次に、本発明の実施形態に係るデータ提供システム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
データ記憶部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
ここで、処理対象のデータは、データ記憶部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
データ提供者端末2からDKP71が送信されると、データ処理装置5は、送信されたDKP71を受信し(ステップS208)、受信したDKP71(受信DKP71)に対応する対応データパッケージ60がデータ記憶部30に記憶されていると、対応データパッケージ60を登録済みであると判定する(ステップS209)。また、受信DKP71に対応するPKP92(対応PKP92)をストレージ32が記憶していないと判定し(ステップS210)、受信DKP71をストレージ32に記憶させる(ステップS211)。
When the
またデータ提供者端末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
また、データ処理装置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
さらに、データ処理装置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
データ処理装置5から暗号化された処理済みデータが送信されると、利用者端末4は、暗号化された処理済みデータを受信し(ステップS226)、受信した暗号化された処理済みデータに付加されている暗号化された共通鍵を、利用者端末4の公開鍵に対応する秘密鍵、つまり、自装置の公開鍵に対応する秘密鍵で復号する。また、復号した共通鍵で、暗号化された処理済みーデータを復号して、暗号化が解除された処理済みデータを取得する(ステップS227)。
When the encrypted processed data is transmitted from the
以上説明したように、本発明の実施形態に係るデータ処理装置5は、データ記憶部30が記憶しているデータのうちの処理対象のデータを提供したデータ提供者側から、プログラム記憶部31が記憶しているプログラムのうちの、処理対象のデータを処理用のプログラムを指定するDKP71を受信するファイル受信部35と、処理対象のデータを、受信したDKP71で指定するプログラムで処理するデータ処理部36と、を備えるようにした。それゆえ、処理対象のデータを処理用のプログラムを指定するDKP71をデータ提供者側から受信するため、データ提供者がデータの用途を限定できる。
As described above, in the
そのため、データの効率的な利活用を可能としつつ、データがデータ提供者の意図しない用途に使われることを防止でき、データ提供者のデータの所有権を保護することが可能なデータ処理装置5を提供することができる。また、例えば、単にデータ提供者とデータ利用者との間の契約でのみデータの用途を限定する方法と異なり、データの用途を技術的に制限できるため、データの用途をより確実に限定することができる。また、データ提供者のデータの所有権が保護されるため、データ提供者にデータ処理装置5へのデータの提供を促すことができ、データ処理装置5によるデータの共有を促進させることができる。
Therefore, the
また、データ処理装置5を用いてデータの共有を実現するようにしたため、例えば、データ提供者の会社内でデータを保有する方法に比べ、データの機密性や完全性を保証しつつ、比較的低いコストでデータの共有を実現することができる。さらに、データ提供者が管理等を行う必要がなく、データ提供者のヒューマンエラーを抑制することができる。
さらに、データをプログラムで処理することで、データが持つ潜在的価値を顕在化することができる。このように価値が顕在化されたデータ、つまり処理済みデータをデータ利用者に提供することで、新たな価値が創出され、豊かな未来社会の創造に繋がることが期待される。また、データ提供者は、データそのものをデータ利用者に渡さずに済み、データの所有権を維持しつつ、データが有する多様な価値の一部分のみを提供できる。さらに、データ利用者は、データがそのまま提供される方法に比べ、データを利活用しやすい。
In addition, since data sharing is realized using the
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
また、本発明の実施形態に係るデータ処理装置5では、DKP71は、処理対象のデータを指定するデータID75(対応するデータのデータID75)と、処理対象のデータを処理するプログラムを指定するプログラムID78(相手プログラムのプログラムID78)とを含み、データ処理部36は、データ記憶部30が記憶している複数のデータのうちの、ファイル受信部35で受信したDKP71(受信DKP71)が含むデータID75が指定するデータを、プログラム記憶部31が記憶している複数のプログラムのうちの、受信DKP71が含むプログラムID78が指定するプログラムで処理するようにした。それゆえ、処理対象のデータと、処理用のプログラムとを比較的容易に選択できる。
Further, in the
また、本発明の実施形態に係るデータ処理装置5では、複数のデータそれぞれは、データ暗号化鍵で暗号化されており、DKP71は、暗号化されたデータ61を復号可能なデータ復号鍵77を含むようにした。また、処理実行部49は、データ記憶部30が記憶している複数のデータのうち、受信DKP71が含むデータID75が指定するデータを、受信DKP71が含むデータ復号鍵77で復号するデータ復号部47を備えるようにした。それゆえ、データをより確実に保護でき、データ処理装置5からのデータの流出をより確実に防止できる。
In the
さらに、本発明の実施形態に係るデータ処理装置5では、データ暗号化鍵及びデータ復号鍵77は、データ提供者の共通鍵とした。それゆえ、例えば、公開鍵を用いる方法に比べ、計算量を低減でき、暗号化及び復号に要する時間を短縮することができる。
また、本発明の実施形態に係るデータ処理装置5では、データ復号鍵77は、データ処理装置5の公開鍵で暗号化されており、処理実行部49は、データ復号鍵を公開鍵に対応する秘密鍵で復号するデータ復号鍵復号部45を備えている。それゆえ、データの復号や処理等を行うデータ処理装置5の認証を行うことができる。
Furthermore, in the
In the
さらに、本発明の実施形態に係るデータ処理装置5は、プログラム記憶部31が記憶しているプログラムのうちの処理用のプログラムを提供したプログラム提供者側から、データ記憶部が記憶しているデータのうちの、処理用のプログラムで処理するデータを指定するPKP92をプログラム提供者側から受信するファイル受信部35と、処理用のプログラムで、受信したPKP92で指定するデータを処理するデータ処理部36とを備えるようにした。それゆえ、処理用のプログラムで処理するデータを指定するPKP92をプログラム提供者側から受信するため、プログラム提供者がプログラムの用途を限定できる。そのため、データの効率的な利活用を可能としつつ、プログラムがプログラム提供者の意図しない用途に使われることを防止でき、プログラム提供者のプログラムの所有権を保護することが可能なデータ処理装置5を提供できる。また、プログラム提供者のプログラムの所有権が保護されるため、プログラム提供者からデータ処理装置5へのプログラムの提供を促すことができる。その結果、データ処理装置5によるデータの共有を促進できる。
Furthermore, the
また、本発明の実施形態に係るデータ処理装置5では、ファイル受信部35は、処理用のプログラムを指定するプログラムID96とプログラムで処理するデータを指定するデータID99とを含むPKP92をプログラム提供者側から受信する。また、処理実行部49は、DKP71が含むデータID75とPKP92が含むデータID99とが互いに同一であり、且つDKP71が含むプログラムID78とPKP92が含むプログラムID96とが互いに同一であるかを判定する対応検証部41と、対応検証部41でデータIDが互いに同一であり、且つプログラムIDが互いに同一であると判定した場合には、互いに同一であると判定したデータIDが指定するデータを、互いに同一であると判定したプログラムIDが指定するプログラムで処理する処理実行部49とを備えるようにした。
In the
それゆえ、例えば、データ提供者が、自身が提供したデータを他者が提供したプログラムで処理する場合には、プログラム提供者に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
また、本発明の実施形態に係るデータ処理装置5では、複数のプログラムそれぞれは、プログラム暗号化鍵で暗号化されており、PKP92は、暗号化されたプログラム82を復号可能なプログラム復号鍵98を含むようにした。また、処理実行部49は、プログラム記憶部31が記憶している複数のプログラムのうち、受信PKP92が含むプログラムID96が指定するプログラムを、受信PKP92が含むプログラム復号鍵98で復号するプログラム復号部48を備えるようにした。それゆえ、プログラムをより確実に保護でき、データ処理装置5からのプログラム(アルゴリズム)の流出をより確実に防止できる。
In the
さらに、本発明の実施形態に係るデータ処理装置5では、プログラム暗号化鍵及びプログラム復号鍵98は、プログラム提供者の共通鍵とした。それゆえ、例えば、公開鍵を用いる方法に比べ、計算量を低減でき、暗号化及び復号に要する時間を短縮できる。
また、本発明の実施形態に係るデータ処理装置5では、プログラム復号鍵98は、データ処理装置5の公開鍵で暗号化されており、処理実行部49は、プログラム復号鍵98を公開鍵に対応する秘密鍵で復号するプログラム復号鍵復号部46を備えるようにした。それゆえ、処理を行うデータ処理装置5の認証を行うことができる。
Furthermore, in the
In the
また、本発明の実施形態に係るデータ処理装置5では、データ復号部47で復号したデータ105及びプログラム復号部48で復号したプログラム106を記憶するストレージ32と、処理実行部49で処理を終えた後に、ストレージ32から復号したデータ105及びプログラム106を消去する復号データ消去部51とを備えるようにした。それゆえ、データ及びプログラムの盗難を防止でき、データ及びプログラムをより確実に保護できる。
In the
さらに、本発明の実施形態に係るデータ処理装置5では、データ処理部36で行われた処理の処理結果である処理済みデータを、共通鍵で暗号化し、その共通鍵を、実行結果リクエストを送信した利用者端末4の公開鍵、つまり、処理済みデータの提供を要求する利用者端末4の公開鍵で暗号化するようにした。それゆえ、例えば、処理済みデータの暗号化に公開鍵を用いる方法に比べ、計算量を低減でき、暗号化及び復号に要する時間を短縮することができる。また、実行結果リクエストを送信したデータ利用者以外は処理済みデータを復号できないので、処理済みデータの盗難を防止することができる。
Further, in the
また、本発明の実施形態に係るデータ処理装置5では、プログラムは、データの潜在的価値を顕在化するプログラム、又はデータの価値を限定するプログラムとした。それゆえ、データが有する多様な価値の一部分を処理結果(処理済みデータ)として取得できる。
Further, in the
(変形例)
(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
(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
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
(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
Furthermore, although the example which memorize | stores the
(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
例えば、プログラム提供者がデータ利用者を指定する場合には、データ利用者のデータ提供者端末2が、プログラム提供者のプログラム提供者端末3に実行リクエストを送信するとともに、この実行リクエストに自身(データ提供者端末2)の公開鍵証明書を付加する。そして、プログラム提供者のプログラム提供者端末3は、利用者端末4のホスト名と公開鍵証明書とをPKP92に付加してデータ処理装置5に送信する。データ処理装置5は、処理対象のデータに処理を行い、処理済みデータを共通鍵で暗号化した後、暗号化に用いた共通鍵を、PKP92に付加されている利用者端末4の公開鍵証明書の公開鍵で暗号化する。そして、データ処理装置5は、暗号化した処理済みデータに暗号化した共通鍵を付加して、PKP92に付加されているホスト名の利用者端末4に送信する。
For example, when the program provider designates a data user, the
一方、データ提供者とプログラム提供者との両方がデータ利用者を指定する場合には、データ利用者のデータ利用者端末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
(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
In order to solve this problem, for example, verification of the
この手法の応用例として、ビッグデータのようなファイルサイズの大きいデータから必要な部分だけを抽出して処理することで、処理時間の短縮という効果が期待される。一般に、データ(ファイル)を利用する際には、利用する場所に局所性が生じる。つまり、対象データを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
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が指定するデータを、前記プログラム記憶部が記憶しているプログラムのうちの、前記第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または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.
前記データ処理部は、
前記第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または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のファイルが指定するプログラムで処理するステップとを含むことを特徴とするデータ処理方法。 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のファイルが指定するデータを処理するステップとを含むことを特徴とするデータ処理方法。 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のファイルで指定するプログラムで処理させる命令と、を含む一連の処理を、前記プロセッサを備えたデータ処理装置に実行させることを特徴とするデータ処理用プログラム。 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のファイルで指定するデータを処理させる命令と、を含む一連の処理を、前記プロセッサを備えたデータ処理装置に実行させることを特徴とするデータ処理用プログラム。 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.
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)
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 |
-
2017
- 2017-09-01 JP JP2017168595A patent/JP2019047334A/en active Pending
Non-Patent Citations (1)
Title |
---|
荻谷 凌,他: "デジタルオブジェクトの用途を限定した使用を可能にするActivation Serverの設計と実装", 電子情報通信学会技術研究報告, vol. 117, no. 204, JPN6021031139, 31 August 2017 (2017-08-31), pages 49 - 54, ISSN: 0004570910 * |
Cited By (6)
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 |