(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-29
(45)【発行日】2023-06-06
(54)【発明の名称】情報処理装置、制御プログラムおよび制御方法
(51)【国際特許分類】
G06F 21/62 20130101AFI20230530BHJP
G06F 21/64 20130101ALI20230530BHJP
【FI】
G06F21/62 345
G06F21/64
(21)【出願番号】P 2019167507
(22)【出願日】2019-09-13
【審査請求日】2022-06-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100092978
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【氏名又は名称】横田 功
(72)【発明者】
【氏名】坂本 拓也
(72)【発明者】
【氏名】二村 和明
【審査官】宮司 卓佳
(56)【参考文献】
【文献】国際公開第2018/138900(WO,A1)
【文献】特開2007-188262(JP,A)
【文献】国際公開第2018/216358(WO,A1)
【文献】特開2005-010830(JP,A)
【文献】特開2017-049693(JP,A)
【文献】特開2005-135431(JP,A)
【文献】特開2011-118592(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60-21/64
(57)【特許請求の範囲】
【請求項1】
パーソナルデータ由来者に関するパーソナルデータを受信するパーソナルデータ受信部と、
前記パーソナルデータ由来者と前記パーソナルデータを利用するパーソナルデータ利用者との間で合意されたパーソナルデータの加工法に関する合意情報を受信する合意情報受信部と、
前記パーソナルデータに対して前記合意情報に規定される加工法で加工を行なう加工処理部と、
前記加工処理部による加工済データに電子署名を付与して出力する加工済データ出力部と
を備えることを特徴とする、情報処理装置。
【請求項2】
受信した前記パーソナルデータの正当性を検証するパーソナルデータ検証部を備え、
前記パーソナルデータ検証部による検証の結果、前記パーソナルデータの正当性が確認された場合に、前記加工処理部が前記パーソナルデータの加工を行なう
ことを特徴とする、請求項1記載の情報処理装置。
【請求項3】
複数種類の加工プログラムを格納する加工プログラム記憶部を備え、
前記加工処理部が、前記合意情報に対応する加工プログラムを用いて前記パーソナルデータの加工を行なう
ことを特徴とする、請求項1または2記載の情報処理装置。
【請求項4】
前記加工済データについての電子証明書を作成する証明書作成部を備え、
前記加工済データ出力部が、前記加工済データに前記電子証明書を付して出力する
ことを特徴とする、請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記加工済データ出力部が、前記加工済データを前記パーソナルデータ由来者が用いる第2の情報処理装置に送信し、
前記第2の情報処理装置が、
前記加工済データを、前記加工済データを用いて処理を行なう第3の情報処理装置に送信する
ことを特徴とする、請求項1~4のいずれか1項に記載の情報処理装置。
【請求項6】
前記加工済データ出力部が、前記加工済データを記憶装置に格納し、
前記記憶装置に格納された前記加工済データにアクセスするための第1アクセス情報を含む第1チケットを発行する第1チケット発行部を備え、
前記第3の情報処理装置が、前記第1チケットの前記第1アクセス情報を用いて、前記記憶装置から前記加工済データを取得する
ことを特徴とする、請求項
5に記載の情報処理装置。
【請求項7】
前記パーソナルデータを格納するパーソナルデータ格納部と、
第2チケット発行部によって発行された、前記パーソナルデータ格納部に格納された前記パーソナルデータにアクセスするための第2アクセス情報を含む第2チケットを受信するチケット受信部と
を備え、
前記パーソナルデータ受信部が、前記第2チケットの前記第2アクセス情報を用いて、前記パーソナルデータ格納部から前記パーソナルデータを取得する
ことを特徴とする、請求項1~6のいずれか1項に記載の情報処理装置。
【請求項8】
パーソナルデータ由来者に関するパーソナルデータを受信し、
前記パーソナルデータ由来者と前記パーソナルデータを利用するパーソナルデータ利用者との間で合意されたパーソナルデータの加工法に関する合意情報を受信し、
前記パーソナルデータに対して前記合意情報に規定される加工法で加工を行ない、
前記加工により作成した加工済データに電子署名を付与して出力する
処理をコンピュータに実行させる制御プログラム。
【請求項9】
パーソナルデータ由来者に関するパーソナルデータを受信する処理と、
前記パーソナルデータ由来者と前記パーソナルデータを利用するパーソナルデータ利用者との間で合意されたパーソナルデータの加工法に関する合意情報を受信する処理と、
前記パーソナルデータに対して前記合意情報に規定される加工法で加工を行なう処理と、
前記加工により作成した加工済データに電子署名を付与して出力する処理と
を
コンピュータが実行することを特徴とする、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、制御プログラムおよび制御方法に関する。
【背景技術】
【0002】
近年、クラウドコンピュータシステムには、さまざまな個人データが収集されており、IoT(Internet of Things)と呼ばれるムーブメントの進展により、センサなどからより多くの個人データが収集される傾向にある。集められた個人データを元に様々なサービスが提供される。
【0003】
一方、集められた個人データについては、その個人が制御できる権利を持つべきだという考えがある。例えば、EU(European Union)では、GDPR(General Data Protection Regulation:EU一般データ保護規則)という規則を作り、他のサービスにその個人データを提供できるようにすることをデータポータビリティとして義務付けている。
【0004】
個人が自身のデータを制御できるようになると、例えば、CtoB(Consumer to Business)でそのデータをサービス事業者に売ることが可能になり、また、データを提供されることを前提にしたサービスが世の中に増えて、データ活用が広がると考えられる。例えば、車の運転データをもとに保険料率の見積もりを行なうテレマティクス保険が知られているが、同様のサービスが増加すると考えられる。テレマティクス保険においては、例えば、自動車に取りつけた測定機器により走行距離やドライバーの運転特性を測定・送信し、そのデータを収集・分析することで個別のリスクに応じて保険料が決定される。
【0005】
なお、あるサービスが持つユーザのデータを、ユーザの同意に基づいて他のサービスに提供する仕組みとして、例えばOAuthが知られている。
【0006】
ここで、ユーザは、未加工のデータ(以下、生データという場合がある)をサービス事業者等に渡したくない一方で、サービス事業者にとっても受け取るデータは生データである必要がない場合がある。
【0007】
あるサービス事業者が持つデータが個人データであり、この個人データを様々なサービスに活用しようと考えた場合、そのサービス事業者をどの程度信頼できるかのレベルはサービス事業者等によって異なる。そのため、信頼のレベルにより、個人データをサービス事業者に生データのままで渡すのは心配だが、それに含まれるいくつかの情報を取り除く等の加工を行なった上でなら提供してもいいということがある。
【0008】
例えば、運転データにアクセルやブレーキ状態の情報だけでなく、正確な位置情報も含まれているような場合、アクセルやブレーキ状態の情報は提供してもよいが位置情報は提供したくないといった場合である。
【0009】
一方で、サービス事業者において、加工された状態でもサービスが提供できると残された情報のみでもサービスを提供可能である場合もある。例えば、上述したテレマティクス保険においては、位置情報がなくてもアクセルやブレーキ状態の情報のみで運転の荒さなどを検証して保険料率の見積もり結果を変更することが可能である。
【0010】
また、その代わり、運転データに加えて運転者の年齢情報といった別のデータを組み合わせることが望まれるかもしれない。すなわち、単一のデータだけでは不十分であり、複数のデータを組み合わせた上での提供が望まれる場合がある。このようなデータの提供は、例えば、あるサービスのデータをユーザがデータを加工した上でそのサービスに提供することで可能となる。
【先行技術文献】
【特許文献】
【0011】
【文献】特開2018-128913号公報
【文献】特開2016-85676号公報
【文献】特開2005-25735号公報
【文献】米国特許出願公開第2004/0254817A1号明細書
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、データを利用するサービス事業者が、ユーザが加工したデータをユーザから受信する場合には、ユーザが不正なデータを利用したり、正常なデータに不適切な加工をすることで、サービス業者は異常なデータを受け取るおそれがある。
【0013】
ユーザが不適切な加工を行なったデータをサービス事業者に提供した場合には、サービス事業者はそれを利用して正常なサービスを提供することは困難である。また、サービス事業者において、ユーザによって行なわれた加工方法がわかったとしても、正しいデータが加工に使われたのかは加工された後のデータを見てもわからない。ユーザが不正なデータに基づくデータを提供した場合においても、サービス事業者は正当なサービスを提供することは困難である。
【0014】
1つの側面では、本発明は、パーソナルデータを有効に活用できるようにすることを目的とする。
【課題を解決するための手段】
【0015】
このため、この情報処理装置は、パーソナルデータ由来者に関するパーソナルデータを受信するパーソナルデータ受信部と、前記パーソナルデータ由来者と前記パーソナルデータを利用するパーソナルデータ利用者との間で合意されたパーソナルデータの加工法に関する合意情報を受信する合意情報受信部と、前記パーソナルデータに対して前記合意情報に規定される加工法で加工を行なう加工処理部と、前記加工処理部による加工済データに電子署名を付与して出力する加工済データ出力部とを備える。
【発明の効果】
【0016】
一実施形態によれば、パーソナルデータを有効に活用することができる。
【図面の簡単な説明】
【0017】
【
図1】第1実施形態の一例としてのデータ加工システムの構成を模式的に示す図である。
【
図2】第1実施形態の一例としてのデータ加工システムのユーザ端末の機能構成を例示する図である。
【
図3】第1実施形態の一例としてのデータ加工システムの加工サーバの機能構成を例示する図である。
【
図4】第1実施形態の一例としてのデータ加工システムにおける処理の概要を説明するための図である。
【
図5】第1実施形態の一例としてのデータ加工システムにおける加工サーバによる処理の詳細を説明するための図である。
【
図6】第2実施形態の一例としてのデータ加工システムのユーザ端末の機能構成を例示する図である。
【
図7】第2実施形態の一例としてのデータ加工システムの加工サーバの機能構成を例示する図である。
【
図8】第2実施形態の一例としてのデータ加工システムにおける処理の概要を説明するための図である。
【
図9】第2実施形態の一例としてのデータ加工システムにおける加工サーバによる処理の詳細を説明するための図である。
【
図10】第1実施形態および第2実施形態の一例としてのデータ加工システムの加工サーバのハードウェア構成を例示する図である。
【
図11】第1実施形態および第2実施形態の一例としてのデータ加工システムのユーザ端末のハードウェア構成を例示する図である。
【発明を実施するための形態】
【0018】
以下、図面を参照して本情報処理装置、制御プログラムおよび制御方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態および各変形例を組み合わせる等)して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0019】
(I)第1実施形態の説明
(A)構成
【0020】
図1は第1実施形態の一例としてのデータ加工システム1の構成を模式的に示す図である。
【0021】
図1に例示するデータ加工システム1は、サービス提供サーバ30,リソースサーバ40-1,40-2,加工サーバ10およびユーザ端末20を備える。これらのサービス提供サーバ30,リソースサーバ40-1,40-2,加工サーバ10およびユーザ端末20は、ネットワーク50を介して相互に通信可能に接続されている。ネットワーク50は、例えば、LAN(Local Area Network)である。ネットワーク50は、LAN等を用いて構築されたクラウドネットワークであってもよい。
【0022】
[リソースサーバ40]
リソースサーバ40-1,40-2は、サーバ機能を備えるコンピュータである。リソースサーバ40-1,40-2は、それぞれ記憶装置41を備える。これらの記憶装置41には、ユーザ端末20を用いるユーザ(以下、単にユーザという)のデータ(パーソナルデータ,ユーザデータ)が格納される。ユーザはパーソナルデータであるユーザデータの由来者(パーソナルデータ由来者)に相当する。また、リソースサーバ40は、ユーザデータを格納するパーソナルデータ格納部に相当する。
【0023】
以下、2つのリソースサーバ40-1,40-2を特に区別しない場合には、リソースサーバ40と表記する。
【0024】
複数のリソースサーバ40には、それぞれ識別情報であるユニークなデータ元IDが予め設定されており、このデータ元IDを用いることで複数のリソースサーバ40の中から特定のリソースサーバ40を特定することができる。また、データ元IDを符号IDrを用いて表す場合がある。
【0025】
リソースサーバ40の記憶装置41に格納されるユーザデータには、ユーザデータを特定する識別情報であるデータID(Identification)が予め設定されている。
【0026】
データ元IDおよびデータIDを用いることで、リソースサーバ40に格納されているユーザデータを一意に特定することができる。
【0027】
リソースサーバ40は、ユーザ端末20から、データ元IDおよびデータIDを用いて特定されるユーザデータの取得要求を受信すると、データIDによって特定されるユーザデータを記憶装置41から読み出し、取得要求の送信元のユーザ端末20に送信する。また、リソースサーバ40は、送信するユーザデータに、当該ユーザデータのデータIDおよびデータ元ID(IDr)を付加する。そして、リソースサーバ40は、これらのユーザデータ,データIDおよびデータ元IDに対して、当該リソースサーバ40の秘密鍵を用いた電子署名rを付加して、ユーザ端末20に送信する。
【0028】
これにより、ユーザデータの偽造や改ざんを防止することができる。なお、ユーザデータに対する電子署名rの付加は、既知の種々の手法を用いて実現することができ、その説明は省略する。
【0029】
この電子署名rには、ユーザデータの所有者であるユーザを特定するユーザIDを含めてもよく、これにより正当なユーザのユーザデータであることを確実に保証することができる。
【0030】
図1に示す例においては2つのリソースサーバ40-1,40-2および2つの記憶装置41を図示しているが、これに限定されるものではない。すなわち、1つもしくは3つ以上のリソースサーバ40を備えてもよく、1つもしくは3つ以上の記憶装置41を備えてもよい。
【0031】
[サービス提供サーバ30]
サービス提供サーバ30は、例えば、サービス提供業者によって運用されるサーバコンピュータであり、ユーザ端末20を使用するユーザのデータを用いてサービスを提供する。サービス提供者は、パーソナルデータを利用するパーソナルデータ利用者に相当する。
【0032】
例えば、サービス提供業者がテレマティクス保険を提供する場合には、サービス提供サーバ30は、自動車に搭載された測定機器によって収集されたユーザの運転データ(アクセルやブレーキ状態の情報)を分析することで個別のリスクに応じた保険料を決定する。
【0033】
サービス提供サーバ30は、後述するユーザ端末20(ユーザアプリケーション200)を介して、ユーザに対して、ユーザがサービス提供事業者(サービス提供サーバ30)にユーザに関するデータを提供することで、より好ましいサービスを提供することが可能である旨を伝えてもよい。
【0034】
サービス提供サーバ30は、ユーザ端末20に対してユーザデータの要求を行ない、この要求に対して応答されたユーザデータに対して処理を行ない、サービスの提供を行なう。
【0035】
このサービス提供サーバ30からユーザ端末20に対するユーザデータの要求には、要求するユーザデータを特定する情報として、データIDおよびデータ元IDが含まれる。これらのデータIDおよびデータ元IDは加工前データの情報に相当する。これらのデータ元IDおよびデータIDで、どのデータ所有者(リソースサーバ40)が持つどのユーザデータを加工に利用するのかを識別できる。
【0036】
また、サービス提供サーバ30は、ユーザ端末20にユーザデータの要求を行なう際に、後述する加工サーバ10によって提供される複数種類のデータ加工プログラムの中からユーザデータの加工に許容するデータ加工プログラムを選択してユーザ端末20に提示する。そして、サービス提供サーバ30は、ユーザに対して、これらの提示したデータ加工プログラムの中からユーザがユーザデータに対して適用を許可する加工(データ加工プログラム)を選択させる。
【0037】
後述の如く、加工サーバ10において管理される複数種類のデータ加工プログラムにはデータ加工プログラムを一意に特定するプログラムIDが設定(採番)されている。このプログラムIDにより、ユーザデータに対してどのデータ加工プログラムで加工するかを識別できる。
【0038】
サービス提供サーバ30は、ユーザ端末20に対するユーザデータの要求とともに、複数のプログラムIDを選択肢として提示する。以下、サービス提供サーバ30からユーザ端末20に送信されるユーザデータの要求に含まれる、複数のプログラムIDをプログラムID群という場合がある。
【0039】
すなわち、サービス提供サーバ30は、ユーザ端末20に対して、ユーザデータの要求として、プログラムID群,データ元IDおよびデータIDのセットを提供する。
【0040】
また、サービス提供サーバ30は、ユーザ端末20から受信した加工済データに付加された電子署名pを検証するとともに、ユーザ端末20から受信したデータに自身が合意したプログラムID,データ元ID,データIDが含まれていることを確認する。
【0041】
サービス提供サーバ30においては、加工済データに付加されたデータ元IDおよびデータIDを検証することで、要求したユーザデータを受信したかを把握することができる。また、加工済データに付加されたプログラムIDを検証することで、ユーザデータに、自身がユーザデータの加工に許容したデータ加工プログラムが適用されたかを把握することができる。すなわち、サービス提供サーバ30において、要求する条件を満たす加工済データを受け取れたことを確認できる。
【0042】
なお、サービス提供サーバ30としての機能は、既知の種々の手法を用いて実現することができ、その説明は省略する。
【0043】
[ユーザ端末20]
図2は第1実施形態の一例としてのデータ加工システム1のユーザ端末20の機能構成を例示する図である。
【0044】
ユーザ端末20は、加工指示部201,加工済データ受信部204および加工済データ送信部205としての機能を備える。これらの加工指示部201,加工済データ受信部204および加工済データ送信部205としての機能は、ユーザ端末20に備えられたプロセッサ21(
図11参照)がユーザアプリケーション200を実行することにより実現される。
【0045】
ユーザアプリケーション200は、ネットワーク50を介してサービス提供サーバ30にアクセスする。サービス提供サーバ30へのデータアクセスは、ウェブブラウザを介して行なってもよい。以下、ユーザアプリケーション200をユーザアプリ200という場合がある。
【0046】
加工指示部201は、加工サーバ10に対してユーザデータの加工を指示する。加工指示部201は、加工方法選択処理部202およびデータ取得部203としての機能を備える。
【0047】
加工方法選択処理部202は、ユーザデータに対して加工を行なうデータ加工プログラムをユーザに選択させる。例えば、加工方法選択処理部202は、ユーザデータの要求に含まれるプログラムID群によって特定される各データ加工プログラムを、ユーザ端末20のモニタ24a(
図11参照)にユーザインタフェースを介して選択肢として表示させる。この際、加工方法選択処理部202は、各データ加工プログラムについて説明するプログラム情報を加工サーバ10から受信し、このプログラム情報を、各データ加工プログラムに対応させて表示する。
【0048】
プログラム情報は、ユーザが合意情報を形成する際の参考情報として利用されるものであり、当該データ加工プログラムによりユーザデータにどのような加工がされるかを示す情報である。プログラム情報は、例えば、自身のプライバシー情報の一部がユーザデータ内に含まれなくなることを、ユーザが理解することができる文章として作成される。
【0049】
加工方法選択処理部202(ユーザアプリ200)は、ユーザデータをサービス提供サーバ30に提供してよいかをユーザに確認してもよい。また、加工方法選択処理部202は、プログラムIDに基づいて加工サーバ10からプログラム情報を取得して、そのプログラム情報をユーザに提示することで、ユーザデータをデータ加工プログラムで加工することの是非をユーザに確認してもよい。
【0050】
ユーザは、ユーザ端末20において、ディスプレイに表示されたプログラム情報を参照して、選択肢として選択されたデータ加工プログラムの中から、ユーザデータに対して適用するデータ加工プログラムを選択する。なお、一つのユーザデータに対して2つ以上のデータ加工プログラムを選択させてもよい。
【0051】
すなわち、加工方法選択処理部202は、サービス提供者が、要求するユーザデータに対して適用することをサービス提供者が合意したデータ加工プログラムを示す。
【0052】
また、加工方法選択処理部202においては、プログラム情報をユーザに提示するに際して、ユーザによる、キーボード25aやマウス25b(
図11参照)を用いたプログラム情報に対する文字列検索を可能としてもよい。
【0053】
加工指示部201は、加工サーバ10に対して、ユーザによって選択されたプログラムIDを通知する。なお、以下、ユーザによって選択されたプログラムIDをプログラムIDkと表す場合がある。
【0054】
データ取得部203は、サービス提供サーバ30から受信したユーザデータの要求に基づき、リソースサーバ40から加工対象のユーザデータ(加工前データ)を取得する。データ取得部203は、サービス提供サーバ30から受信したユーザデータの要求に含まれるデータ元IDによってリソースサーバ40を特定する。データ取得部203は、この特定したリソースサーバ40に対して、ユーザデータの要求に含まれるデータIDによって特定されるユーザデータの送信要求を行なう。このリソースサーバ40へのユーザデータの送信要求はデータIDを用いて行なってもよい。
【0055】
また、データ取得部203は、リソースサーバ40に対してユーザデータの由来者であるユーザを特定するユーザIDを指定することでユーザデータを取得してもよい。ユーザIDを用いることにより、複数のユーザがいる場合であっても要求するユーザデータを容易に取得することができる。
【0056】
データ取得部203は、ユーザデータの送信要求に応じてリソースサーバ40から応答されるユーザデータを受信し、図示しない記憶装置に記憶させる。
【0057】
なお、データ取得部203がリソースサーバ40へアクセスするために、ユーザアプリ200は、データ元IDrとリソースサーバ40のアドレスとを対応付けたアクセス情報を予め備えてもよい。また、ユーザアプリ200は、このようなアクセス情報を、当該ユーザアプリ200が連携する図示しない他のサーバコンピュータ(クラウドサーバ)などから取得してもよい。
【0058】
加工指示部201は、データ取得部203がリソースサーバ40から受信したユーザデータを、加工サーバ10に送信する。加工指示部201は、加工サーバ10に対して、ユーザデータ,当該ユーザデータのデータID,データ元ID(IDr),プログラムIDkを加工指示情報として通知する。
【0059】
この加工指示情報のうち、データID,データ元ID(IDr),プログラムIDkは、ユーザデータに対するデータ加工プログラムによる加工に対する合意内容を示す合意情報に相当する。
【0060】
合意情報は、データ元ID(IDr)およびデータIDの組み合わせと、プログラムIDkとを含む。加工指示部201は、合意情報とユーザデータとを加工サーバ10に送信する。
【0061】
また、加工指示情報(合意情報)を加工サーバ10に送信するに際して、加工指示部201は、特にユーザデータ,データIDおよびデータ元IDrに対して、リソースサーバ40から送信された署名rを付して加工サーバ10に送信する。
【0062】
なお、データ取得部203がリソースサーバ40からユーザデータを取得するタイミングは適宜変形して実施することができる。例えば、加工指示部201において合意情報が作成された後にユーザデータの取得を行なってもよく、また、合意情報が作成される前に、ユーザがリソースサーバ40から予め取得しておき、ユーザ端末20の図示しない記憶装置等ユーザが記憶させておいてよい。
【0063】
加工済データ受信部204は、加工サーバ10においてデータ加工プログラム(IDk)によって加工されたユーザデータを受信する。以下、加工サーバ10においてデータ加工プログラム(IDk)によって加工されたユーザデータを加工済データという場合がある。なお、加工サーバ10から送信される加工済データには、プログラムIDk,データIDおよびデータ元IDrおよびサーバID(IDp)が付加されている。
【0064】
なお、サーバIDは加工サーバ10を特定する識別情報である。特に、ユーザデータに対して加工を行なった加工サーバ10のサーバIDをサーバIDpと表す場合がある。
【0065】
そして、これらの加工済データ,プログラムIDk,データIDおよびデータ元IDrおよびサーバID(IDp)は、加工サーバ10による電子署名pが付加されている。
【0066】
これにより、加工済データ等の偽造や改ざんを防止することができる。なお、これらの加工済データ,プログラムIDk,データID,データ元IDrおよびサーバID(IDp)に対する電子署名pの付加は、既知の種々の手法を用いて実現することができ、その説明は省略する。
【0067】
この電子署名pには、ユーザデータの所有者であるユーザを特定するユーザIDを含めてもよく、これにより正当なユーザのユーザデータであることを確実に保証することができる。
【0068】
加工済データ送信部205は、加工サーバ10から受信した加工済データをサービス提供サーバ30に送信する。
【0069】
加工済データ送信部205は、加工済データに、プログラムIDk,データ元IDrおよびサーバIDpを付与してサービス提供サーバ30に送信する。また、加工済データ送信部205は、これらの加工済データ,プログラムIDk,データ元IDrおよびサーバIDpに、加工サーバ10による電子署名pを付加してサービス提供サーバ30に送信する。
【0070】
これによっても、サービス提供サーバ30に送信される加工済データ等の偽造や改ざんを防止することができる。
【0071】
また、この電子署名pにユーザを特定する識別情報であるユーザIDを含めてもよく、さらに、ユーザの電子署名を付加してもよい。これにより、例えば、サービス提供サーバ30において、送信されたデータが当該ユーザのユーザデータであることを容易に把握することができる。
【0072】
[加工サーバ10]
図3は第1実施形態の一例としてのデータ加工システム1の加工サーバ10の機能構成を例示する図である。
【0073】
加工サーバ10は、合意内容受信部101,ユーザデータ受信部102,データ/証明書送信部103,データ検証部104,証明書作成部105,加工方法選択処理部106,加工実行部107および加工プログラム管理部108を備える。
【0074】
加工プログラム管理部108は、ユーザデータに対して加工を行なうデータ加工プログラムを管理する。例えば、加工サーバ10の記憶装置13(
図10参照)には、複数種類のデータ加工プログラムが格納される。記憶装置13は、複数種類のデータ加工プログラムを記憶する加工プログラム記憶部として機能する。
【0075】
また、加工プログラム管理部108は、各データ加工プログラムについてのプログラム情報も管理する。これらのプログラム情報も、記憶装置13に格納されてよい。
【0076】
例えば、データ加工プログラムの開発者は、データ加工プログラムを開発した後、加工サーバ10にプログラムをアップロードする。加工プログラム管理部108は、アップロードされたデータ加工プログラムにユニークなプログラムIDを設定する。また、開発者は、この際にデータ加工プログラムを説明するためのプログラム情報もアップロードしても良い。
【0077】
加工プログラム管理部108は、データ加工プログラムとプログラムIDとプログラム情報とを対応付けて管理する。これらは加工サーバ10に備えられた記憶装置13に保存してもよく、また、加工サーバ10からアクセス可能な外部の記憶装置に保存してもよい。
【0078】
なお、サービス提供サーバ30を管理するサービス提供者は、どのようなデータ加工プログラムがあるのかを知る必要がある。そのため、データ加工プログラムの開発者は、加工サーバ10にアップロードしたデータ加工プログラムのプログラムIDとそのプログラムの内容とをサービス提供者に伝えることが望ましい。
【0079】
サービス提供者においては、加工サーバ10にアクセスしてプログラム情報とプログラムIDとを取得して理解してもよい。また、サービス提供者がデータ加工プログラムの開発者となり、データ加工プログラムの作成および加工サーバ10へのアップロードを行なうことで、データ加工プログラムの内容を理解してもよい。
【0080】
また、加工サーバ10において、加工プログラム管理部108は、例えば外部装置等からプログラムIDによる指定を伴って行なわれるデータ加工プログラムの取得要求を受信してもよい。この場合、加工プログラム管理部108は、データ加工プログラムの取得要求に応じて、指定されたデータ加工プログラムを応答することが望ましい。これにより、第三者がデータ加工プログラムに不正が無いかの監査を容易に行なうことができ、信頼性を向上させることができる。
【0081】
合意内容受信部101は、ユーザ端末20の加工指示部201から送信される合意情報(データID,データ元ID(IDr),プログラムIDk)を受信する。受信した合意情報は、加工サーバ10のメモリ12や記憶装置13の所定の記憶領域に記憶される。
【0082】
合意内容受信部101は、ユーザとサービス提供者(サービス提供サーバ30)との間で合意されたユーザデータの加工法に関する合意情報(プログラムID,データ元ID,データID)を受信する合意情報受信部に相当する。
【0083】
ユーザデータ受信部102は、ユーザ端末20の加工指示部201から送信されるユーザデータ(加工前データ)を受信する。ユーザデータ受信部102は、受信したユーザデータを加工サーバ10のメモリ12や記憶装置13の所定の記憶領域に記憶させる。ユーザデータ受信部102は、パーソナルデータを受信するパーソナルデータ受信部に相当する。
【0084】
データ検証部104は、ユーザデータ受信部102によって受信されたユーザデータにリソースサーバ40による電子署名rが付与されているかを検証する(第1の検証)。
【0085】
検証の結果、受信したユーザデータに電子署名rが付与されている場合に、後述する加工実行部107によるユーザデータへの加工が許可される。一方、受信したユーザデータに電子署名rが付与されていない場合には、データ検証部104は当該ユーザデータの加工を抑止するとともに、その旨示すエラー通知をユーザ端末20等に対して行なってもよい。
【0086】
なお、データ検証部104による電子署名rの検証のために、データ元IDと、リソースサーバ40が電子署名に使用する秘密鍵に対応する公開鍵とを対応付けた情報を加工サーバ10に記憶させてもよい。また、かかる情報を、加工サーバ10ではなく、外部のクラウドサーバやブロックチェーンを用いて管理してもよい。
【0087】
また、データ検証部104は、合意内容受信部101が受信した合意情報とユーザデータ受信部102によって受信したユーザデータとの間で、データ元IDおよびデータIDが一致することを確認する(第2の検証)。
【0088】
確認の結果、合意情報とユーザデータとの間でデータ元IDおよびデータIDが一致した場合には、受信したユーザデータが、ユーザによって使用が合意された正当なものであると認定し、データ検証部104は、証明書作成部105にその旨の通知を行なう。また、確認の結果、合意情報とユーザデータとの間でデータ元IDおよびデータIDが一致しない場合には、データ検証部104は当該ユーザデータを破棄するとともに、その旨をユーザ端末20等に通知してもよい。
【0089】
データ検証部104は、受信したユーザデータの正当性を検証するパーソナルデータ検証部として機能する。
【0090】
加工方法選択処理部106は、合意情報に含まれるプログラムIDに対応するデータ加工プログラムを加工プログラム管理部108が管理する複数種類のデータ加工プログラムの中から選択して加工実行部107に通知する。
【0091】
加工実行部107は、加工方法選択処理部202によって選択されたデータ加工プログラムを実行して、データ検証部104によって正当であると認定されたユーザデータに対して処理(演算処理)を行なうことで、ユーザデータの加工を行なう。加工実行部107は、ユーザデータに対して合意情報に規定される加工法で加工を行なう加工処理部に相当する。
【0092】
加工実行部107は、データ検証部104による検証の結果、パーソナルデータの正当性が確認された場合に、ユーザデータの加工を行なう。
【0093】
証明書作成部105は、加工済データに付加する電子証明書を作成する。この電子証明書には、データ検証部104による検証で使用したデータ元IDおよびデータIDと、加工方法選択処理部202によって選択されたデータ加工プログラムのプログラムIDkとを含む。また、証明書作成部105は、これらの情報(データ元ID,データID,プログラムIDk)や加工済データの改ざんを防止するために、加工サーバ10の秘密鍵により作成した電子署名(デジタル署名)を付加する。
【0094】
データ/証明書送信部103は、加工実行部107により加工された加工済データをユーザ端末20に対して送信する。データ/証明書送信部103は、加工済データに、当該加工済データの作成に用いたデータ加工プログラムを特定するプログラムIDkと、サーバIDpと、加工済データの元になったユーザデータに関するデータIDおよびデータ元IDrを付加する。そして、データ/証明書送信部103は、これらの加工済データ,プログラムIDk,データIDおよびデータ元IDrおよびサーバID(IDp)に電子署名pを付与して、ユーザ端末20に送信する。これにより、加工済データ等の偽造や改ざんを防止する。
【0095】
データ/証明書送信部103は、加工実行部107による加工済データに電子署名を付与して出力する加工済データ出力部に相当する。
【0096】
(B)動作
上述の如く構成された第1実施形態の一例としてのデータ加工システム1における処理の概要を、
図4を用いて説明する。
【0097】
ユーザ端末20を用いるユーザは、サービス提供者との間で、提供するユーザデータとその加工方法についての合意を行なう(符号A1)。すなわち、ユーザは、サービス提供者に提供するユーザデータについての提供許可と、当該ユーザデータの加工に用いるデータ加工プログラムの決定とを行なう。
【0098】
この合意に基づき、ユーザ端末20の加工方法選択処理部202は、サービス提供サーバ30に提供するユーザデータについて、データIDおよびデータ元ID(IDr)と、ユーザデータに対して行なう加工についてのプログラムIDkとを含む合意情報を作成する(符号A2参照)。
【0099】
また、ユーザ端末20のデータ取得部203は、リソースサーバ40に対してユーザデータの取得要求を送信し(符号A3参照)、リソースサーバ40は、この要求に応じて、要求されたユーザデータに電子署名rを付加してユーザ端末20に送信する(符号A4参照)。
【0100】
ユーザ端末20の加工指示部201は、リソースサーバ40から取得したユーザデータを合意情報とともに加工サーバ10に送信する(符号A5参照)。
【0101】
加工サーバ10においては、受信したユーザデータおよび合意情報に基づくデータ検証を行なった後に、合意情報に含まれるプログラムIDに対応するデータ加工プログラムを用い、ユーザデータの加工を行なう。
【0102】
加工サーバ10のデータ/証明書送信部103は、証明書作成部105によって作成された電子証明書を付加した加工済データをユーザ端末20に送信する(符号A6参照)。これらのデータには、加工サーバ10の秘密鍵により作成した電子署名が付加される。
【0103】
ユーザ端末20の加工済データ送信部205は、加工サーバ10から受信した加工済データをサービス提供サーバ30に送信する(符号A7)。加工済データ送信部205から送信される加工済データには、プログラムIDk,データ元IDrおよびサーバIDpが付与される。これらのデータには、加工サーバ10による電子署名pが付加される。
【0104】
サービス提供サーバ30においては、ユーザ端末20から受信した加工済データに付加された電子署名pを検証するとともに、ユーザ端末20から受信したデータに自身が合意したプログラムID,データ元ID,データIDが含まれていることを確認する。確認の結果、要求したユーザデータを受信したこと、および加工済データが、サービス提供者がユーザデータの加工に許容したデータ加工プログラムを適用して作成されたものであると確認できた場合に、サービス提供サーバ30においては、当該加工済データをサービスの提供に用いることが許可される。
【0105】
次に、第1実施形態の一例としてのデータ加工システム1における加工サーバ10による処理の詳細を、
図5を用いて説明する。
【0106】
データ加工プログラムの開発者は、データ加工プログラムを開発した後、加工サーバ10にプログラムをアップロードする(符号B1参照)。加工サーバ10は、アップロードされたデータ加工プログラムを受信し、記憶装置13の所定の記憶領域に格納するとともに、プログラムIDの採番をおこなう(符号B2参照)。採番したプログラムIDは開発者に通知される。以下、図中において、データ加工プログラムを単にプログラムと表記する場合がある。
【0107】
また、この際に、開発者は、データ加工プログラムとともに当該データ加工プログラムについてのプログラム情報をアップロードしても良い。データ加工プログラムとプログラムIDとメタデータ(プログラム情報)とが相互に対応付けて加工サーバ10上に保存される(符号B3参照)。
【0108】
サービス提供者は、どのような加工プログラムがあるのかを知る必要がある。そのため、加工プログラム開発者は、サービスに加工プログラムIDと加工プログラムの内容をサービス提供者に伝える。方法としては、サービスが加工サーバ10にアクセスしてプログラムの情報とプログラムIDを取得して理解してもよいし、単にサービス提供者が加工プログラム開発者として登録することでそもそも内容を理解しているということでもよい。
【0109】
ユーザ端末20のユーザアプリ200がサービス提供サーバ30にネットワーク50を介して接続する。サービス提供サーバ30は、ユーザ端末20に対して、ユーザがサービス提供者にユーザデータを提供することで、より好ましいサービスを提供することが可能である旨を伝える。
【0110】
サービス提供サーバ30はユーザアプリ200に対してユーザデータの要求を行なう。ユーザデータの要求を行なう際に、サービス提供サーバ30は、ユーザアプリ200に対して、プログラムID群およびデータ元ID/データIDのセットを提示する(符号B4参照)。プログラムID群は、要求するユーザデータに対して適用することをサービス提供者が合意したデータ加工プログラムを示す。
【0111】
プログラムIDにより、どのデータ加工プログラムでユーザデータを加工するかを識別でき、また、データ元IDおよびデータIDにより、どのデータ所有者(リソースサーバ40)が持つどのユーザデータを加工に利用するのかを識別できる。
【0112】
加工サーバ10においては、データ加工プログラムのプログラム情報をユーザ端末20やサービス提供サーバ30に対して提供可能に構成されている(符号B5参照)。
【0113】
ユーザ端末20の加工方法選択処理部202は、サービス提供サーバ30から通知されたプログラムIDに基づき、加工サーバ10から、当該プログラムIDに対応するプログラム情報を取得する(符号B6参照)。ユーザアプリ200は、UIを介してプログラム情報をユーザに提示することで、ユーザデータをサービス提供者に提供してもよいかを確認する。
【0114】
なお、サービス提供サーバ30が複数のプログラムIDを提供して、その中からどれを選択するかをユーザに確認してもよい。
【0115】
加工方法選択処理部202は、ユーザにユーザデータの加工に用いるデータ加工プログラムの選択を行なわせる。
【0116】
加工方法選択処理部202は、ユーザによる選択結果に基づいて合意情報を生成する。合意情報は、データ加工プログラムのプログラムIDとデータ元ID/データIDのセットとを含む。
【0117】
また、ユーザ端末20において、データ取得部203は、サービス提供サーバ30から受信したユーザデータの要求に基づき、リソースサーバ40に加工対象のユーザデータ(加工前データ)の送信を要求する(符号B7参照)。データ取得部203は、サービス提供サーバ30から受信したユーザデータの要求に含まれるデータ元IDによって特定されるリソースサーバ40に、同じくユーザデータの要求に含まれるデータIDによって特定されるユーザデータの送信要求を行なう。
【0118】
リソースサーバ40は、ユーザ端末20からのユーザデータの送信要求に応じて、データIDによって特定されるユーザデータを記憶装置41から読み出し、取得要求の送信元のユーザ端末20に送信する。また、リソースサーバ40は、送信するユーザデータに、当該ユーザデータのデータIDおよびデータ元ID(IDr)を付加する。そして、リソースサーバ40は、これらのユーザデータ,データIDおよびデータ元IDに対して、当該リソースサーバ40の秘密鍵を用いた電子署名rを付加して、ユーザ端末20に送信する(符号B8参照)。
【0119】
加工指示部201は、合意情報(データID,データ元IDr,プログラムIDk)とユーザデータとを加工指示情報として加工サーバ10に送信する(符号B9)。加工指示部201は、この加工指示情報において、ユーザデータ,データIDおよびデータ元IDrに対して、リソースサーバ40から送信された署名rを付加する。
【0120】
加工サーバ10においては、合意内容受信部101が合意情報を受信し、ユーザデータ受信部102がユーザデータを受信する(符号B10参照)。
【0121】
データ検証部104は、ユーザデータ受信部102によって受信されたユーザデータにリソースサーバ40による電子署名rが付与されているかを検証する。
【0122】
また、データ検証部104は、合意内容受信部101が受信した合意情報とユーザデータ受信部102によって受信したユーザデータとの間で、データ元IDおよびデータIDが一致することを確認する。
【0123】
受信したユーザデータに電子署名rが付与されている場合に、ユーザデータが改ざん等がされていない正当なものであると判断される。また、合意情報とユーザデータとの間でデータ元IDおよびデータIDが一致した場合には、受信したユーザデータが、ユーザによってサービス提供サーバ30による使用が合意された正当なものであると判断される。
【0124】
加工方法選択処理部202は、合意情報に含まれるプログラムIDに対応するデータ加工プログラムを加工プログラム管理部108が管理する複数種類のデータ加工プログラムの中から選択する(符号B11参照)。そして、加工実行部107が、加工方法選択処理部202によって選択されたデータ加工プログラムを実行して、データ検証部104によって正当であると認定されたユーザデータに対する加工を行なう(符号B12参照)。
【0125】
加工実行部107は、データ加工プログラムから演算結果である加工済データを受信(取得)し(符号B13参照)、証明書作成部105に受け渡す。
【0126】
証明書作成部105は、加工済データに付加する電子証明書を作成する。この電子証明書には、データ検証部104による検証で使用したデータ元IDおよびデータIDと、加工方法選択処理部202によって選択されたデータ加工プログラムのプログラムIDkとを含む。また、証明書作成部105は、これらの情報(データ元ID,データID,プログラムIDk)や加工済データの改ざんを防止するために、加工サーバ10の秘密鍵により作成した電子署名を付加する。
【0127】
その後、データ/証明書送信部103は、加工実行部107により加工された加工済データをユーザ端末20に対して送信する(符号B14参照)。
【0128】
データ/証明書送信部103は、加工済データに、当該加工済データの作成に用いたデータ加工プログラムを特定するプログラムIDkと、サーバIDpと、加工済データの元になったユーザデータに関するデータIDおよびデータ元IDrを付加する。そして、データ/証明書送信部103は、これらの加工済データ,プログラムIDk,データIDおよびデータ元IDrおよびサーバID(IDp)に電子署名pを付与して、ユーザ端末20に送信する(符号B15参照)。
【0129】
ユーザ端末20においては、加工済データ受信部204が、加工サーバ10から送信された加工済データを受信する。
【0130】
加工済データ送信部205は、加工済データに、プログラムIDk,データ元IDrおよびサーバIDpを付与してサービス提供サーバ30に送信する。また、加工済データ送信部205は、これらの加工済データ,プログラムIDk,データ元IDrおよびサーバIDpに、加工サーバ10による電子署名pを付加してサービス提供サーバ30に送信する(符号B16参照)。
【0131】
サービス提供サーバ30は、ユーザ端末20から受信した加工済データに付加された電子署名pを検証するとともに、ユーザ端末20から受信したデータに自身が合意したプログラムID,データ元ID,データIDが含まれていることを確認する。これにより、サービス提供サーバ30は、ユーザに対して要求したユーザデータに対して、予め使用を合意したデータ加工プログラムが適用されたかを確認した後、当該加工済データを用いてサービス提供のための処理を行なう。
【0132】
(C)効果
このように、第1実施形態の一例としてのデータ加工システム1によれば、サービス提供サーバ30がユーザアプリ200に対して送信するユーザデータの要求に、プログラムID群およびデータ元ID/データIDのセットを含める。
【0133】
これに対して、ユーザ端末20において、加工方法選択処理部202が、ユーザに対して送信されたプログラムID群を構成する各プログラムIDに対応するデータ加工プログラムを、ユーザデータの加工に用いる選択肢として提示し、これらの中から選択させる。これにより、サービス提供者とユーザとの双方において合意された加工がユーザデータに対して行なわれ、サービス提供者に提供される。
【0134】
すなわち、ユーザとサービス事業者との間で合意された加工法でパーソナルデータを加工し、電子署名を付与して出力することで、ユーザおよびサービス事業者双方の要求を満たす信頼性の高いパーソナルデータを取得できる。従って、サービス提供者に対して、ユーザのプライバシーや希望を考慮した加工を行なったユーザデータ(加工済データ)を提供することができる。
【0135】
ユーザ端末20(加工指示部201)が、リソースサーバ40の秘密鍵を用いた電子署名rが付加されたユーザデータ(加工前データ)を加工サーバ10に送信することで、加工サーバ10は改ざんのない正当なユーザデータを取得することができ信頼性を向上させることができる。
【0136】
加工サーバ10(データ/証明書送信部103)は、加工済データ,プログラムIDk,データIDおよびデータ元IDrおよびサーバID(IDp)に電子署名pを付与して、ユーザ端末20に送信する。これにより、加工済データ等の偽造や改ざんを防止することができ信頼性を向上させることができる。
【0137】
ユーザ端末20において、加工済データ送信部205は、加工済データに、プログラムIDk,データ元IDrおよびサーバIDpを付与してサービス提供サーバ30に送信する。また、加工済データ送信部205は、これらの加工済データ,プログラムIDk,データ元IDrおよびサーバIDpに、加工サーバ10による電子署名pを付加してサービス提供サーバ30に送信する。
【0138】
サービス提供サーバ30は、ユーザ端末20から受信した加工済データに付加された電子署名pを検証するとともに、ユーザ端末20から受信したデータに自身が合意したプログラムID,データ元ID,データIDが含まれていることを確認する。これにより、サービス提供サーバ30は、受信した加工済データが、ユーザに対して要求したユーザデータに基づくものであるかを確認することができ、加工済データの信頼性を向上させることができる。また、受信した加工済データが、予め使用を合意したデータ加工プログラムが適用されたかを確認することができ、これによって加工済データの信頼性を向上させることができる。
【0139】
加工サーバ10において、予め開発者よってアップロードされ加工プログラム管理部108によって管理されたデータ加工プログラムを用いてユーザデータに対して加工を行なうことで、不正なデータ加工プログラムによる情報漏えい等を防ぐことができる。
【0140】
(II)第2実施形態の説明
上述した第1実施形態のデータ加工システム1においては、例えば、リソースサーバ40において管理されたユーザデータを、ユーザ端末20が中継して加工サーバ10に受け渡しているので、これによるユーザ端末20の負荷が大きい。
【0141】
また、加工サーバ10において作成された加工済データについても、ユーザ端末20が中継してサービス提供サーバ30に受け渡しているので、これによってもユーザ端末20の負荷が大きい。
【0142】
本第2実施形態においては、データへアクセスするためのアクセス情報を有するチケットを用いることで、データの受け渡しにかかる負荷を軽減する手法を提示する。
【0143】
(A)構成
本第2実施形態の一例としてのデータ加工システム1も、
図1に例示する第1実施形態と同様に、サービス提供サーバ30,リソースサーバ40-1,40-2,加工サーバ10およびユーザ端末20を備える。
【0144】
以下、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。
【0145】
[サービス提供サーバ30]
本第2実施形態においては、サービス提供サーバ30は、第1実施形態と同様に、ユーザ端末20に対してユーザデータの要求を行ない、この要求に対して応答されたユーザデータに対して処理を行ない、サービスの提供を行なう。
【0146】
また、本第2実施形態のサービス提供サーバ30は、ユーザ端末20から加工済データにアクセスするためのチケットpを受信し、このチケットpに記述された情報を用いて加工サーバ10から加工済データを取得する。
【0147】
チケットpは、記憶装置13に格納された加工済データにアクセスするための第1アクセス情報を含む第1チケットに相当する。
【0148】
チケットは、データへアクセスするためのアクセス情報を有し、このアクセス情報によりデータへのアクセスを実現するものである。なお。チケットはデータへのアクセス権限を示す情報であってもよい。サービス提供サーバ30が受信するチケットpには、加工サーバ10が管理するネットワークストレージ装置60に格納された加工済データにアクセスするための情報が記述されている。加工サーバ10は、このチケットpに記述された情報をもとに記憶装置13から適切なデータ(加工済データ)を応答する。
【0149】
チケットpに記述された加工サーバ10の加工済データにアクセスするための情報は、例えば、リンク情報やアクセスコマンドである。リンク情報は、例えば、URL(Uniform Resource Locator) であってもよい。なお、チケットに記述されるデータにアクセスするための情報は、リンク情報やアクセスコマンドに限定されるものではなく、種々変形して実施することができる。リンク情報やアクセスコマンドの記述がない場合は、その情報を別の方法で取得してもよい。チケットpは、加工済データへのアクセス権限を示す情報であってもよい。
【0150】
なお、サービス提供サーバ30にチケットpを提供する際には、サービス提供サーバ30が加工サーバ10にアクセスし、ユーザ認証などを行なってから加工済データを受信することが望ましい。
【0151】
サービス提供サーバ30は、例えば、チケットpのメタデータ内のIDおよび署名を確認し、メタデータに基づいて加工サーバ10にアクセスして加工済データを取得してもよい。チケットには、改ざん防止のために、例えば、加工サーバ10の秘密鍵を用いた電子署名が付加されている。
【0152】
サービス提供サーバ30は、チケットpに付加された電子署名pを検証し、この電子署名pに自身が合意した合意情報(プログラムID,データ元IDおよびデータID)が含まれていることを確認する。合意情報にプログラムIDkを含め、サービス提供サーバ30は、プログラムIDについての検証を行なってもよい。
【0153】
なお、これらのプログラムID,データ元ID,データIDおよびプログラムIDkをチケットpに代えて加工済データに備えてもよく、この場合には、チケットpに付加された電子署名pの検証を省略してもよい。
【0154】
サービス提供サーバ30は、加工サーバ10にアクセスしてチケットpを送信し、対応するユーザデータを受信する。
【0155】
なお、上述の如くプログラムID,データ元IDおよびデータIDを加工済データ側に備える場合には、サービス提供サーバ30は、これらのプログラムID,データ元IDおよびデータIDが合意内容と一致することを確認する。これにより、サービス提供サーバ30は自身(サービス提供者)が合意した加工済みデータを受け取れたことを確認できる。
【0156】
サービス提供サーバ30は、加工サーバ10から受信した加工済データを用いてサービスの提供を行なう。
【0157】
[リソースサーバ40]
本第2実施形態のデータ加工システム1において、リソースサーバ40は、ユーザ端末20に対してユーザデータを渡す代わりに、ユーザデータへアクセスを行なわせるチケットrを発行して、ユーザ端末20に提供する。チケットrには、そのリソースサーバ40が持つユーザデータの一部に対応付けを行なうための情報(例えば、リンク情報やアクセスコマンド)が記述されており、リソースサーバ40は、チケットrをリソースサーバ40が受け取った場合には、その情報をもとに適切なユーザデータを応答する。リンク情報は、例えば、URLであってもよい。チケットrは、ユーザデータへのアクセス権限を示す情報であってもよい。
【0158】
チケットrは、リソースサーバ40に格納されたユーザデータにアクセスするための第2アクセス情報を含む第2チケットに相当する。
【0159】
そして、リソースサーバ40は、当該リソースサーバ40に格納されたユーザデータにアクセスするための第2アクセス情報を含む第2チケット(r)を発行する第2チケット発行部に相当する。
【0160】
ここでは、ユーザに提供したチケットrにおいてはそのユーザのユーザデータに対応付けがなされており、リソースサーバ40は、このチケットrを受信すると、このチケットに対応付けられたユーザデータを返答する。
【0161】
チケットrの送信先はユーザでなくてもよい。チケットrを入手するとそのユーザデータを得られることになる。チケットrにリソースサーバ40にアクセスするための情報(例えば、URL)を記述してもよい。なお、チケットrに、リソースサーバ40にアクセスするための情報を記述する代わりに、適宜変更して実施することができる。例えば、チケットrに、リソースサーバ40のユーザデータの取得をユーザ端末20に実行させるコマンドを示すコマンド情報を記述してもよい。
【0162】
なお、リソースサーバ40がユーザアプリ200にチケットrを提供する際には、ユーザアプリ200がリソースサーバ40にアクセスし、ユーザ認証などを行なってからユーザデータの受信を行なうことになる。また、チケットrには、取得を要求するユーザデータの格納位置を示すデータ元IDおよびデータIDが記述されている。また、これらのデータ元IDおよびデータIDに代えて、他の情報と組み合わせることでチケットrが対応するデータ元IDとデータIDがわかるようにしてもよい。また、チケットrには、改ざん防止のために電子署名が付加されている。
【0163】
チケットrにはメタデータが備えられており、リソースサーバ40は、このメタデータに自身を特定する識別情報であるデータ元IDrを付加する。また、リソースサーバ40は、このチケットrに当該リソースサーバ40の秘密鍵を用いた電子署名rを付加して、ユーザ端末20に送信する。
【0164】
これにより、チケットrの偽造や改ざんを防止することができる。なお、チケットrに対する電子署名rの付加は、既知の種々の手法を用いて実現することができ、その説明は省略する。
【0165】
この電子署名rには、ユーザデータの所有者であるユーザを特定するユーザIDを含めてもよく、これにより正当なユーザのユーザデータであることを確実に保証することができる。
【0166】
リソースサーバ40は、チケットrが送信された場合に、当該チケットrに対応するユーザデータを加工サーバ10に応答する。
【0167】
[ユーザ端末20]
第2実施形態の一例としてのデータ加工システム1において、ユーザ端末20のユーザアプリ200は、加工サーバ10に対して、ユーザデータを送信する代わりに、チケットrを送信する。
【0168】
第2実施形態のユーザ端末20のユーザアプリ200は、第1実施形態と同様に、サービス提供サーバ30にアクセスし、合意を行なう。この合意を行なうに際して、ユーザアプリ200は、合意情報に含まれるデータ元IDおよびデータIDに対応するチケットを所有していることを確認する必要がある。そして、ユーザアプリ200は、合意内容に対応するチケットと合意内容とを加工サーバ10に送信する。
【0169】
図6は第2実施形態の一例としてのデータ加工システム1のユーザ端末20の機能構成を例示する図である。
【0170】
第2実施形態のユーザ端末20は、加工指示部201,第1チケット受信部206および第1チケット送信部207としての機能を備える。これらの加工指示部201,第1チケット受信部206および第1チケット送信部207としての機能は、ユーザ端末20に備えられたプロセッサ11(
図10参照)がユーザアプリケーション200を実行することにより実現される。
【0171】
第2実施形態の加工指示部201は、加工方法選択処理部202,チケット取得部208および第3チケット送信部209としての機能を備える。
【0172】
チケット取得部208は、リソースサーバ40からユーザデータを取得するためのチケットrを受信する。
【0173】
第3チケット送信部209は、チケット取得部208が受信したチケットrを合意情報とともに加工サーバ10に送信する。
【0174】
加工指示部201は、加工サーバ10に対して、チケットrとプログラムIDkを加工指示情報として通知する。
【0175】
この加工指示情報のうち、プログラムIDkが、ユーザデータに対するデータ加工プログラムによる加工に対する合意内容を示す合意情報に相当する。
【0176】
第1チケット受信部206は、加工サーバ10から送信されるチケットpを受信する。このチケットpには、加工サーバ10による電子署名pが付加されている。
【0177】
これにより、チケットpの偽造や改ざんを防止することができる。チケットpに対する電子署名pの付加は、既知の種々の手法を用いて実現することができ、その説明は省略する。
【0178】
この電子署名pには、ユーザデータの所有者であるユーザを特定するユーザIDを含めてもよく、これにより正当なユーザのユーザデータであることを確実に保証することができる。
【0179】
第1チケット送信部207は、加工サーバ10から受信したチケットpをサービス提供サーバ30に送信する。
【0180】
[加工サーバ10]
図7は第2実施形態の一例としてのデータ加工システム1の加工サーバ10の機能構成を例示する図である。
【0181】
加工サーバ10は、第2チケット受信部109,ユーザデータ取得部110,第2チケット送信部111,チケット検証部112,チケット生成部113,加工方法選択処理部106,加工実行部107および加工プログラム管理部108を備える。
【0182】
第2チケット受信部109は、ユーザ端末20の第3チケット送信部209から送信されるチケットrと合意情報(データID,データ元IDr,プログラムIDk)とを受信する。
【0183】
チケット検証部112は、第2チケット受信部109が受信したチケットrを検証する。チケット検証部112は、受信したチケットrに記述されたデータ元IDおよびデータIDが、合意情報に含まれるデータ元IDおよびデータIDに一致することを確認する。また、チケット検証部112は、チケットrにリソースサーバ40による電子署名rが付与されているかを検証する。
【0184】
チケット検証部112は、データ元IDおよびデータIDの確認もしくは電子署名rの検証の少なくとも一方に失敗した場合は、例えば、ユーザ端末20にエラーを返答するとともに、ユーザデータの加工の実施を抑止する。
【0185】
ユーザデータ取得部110は、リソースサーバ40からユーザデータを取得する。ユーザデータ取得部110は、上述したチケット検証部112において、データ元IDおよびデータIDの確認と電子署名rの検証との両方に成功した場合に、チケットrを使ってリソースサーバ40にアクセスし、このリソースサーバ40にチケットrを送信して、対応するユーザデータを受信する。なお、このユーザデータにデータ元IDとデータIDを含めてもよい。その場合には、チケット検証部112は、このユーザデータに含まれるデータ元IDおよびデータIDが、合意内容に含まれているデータ元IDおよびデータID一致するかを確認する。
【0186】
ユーザデータ取得部110は、第2チケット受信部109が受信したチケットrのメタデータに基づき、リソースサーバ40にチケットrを送信することで、ユーザデータを取得する。ユーザデータ取得部110は、取得したユーザデータを、加工サーバ10のメモリ12や記憶装置13の所定の記憶領域に記憶させる。
【0187】
ユーザデータ取得部110は、パーソナルデータを受信するパーソナルデータ受信部に相当する。
【0188】
加工済データ格納処理部210は、加工実行部107によって作成された加工済データを記憶装置13に格納させる。加工済データ格納処理部210は、ユーザデータに対して合意情報に規定される加工法で加工を行なう加工処理部に相当する。
【0189】
チケット生成部113は、加工実行部107によって作成された加工済データをサービス提供サーバ30に提供するためのチケットpを生成する。
【0190】
このチケットには、加工に使用したデータ加工プログラムのプログラムIDを含めてもよく、また、加工前データのデータ元IDやデータIDをふくめてもよい。これらのプログラムID,データ元IDおよびデータIDはチケットpに含める代わりに、チケットpと引き換えに渡す加工済データ側に含めてもよい。
【0191】
また、チケットpに、ユーザデータ取得のために加工サーバ10にアクセスするための情報(例えば、リンク情報やアクセスコマンド)を記述しておいてもよい。リンク情報は例えば、URLであってもよい。このような加工サーバ10にアクセスするための情報(例えば、URL)をチケットpまたは加工済データに添付する以外の方法でサービス提供サーバ30に提供してもよい。チケット生成部113は、チケットpの改ざんを防止するための電子署名pを付加する。電子署名pが付加されたチケットpを署名済みのチケットpといってもよい。
【0192】
チケット生成部113は、1チケット(p)を発行する第1チケット発行部に相当する。
【0193】
第2チケット送信部111は、署名済みのチケットpをユーザ端末20に送信する。
【0194】
(B)動作
上述の如く構成された第2実施形態の一例としてのデータ加工システム1における処理の概要を、
図8を用いて説明する。以下、図中の既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。
【0195】
ユーザ端末20を用いるユーザは、サービス提供者との間でユーザデータとその加工方法についての合意を行なう(符号C1)。すなわち、ユーザは、サービス提供者に提供するユーザデータについての提供許可と、当該ユーザデータの加工に用いるデータ加工プログラムの決定とを行なう。
【0196】
この合意に基づき、ユーザ端末20の加工方法選択処理部202は、サービス提供サーバ30に提供するユーザデータについて、データIDおよびデータ元ID(IDr)と、ユーザデータに対して行なう加工についてのプログラムIDkとを含む合意情報を作成する(符号C2参照)。
【0197】
また、ユーザ端末20のチケット取得部208は、リソースサーバ40に対してユーザデータを取得するためのチケットの発行要求を送信し(符号C3参照)、リソースサーバ40は、この要求に応じてチケットrを作成するとともに、このチケットrに電子署名rを付加してユーザ端末20に送信する(符号C4参照)。
【0198】
ユーザ端末20の加工指示部201は、リソースサーバ40から取得したチケットrを合意情報とともに加工サーバ10に送信する(符号C5参照)。
【0199】
加工サーバ10においては、受信したチケットrおよび合意情報に基づく検証を行なった後に、ユーザデータ取得部110が、チケットrを使ってリソースサーバ40にアクセスし、このリソースサーバ40にチケットrを送信する(符号C6参照)。リソースサーバ40は、このチケットrに応答して対応するユーザデータを加工サーバ10に送信する(符号C7参照)。
【0200】
加工サーバ10において、加工実行部107が、合意情報に含まれるプログラムIDに対応するデータ加工プログラムを用い、ユーザデータの加工を行なう。加工済データ格納処理部210が、記憶装置13に作成した加工済データを格納させる(符号C8参照)。
【0201】
加工サーバ10において、チケット生成部113が加工済データをサービス提供サーバ30に提供するためのチケットpを生成し、第2チケット送信部111が、このチケットpをユーザ端末20に送信する(符号C9参照)。
【0202】
ユーザ端末20において、第1チケット送信部207が、チケットpをサービス提供サーバ30に送信する(符号C10参照)。
【0203】
サービス提供サーバ30は、チケットに付加された電子署名pを検証した後、加工サーバ10にアクセスしてチケットpを送信する(符号C11参照)。加工サーバ10は、このチケットpに応答して対応する加工済データをサービス提供サーバ30に送信する(符号C12参照)。サービス提供サーバ30においては、当該加工済データをサービスの提供に用いる。
【0204】
次に、第2実施形態の一例としてのデータ加工システム1における加工サーバ10による処理の詳細を、
図9を用いて説明する。
【0205】
この
図9中において、
図5において既述の符号と同一の符号は同様の処理を示しているので、その説明は省略する。
【0206】
ユーザ端末20において、チケット取得部208は、サービス提供サーバ30から受信したユーザデータの要求に基づき、リソースサーバ40に対して、ユーザデータへアクセスするためのチケットの発行を要求する(符号D7参照)。
【0207】
リソースサーバ40は、ユーザ端末20からのチケットの発行要求に応じて、チケットrを発行する。リソースサーバ40は、このチケットrに当該リソースサーバ40の秘密鍵を用いた電子署名rを付加して、ユーザ端末20に送信する(符号D8参照)。
【0208】
ユーザ端末20において、チケット取得部208が、リソースサーバ40からユーザデータを取得するためのチケットrを受信し、第3チケット送信部209が、チケット取得部208が受信したチケットrを合意情報とともに加工サーバ10に送信する(符号D9参照)。
【0209】
加工サーバ10においては、第2チケット受信部109が、ユーザ端末20の第3チケット送信部209から送信されるチケットrと合意情報(データID,データ元IDr,プログラムIDk)とを受信する(符号D10参照)。
【0210】
チケット検証部112は、第2チケット受信部109によって受信されたチケットrに付加されたデータ元IDおよびデータIDが、合意情報に含まれるデータ元IDおよびデータIDに一致することを確認する。また、チケット検証部112は、チケットrにリソースサーバ40による電子署名rが付与されているかを検証する(符号D13参照)。
【0211】
データ元IDおよびデータIDの確認および電子署名rの検証のいずれも成功した場合に、受信したチケットrが正当なものであると判断される。
【0212】
ユーザデータ取得部110は、チケットrを使ってリソースサーバ40にアクセスし、このリソースサーバ40にチケットrを送信する(符合D11参照)。
【0213】
リソースサーバ40は、受信したチケットrに対応するユーザデータを加工サーバ10に応答し(符号D12参照)、ユーザデータ取得部110がこのユーザデータを受信する。
【0214】
加工方法選択処理部202は、合意情報に含まれるプログラムIDに対応するデータ加工プログラムを加工プログラム管理部108が管理する複数種類のデータ加工プログラムの中から選択する。
【0215】
そして、加工実行部107が、加工方法選択処理部202によって選択されたデータ加工プログラムを実行して、データ検証部104によって正当であると認定されたユーザデータに対する加工を行なう(符号D14参照)。これにより、加工済データが作成される。
【0216】
加工済データ格納処理部210は、作成された加工済データを受信し(符号D15参照)、記憶装置13の所定の記憶領域に格納させる(符号D17参照)。
【0217】
チケット生成部113は、加工実行部107によって作成された加工済データをサービス提供サーバ30に提供するためのチケットpを生成する。また、チケット生成部113は、チケットpの改ざんを防止するための電子署名pを付加する。第2チケット送信部111が、この署名済みのチケットpをユーザ端末20に送信する(符号D16,D18参照)。
【0218】
ユーザ端末20においては、第1チケット受信部206が、加工サーバ10から送信されたチケットpを受信する。そして、第1チケット送信部207が、サービス提供サーバ30に対してチケットpを送信する(符号D19参照)。
【0219】
サービス提供サーバ30は、ユーザ端末20から受信したチケットpを使って加工サーバ10にアクセスし(符号D20参照)、この加工サーバ10にチケットpを送信して、対応する加工済データを受信する(符号D21参照)。
【0220】
サービス提供サーバ30は、受信した加工済データを用いてサービス提供のための処理を行なう。
【0221】
(C)効果
このように、第2実施形態の一例としてのデータ加工システム1によっても、第1実施形態と同様の作用・効果を奏することができる。
【0222】
また、リソースサーバ40がユーザ端末20に対してユーザデータを送信する代わりにチケットrを送信し、ユーザ端末20はこのチケットrを加工サーバ10に送信する。これにより、ユーザ端末20は、リソースサーバ40や加工サーバ10との間でユーザデータの送受信を行なうことがなく、第1実施形態に比べてユーザ端末20の負荷を軽減することができる。
【0223】
さらに、加工サーバ10においては、加工実行部107が作成した加工済データを、ユーザ端末20に送信する代わりに、加工済データ格納処理部210が加工サーバ10に備えられた記憶装置13に格納させる。そして、チケット生成部113が生成したチケットpを第2チケット送信部111がユーザ端末20に送信し、ユーザ端末20はこのチケットpをサービス提供サーバ30に送信する。これにより、ユーザ端末20は、加工サーバ10やサービス提供サーバ30との間で加工済データの送受信を行なうことがなく、第1実施形態に比べてユーザ端末20の負荷を軽減することができる。
【0224】
また、リソースサーバ40は、このチケットrに当該リソースサーバ40の秘密鍵を用いた電子署名rを付加して、ユーザ端末20に送信する。これにより、チケットrの偽造や改ざんを防止することができ信頼性を向上させることができる。
【0225】
また、加工サーバ10においても、チケット生成部113が、チケットpの改ざんを防止するための電子署名pを付加する。これにより、チケットpの偽造や改ざんを防止することができ、これによっても信頼性を向上させることができる。
【0226】
(D)その他
[加工サーバ10のハードウェア構成]
図10は第1実施形態および第2実施形態の一例としてのデータ加工システム1の加工サーバ10のハードウェア構成を例示する図である。
【0227】
加工サーバ10は、例えば、プロセッサ11,RAM(Random Access Memory)12,HDD13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11~18は、バス19を介して相互に通信可能に構成される。
【0228】
プロセッサ(処理部)11は、加工サーバ10全体を制御する。プロセッサ11は、マルチプロセッサであってもよい。プロセッサ11は、例えばCPU,MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい。また、プロセッサ11は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
【0229】
RAM(記憶部)12は、加工サーバ10の主記憶装置として使用される。RAM12には、プロセッサ11に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM12には、プロセッサ11による処理に必要な各種データが格納される。アプリケーションプログラムには、加工サーバ10によって本実施形態のデータ加工機能を実現するためにプロセッサ11によって実行されるデータ加工プログラムが含まれてもよい。
【0230】
HDD(Hard Disk Drive)13は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行なう。HDD13は、加工サーバ10の補助記憶装置として使用される。HDD13には、OSプログラム,アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SCM(Storage Class Memory)や、フラッシュメモリ等の半導体記憶装置を使用することもできる。
【0231】
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
【0232】
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
【0233】
光学ドライブ装置16は、レーザ光等を利用して、光ディスク26aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD-RAM,CD-ROM(Compact Disc Read Only Memory),CD-R(Recordable)/RW(ReWritable)等が挙げられる。
【0234】
機器接続インタフェース17は、加工サーバ10に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
【0235】
ネットワークインタフェース18は、ネットワーク50に接続される。ネットワークインタフェース18は、ネットワーク50を介して、他のコンピュータまたは通信機器との間でデータの送受信を行なう。
【0236】
以上のようなハードウェア構成を有する加工サーバ10において、プロセッサ11が加工サーバ用データ加工プログラムを実行することで、上述した、合意内容受信部101,ユーザデータ受信部102,データ/証明書送信部103,データ検証部104,証明書作成部105,加工方法選択処理部106,加工実行部107および加工プログラム管理部108としての機能が実現される(第1実施形態の場合)。また、加工サーバ10において、プロセッサ11が加工サーバ用データ加工プログラムを実行することで、上述した、第2チケット受信部109,ユーザデータ取得部110,第2チケット送信部111,チケット検証部112,チケット生成部113,加工方法選択処理部106,加工実行部107および加工プログラム管理部108としての機能が実現される(第2実施形態の場合)。
【0237】
また、RAM12に、上述した合意情報やユーザデータ,チケット等が記憶される。これらの合意情報やユーザデータ,チケットは、HDD13に記憶されてもよい。また、記憶装置13に、上述した複数種類のデータ加工プログラムが記憶される。
【0238】
[ユーザ端末20のハードウェア構成]
図11は第1実施形態および第2実施形態の一例としてのデータ加工システム1のユーザ端末20のハードウェア構成を例示する図である。
【0239】
ユーザ端末20は、例えば、プロセッサ21,RAM22,HDD23,グラフィック処理装置24,入力インタフェース25,光学ドライブ装置26,機器接続インタフェース27およびネットワークインタフェース28を構成要素として有する。これらの構成要素21~28は、バス29を介して相互に通信可能に構成される。
【0240】
ユーザ端末20におけるこれらのプロセッサ21,RAM22,HDD23,グラフィック処理装置24,入力インタフェース25,光学ドライブ装置26,機器接続インタフェース27およびネットワークインタフェース28は、加工サーバ10のプロセッサ11,RAM12,HDD13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18と同様の機能構成を有するものであるので、その詳細な説明は省略する。
【0241】
なお、ユーザ端末20において、RAM22は主記憶装置として使用される。RAM22には、プロセッサ21に実行させるOSプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM22には、プロセッサ21による処理に必要な各種データが格納される。アプリケーションプログラムには、ユーザ端末20によって本実施形態のデータ加工機能を実現するためにプロセッサ21によって実行されるユーザ端末用データ加工プログラムが含まれてもよい。
【0242】
以上のようなハードウェア構成を有するユーザ端末20において、プロセッサ21がユーザ端末用データ加工プログラムを実行することで、上述した、加工指示部201,加工済データ受信部204および加工済データ送信部205としての機能が実現される(第1実施形態の場合)。また、プロセッサ21がユーザ端末用データ加工プログラムを実行することで、上述した、加工指示部201,第1チケット受信部206および第1チケット送信部207としての機能が実現される(第2実施形態の場合)。
【0243】
また、RAM22に、上述した合意情報やユーザデータ,チケット等が記憶される。これらの合意情報やユーザデータ,チケットは、HDD23に記憶されてもよい。
【0244】
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0245】
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0246】
例えば、
図1に示す例おいては、ユーザ端末20,加工サーバ10およびサービス提供サーバ30をそれぞれ1つずつ備えるとともに、2つのリソースサーバ40-1,40-2つ備えているがこれに限定されるものではない。ユーザ端末20,加工サーバ10,リソースサーバ40,サービス提供サーバ30の数はそれぞれ適宜変更して実施することができる。
【0247】
また、例えば、ユーザ端末20からサービス提供サーバ30に対する、電子署名pを付した加工済データやチケットpの送信において、サービス提供サーバ30において行なわれる電子署名pの検証に利用する公開鍵をIDに基づいて取得可能にすることが望ましい。
【0248】
加工サーバ10におけるデータ加工プログラムのプログラム情報を任意に編集可能にしてもよい。これにより、プログラム情報に対して、ユーザが理解し易いようにデータ加工プログラムに関する説明を付加することができ、これによりユーザの合意を得やすくすることができ、作業効率を向上させることができる。
【0249】
加工サーバ10に格納された各データ加工プログラムについて、各データ加工プログラムの動作をチェックし、不要な通信等を行なっていないか等を確認する機能を備えてもよい。これにより、例えば、開発者等によりデータ加工プログラムに不正なコードが埋め込まれた場合であっても容易に見つけ出すことができ、データ加工プログラムの不正による情報漏洩等を防止することができる。すなわち、信頼性を向上させることができる。
【0250】
また、例えば、ユーザ端末20のユーザアプリケーション200が、サービス提供サーバ30から受信したユーザデータの情報を加工サーバ10に送信してもよい。加工サーバ10が、そのユーザデータの情報を基に、ユーザデータ内の一部を削除した上でデータ加工プログラムに渡してもよい。これにより、ユーザデータにおいて、データ加工に不要な部分がある場合に、データ加工プログラムにこの不要な部分を渡さないことで、データ加工プログラムの不正による情報漏洩を阻止することができる。
【0251】
また、加工サーバ10において、データ加工プログラムの実行時に、例えば、実行時刻の情報や起動されたデータ加工プログラムのプログラムID等を実行ログとして保存してもよく、また、この実効ログを第三者が取得できるようにしてもよい。これにより、実際にデータ加工プログラムを動作させていたかをサービス提供者(サービス提供サーバ30)が確認することができ、利便性が高い。
【0252】
(III)付記
以上の実施形態に関し、さらに以下の付記を開示する。
【0253】
(付記1)
パーソナルデータ由来者に関するパーソナルデータを受信するパーソナルデータ受信部と、
前記パーソナルデータ由来者と前記パーソナルデータを利用するパーソナルデータ利用者との間で合意されたパーソナルデータの加工法に関する合意情報を受信する合意情報受信部と、
前記パーソナルデータに対して前記合意情報に規定される加工法で加工を行なう加工処理部と、
前記加工処理部による加工済データに電子署名を付与して出力する加工済データ出力部と
を備えることを特徴とする、情報処理装置。
【0254】
(付記2)
受信した前記パーソナルデータの正当性を検証するパーソナルデータ検証部を備え、
前記パーソナルデータ検証部による検証の結果、前記パーソナルデータの正当性が確認された場合に、前記加工処理部が前記パーソナルデータの加工を行なう
ことを特徴とする、付記1記載の情報処理装置。
【0255】
(付記3)
複数種類の加工プログラムを格納する加工プログラム記憶部を備え、
前記加工処理部が、前記合意情報に対応する加工プログラムを用いて前記パーソナルデータの加工を行なう
ことを特徴とする、付記1または2記載の情報処理装置。
【0256】
(付記4)
前記加工済データについての電子証明書を作成する証明書作成部を備え、
前記加工済データ出力部が、前記加工済データに前記電子証明書を付して出力する
ことを特徴とする、付記1~3のいずれか1項に記載の情報処理装置。
【0257】
(付記5)
前記加工済データ出力部が、前記加工済データを前記パーソナルデータ由来者が用いる第2の情報処理装置に送信し、
前記第2の情報処理装置が、前記加工済データを用いて処理を行なう第3の情報処理装置に送信する
ことを特徴とする、付記1~4のいずれか1項に記載の情報処理装置。
【0258】
(付記6)
前記加工済データ出力部が、前記加工済データを記憶装置に格納し、
前記記憶装置に格納された前記加工済データにアクセスするための第1アクセス情報を含む第1チケットを発行する第1チケット発行部を備え、
前記第3の情報処理装置が、前記第1チケットの前記第1アクセス情報を用いて、前記記憶装置から前記加工済データを取得する
ことを特徴とする、付記1~4のいずれか1項に記載の情報処理装置。
【0259】
(付記7)
前記パーソナルデータを格納するパーソナルデータ格納部と、
第2チケット発行部によって発行された、前記パーソナルデータ格納部に格納された前記パーソナルデータにアクセスするための第2アクセス情報を含む第2チケットを受信するチケット受信部と
を備え、
前記パーソナルデータ受信部が、前記第2チケットの前記第2アクセス情報を用いて、前記パーソナルデータ格納部から前記パーソナルデータを取得する
ことを特徴とする、付記1~6のいずれか1項に記載の情報処理装置。
【0260】
(付記8)
パーソナルデータ由来者に関するパーソナルデータを受信し、
前記パーソナルデータ由来者と前記パーソナルデータを利用するパーソナルデータ利用者との間で合意されたパーソナルデータの加工法に関する合意情報を受信し、
前記パーソナルデータに対して前記合意情報に規定される加工法で加工を行ない、
前記加工により作成した加工済データに電子署名を付与して出力する
処理をコンピュータに実行させる制御プログラム。
【0261】
(付記9)
受信した前記パーソナルデータの正当性を検証し、
検証の結果、前記パーソナルデータの正当性が確認された場合に、前記パーソナルデータの加工を行なう
処理を前記コンピュータに実行させる、付記8記載の制御プログラム。
【0262】
(付記10)
複数種類の加工プログラムを格納し、
前記合意情報に対応する加工プログラムを用いて前記パーソナルデータの加工を行なわせる
処理を前記コンピュータに実行させる付記8または9記載の制御プログラム。
【0263】
(付記11)
前記加工済データについての電子証明書を作成し、
前記加工済データに前記電子証明書を付して出力させる
処理を前記コンピュータに実行させる付記8~10のいずれか1項に記載の制御プログラム。
【0264】
(付記12)
前記加工済データを前記パーソナルデータ由来者が用いる第2の情報処理装置に送信し、
前記第2の情報処理装置が、前記加工済データを用いて処理を行なう第3の情報処理装置に送信する
処理を前記コンピュータに実行させる付記8~11のいずれか1項に記載の制御プログラム。
【0265】
(付記13)
前記加工済データを記憶装置に格納し、
前記記憶装置に格納された前記加工済データにアクセスするための第1アクセス情報を含む第1チケットを発行し、
前記第3の情報処理装置に、前記第1チケットの前記第1アクセス情報を用いて、前記記憶装置から前記加工済データを取得させる
処理を前記コンピュータに実行させる付記8~11のいずれか1項に記載の制御プログラム。
【0266】
(付記14)
前記パーソナルデータをパーソナルデータ格納部格納させ、
前記パーソナルデータ格納部に格納された前記パーソナルデータにアクセスするための第2アクセス情報を含む第2チケットを受信し、
前記第2チケットの前記第2アクセス情報を用いて、前記パーソナルデータ格納部から前記パーソナルデータを取得する
処理を前記コンピュータに実行させる付記8~13のいずれか1項に記載の制御プログラム。
【0267】
(付記15)
パーソナルデータ由来者に関するパーソナルデータを受信する処理と、
前記パーソナルデータ由来者と前記パーソナルデータを利用するパーソナルデータ利用者との間で合意されたパーソナルデータの加工法に関する合意情報を受信する処理と、
前記パーソナルデータに対して前記合意情報に規定される加工法で加工を行なう処理と、
前記加工により作成した加工済データに電子署名を付与して出力する処理と
を備えることを特徴とする、制御方法。
【0268】
(付記16)
受信した前記パーソナルデータの正当性を検証する処理を備え、
前記検証の結果、前記パーソナルデータの正当性が確認された場合に、前記パーソナルデータの加工を行なう
ことを特徴とする、付記15記載の制御方法。
【0269】
(付記17)
複数種類の加工プログラムを格納する処理を備え、
前記合意情報に対応する加工プログラムを用いて前記パーソナルデータの加工を行なう
ことを特徴とする、付記15または16記載の制御方法。
【0270】
(付記18)
前記加工済データについての電子証明書を作成する処理を備え、
前記加工済データに前記電子証明書を付して出力する
ことを特徴とする、付記15~17のいずれか1項に記載の制御方法。
【0271】
(付記19)
前記加工済データを前記パーソナルデータ由来者が用いる第2の情報処理装置に送信する処理と、
前記第2の情報処理装置が、前記加工済データを用いて処理を行なう第3の情報処理装置に送信する処理と
を備えることを特徴とする、付記15~18のいずれか1項に記載の制御方法。
【0272】
(付記20)
前記加工済データ出力部が、前記加工済データを記憶装置に格納する処理と、
前記記憶装置に格納された前記加工済データにアクセスするための第1アクセス情報を含む第1チケットを発行する処理と
を備え、
前記第3の情報処理装置が、前記第1チケットの前記第1アクセス情報を用いて、前記記憶装置から前記加工済データを取得する
ことを特徴とする、付記15~18のいずれか1項に記載の制御方法。
【0273】
(付記21)
前記パーソナルデータをパーソナルデータ格納部に格納する処理と、
前記パーソナルデータ格納部に格納された前記パーソナルデータにアクセスするための第2アクセス情報を含む第2チケットを発行する処理と、
前記第2チケットの前記第2アクセス情報を用いて、前記パーソナルデータ格納部から前記パーソナルデータを取得する処理と
を備えることを特徴とする、付記15~20のいずれか1項に記載の制御方法。
【0274】
(付記22)
パーソナルデータ由来者に関するパーソナルデータを記憶する記憶部と、
前記パーソナルデータを用いてサービスを提供するサービス提供部と、
前記パーソナルデータを受信するパーソナルデータ受信部と、
前記パーソナルデータ由来者と前記パーソナルデータを利用するパーソナルデータ利用者との間で合意されたパーソナルデータの加工法に関する合意情報を受信する合意情報受信部と、
前記パーソナルデータに対して前記合意情報に規定される加工法で加工を行なう加工処理部と、
前記加工処理部による加工済データに電子署名を付与して出力する加工済データ出力部と
を備えることを特徴とする、情報処理システム。
【符号の説明】
【0275】
1 データ加工システム
10 加工サーバ
20 ユーザ端末
30 サービス提供サーバ
40 リソースサーバ
41 記憶装置
50 ネットワーク
11,21 プロセッサ
12,22 RAM
13,23 HDD
14,24 グラフィック処理装置
14a,24a モニタ
15,25 入力インタフェース
15a,25a キーボード
15b,25b マウス
16,26 光学ドライブ装置
16a,26a 光ディスク
17,27 機器接続インタフェース
17a,27a メモリ装置
17b,27b メモリリーダライタ
17c,27c メモリカード
18,28 ネットワークインタフェース
19,29 バス
101 合意内容受信部
102 ユーザデータ受信部
103 データ/証明書送信部
104 データ検証部
105 証明書作成部
106 加工方法選択処理部
107 加工実行部
108 加工プログラム管理部
109 第2チケット受信部
110 ユーザデータ取得部
111 第2チケット送信部
112 チケット検証部
113 チケット生成部
200 ユーザアプリケーション(ユーザアプリ)
201 加工指示部
202 加工方法選択処理部
203 データ取得部
204 加工済データ受信部
205 加工済データ送信部
206 第1チケット受信部
207 第1チケット送信部
208 チケット取得部
209 第3チケット送信部
210 加工済データ格納処理部