IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7406086データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ
<>
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図1
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図2
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図3
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図4
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図5
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図6
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図7
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図8
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図9
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図10
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図11
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図12
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図13
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図14
  • 特許-データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-19
(45)【発行日】2023-12-27
(54)【発明の名称】データアクセス制御プログラム、データアクセス制御方法、及び認可サーバ
(51)【国際特許分類】
   G06F 21/60 20130101AFI20231220BHJP
【FI】
G06F21/60
【請求項の数】 6
(21)【出願番号】P 2020011477
(22)【出願日】2020-01-28
(65)【公開番号】P2021117807
(43)【公開日】2021-08-10
【審査請求日】2022-10-06
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【弁理士】
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【弁理士】
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】佐藤 出
【審査官】吉田 歩
(56)【参考文献】
【文献】国際公開第2012/046670(WO,A1)
【文献】小倉 孝夫 他,分散データにおける同意制御方式の提案,2019年 暗号と情報セキュリティシンポジウム(SCIS2019)予稿集,日本,2019年 暗号と情報セキュリティシンポジウム実行,2019年01月15日,1C2-4, pages 1-7
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
複数のリソースサーバが蓄積するデータへのアクセスを制御する認可サーバのプログラムであって、
前記データの所有者である複数のユーザと、前記複数のユーザそれぞれがユーザ登録する同意ポータルとの対応関係を記憶する記憶処理と、
第1条件のデータへのアクセスに対するユーザの同意を求める同意要求メッセージをクライアントから受信したとき、前記同意要求メッセージに含まれる前記第1条件に合致するデータの所有者である対象ユーザを検出し、前記対象ユーザがユーザ登録する同意ポータルを前記対応関係から抽出し、前記抽出した同意ポータルを使用して前記対象ユーザから前記データへのアクセスの同意又は非同意の意思を取得する同意処理と、
前記同意要求メッセージは、前記クライアントが前記第1条件のデータを蓄積する第1リソースサーバから取得した認可サーバのアドレスを用いて送信されたメッセージであり、
前記取得した意思に応じて、前記クライアントによる前記リソースサーバのデータへのアクセスを制御するアクセス制御処理と、
を前記認可サーバの有するコンピュータに実行させるデータアクセス制御プログラム。
【請求項2】
前記記憶処理において、前記同意ポータルにおいてユーザを識別するユーザ識別子と、前記同意ポータルを使用して前記意思を取得するときに使用する同意処理用URLとを含む同意ポータル情報を、前記ユーザが前記同意ポータルにユーザ登録したときに取得し、前記ユーザ識別子と前記同意処理用URLを前記対応関係として記憶する
請求項1記載のデータアクセス制御プログラム。
【請求項3】
前記同意ポータル情報は、前記ユーザから前記リソースサーバを介して取得する
請求項2記載のデータアクセス制御プログラム。
【請求項4】
前記リソースサーバ及び前記同意ポータルの両方又は一方との通信において、プロトコルとしてUMA(User-Managed Access)を使用する
請求項1記載のデータアクセス制御プログラム。
【請求項5】
複数のリソースサーバが蓄積するデータへのアクセスを制御する認可サーバにおけるデータアクセス制御方法であって、
前記データの所有者である複数のユーザと、前記複数のユーザそれぞれがユーザ登録する同意ポータルとの対応関係を記憶する記憶工程と、
第1条件のデータへのアクセスに対するユーザの同意を求める同意要求メッセージをクライアントから受信したとき、前記同意要求メッセージに含まれる前記第1条件に合致するデータの所有者である対象ユーザを検出し、前記対象ユーザがユーザ登録する同意ポータルを前記対応関係から抽出し、前記抽出した同意ポータルを使用して前記対象ユーザから前記データへのアクセスの同意又は非同意の意思を取得する同意工程と、
前記同意要求メッセージは、前記クライアントが前記第1条件のデータを蓄積する第1リソースサーバから取得した認可サーバのアドレスを用いて送信されたメッセージであり、
前記取得した意思に応じて、前記クライアントによる前記リソースサーバのデータへのアクセスを制御するアクセス制御工程と、
を行うデータアクセス制御方法。
【請求項6】
複数のリソースサーバが記憶するデータの所有者である複数のユーザと、前記複数のユーザそれぞれがユーザ登録する同意ポータルとの対応関係を記憶する記憶部と、
第1条件のデータへのアクセスに対するユーザの同意を求める同意要求メッセージをクライアントから受信したとき、前記同意要求メッセージに含まれる前記第1条件に合致するデータの所有者である対象ユーザを検出し、前記対象ユーザがユーザ登録する同意ポータルを前記対応関係から抽出し、前記抽出した同意ポータルを使用して前記対象ユーザから前記データへのアクセスの同意又は非同意の意思を取得する同意部と、
前記同意要求メッセージは、前記クライアントが前記第1条件のデータを蓄積する第1リソースサーバから取得した認可サーバのアドレスを用いて送信されたメッセージであり、
前記取得した意思に応じて、前記クライアントによる前記リソースサーバのデータへのアクセスを制御するアクセス制御部と、
を有する認可サーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データアクセス制御プログラム、データアクセス制御方法、及び認可サーバに関する。
【背景技術】
【0002】
近年、企業は、個人情報の収集を行い、収集した個人情報に基づき、商品ラインナップを決定したり、商品開発をしたりする場合がある。一方、企業が個人情報の収集を行うことは困難であるため、個人情報を収集し、企業に提供する情報管理会社が存在する。情報管理会社は、例えば、リソースサーバ(RS:Resource Server)に蓄積した個人情報の中から、クライアントである企業が要望する情報を抽出し、クラインアントに提供する。
【0003】
しかし、個人情報の企業への提供は、個人情報提供元のユーザに対して同意を得ることが必要となる場合がある。そこで、ユーザは、同意ポータルと呼ばれる個人情報の提供に同意(又は非同意)するためのポータルサーバにユーザ登録を行い、同意ポータルを介して同意(又は非同意)の意思を示す。
【0004】
同意ポータルは、例えば、認可サーバ(AS:Authorization Sever)を有する。認可サーバは、個人情報へのアクセスを制御するサーバで、例えば、ユーザやデータ種別ごと、あるいはクライアントごとに、データへのアクセス許可(又はアクセス制限)を行う。
【0005】
クライアントは、例えば、認可サーバにユーザに対する同意を求めるメッセージを送信する。認可サーバは、同意ポータルにおいてユーザが個人情報の提供に対する同意を行われるのを待ち受ける。
【0006】
また、リソースサーバは、例えば、クライアントからデータへのアクセス要求があった場合、アクセスが許可されているか否かを当該ユーザに対応する認可サーバに問い合わせる。
【0007】
データアクセスに関する技術としては、以下の特許文献1に記載されている。
【先行技術文献】
【特許文献】
【0008】
【文献】特表2015-503145号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、ユーザは、複数のリソースサーバに様々なデータを蓄積する場合、当該リソースサーバに対応する認可サーバ及び同意ポータルそれぞれにユーザ登録する必要がある。さらに、ユーザは、個人情報に対するアクセスの同意を求められるタイミングが不明であるため、登録した複数の同意ポータルそれぞれを、定常的にチェックすることが必要となる。
【0010】
そこで、一開示は、ユーザの同意に関する負担を軽減するデータアクセス制御プログラム、データアクセス制御方法、及び認可サーバを提供する。
【課題を解決するための手段】
【0011】
リソースサーバが蓄積するデータへのアクセスを制御する認可サーバのプログラムであって、前記データの所有者である複数のユーザと、前記複数のユーザそれぞれがユーザ登録する同意ポータルとの対応関係を記憶する記憶処理と、第1条件のデータへのアクセスに対するユーザの同意をクライアントから求められたとき、前記第1条件に合致するデータの所有者である対象ユーザを検出し、前記対象ユーザがユーザ登録する同意ポータルを前記対応関係から抽出し、前記抽出した同意ポータルを使用して前記対象ユーザから前記データへのアクセスの同意又は非同意の意思を取得する同意処理と、前記取得した意思に応じて、前記クライアントによる前記リソースサーバのデータへのアクセスを制御するアクセス制御処置とを前記認可サーバの有するコンピュータに実行させる。
【発明の効果】
【0012】
一開示は、ユーザの同意に関する負担を軽減するデータアクセス制御プログラム、データアクセス制御方法、及び認可サーバを提供する。
【図面の簡単な説明】
【0013】
図1図1は、データ管理システム10の構成例を示す図である。
図2図2は、認可サーバ300の構成例を表す図である。
図3図3は、個人端末100の構成例を表す図である。
図4図4は、リソースサーバ400の構成例を表す図である。
図5図5は、初期登録処理のシーケンスの例を示す図である。
図6図6は、同意ポータル登録処理S1000の処理フローチャートの例を示す図である。
図7図7は、ユーザ登録処理S2000の処理フローチャートの例を示す図である。
図8図8は、ユーザ登録要求S103受信後の、同意ポータル対応テーブル324の例を示す図である。
図9図9は、アクセス同意処理のシーケンスの例を示す図である。
図10図10は、同意制御処理S4000の処理フローチャートの例を示す図である。
図11図11は、データ登録処理のシーケンスの例を示す図である。
図12図12は、アクセス制御処理のシーケンスの例を示す図である。
図13図13は、一体型システムと分離型システムにおける、リソースサーバと認可サーバとの関連の例を示す図である。
図14図14は、一体型システムと分離型システムにおける、リソースサーバと認可サーバとの関連の例を示す図である。
図15図15は、データ管理システム10の構成例を示す図である。
【発明を実施するための形態】
【0014】
[第1の実施の形態]
第1の実施の形態について説明する。
【0015】
<データ管理システムの構成例>
図1は、データ管理システム10の構成例を示す図である。データ管理システム10は、ユーザU1~U3それぞれが使用する個人端末100-1~3、ユーザU1~U3それぞれに対応する同意ポータル200-1~3、認可サーバ300、リソースサーバ400、及びクライアント500(あるいはクライアント端末)を有する。データ管理システム10は、ユーザU1~U3がリソースサーバ400に個人情報を蓄積し、クライアント500が必要に応じてリソースサーバ400にアクセスし、個人情報を取得するシステムである。
【0016】
データ管理システム10における各装置は、互いにネットワークを介して接続し、通信することが可能である。ここで、各装置が通信に用いるネットワークは、同じネットワーク、又は異なるネットワークのどちらであってもよい。また、各ネットワークは、無線又は有線のいずれで接続されるものであってもよい。
【0017】
また、データ管理システム10の各装置は、アクセス管理プロトコルを用いて通信を行う。アクセス管理プログラムは、例えば、UMA(User Managed Access)を含む。各装置は、例えば、各装置間に通信において、UMAに従いメッセージを送受信する。
【0018】
個人端末100-1~3(以降、個人端末100と呼ぶ場合がある)は、ユーザU1~U3(以降、ユーザと呼ぶ場合がある)それぞれが使用する端末装置であって、例えば、コンピュータや携帯端末装置である。個人端末100は、ネットワークを介して、有線又は無線で、同意ポータル200-1~3や、リソースサーバ400と接続し、通信を行う。
【0019】
同意ポータル200-1~3(以降、同意ポータル200と呼ぶ場合がある)は、ユーザに対して個人情報のアクセスへの同意(許可)を求める同意処理を制御するポータルサイトである。同意ポータル200は、例えば、ある個人情報に対する同意を求める旨を、個人端末100に通知する。そして、同意ポータル200は、ユーザが同意したこと(又は同意しなかったこと)を個人端末100から受信すると、認可サーバ300に同意が行われたこと(又は同意しなかったこと)を通知する。
【0020】
リソースサーバ400は、ユーザの個人情報を記憶、管理する装置であり、例えば、ハードディスクを有するサーバマシンやコンピュータである。リソースサーバ400は、例えば、複数のユーザの個人情報を管理する。図1においては、リソースサーバ400は1台であるが、複数台存在してもよい。リソースサーバ400は、例えば、記憶する個人情報のカテゴリごとに、複数存在してもよい。カテゴリは、例えば、ユーザの属性や個人情報の属性を示す情報である。
【0021】
クライアント500は、リソースサーバ400から個人情報を取得する企業や個人である。なお、クライアント500は、クライアントが使用する端末装置を示す場合もある。クライアント500は、認可サーバ300からアクセスの許可を取得し、リソースサーバ400にアクセスすることで、個人情報(データ)を取得する。
【0022】
認可サーバ300は、リソースサーバ400が記憶する個人情報や、ユーザが使用する同意ポータル200を管理する装置であり、例えば、サーバマシンやコンピュータである。
【0023】
認可サーバ300は、あるユーザの個人情報に対するアクセス許可を求められた場合、あるユーザの使用する同意ポータル200に対して、ユーザに同意を求める同意要求処理を行う。認可サーバ300は、あるユーザが個人情報のアクセスに同意した、あるいは同意しなかったことを示す同意情報を記憶し、同意情報に基づきクライアント500のリソースサーバ400へのアクセスを制御する。
【0024】
<認可サーバ300の構成例>
図2は、認可サーバ300の構成例を表す図である。認可サーバ300は、例えば、サーバマシンである。認可サーバ300は、CPU(Central Processing Unit)310、ストレージ320、メモリ330、及び通信回路340を有する。
【0025】
ストレージ320は、プログラムやデータを記憶する、フラッシュメモリ、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)などの補助記憶装置である。ストレージ320は、同意制御プログラム321、データアクセス制御プログラム322、データ管理プログラム323、同意ポータル対応テーブル324、及びデータ管理テーブル325を記憶する。
【0026】
メモリ330は、ストレージ320に記憶されているプログラムをロードする領域である。また、メモリ330は、プログラムがデータを記憶する領域としても使用されてもよい。
【0027】
通信回路340は、他の装置(同意ポータル200、リソースサーバ400、クライアント500など)と通信を行う通信用機器である。認可サーバ300は、通信回路340を介して、パケットの送受信を行うことで、通信を実現する。
【0028】
CPU310は、ストレージ320に記憶されているプログラムを、メモリ330にロードし、ロードしたプログラムを実行し、各部を構築し、各処理を実現するプロセッサである。
【0029】
CPU310は、同意制御プログラム321を実行することで、同意制御部を構築し、同意制御処理を行う。同意制御処理は、あるユーザの個人情報にアクセスしたいクライアント500からの要求があった場合に、当該ユーザに対してアクセスの同意を求める処理である。認可サーバ300は、同意制御処理において、当該ユーザの同意ポータル200に対して、当該ユーザの同意を求めるよう要求し、同意ポータル200から当該ユーザの同意又は非同意の意思を取得する。
【0030】
CPU310は、データアクセス制御プログラム322を実行することで、アクセス制御部を構築し、データアクセス制御処理を行う。データアクセス制御処理は、クライアント500のリソースサーバ400の記憶する個人情報へのアクセスを制御する処理である。認可サーバ300は、ユーザの同意を得ている場合、当該ユーザの個人情報へのクライアント500のアクセスを許可し、ユーザからの同意を得ていない場合、アクセスを許可しないよう制御する。
【0031】
CPU310は、データ管理プログラム323を実行することで、データ管理部を構築し、データ管理処理を行う。データ管理処理は、リソースサーバ400の記憶する個人情報を管理する処理である。認可サーバ300は、データ管理処理において、どのリソースサーバ400にどのような個人情報が記憶されているかを管理する。
【0032】
<個人端末100>
図3は、個人端末100の構成例を表す図である。個人端末100は、例えば、コンピュータである。個人端末100は、CPU110、ストレージ120、メモリ130、及び通信回路140を有する。
【0033】
ストレージ120は、プログラムやデータを記憶する、フラッシュメモリ、HDD、又はSSDなどの補助記憶装置である。ストレージ120は、同意ポータル登録プログラム121、データ更新プログラム122、及びアクセス同意プログラム123を記憶する。
【0034】
メモリ130は、ストレージ120に記憶されているプログラムをロードする領域である。また、メモリ130は、プログラムがデータを記憶する領域としても使用されてもよい。
【0035】
通信回路140は、他の装置(同意ポータル200、リソースサーバ400など)と通信を行う通信用機器である。個人端末100は、通信回路140を介して、パケットの送受信を行うことで、通信を実現する。
【0036】
CPU110は、ストレージ120に記憶されているプログラムを、メモリ130にロードし、ロードしたプログラムを実行し、各部を構築し、各処理を実現するプロセッサである。
【0037】
CPU110は、同意ポータル登録プログラム121を実行することで、登録部を構築し、同意ポータル登録処理を行う。同意ポータル登録処理は、ユーザが個人端末100を介して、同意ポータル200に登録を行う処理である。個人端末100は、同意ポータル登録処理において、ユーザを同意ポータル200に登録し、当該同意ポータル200から同意処理用URL(Uniform Resource Locator)を取得する。同意処理用URLは、例えば、認可サーバ300がユーザに同意を求めるときに使用するURLである。個人端末100は、同意ポータル登録処理において、同意ポータルに登録したユーザの識別子(以降、ユーザIDと呼ぶ)、及び取得した同意処理用URLをリソースサーバ400に送信する。
【0038】
CPU110は、データ更新プログラム122を実行することで、更新部を構築し、データ更新処理を行う。データ更新処理は、リソースサーバ400に対して、個人情報を記憶する処理である。
【0039】
CPU110は、アクセス同意プログラム123を実行することで、同意部を構築し、アクセス同意処理を行う。アクセス同意処理は、同意ポータル200から個人情報のアクセスに対する同意を求められたとき、ユーザの同意あるいは非同意の意思を同意ポータル200に通知する処理である。個人端末100は、アクセス同意処理において、同意するか否かを示すボタン等をディスプレイ上に表示したり、ユーザの操作(同意、非同意を示すボタンの押下など)によりユーザの同意又は非同意の意思を取得したりする。
【0040】
<リソースサーバ400>
図4は、リソースサーバ400の構成例を表す図である。リソースサーバ400は、例えば、コンピュータである。リソースサーバ400は、CPU410、ストレージ420、メモリ430、及び通信回路440を有する。
【0041】
ストレージ420は、プログラムやデータを記憶する、フラッシュメモリ、HDD、又はSSDなどの補助記憶装置である。ストレージ420は、ユーザ登録プログラム421、データ更新制御プログラム422、データアクセスプログラム423、個人情報テーブル424を記憶する。
【0042】
メモリ430は、ストレージ420に記憶されているプログラムをロードする領域である。また、メモリ430は、プログラムがデータを記憶する領域としても使用されてもよい。
【0043】
通信回路440は、他の装置(個人端末100、認可サーバ300など)と通信を行う通信用機器である。リソースサーバ400は、通信回路440を介して、パケットの送受信を行うことで、通信を実現する。
【0044】
CPU410は、ストレージ420に記憶されているプログラムを、メモリ430にロードし、ロードしたプログラムを実行し、各部を構築し、各処理を実現するプロセッサである。
【0045】
CPU410は、ユーザ登録プログラム421を実行することで、登録部を構築し、ユーザ登録処理を行う。ユーザ登録処理は、ユーザや個人端末100から受信したユーザID及び同意処理用URLを、対応する認可サーバ300に送信する処理である。
【0046】
CPU410は、データ更新制御プログラム422を実行することで、更新制御部を構築し、データ更新制御処理を行う。データ更新制御処理は、ユーザの個人情報を更新する処理である。リソースサーバ400は、個人端末100から更新する(登録する)データを受信し、個人情報テーブル424を更新する。リソースサーバ400は、データ更新制御処理において、個人情報と、当該ユーザのユーザID及び対応する同意処理用URLを、対応づけて個人情報テーブル424に記憶する。
【0047】
リソースサーバ400は、データアクセスプログラム423を実行することで、アクセス部を構築し、データアクセス処理を行う。データアクセス処理は、クライアント500がリソースサーバ400のデータ(個人情報)にアクセスする処理である。リソースサーバ400は、データアクセス処理において、認可サーバ300に認証されたクライアント500に対して、データアクセスを許可する。
【0048】
<個人情報取得処理>
個人情報取得処理とは、データ管理システム10において、リソースサーバ400に記憶された個人情報(データ)を、認可サーバ300に認証されたクライアント500が取得する一連の処理である。個人情報取得処理は、例えば、初期登録処理、アクセス同意処理、データ登録処理、アクセス制御処理を含む。以下、各処理について説明する。
【0049】
<初期登録処理>
図5は、初期登録処理のシーケンスの例を示す図である。初期登録処理は、例えば、ユーザが選択した同意ポータル、あるいは、登録するデータの種別やリソースサーバ400に対応する同意ポータルに、ユーザを登録する処理である。以下、ユーザU1が同意ポータル200-1にユーザ登録する場合の例を説明する。
【0050】
ユーザU1は、初期登録処理において、個人端末100-1の同意ポータル登録処理S1000を行う。
【0051】
図6は、同意ポータル登録処理S1000の処理フローチャートの例を示す図である。ユーザ(個人端末100)は、同意ポータル登録処理S1000において、選択した同意ポータルに対して、ユーザ登録を実施する(S1000-1)。そして、ユーザは、同意ポータルへの登録が完了するのを待ち受ける(S1000-2のNo)。
【0052】
ユーザは、ユーザ登録が完了すると(S1000-2のYes)、登録したユーザIDと同意ポータルの同意処理用URLを取得する(S1000-3)。そして、ユーザは、取得したユーザIDと同意処理用のURLを対応するリソースサーバに通知する。
【0053】
図5のシーケンスに戻り、ユーザU1は、個人端末100-1を使用し、例えば、同意ポータル200-1のWEB上の登録画面にアクセスする(S100、図6のS1000-1)。ユーザU1は、同意ポータル200-1のユーザの新規登録画面を開き、登録に必要な情報を入力することで、ユーザ登録を行う。
【0054】
同意ポータル200-1は、同意ポータル200-1にアクセスするためのユーザIDと、同意処理用URLを、個人端末100-1に送信し、ユーザU1に通知する(S101、図6のS1000-3)。なお、同意ポータルの種別によってはユーザIDを新規登録ユーザが決定する場合がある。この場合、同意ポータル200-1は、処理S101において、ユーザIDを通知しなくてもよい。また、同意ポータル200-1は、メッセージを送信すること以外に、同意ポータル200-1のWEB画面上に表示するなどの方法で、ユーザU1にユーザID及び同意処理用URLを通知してもよい。
【0055】
ユーザU1(あるいは個人端末100-1)は、ユーザID及び同意処理用URLを取得すると、対応するリソースサーバ400に、取得したユーザID及び同意処理用URLを含むユーザ登録通知を送信する(S102、図6のS1000-4)。リソースサーバ400は、ユーザ登録通知を受信すると、ユーザ登録処理S2000を行う。
【0056】
図7は、ユーザ登録処理S2000の処理フローチャートの例を示す図である。リソースサーバ400は、ユーザ登録通知を受信するのを待ち受ける(S2000-1のNo)。リソースサーバ400は、ユーザ登録通知を受信すると(S2000-1のYes)、ユーザ登録通知に含まれるユーザIDと同意処理用URLを、対応づけて記憶する(S2000-2)。そして、リソースサーバ400は、ユーザIDと同意処理用URLを含むユーザ登録要求を、対応する認可サーバ300に送信する(S2000-3)。
【0057】
図5のシーケンスに戻り、リソースサーバ400は、ユーザ登録処理S2000において、ユーザ登録通知を受信し(S102、図7のS2000-1のYes)、ユーザU1のユーザIDと、同意ポータル200-1の同意処理用URLを、対応づけて記憶する(図7のS2000-2)。そして、リソースサーバ400は、ユーザU1のユーザIDと同意ポータル200-1の同意処理用URLを含むユーザ登録要求を、認可サーバ300に送信する(S103、図7のS2000-3)。
【0058】
認可サーバ300は、ユーザ登録要求を受信すると、ユーザ及び同意ポータル記憶処理S3000を行う。ユーザ及び同意ポータル記憶処理S3000は、認可サーバ300の有する同意ポータル対応テーブル324に、ユーザ登録要求に含まれるユーザIDと同意処理用URLを、対応づけて記憶する処理である。認可サーバ300は、ユーザU1のユーザIDと同意ポータル200-1の同意処理用URLを、対応づけて記憶する。
【0059】
図8は、ユーザ登録要求S103受信後の、同意ポータル対応テーブル324の例を示す図である。同意ポータル対応テーブル324の情報要素は、例えば、ユーザID、同意処理用URLを含む。認可サーバ300は、ユーザUIのユーザIDである「user1@example.com」と、ユーザU1に対応する同意処理用URLとして「http://portal.example.com/api/user1」を記憶する(網掛け部)。
【0060】
これにより、認可サーバ300は、ユーザと当該ユーザが使用する同意ポータル200のURLを、対応づけて認識することができる。
【0061】
なお、上述した例では、初期登録処理において、新規に同意ポータル200に対するユーザ登録を行ったが、ユーザがすでにユーザ登録済みの同意ポータルを有する場合、登録済みの同意ポータルの同意処理用URLをリソースサーバ400に通知してもよい。この場合、同意ポータルへのユーザ登録処理は、省略することが可能である。
【0062】
<アクセス同意処理>
図9は、アクセス同意処理のシーケンスの例を示す図である。アクセス同意処理は、クライアントが個人情報にアクセスする場合に、当該個人情報のユーザに対してアクセスの同意を要求する処理である。
【0063】
クライアント500は、例えば、所望する個人情報がリソースサーバ400に記憶されていることを認識した場合、リソースサーバ400に対してデータのアクセスを要求する。そして、リソースサーバ400は、クライアント500に対して、個人情報を有するユーザの同意ポータル200を配下に有する認可サーバ300のURLを通知する(S200)。
【0064】
クライアント500は、認可サーバ300のURLを取得すると、当該URLを用いて認可サーバ300に対してデータアクセスの同意を得るよう要求する同意要求を送信する(S201)。このとき、クライアント500は、どのようなユーザの同意が欲しいかを示す条件を併せて送信する。例えば、クライアント500は、どのような年代のユーザか、どのようなカテゴリのデータか、あるいは、どの時期に更新されたデータかなど、所望するデータの条件を送信する。認可サーバ300は、同意要求を受信すると、同意制御処理S4000を行う。
【0065】
図10は、同意制御処理S4000の処理フローチャートの例を示す図である。認可サーバ300は、同意制御処理S4000において、同意要求の受信を待ち受ける(S4000-1のNo)。認可サーバ300は、同意要求を受信すると(S4000-1のYes)、条件に合致するユーザのユーザID及び同意処理用URLを取得する(S4000-2)。認可サーな300は、データ管理テーブル325に記憶しているデータから条件に合致するユーザを検出し、当該ユーザのユーザIDに対応する同意処理用URLを同意ポータル対応テーブル324から取得する。
【0066】
認可サーバ300は、取得した同意処理用URLを用いて、条件に合致するユーザの同意ポータル200に対して、データアクセスの同意を要求する(S4000-3)。認可サーバ300は、例えば、同意処理用URLに同意を求めるテキスト文章を投稿し、当該ユーザに対してデータアクセスへの同意又は非同意の意思を確認する。
【0067】
認可サーバ300は、全ての同意対象のユーザから同意又は非同意の意思表示を取得するのを待ち受ける(S4000-4のNo)。認可サーバ300は、例えば、所定時間内にユーザからの同意の意思が示されない場合、非同意の意思であると認識してもよい。
【0068】
認可サーバ300は、全対象ユーザから同意又は非同意の意思を取得すると(S4000-4のYes)、同意の結果(同意又は非同意の意思の結果)を、内部テーブルに記憶し(S4000-5)、処理を終了する。
【0069】
図9のシーケンスに戻り、認可サーバ300は、同意制御処理S4000において、条件に合致するユーザU1を特定し、ユーザU1の同意ポータル200-1に対して、同意を要求する(S202、図10のS4000-3)。同意ポータル200-1は、ユーザUIの個人端末にメッセージを送信したり、同意を要求する画面を表示したりする(S203)。そして、ユーザU1は、例えば、データのアクセスに同意し、データアクセスに同意したことを同意ポータル200-1に通知し(S204)、同意ポータル200-1から認可サーバ300に通知する(S205)。
【0070】
認可サーバ300は、ユーザU1を含む全対象ユーザから同意又は非同意の意思を取得し(S205、図10のS4000-4)、ユーザU1が同意したことを含む、全ユーザの同意又は非同意の意思を内部テーブルに記憶する(図10のS4000-5)。
【0071】
なお、認可サーバ300は、ユーザの同意又は非同意の意思に加え、どのような条件のデータであるかを併せて記憶する。これにより、認可サーバ300は、どのユーザがどのような個人情報へのアクセスを許可しているかを認識することができ、ユーザの同意の意思に従ったデータアクセスを制御することができる。
【0072】
<データ登録処理>
図11は、データ登録処理のシーケンスの例を示す図である。データ登録処理は、ユーザが、個人情報をリソースサーバ400に登録する処理である。
【0073】
ユーザU1は、個人端末100-1を使用し、個人情報をリソースサーバ400に登録する(S300)。なお、ユーザU1は、複数のリソースサーバ400がある場合、登録する個人情報の種別(カテゴリ)や、ユーザU1の性別や年齢などの属性に応じ、リソースサーバ400を選択する。
【0074】
リソースサーバ400は、ユーザU1の個人情報(データ)を取得すると、データ更新制御処理を行う。リソースサーバ400は、データ更新制御処理において、ユーザから取得したデータを、適切なデータベースに記憶する。リソースサーバ400は、例えば、カテゴリごとにデータベースを有する場合、更新するデータのカテゴリに応じたデータベースに取得したデータを記憶(更新)する。また、リソースサーバ400は、例えば、年齢ごとにデータベースを有する場合、ユーザの年齢に応じたデータベースに取得したデータを記憶する。
【0075】
リソースサーバ400は、更新したデータに関する更新情報を、認可サーバ300に送信する(S301)。更新情報とは、更新されたデータがどのようなデータかを示す情報(差分情報)であってもよいし、更新後の全体データにどのような情報が記憶されているかを示す情報(全体情報)であってもよい。更新情報は、例えば、更新された(新規登録された)ユーザのユーザIDや、更新されたデータのカテゴリなどが含まれる。リソースサーバ400は、更新情報を送信することで、自装置がどのようなデータ(個人情報)を記憶しているかを、認可サーバ300に通知する。
【0076】
認可サーバ300は、更新情報を受信すると、データ管理処理を行う。データ管理処理は、リソースサーバ400と、各リソースサーバ400にどのような情報が記憶されているかを、対応づけて記憶する処理である。認可サーバ300は、例えば、データ管理テーブル325に、各リソースサーバ400に記憶されているデータのカテゴリやユーザIDなどを記憶する。
【0077】
認可サーバ300は、データ管理テーブル325を更新すると、リソースサーバ400に更新したデータの識別子(以降、データIDと呼ぶ場合がある)を送信する(S302)。データIDは、例えば、認可サーバ300が発行する識別子で、認可サーバ300がデータを管理する際に使用する。認可サーバ300は、例えば、データIDを使用してデータのアクセス許可又は非許可を制御する。データIDは、例えば、ユーザごと、カテゴリごと、データベースごと、更新(登録)時期ごとに発行される。データIDの送信は、新規のユーザIDを発行したときのみ行われてもよい。
【0078】
リソースサーバ400は、データIDを受信すると、データIDをユーザに通知する(S303)。ユーザは、当該メッセージを受信することで、データ更新が正常に完了したことを認識することができる。
【0079】
<アクセス制御処理>
図12は、アクセス制御処理のシーケンスの例を示す図である。アクセス制御処理は、ユーザの同意が得られた後、クライアント500からの要求に応答し、データのアクセスを制御する処理である。なお、図12は、ユーザがデータのアクセスに同意している場合についてのシーケンスの例である。
【0080】
クライアント500は、リソースサーバ400に、データへのアクセスを要求する(S401)。クライアント500は、例えば、データの条件(ユーザの年齢、カテゴリなど)を指定して、アクセスを要求する。
【0081】
リソースサーバ400は、データのアクセスの認可を認可サーバ300に要求する(S402)。このとき、リソースサーバ400は、指定されたデータの条件を、認可サーバ300に、併せて通知する。
【0082】
認可サーバ300は、指定された条件を記憶し、当該要求に対応するチケットを発行し、リソースサーバ400に返信する(S403)。チケットは、クライアント500に対して発行され、例えば、指定条件や発行日時などが記載される。
【0083】
リソースサーバ400は、認可サーバ300のURL(又はアドレス)と、取得したチケットを、クライアント500に送信する(S404)。
【0084】
クライアント500は、取得したURLを用いて、認可サーバ300にトークンを要求する(S405)。クライアント500は、トークンの要求時に、取得したチケットを認可サーバ300に送信する。
【0085】
認可サーバ300は、記憶しているデータの条件に合致するデータであって、アクセスの同意が得られているデータ(以降、同意データと呼ぶ場合がある)に対するアクセスを、クライアント500に許可するトークンを発行する。そして、認可サーバ300は、発行したトークンをクライアント500に送信する(S406)。
【0086】
クライアント500は、取得したトークンを設定し、リソースサーバ400に、データのアクセスを要求する(S407)。
【0087】
リソースサーバ400は、受信したトークンを、認可サーバ300に送信する(S408)。
【0088】
認可サーバ300は、受信したトークンに対応する同意データに関する情報を、リソースサーバ400に送信する(S409)。
【0089】
リソースサーバ400は、受信した同意データに関する情報に基づき、対応する同意データを、クライアント500に対してアクセス許可し、開示する(S410)。
【0090】
<一体型システムとの比較>
第1の実施の形態では、データ管理システム10は、同意ポータル200と認可サーバ300が、それぞれ分離して(異なる装置として)設置される分離型システムである。ここで、同意ポータル200と認可サーバが一体として(同じ装置として)設置される一体型システムと比較する。
【0091】
図13は、一体型システムと分離型システムにおける、ユーザと同意ポータルとの関連の例を示す図である。なお、図13では、リソースサーバ400は、リソースサーバ400-1,2が存在する場合について説明する。
【0092】
リソースサーバ400-1,2それぞれが異なる同意ポータル200-1,2(同意ポータルと一体化した認可サーバ機能部)に属する場合、一体型システムでは、図13の左図に示すような構成となる。この場合、ユーザU1は、同意ポータル200-1及び2の両方に登録しなければ、リソースサーバ400-1及び2にデータを登録することができない。
【0093】
一方、分離型システムでは、図13の右図に示すような構成となる。この場合、ユーザU1は、同意ポータル200-2に登録しなくても、リソースサーバ400-1及び2の両方にデータを登録することができる。
【0094】
図13に示すように、第1の実施の形態において、ユーザは、データを登録するリソースサーバ400の数よりも少ない数の同意ポータル200に登録することで、データの登録が可能となる。これにより、ユーザは、同意ポータル200の管理が簡易化することができる。
【0095】
図14は、一体型システムと分離型システムにおける、リソースサーバと認可サーバとの関連の例を示す図である。図13は、複数のユーザが、それぞれ異なる同意ポータル200-1及び2を使用する場合の例である。
【0096】
一体型システムでは、図14の左図に示すような構成となる。この場合、リソースサーバ400は、データのアクセス許可の要求やデータ更新時など、認可サーバにメッセージを送信するとき、それぞれの認可サーバに対してメッセージを送信しなければならない。例えば、プロトコルとしてUMA2.0を使用する場合、同時に複数の認可サーバにメッセージを送信することができないため、順次メッセージを送信することとなり、時間的な遅延の発生要因となる場合もある。
【0097】
一方、分離型システムでは、図14の右図に示すような構成となる。この場合、リソースサーバ400は、認可サーバ300にメッセージを送信することで、複数ユーザに対する対応が可能となる。
【0098】
図14に示すように、リソースサーバ400と認可サーバ300間のメッセージの送受信数を抑制することが可能となり、通信リソースの使用の抑制及び時間的な遅延の抑制を行うことができる。
【0099】
[第2の実施の形態]
第2の実施の形態について説明する。第2の実施の形態は、上述して一体型システムに統合認可サーバ300を追加する例である。
【0100】
<データ管理システムの構成例>
図15は、データ管理システム10の構成例を示す図である。データ管理システム10は、ユーザU1~U3それぞれが使用する個人端末100-1~3、ユーザU1~U3それぞれに対応する同意ポータル200-1~3(なお、同意ポータル200-1は、それぞれ認可サーバ300-1-3を有する)、統合認可サーバ300、リソースサーバ400、及びクライアント500を有する。
【0101】
統合認可サーバ300は、第1の実施の形態における認可サーバ300と同様の処理を行う。例えば、同意ポータルと一体化された認可サーバは、例えば、一体型システムにおける処理と同様の処理を行ってもよいし、統合認可サーバ300が行う処理(例えばデータの管理やアクセス制御など)については、行わなくてもよい。
【0102】
第2の実施の形態では、統合認可サーバ300をシステムに追加することで、第1の実施の形態と同様の効果を得ることができる。例えば、既に一体型システムが存在する場合、同意ポータルの交換を行うことなく、統合認可サーバを追加するだけでよく、システム再構築のコストや時間を抑制することができる。
【0103】
以上まとめると、付記のようになる。
【0104】
(付記1)
リソースサーバが蓄積するデータへのアクセスを制御する認可サーバのプログラムであって、
前記データの所有者である複数のユーザと、前記複数のユーザそれぞれがユーザ登録する同意ポータルとの対応関係を記憶する記憶処理と、
第1条件のデータへのアクセスに対するユーザの同意をクライアントから求められたとき、前記第1条件に合致するデータの所有者である対象ユーザを検出し、前記対象ユーザがユーザ登録する同意ポータルを前記対応関係から抽出し、前記抽出した同意ポータルを使用して前記対象ユーザから前記データへのアクセスの同意又は非同意の意思を取得する同意処理と、
前記取得した意思に応じて、前記クライアントによる前記リソースサーバのデータへのアクセスを制御するアクセス制御処置と、
を前記認可サーバの有するコンピュータに実行させるデータアクセス制御プログラム。
【0105】
(付記2)
前記記憶処理において、前記同意ポータルにおいてユーザを識別するユーザ識別子と、前記同意ポータルを使用して前記意思を取得するときに使用する同意処理用URLとを含む同意ポータル情報を、前記ユーザが前記同意ポータルにユーザ登録したときに取得し、前記ユーザ識別子と前記同意処理用URLを前記対応関係として記憶する
付記1記載のデータアクセス制御プログラム。
【0106】
(付記3)
前記同意ポータル情報は、前記ユーザから前記リソースサーバを介して取得する
付記2記載のデータアクセス制御プログラム。
【0107】
(付記4)
前記リソースサーバ及び前記同意ポータルの両方又は一方との通信において、プロトコルとしてUMA(User-Managed Access)を使用する
付記1記載のデータアクセス制御プログラム。
【0108】
(付記5)
認可サーバによって記憶するデータのアクセスを制御されるリソースサーバのプログラムであって、
複数のユーザが所有者であるデータを記憶するデータ記憶処理と、
前記認可サーバから、前記データの一部又は全部である対象データへのアクセスがクライアントに許可されたとき、前記クライアントに対して前記対象データを開示するデータ開示処理と、
登録した同意ポータルに関する登録情報を前記ユーザから受信したとき、前記登録情報を前記認可サーバに送信する登録情報送信処理と、
を前記リソースサーバが有するコンピュータに実行させるリソース制御プログラム。
【0109】
(付記6)
認可サーバ経由で、リソースサーバが記憶するデータの所有者であるユーザに対して同意を求められる同意ポータルであって、
前記ユーザが自同意ポータルにユーザ登録するユーザ登録部と、
前記ユーザ登録したとき、前記ユーザに自同意ポータルに同意を求めるときに使用するURLを通知する通知部と、
を有する同意ポータル。
【0110】
(付記7)
リソースサーバが蓄積するデータへのアクセスを制御する認可サーバにおけるデータアクセス制御方法であって、
前記データの所有者である複数のユーザと、前記複数のユーザそれぞれがユーザ登録する同意ポータルとの対応関係を記憶する記憶工程と、
第1条件のデータへのアクセスに対するユーザの同意をクライアントから求められたとき、前記第1条件に合致するデータの所有者である対象ユーザを検出し、前記対象ユーザがユーザ登録する同意ポータルを前記対応関係から抽出し、前記抽出した同意ポータルを使用して前記対象ユーザから前記データへのアクセスの同意又は非同意の意思を取得する同意工程と、
前記取得した意思に応じて、前記クライアントによる前記リソースサーバのデータへのアクセスを制御するアクセス制御工程と、
を行うデータアクセス制御方法。
【0111】
(付記8)
リソースサーバが記憶するデータの所有者である複数のユーザと、前記複数のユーザそれぞれがユーザ登録する同意ポータルとの対応関係を記憶する記憶部と、
第1条件のデータへのアクセスに対するユーザの同意をクライアントから求められたとき、前記第1条件に合致するデータの所有者である対象ユーザを検出し、前記対象ユーザがユーザ登録する同意ポータルを前記対応関係から抽出し、前記抽出した同意ポータルを使用して前記対象ユーザから前記データへのアクセスの同意又は非同意の意思を取得する同意部と、
前記取得した意思に応じて、前記クライアントによる前記リソースサーバのデータへのアクセスを制御するアクセス制御部と、
を有する認可サーバ。
【符号の説明】
【0112】
10 :データ管理システム
100 :個人端末
110 :CPU
120 :ストレージ
121 :同意ポータル登録プログラム
122 :データ更新プログラム
123 :アクセス同意プログラム
130 :メモリ
140 :通信回路
200 :同意ポータル
300 :認可サーバ
310 :CPU
320 :ストレージ
321 :同意制御プログラム
322 :データアクセス制御プログラム
323 :データ管理プログラム
324 :同意ポータル対応テーブル
325 :データ管理テーブル
330 :メモリ
340 :通信回路
400 :リソースサーバ
410 :CPU
420 :ストレージ
421 :ユーザ登録プログラム
422 :データ更新制御プログラム
423 :データアクセスプログラム
424 :個人情報テーブル
430 :メモリ
440 :通信回路
500 :クライアント
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15