JP6760904B2 - Information processing equipment, information processing methods, and information processing programs - Google Patents
Information processing equipment, information processing methods, and information processing programs Download PDFInfo
- Publication number
- JP6760904B2 JP6760904B2 JP2017169803A JP2017169803A JP6760904B2 JP 6760904 B2 JP6760904 B2 JP 6760904B2 JP 2017169803 A JP2017169803 A JP 2017169803A JP 2017169803 A JP2017169803 A JP 2017169803A JP 6760904 B2 JP6760904 B2 JP 6760904B2
- Authority
- JP
- Japan
- Prior art keywords
- encryption
- information processing
- user
- information
- management
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 175
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 32
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000007726 management method Methods 0.000 description 70
- 230000008520 organization Effects 0.000 description 68
- 238000004891 communication Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 16
- 238000009434 installation Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Description
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。 The present invention relates to an information processing device, an information processing method, and an information processing program.
ネットワークを使用したサービスの提供が活発になっている。近年では様々なサービス提供主体が様々なサービスを提供している。 The provision of services using networks is becoming active. In recent years, various service providers have provided various services.
ユーザによりよいサービスを提供するためには、複数のサービス提供主体間でユーザデータを共有することが望ましい。しかし、サービス提供主体毎にユーザ識別情報(以下、ユーザIDという。)は異なっており、データの共有は容易ではない。ユーザIDを統一すれば、ユーザデータの共有は容易である。しかし、ユーザIDの統一は容易なことではない。サービス提供主体間でユーザIDを交換することも考えられるが、この場合、他のサービス提供主体にユーザIDが不正利用される恐れは否定できない。 In order to provide better services to users, it is desirable to share user data among a plurality of service providers. However, the user identification information (hereinafter referred to as user ID) is different for each service provider, and data sharing is not easy. If the user IDs are unified, it is easy to share user data. However, unifying user IDs is not easy. It is conceivable to exchange user IDs between service providers, but in this case, it cannot be denied that the user IDs may be illegally used by other service providers.
本願は、上記に鑑みてなされたものであって、他のサービス提供主体が保有するデータを容易に利用できるようにすることを目的とする。 The present application has been made in view of the above, and an object of the present application is to make it easy to use data held by another service provider.
本願に係る情報処理装置は、複数のシステムがそれぞれ保持するユーザ識別情報を暗号化した暗号化IDを取得する取得部と、同一ユーザを示す複数の暗号化IDを関連付けた管理情報を管理する管理部と、を備える。 The information processing device according to the present application manages an acquisition unit that acquires an encrypted ID that encrypts user identification information held by a plurality of systems, and a management information that associates a plurality of encrypted IDs indicating the same user. It has a department.
実施形態の一態様によれば、他のサービス提供主体が保有するデータを容易に利用できるようにすることができる。 According to one aspect of the embodiment, data held by another service provider can be easily used.
以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、以下の実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。 Hereinafter, the information processing apparatus, the information processing method, and the mode for carrying out the information processing program (hereinafter referred to as “the embodiment”) according to the present application will be described in detail with reference to the drawings. The information processing apparatus, information processing method, and information processing program according to the present application are not limited by the following embodiments. Further, in each of the following embodiments, the same parts are designated by the same reference numerals, and duplicate description is omitted.
〔1.情報処理装置の動作〕
最初に、本実施形態の情報処理装置30を備える情報処理システム1を例に、情報処理装置の動作を説明する。
[1. Operation of information processing device]
First, the operation of the information processing device will be described by taking the information processing system 1 including the
図1は、実施形態に係る情報処理システム1の動作を示す図である。情報処理システム1は、複数のサービス提供主体間でユーザデータを共有することを可能にするためのシステムである。本実施形態でいう「サービス」は、ネットを介して提供されるサービスのことである。例えば、サービスは、ネットショッピング、広告配信、メール、ゲーム、ニュース、オークション、掲示板、ブログ、天気予報、ファイナンス、路線検索、地図、旅行、求人、不動産、飲食店紹介、データダウンロード等のサービスである。サービスは、医療情報(例えば、カルテ)に関するクラウドサービスであってもよい。 FIG. 1 is a diagram showing the operation of the information processing system 1 according to the embodiment. The information processing system 1 is a system that enables sharing of user data among a plurality of service providers. The "service" referred to in this embodiment is a service provided via the Internet. For example, services include online shopping, advertisement distribution, email, games, news, auctions, bulletin boards, blogs, weather forecasts, finance, route search, maps, travel, job offers, real estate, restaurant introductions, data downloads, etc. .. The service may be a cloud service related to medical information (for example, medical records).
情報処理システム1は、端末装置101、102、103と、サービス提供サーバ201、202、203と、情報処理装置30と、を備える。なお、図1の例では、端末装置が3つ示されているが、端末装置は3つより少なくてもよいし、3つより多くてもよい。以下の説明では、端末装置101、102、103等を総称して端末装置10と記載することがある。また、図1の例では、サービス提供サーバが3つ示されているが、サービス提供サーバは3つより少なくてもよいし、3つより多くてもよい。以下の説明では、サービス提供サーバ201、202、203等を総称してサービス提供サーバ20と記載することがある。
The information processing system 1 includes a
端末装置10は、例えば、スマートデバイス(スマートフォン、或いはタブレット)、携帯電話、パーソナルコンピュータ等のユーザ端末である。端末装置101はユーザU1が使用する端末であり、端末装置102はユーザU2が使用する端末であり、端末装置103はユーザU3が使用する端末である。端末装置10は、ネットワークを介してサービス提供サーバ20と通信する。
The
サービス提供サーバ20は、クライアント端末或いはクライアント端末を操作するユーザに対して各種サービスを提供するサーバ用ホストコンピュータである。例えば、サービス提供サーバ20は、端末装置10を操作するユーザに対し各種サービスを提供するサービス提供システムである。サービス提供システムは、1台の装置から構成されていてもよいし、複数台の装置から構成されていてもよい。サービス提供サーバ20が提供するサービスは、例えば、ネットショッピング、広告配信、メール、ゲーム、ニュース、オークション、掲示板、ブログ、天気予報、ファイナンス、路線検索、地図、旅行、求人、不動産、飲食店紹介、データダウンロード等のサービスである。サービス提供サーバ20がネットショッピングサービスを提供するシステムとして機能する場合、サービス提供サーバ20はオンラインモールとしての機能を併せ持っていてもよい。
The
図1の例の場合、サービス提供サーバ201は組織Aが運用するシステムであり、サービス提供サーバ202は組織Bが運用するシステムであり、サービス提供サーバ203は組織Cが運用するシステムである。組織A、組織B、組織Cは、それぞれ所定のサービスを提供するサービス提供主体である。組織A、組織B、組織Cは、例えば、会社(企業)である。なお、サービス提供主体は会社(企業)に限られない。サービス提供主体は、会社(企業)以外の組織、例えば、非営利法人、公共団体等の団体であってもよい。勿論、サービス提供主体は組織ではなく個人であってもよい。また、サービス提供主体は、組織内の所定の部門(例えば、第1のサービスを提供する部門)であってもよい。この場合、同じ組織内の他の部門(例えば、第2のサービスを提供する部門)は、他のサービス提供主体である。以下の説明で登場する“組織”は、適宜、“会社”、“個人”、“部門”に置き換え可能である。
For example in FIG 1, the
複数の組織(例えば、組織A、組織B、組織C)は、それぞれ、ユーザに対してユーザ識別情報(以下、ユーザIDという。)を付している。ユーザIDは、例えば、ユーザが所定のサイトにアクセスするためのユーザ名、ログインID、アカウントであってもよい。所定のサイトは、ポータルサイトであってもよいし、SNS(Social Networking Service)のサイトであってもよい。ユーザを識別できるのであれば、ユーザIDは、電話番号、メールアドレスであってもよい。また、ユーザIDは、人間の身体的特徴(例えば、指紋、虹彩、静脈パターン)或いは行動的特徴(例えば、筆跡、歩行)に基づく生体情報であってもよい。勿論、ユーザIDは、サービス提供システムが内部で保持する内部IDであってもよい。 Each of the plurality of organizations (for example, organization A, organization B, organization C) attaches user identification information (hereinafter, referred to as user ID) to the user. The user ID may be, for example, a user name, a login ID, or an account for the user to access a predetermined site. The predetermined site may be a portal site or an SNS (Social Networking Service) site. The user ID may be a telephone number or an e-mail address as long as the user can be identified. Further, the user ID may be biological information based on human physical characteristics (for example, fingerprint, iris, vein pattern) or behavioral characteristics (for example, handwriting, walking). Of course, the user ID may be an internal ID held internally by the service providing system.
情報処理装置30は、サービス提供サーバ20に対して各種サービスを提供するサーバ用ホストコンピュータである。情報処理装置30は、サービス提供サーバ20がサービスの提供にあたり蓄積したデータの、サービス提供サーバ20間の共有を可能にするための処理を行う。例えば、情報処理装置30は、サービス提供サーバ20それぞれが有するユーザ識別情報(以下、ユーザIDという。)を管理する。情報処理装置30は、サービス提供サーバ20それぞれと通信可能である。
The
サービス提供サーバ20を運営する複数のサービス提供主体(例えば、組織A、組織B、組織C)は協業関係にある。しかし、ユーザIDは統一されておらず、サービス提供主体間でユーザデータの共有は容易ではない。また、他のサービス提供主体との協業関係が崩れた後のことを考慮すると、自身が保有するユーザIDの全てを他のサービス提供主体に渡してしまうのは極めてリスクが高い。情報処理装置30は、各組織が保有するユーザデータの互いの利用を可能としつつ、各組織が保有するユーザIDをセキュアに管理する。なお、組織A、組織B等の複数のサービス提供主体が、ユーザデータの交換のための契約下にあるものとする。以下の説明では、ユーザデータの交換のための契約下にある集団のことを単にグループという。
A plurality of service providers (for example, organization A, organization B, and organization C) that operate the
以下、図1を参照しながら、本実施形態の情報処理装置30を備える情報処理システム1の動作を説明する。
Hereinafter, the operation of the information processing system 1 including the
まず、サービス提供サーバ20は、ユーザにサービスを提供するため、ユーザが操作する端末装置10とサービスに関する通信を行う(ステップS1a〜ステップS1e)。例えば、サービス提供サーバ201は、ユーザU1が操作する端末装置101とサービス(例えば、ネットショッピング)に関する通信を行う(ステップS1a)。また、サービス提供サーバ202は、ユーザU1が操作する端末装置101とサービス(例えば、広告配信)に関する通信を行う(ステップS1b)。
First, the
そして、サービス提供サーバ20は、サービスの提供にあたり取得したユーザデータをユーザ情報データベースに保存する(ステップS2a〜ステップS2c)。なお、ユーザ情報データベースは、RDB(Relational Database)に限られない。大量のデータを高速に扱えるようにするため、データベースは、NoSQL(Not Only SQL)のハイパースケールなデータベース情報処理システム(スケールアウト型のシステム)を使ったデータベースであってもよい。このとき、NoSQLは、KVS(Key-Value Store)であってもよい。
Then, the
図2は、ユーザ情報データベースのデータ構成を示す図である。図2の例では、サービス提供サーバ201、202、203それぞれが有するユーザ情報データベースのデータ構成を示している。サービス提供サーバ201のユーザ情報データベースには、ユーザデータとしてD11〜D13が格納されている。また、サービス提供サーバ202のユーザ情報データベースには、ユーザデータとしてD21〜D23が格納されている。また、サービス提供サーバ203のユーザ情報データベースには、ユーザデータとしてD31〜D33が格納されている。各ユーザデータには、ユーザIDが付されている。なお、以下の説明では、ユーザIDとユーザデータのペアのことをレコードという。
FIG. 2 is a diagram showing a data structure of a user information database. In the example of FIG. 2 shows a data structure of the user information database with each
図2を見れば分かるように、ユーザデータD11〜D13には、ユーザIDとしてU1A〜U3Aが付されている。U1A〜U3Aは、サービス提供サーバ201の運営者である組織Aが各ユーザに付したユーザIDである。U1Aは、ユーザU1のユーザIDであり、U2Aは、ユーザU2のユーザIDであり、U3Aは、ユーザU3のユーザIDである。なお、各レコードの左側のP11〜P13は、各レコードのデータベース内の格納位置を示す。P11は、ユーザデータD11が格納されたレコードの格納位置であり、P12は、ユーザデータD12が格納されたレコードの格納位置であり、P13は、ユーザデータD13が格納されたレコードの格納位置である。
As can be seen from FIG. 2, U1A to U3A are attached to the user data D11 to D13 as user IDs. U1A~U3A is a user ID that organization A is subjected to each user a
また、ユーザデータD21〜D23には、ユーザIDとしてU1B〜U3Bが付されている。U1B〜U3Bは、サービス提供サーバ202の運営者である組織Bが各ユーザに付したユーザIDである。U1Bは、ユーザU1のユーザIDであり、U2Bは、ユーザU2のユーザIDであり、U3Bは、ユーザU3のユーザIDである。なお、各レコードの左側のP21〜P23は、各レコードのデータベース内の格納位置を示す。P21は、ユーザデータD21が格納されたレコードの格納位置であり、P22は、ユーザデータD22が格納されたレコードの格納位置であり、P23は、ユーザデータD23が格納されたレコードの格納位置である。
Further, U1B to U3B are attached to the user data D21 to D23 as user IDs. U1B~U3B is a user ID that organization B was subjected to each user a
また、ユーザデータD31〜D33には、ユーザIDとしてU1C〜U3Cが付されている。U1C〜U3Cは、サービス提供サーバ203の運営者である組織Cが各ユーザに付したユーザIDである。U1Cは、ユーザU1のユーザIDであり、U2Cは、ユーザU2のユーザIDであり、U3Cは、ユーザU3のユーザIDである。なお、各レコードの左側のP31〜P33は、各レコードのデータベース内の格納位置を示す。P31は、ユーザデータD31が格納されたレコードの格納位置であり、P32は、ユーザデータD32が格納されたレコードの格納位置であり、P33は、ユーザデータD33が格納されたレコードの格納位置である。
Further, U1C to U3C are attached to the user data D31 to D33 as user IDs. U1C~U3C is a user ID that tissue C is subjected to each user is a manager of the
複数のサービス提供サーバ20は、それぞれ、自身が保持するユーザIDを他の組織が復号できないよう暗号化する。暗号化には、共通鍵暗号(例えば、AES(Advanced Encryption Standard))や公開鍵暗号(例えば、RSA(Rivest-Shamir-Adleman cryptosystem))等を使った可逆暗号化のみならず、MD5(Message Digest Algorithm 5)やSHA(Secure Hash Algorithm)等を使った不可逆暗号化(ハッシュ化)も含まれる。
Each of the plurality of
そして、情報処理装置30は、サービス提供サーバ20が暗号化したユーザID(以下、暗号化IDという。)を取得する(ステップS3a〜ステップS3c)。なお、以下の説明では、暗号化IDを示す符号には、“E−”を頭に付す。例えば、ユーザU1のユーザIDであるU1A、U1B、U1Cの暗号化IDは、それぞれ、E−U1A、E−U1B、E−U1Cである。また、ユーザU2のユーザIDであるU2A、U2B、U2Cの暗号化IDは、それぞれ、E−U2A、E−U2B、E−U2Cである。また、ユーザU3のユーザIDであるU3A、U3B、U3Cの暗号化IDは、それぞれ、E−U3A、E−U3B、E−U3Cである。
Then, the
各サービス提供サーバ20から暗号化IDを取得したら、情報処理装置30は、同一ユーザを示す複数の暗号化IDを関連付ける(ステップS4)。例えば、情報処理装置30は、図1に示すように、ユーザU1の暗号化IDを示すE−U1A、E−U1B、E−U1Cを関連付ける。また、情報処理装置30は、ユーザU2の暗号化IDを示すE−U2A、E−U2B、E−U2Cを関連付ける。また、情報処理装置30は、ユーザU3の暗号化IDを示すE−U3A、E−U3B、E−U3Cを関連付ける。関連付けの手法は様々な方法を使用可能である。例えば、情報処理装置30は、各サービス提供サーバ20から暗号化IDで特定されるユーザデータを取得する。そして、情報処理装置30は、ユーザデータと暗号化IDを関連付けるとともに、ユーザデータに基づいてどの暗号化IDとどの暗号化IDが同一ユーザのものか特定する。例えば、情報処理装置30は、電話番号、名前、生年月日のうちいずれか2つが一致している場合に、同一ユーザと特定してもよい。勿論、関連付けの方法はこの方法に限られない。また、関連付けが完了した後、情報処理装置30は、情報が漏洩しないように、ユーザデータを破棄してもよい。そして、情報処理装置30は、暗号化IDを関連付けた情報を、ユーザIDを管理するための管理情報として記憶する。
After acquiring the encryption ID from each
図3は、管理情報の構成例を示す図である。図3は、各組織が保有するユーザ情報データベースを1つのリレーショナルデータベースとみなして管理する場合の管理情報の構成例を示している。図3の例では、組織AのユーザIDと組織BのユーザIDを情報処理装置30が管理する例を示している。図3の例では、ユーザU1〜U3の内部IDに、組織Aが保持するユーザIDを暗号化したE−U1A、E−U2A、E−U3Aと、組織Bが保持するユーザIDを暗号化したE−U1B、E−U2B、E−U3Bと、が関連付けられている。内部IDは、情報処理装置30が保持するユーザIDである。また、暗号化ID1は、組織Aが保持するユーザIDの暗号化IDを示し、暗号化ID2は、組織Bが保持するユーザIDの暗号化IDを示す。
FIG. 3 is a diagram showing a configuration example of management information. FIG. 3 shows a configuration example of management information when the user information database owned by each organization is regarded as one relational database and managed. In the example of FIG. 3, an example in which the
リレーショナルデータベースの場合、検索を高速にするため、インデックスが作成される。図3の例では、暗号化ID1をキーとしてユーザデータを検索するためのインデックス1と、暗号化ID2をキーとしてユーザデータを検索するためのインデックス2とが作成されている。各暗号化IDには、ユーザデータのレコードの位置を示すレコード位置が関連付けられている。なお、図3の例では、インデックスはいずれもインデックステーブルとなっているが、インデックスはインデックステーブルに限られない。例えば、インデックスはB木(B−tree)であってもよい。 For relational databases, indexes are created to speed up searches. In the example of FIG. 3, an index 1 for searching user data using the encryption ID 1 as a key and an index 2 for searching user data using the encryption ID 2 as a key are created. Each encryption ID is associated with a record position indicating a record position of user data. In the example of FIG. 3, the indexes are all index tables, but the indexes are not limited to the index table. For example, the index may be a B-tree.
図4は、図3に示す管理情報に暗号化IDを追加した例を示す図である。具体的には、図4は、図3に示す管理情報に暗号化ID3を追加した例である。暗号化ID3は、組織Cが保持するユーザIDの暗号化IDである。組織Cが新たに加わったため、情報処理装置30は、組織Cのため、新たにインデックス3を作成する。インデックス3は、暗号化ID3をキーとしてユーザデータを検索するためのインデックスである。また、組織Cが保持するユーザデータを組織Aと組織Bが高速に検索できるようにするため、情報処理装置30は、インデックス1とインデックス2を更新する。図3の例では、インデックス1とインデックス2にそれぞれレコード位置P31〜P33が追加されている。このように、ユーザデータの管理にリレーショナルデータベースを使用する場合、組織が新たにグループに加入するたびに、全てのインデックスに更新が発生する。グループに加入する組織が少ないうちはよいものの、グループに加入する組織が多くなると(例えば、グループに加入する組織が1000、2000となると)、インデックスの更新時間は無視できないものとなる。こうなると、新たに組織がグループに加入するたびに長時間のインデックスの更新時間が発生し、サービスの断絶が発生することになる。
FIG. 4 is a diagram showing an example in which an encryption ID is added to the management information shown in FIG. Specifically, FIG. 4 is an example in which the encryption ID 3 is added to the management information shown in FIG. The encryption ID 3 is an encryption ID of the user ID held by the organization C. Since the organization C is newly added, the
そこで、情報処理装置30は、管理情報を図3や図4に示す構造とは異なる構造とし、暗号化IDが増えても大きなサービスの断絶が起こらないようにする。図5は、管理情報の他の構成例を示す図である。情報処理装置30は、図5に示すように、複数の暗号化IDそれぞれを識別子とし、複数の識別子それぞれに同一ユーザを示す他の複数のシステムの暗号化IDを関連付ける。識別子とは、データベース中の所定の情報(レコード)を識別するための情報である。識別子は、検索ID、キー等と言い換えることができる。図5の例の場合、情報処理装置30は、組織Aが保持するユーザIDを暗号化したE−U1A、E−U2A、E−U3A、組織Bが保持するユーザIDを暗号化したE−U1B、E−U2B、E−U3B、組織Cが保持するユーザIDを暗号化したE−U1C、E−U2C、E−U3Cをそれぞれ識別子とする。そして、識別子それぞれに、同一ユーザを示す他のサービス提供主体の暗号化IDを関連付ける。例えば、組織Aが保持するユーザU1の暗号化IDであるE−U1Aには、組織Bが保持するユーザU1の暗号化IDであるE−U1Bと、組織Cが保持するユーザU1の暗号化IDであるE−U1Cと、を関連付ける。なお、識別子には、情報処理装置30が内部でユーザを管理するためのID(内部ID)が関連付けられていてもよい。例えば、識別子のE−U1Aには、情報処理装置30が内部IDのU1が関連付けられていてもよい。
Therefore, the
なお、図5の例では、管理情報は表形式となっているが、管理情報は表形式に限られない。管理情報はJSON(JavaScript(登録商標) Object Notation)形式であってもよい。例えば、管理情報は“暗号化ID1:{内部ID,暗号化ID2,暗号化ID3,…}”、“暗号化ID2:{内部ID,暗号化ID1,暗号化ID3,…}”といった形式であってもよい。ここで、内部IDは、情報処理装置30が保持するユーザIDを示すメンバー(例えば、名前と値のペア)であり、暗号化ID1は、組織Aが保持するユーザIDの暗号化IDを示すメンバーであり、暗号化ID2は、組織Bが保持するユーザIDの暗号化IDを示すメンバーであり、暗号化ID3は、組織Cが保持するユーザIDの暗号化IDを示すメンバーである。管理情報を図5に示すような構造とすることで、NoSQL、KVS等のハイパースケールなミドルウェアを使ってリレーショナルデータベースの限界を大幅に超えることができる。 In the example of FIG. 5, the management information is in a tabular format, but the management information is not limited to the tabular format. The management information may be in JSON (JavaScript (registered trademark) Object Notation) format. For example, the management information is in the format of "encryption ID1: {internal ID, encryption ID2, encryption ID3, ...}", "encryption ID2: {internal ID, encryption ID1, encryption ID3, ...}". You may. Here, the internal ID is a member indicating a user ID held by the information processing apparatus 30 (for example, a name / value pair), and the encryption ID 1 is a member indicating the encryption ID of the user ID held by the organization A. The encryption ID 2 is a member indicating the encryption ID of the user ID held by the organization B, and the encryption ID 3 is a member indicating the encryption ID of the user ID held by the organization C. By making the management information a structure as shown in FIG. 5, it is possible to greatly exceed the limit of the relational database by using hyperscale middleware such as NoSQL and KVS.
情報処理装置30は、複数のシステムの1つから暗号化IDを受信すると(ステップS5)、管理情報に基づいて、その暗号化IDに対応する他のシステムの暗号化IDを特定する(ステップS6)。例えば、情報処理装置30が、組織Bのサービス提供サーバ202から暗号化IDとしてE−U2Bを受信したとする。この場合、情報処理装置30は、図5に示す管理情報から識別子のE−U2Bに関連付けられているE−U2A、E−U2Cを特定する。
When the
そして、情報処理装置30は、暗号化IDを受信したシステムに対して、他のシステムの暗号化IDに関する情報を送信する(ステップS7)。例えば、情報処理装置30が、組織Bのサービス提供サーバ202からユーザU2のユーザIDの暗号化IDであるE−U2Bを受信したとする。この場合、情報処理装置30は、サービス提供サーバ202に対して、対応する暗号化IDであるE−U2A、E−U2Cを送信する。暗号化IDには、どのシステムの暗号化IDかを特定するための情報が付されていてもよい。例えば、E−U2Aには、組織Aのサービス提供サーバ201を示す識別情報が付されていてもよい。また、E−U2Cには、組織Cのサービス提供サーバ203を示す識別情報が付されていてもよい。なお、他のシステムの暗号化IDに関する情報は、暗号化IDで特定されるユーザデータであってもよい。
Then, the
他のシステムの暗号化IDを取得したら、サービス提供サーバ20は、取得した暗号化IDを使って他のシステムからユーザデータを取得する。例えば、サービス提供サーバ202が情報処理装置30からE−U2AとE−U2Cを取得したとする。また、サービス提供サーバ202の運営者(組織B)が、ユーザU2のユーザデータを組織Cから取得しようとしているとする。このとき、サービス提供サーバ202は、サービス提供サーバ203に対してE−U2Cとともにユーザデータの送信を要求する。サービス提供サーバ203は、要求を受けて、暗号化IDのE−U2Cに対応するユーザID(本実施形態の場合、U2C)を特定するとともに、該当のユーザデータ(図2の例の場合、D32)をユーザ情報データベースから取得する。そして、サービス提供サーバ203は、取得したユーザデータをサービス提供サーバ202に送信する。
After acquiring the encryption ID of the other system, the
なお、ユーザデータの送信は情報処理装置30が行ってもよい。例えば、情報処理装置30が、複数のシステムの1つ(例えば、サービス提供サーバ202)から暗号化IDを受信したとする。このとき、情報処理装置30は、他のシステムが保持するユーザデータであって他のシステムの暗号化IDで特定されるユーザデータを、暗号化IDを送信したシステム(例えば、サービス提供サーバ202)に対して送信してもよい。例えば、情報処理装置30が、サービス提供サーバ202からユーザU2のユーザデータの送信要求ともに暗号化IDであるE−U2Bを受信したとする。情報処理装置30は、E−U2Bに対応する他のシステムの暗号化ID(E−U2A、E−U2C)を特定するとともに、サービス提供サーバ201とサービス提供サーバ203に対して、E−U2A或いはE−U2Cで特定されるユーザデータの送信を要求する。サービス提供サーバ201とサービス提供サーバ203からユーザデータを取得したら、情報処理装置30は、取得したユーザデータをサービス提供サーバ202に対して送信する。
The
上述したように、複数の組織は協業関係にある。しかしながら、複数の組織の1つが敵対的買収を受ける等、協業関係が崩れることもあり得る。この場合、情報処理装置30は、情報漏洩が起こらないように、管理情報の管理のための処理を行う必要がある。具体的には、情報処理装置30は、敵対的買収された組織が他の組織のユーザデータを取得できないようにする必要がある。
As mentioned above, multiple organizations are in a collaborative relationship. However, it is possible that the collaborative relationship may be broken, such as one of multiple organizations receiving a hostile takeover. In this case, the
そこで、情報処理装置30は、情報処理装置30の運営者から複数のシステムの中から選択される所定のシステムの排除を命令された場合には、所定のシステムの暗号化IDを管理情報から削除する(ステップS8)。例えば、サービス提供サーバ203を運営する組織Cが敵対的買収を受け、情報処理装置30の運営者が組織Cのシステム(サービス提供サーバ203)のグループからの排除のための処理を命令したとする。この場合、情報処理装置30は、図5に示す管理情報から組織Cの暗号化ID(E−U1C、E−U2C、E−U3C等)を削除して、以後、組織Cが他の組織の暗号化IDを取得できないようにする。なお、会社の買収等により、グループに加入する組織が増える可能性もある。この場合、情報処理装置30は、新たにグループに加わったシステムの暗号化IDを管理情報に追加してもよい。
Therefore, when the
なお、グループから排除された組織は、グループ内の他の組織の暗号化IDの一部をすでに持っている可能性がある。排除された組織を介して他の組織の情報が漏洩しないように、情報処理装置30は、管理情報に記憶されている暗号化IDを他の暗号化IDに変更してもよい。このとき、他の暗号化IDは、変更前の暗号化IDが示すユーザと同一のユーザIDから生成した暗号化IDであってもよい。例えば、情報処理装置30の運営者が組織Cのシステムを排除したとする。このとき、情報処理装置30は、組織Aのサービス提供サーバ201と組織Bのサービス提供サーバ202に新たな暗号化IDの送信を要求する。サービス提供サーバ201とサービス提供サーバ202から新たな暗号化IDを取得した場合には、情報処理装置30は、図5に示す管理情報のうち、暗号化ID1、暗号化ID2、及び識別子を新たな暗号化IDに置き換える。
The organization excluded from the group may already have a part of the encrypted IDs of other organizations in the group. The
本実施形態によれば、情報処理装置30は、複数のサービス提供システム(サービス提供サーバ20)がそれぞれ保持するユーザIDを暗号化した暗号化IDを取得するとともに、同一ユーザを示す複数の暗号化IDを関連付けた管理情報を管理する。これにより、情報処理装置30は、ユーザIDを統一することなく、ユーザIDが統一されたのと同様の効果を複数のサービス提供主体に提供できる。しかも、関連付けられるユーザIDは暗号化されているので、サービス提供主体(例えば、サービス提供サーバ20の運営者)は自身が保有するユーザIDの漏洩を心配する必要はない。
According to the present embodiment, the
〔2.情報処理システムの構成例〕
以上、本実施形態の情報処理装置30を備える情報処理システム1を例に、本実施形態の情報処理装置の動作を述べたが、以下、情報処理システム1の構成を説明する。上述したように、情報処理システム1は、端末装置10と、サービス提供サーバ20と、情報処理装置30と、を備える。端末装置10、サービス提供サーバ20、及び情報処理装置30は、ネットワークを介して接続される。ネットワークは、LAN(Local Area Network)、WAN(Wide Area Network)、電話網(携帯電話網、固定電話網等)、地域IP(Internet Protocol)網、インターネット等の通信ネットワークである。ネットワークには、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。
[2. Information processing system configuration example]
The operation of the information processing device of the present embodiment has been described above by taking the information processing system 1 including the
〔3.端末装置の構成例〕
図6は、実施形態に係る端末装置10の構成例を示す図である。端末装置10は、ユーザがページの閲覧に使用する情報表示装置(情報処理装置)である。端末装置10は、例えば、スマートフォン、タブレット、携帯電話等の通信端末である。通信機能を備えるのであれば、端末装置10は、パーソナルコンピュータ(ノートPC、デスクトップPC)、PDA(Personal Digital Assistant)等の情報処理端末であってもよい。この場合、情報処理端末も通信端末の一種である。端末装置10は、ネットワークを介して情報処理装置30と接続する。端末装置10は、図6に示すように、通信部11と、入力部12と、記憶部13と、出力部14と、制御部15と、を備える。なお、図6に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
[3. Configuration example of terminal device]
FIG. 6 is a diagram showing a configuration example of the
通信部11は、外部の装置と通信する通信インタフェースである。通信部11は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部11は、NIC(Network Interface Card)等のLANインタフェースであってもよいし、USB(Universal Serial Bus)ホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部11は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部11は、端末装置10の通信手段として機能する。通信部11は、制御部15の制御に従って情報処理装置30と通信する。
The communication unit 11 is a communication interface that communicates with an external device. The communication unit 11 may be a network interface or a device connection interface. For example, the communication unit 11 may be a LAN interface such as a NIC (Network Interface Card), or may be a USB interface composed of a USB (Universal Serial Bus) host controller, a USB port, or the like. Further, the communication unit 11 may be a wired interface or a wireless interface. The communication unit 11 functions as a communication means of the
入力部12は、外部から各種入力を受け付ける入力装置である。例えば、入力部12は、キーボードやマウスや操作キー等、ユーザが各種操作を行うための操作装置である。入力部12は、端末装置10の入力手段として機能する。なお、端末装置10にタッチパネルが採用される場合には、タッチパネルも入力部12に含まれる。この場合、ユーザは、指やスタイラスで画面をタッチすることにより各種操作を行う。
The input unit 12 is an input device that receives various inputs from the outside. For example, the input unit 12 is an operation device for the user to perform various operations such as a keyboard, a mouse, and operation keys. The input unit 12 functions as an input means of the
記憶部13は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部13は、端末装置10の記憶手段として機能する。記憶部13は、ウェブブラウザ等のアプリケーションソフトのデータが格納されている。ユーザはアプリケーションソフトを介して情報処理装置30と通信する。
The
出力部14は、音、光、振動、画像等、外部に各種出力を行う装置である。出力部14は、端末装置10の出力手段として機能する。出力部14は、各種情報を表示する表示装置を備える。表示装置は、例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイである。なお、端末装置10にタッチパネルが採用される場合には、表示装置は入力部12と一体であってもよい。出力部14は、制御部15の制御に従って、画面に画像を表示する。
The output unit 14 is a device that outputs various outputs such as sound, light, vibration, and an image to the outside. The output unit 14 functions as an output means of the
制御部15は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、端末装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部15は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
The
〔4.サービス提供サーバの構成例〕
次に、サービス提供サーバ20の構成について詳細に説明する。サービス提供サーバ20は、端末装置10等のクライアントコンピュータからの要求を処理するサーバ用ホストコンピュータ(以下、単に「サーバ」という。)である。サービス提供サーバ20は、PCサーバであってもよいし、ミッドレンジサーバであってもよいし、メインフレームサーバであってもよい。また、サービス提供サーバ20は、1つのサーバにより構成されていてもよいし、協働して処理を実行する複数のサーバにより構成されていてもよい。サービス提供サーバ20が複数のサーバで構成される場合、これらサーバの設置場所は離れていてもよい。設置場所が離れていたとしても、協働して処理を実行するのであれば、これらサーバは1つのサービス提供サーバとみなすことができる。
[4. Service provision server configuration example]
Next, the configuration of the
図7は、実施形態に係るサービス提供サーバ20の構成例を示す図である。サービス提供サーバ20は、通信部21と、記憶部22と、制御部23と、を備える。なお、図7に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
FIG. 7 is a diagram showing a configuration example of the
通信部21は、外部の装置と通信する通信インタフェースである。通信部21は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部21は、NIC等のLANインタフェースであってもよいし、USBホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部21は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部21は、サービス提供サーバ20の通信手段として機能する。通信部21は、制御部23の制御に従って端末装置10及び情報処理装置30と通信する。
The
記憶部22は、DRAM、SRAM、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部22は、サービス提供サーバ20の記憶手段として機能する。記憶部22は、ユーザ情報データベース221を記憶する。
The
ユーザ情報データベース221は、サービス提供サーバ20がユーザにサービスを提供するにあたり取得したユーザデータを記憶するデータベースである。ユーザ情報データベース221は、RDBであってもよいし、NoSQL等のハイパースケールなデータベース情報処理システム(スケールアウト型のシステム)を使ったデータベースであってもよい。このとき、NoSQLは、KVSであってもよい。
The
図8は、ユーザ情報データベース221に格納されるユーザ情報の一例を示す図である。図8に示した例では、ユーザ情報データベース221は、ユーザID、ユーザ名、性別、年齢、購入商品等の項目を有している。「ユーザID」は、ユーザの識別情報である。「ユーザ名」は、ユーザIDで示されるユーザの名前である。「性別」は、ユーザIDで示されるユーザの性別である。「年齢」は、ユーザIDで示されるユーザの年齢である。「購入商品」は、ユーザIDで示されるユーザがネットショッピングサービス等を使って購入した商品の情報である。なお、図8に示したユーザ情報はあくまで例である。ユーザ情報はサービス提供サーバ20が提供するサービスに合わせ適宜変更可能である。
FIG. 8 is a diagram showing an example of user information stored in the
制御部23は、コントローラであり、例えば、CPU、MPU等のプロセッサによって、サービス提供サーバ20内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部23は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
The
〔5.情報処理装置の構成例〕
次に、情報処理装置30の構成について詳細に説明する。情報処理装置30は、端末装置10等のクライアントコンピュータからの要求を処理するサーバ用ホストコンピュータ(以下、単に「サーバ」という。)である。情報処理装置30は、PCサーバであってもよいし、ミッドレンジサーバであってもよいし、メインフレームサーバであってもよい。また、情報処理装置30は、1つのサーバにより構成されていてもよいし、協働して処理を実行する複数のサーバにより構成されていてもよい。情報処理装置30が複数のサーバで構成される場合、これらサーバの設置場所は離れていてもよい。設置場所が離れていたとしても、協働して処理を実行するのであれば、これらサーバは1つの情報処理装置とみなすことができる。
[5. Configuration example of information processing device]
Next, the configuration of the
図9は、実施形態に係る情報処理装置30の構成例を示す図である。情報処理装置30は、通信部31と、記憶部32と、制御部33と、を備える。なお、図9に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
FIG. 9 is a diagram showing a configuration example of the
通信部31は、外部の装置と通信する通信インタフェースである。通信部31は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部31は、NIC等のLANインタフェースであってもよいし、USBホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部31は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部31は、情報処理装置30の通信手段として機能する。通信部31は、制御部33の制御に従ってサービス提供サーバ20と通信する。
The
記憶部32は、DRAM、SRAM、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部32は、情報処理装置30の記憶手段として機能する。記憶部32は、管理情報データベース321を記憶する。
The
管理情報データベース321は、サービス提供サーバ20が保持しているユーザIDを管理するための管理情報を記憶するデータベースである。管理情報データベース321は、RDB(Relational Database)であってもよいし、ハイパースケールなデータベース情報処理システムを使ったデータベースであってもよい。図10は、管理情報データベース321に格納される管理情報の一例を示す図である。図10に示した例では、管理情報データベース321は、識別子、内部ID、暗号化ID1、暗号化ID2、暗号化ID3等の項目を有している。
The
「識別子」は、同一ユーザを示す複数の暗号化IDが格納されたレコードの主キーとなる情報である。識別子には、E−U1A、E−U2A、E−U3A、E−U1B、E−U2B、E−U3B、E−U1C、E−U2C、E−U3C等の値が格納されている。E−U1A、E−U2A、及びE−U3Aは、組織Aが保持するユーザIDの暗号化IDである。E−U1B、E−U2B、及びE−U3Bは、組織Bが保持するユーザIDの暗号化IDである。E−U1C、E−U2C、及びE−U3Cは、組織Cが保持するユーザIDの暗号化IDである。識別子には、全ての複数のサービス提供サーバ20から提供された全ての暗号化IDが識別子として格納される。
The "identifier" is information that is a primary key of a record in which a plurality of encryption IDs indicating the same user are stored. Values such as E-U1A, E-U2A, E-U3A, E-U1B, E-U2B, E-U3B, E-U1C, E-U2C, and E-U3C are stored in the identifier. E-U1A, E-U2A, and E-U3A are encrypted IDs of user IDs held by the organization A. E-U1B, E-U2B, and E-U3B are encrypted IDs of user IDs held by organization B. E-U1C, E-U2C, and E-U3C are encrypted IDs of user IDs held by the organization C. In the identifier, all the encryption IDs provided by all the plurality of
「内部ID」は、情報処理装置30が保持するユーザIDを示す。内部IDには、U1、U2、U3等の値が格納されている。
The "internal ID" indicates a user ID held by the
「暗号化ID1」は、組織Aが保持するユーザIDの暗号化IDを示す。暗号化ID1には、E−U1A、E−U2A、E−U3A等の値が格納されている。 “Encryption ID 1” indicates the encryption ID of the user ID held by the organization A. Values such as E-U1A, E-U2A, and E-U3A are stored in the encryption ID1.
「暗号化ID2」は、組織Bが保持するユーザIDの暗号化IDを示す。暗号化ID2には、E−U1B、E−U2B、E−U3B等の値が格納されている。 “Encryption ID 2” indicates the encryption ID of the user ID held by the organization B. Values such as E-U1B, E-U2B, and E-U3B are stored in the encryption ID2.
「暗号化ID3」は、組織Cが保持するユーザIDの暗号化IDを示す。暗号化ID3には、E−U1C、E−U2C、E−U3C等の値が格納されている。 “Encryption ID 3” indicates the encryption ID of the user ID held by the organization C. Values such as E-U1C, E-U2C, and E-U3C are stored in the encryption ID3.
図9に戻り、制御部33は、コントローラであり、例えば、CPU、MPU等のプロセッサによって、情報処理装置30内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部33は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
Returning to FIG. 9, the
制御部33は、図9に示すように、取得部331と、管理部332と、特定部333と、送信部334と、を備える。制御部33を構成するブロック(取得部331〜送信部334)はそれぞれ制御部33の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部33は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
As shown in FIG. 9, the
取得部331は、複数のサービス提供システム(複数のサービス提供サーバ20)がそれぞれ保持するユーザIDを暗号化した暗号化IDを取得する。 The acquisition unit 331 acquires an encrypted ID that encrypts the user ID held by each of the plurality of service providing systems (plurality of service providing servers 20).
管理部332は、同一ユーザを示す複数の暗号化IDを関連付けた管理情報を管理する。例えば、管理部332は、複数の暗号化IDそれぞれを識別子とし、複数の識別子それぞれに同一ユーザを示す他の複数のサービス提供システム(複数のサービス提供サーバ20)の暗号化IDを関連付けた情報が含まれる管理情報を管理する。
The
具体的には、管理部332は、複数のサービス提供システムの中から選択されるシステムの暗号化IDを管理情報から削除する。また、管理部332は、複数のサービス提供システムに新たに加わったシステムの暗号化IDを管理情報に追加する。また、管理部332は、管理情報に記憶されている暗号化IDを同一のユーザ識別情報から生成した他の暗号化IDに変更する。
Specifically, the
特定部333は、複数のサービス提供システムの1つである第1のシステム(例えば、サービス提供サーバ202)から第1の暗号化ID(例えば、ユーザU2の暗号化IDであるE−U2B)を受信した場合に、管理情報に基づいて、第1の暗号化IDに対応する他のシステムの暗号化ID(例えば、図10に示すE−U2A、E−U2C)を特定する。
First
送信部334は、他のシステム(例えば、サービス提供サーバ201及びサービス提供サーバ203)の暗号化IDに関する情報を第1のシステム(例えば、サービス提供サーバ202)に対して送信する。例えば、送信部334は、他のシステムの暗号化ID(例えば、E−U2A、E−U2C)を第1のシステムに対して送信する。また、送信部334は、他のシステムが保持するユーザデータであって他のシステムの暗号化IDで特定されるユーザデータ(例えば、図2に示すD12、D32)を第1のシステムに対して送信する。
Transmitting
〔6.情報処理装置の処理フロー〕
次に、情報処理装置30が実行する処理の手順について説明する。情報処理装置30は生成処理と管理処理とを実行する。情報処理装置30はマルチタスクOSを備え、これらの処理を並行して実行可能である。
[6. Information processing device processing flow]
Next, the procedure of the processing executed by the
〔6−1.登録処理〕
最初に登録処理を説明する。図11は、登録処理の一例を示すフローチャートである。登録処理は、管理情報データベース321に管理情報を登録する処理である。情報処理装置30は、情報処理装置30の運営者から処理の開始を命令されると登録処理を実行する。
[6-1. registration process〕
First, the registration process will be described. FIG. 11 is a flowchart showing an example of the registration process. The registration process is a process of registering management information in the
まず、情報処理装置30は、サービス提供サーバ20それぞれに対し暗号化IDの送信要求を行う(ステップS11)。そして、情報処理装置30は、要求を行った全てのサービス提供サーバ20から暗号化IDを受信したか判別する(ステップS12)。暗号化IDを送信していないサービス提供サーバ20が1つでもある場合(ステップS12:No)、情報処理装置30は、全てのサービス提供サーバ20から暗号化IDを受信するまでステップS12を繰り返す。
First, the
全てのサービス提供サーバ20から暗号化IDを受信した場合(ステップS12:Yes)、情報処理装置30は、暗号化IDの関連付けを実行する(ステップS13)。例えば、情報処理装置30は、図1に示すように、ユーザU1の暗号化IDを示すE−U1A、E−U1B、E−U1Cを関連付ける。また、情報処理装置30は、ユーザU2の暗号化IDを示すE−U2A、E−U2B、E−U2Cを関連付ける。また、情報処理装置30は、ユーザU3の暗号化IDを示すE−U3A、E−U3B、E−U3Cを関連付ける。
When the encryption IDs are received from all the service providing servers 20 (step S12: Yes), the
そして、情報処理装置30は、関連付けた情報を管理情報データベース321に登録する(ステップS14)。登録が完了したら、情報処理装置30は、登録処理を終了する。
Then, the
〔6−2.管理処理〕
最初に管理処理を説明する。図12は、管理処理の一例を示すフローチャートである。管理処理は、管理情報の管理に関する処理である。情報処理装置30は、電源が投入されると、管理処理を開始する。
[6-2. Management process]
First, the management process will be described. FIG. 12 is a flowchart showing an example of the management process. The management process is a process related to management of management information. The
まず、情報処理装置30は、サービス提供サーバ20或いは情報処理装置30の運営者の端末からリクエスト(処理の要求)を受信したか判別する(ステップS21)。リクエストを受信していない場合(ステップS21:No)、情報処理装置30は、リクエストを受信するまでステップS21を繰り返す。
First, the
リクエストを受信した場合(ステップS21:Yes)、リクエストがサービス提供サーバ20からの暗号化IDを伴うデータの送信要求か判別する(ステップS22)。データの送信要求でない場合(ステップS22:No)、情報処理装置30は、ステップS26に処理を進める。
When the request is received (step S21: Yes), it is determined whether the request is a data transmission request with an encryption ID from the service providing server 20 (step S22). If it is not a data transmission request (step S22: No), the
リクエストがサービス提供サーバ20からのデータの送信要求の場合(ステップS22:Yes)、情報処理装置30は、管理情報データベース321に登録されている管理情報に基づいて、データの送信要求とともに送信された暗号化IDに対応する他のシステムの暗号化IDを特定する(ステップS23)。
When the request is a data transmission request from the service providing server 20 (step S22: Yes), the
そして、情報処理装置30は、特定した暗号化IDを使って、該当のサービス提供サーバ20からユーザデータを取得する(ステップS24)。そして、情報処理装置30は、リクエストを送信したサービス提供サーバ20に対し、取得したユーザデータを送信する(ステップS25)。送信が完了したら、情報処理装置30は、ステップS21に処理を戻す。
Then, the
ステップS22に戻り、リクエストがサービス提供サーバ20からのデータの送信要求でない場合(ステップS22:No)、管理情報の管理のための処理を実行する(ステップS26)。例えば、情報処理装置30は、情報処理装置30の運営者から、所定のサービス提供主体をグループから排除するための処理を命令された場合には、所定のサービス提供主体が提供する暗号化IDを管理情報から削除する。この場合、グループに残るサービス提供主体が提要した暗号化IDを同一のユーザIDから生成した他の暗号化IDに変更してもよい。また、情報処理装置30は、グループに新たにサービス提供主体が加わった場合には、新たに加わったサービス提供主体が提供する暗号化IDを管理情報に追加する。
Returning to step S22, when the request is not a data transmission request from the service providing server 20 (step S22: No), a process for managing management information is executed (step S26). For example, when the
処理が完了したら、情報処理装置30は、ステップS21に処理を戻し、リクエストの受信を待機する。
When the processing is completed, the
〔7.変形例〕
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。
[7. Modification example]
The above-described embodiment shows an example, and various modifications and applications are possible.
例えば、上述の実施形態では、サービス提供サーバ20が提供するサービスは、ネットを介して提供されるサービスであるものとしたが、サービスはネットを介して提供されるサービスに限られない。サービスは、ネットを使用しないサービスであってもよい。例えば、サービスは、小売店での対面販売であってもよい。
For example, in the above-described embodiment, the service provided by the
本実施形態の情報処理装置30を制御する制御装置は、専用のコンピュータシステムによって実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成してもよい。制御装置は、情報処理装置30の外部の装置(例えば、パーソナルコンピュータ)であってもよいし、内部の装置(例えば、制御部33)であってもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
The control device that controls the
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。 Further, among the processes described in each of the above embodiments, all or part of the processes described as being automatically performed can be manually performed, or the processes described as being manually performed. It is also possible to automatically perform all or part of the above by a known method. In addition, the processing procedure, specific name, and information including various data and parameters shown in the above document and drawings can be arbitrarily changed unless otherwise specified. For example, the various information shown in each figure is not limited to the illustrated information.
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。 Further, each component of each of the illustrated devices is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of the device is functionally or physically distributed / physically in arbitrary units according to various loads and usage conditions. It can be integrated and configured.
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 In addition, the above-described embodiments can be appropriately combined as long as the processing contents do not contradict each other.
〔8.ハードウェア構成〕
実施形態及び変形例に係る情報処理装置30は、例えば図13に示すような構成のコンピュータ1000によっても実現可能である。図13は、情報処理装置30の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU(Central Processing Unit)1100、RAM1200、ROM1300、HDD(Hard Disk Drive)1400、通信インタフェース(I/F)1500、入出力インタフェース(I/F)1600、及びメディアインタフェース(I/F)1700を有する。
[8. Hardware configuration]
The
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
The
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インタフェース1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
The
CPU1100は、入出力インタフェース1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インタフェース1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インタフェース1600を介して出力装置へ出力する。
The
メディアインタフェース1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインタフェース1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
The
例えば、コンピュータ1000が実施形態に係る情報処理装置30として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部33を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
For example, when the
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 Although some of the embodiments of the present application have been described in detail with reference to the drawings, these are examples, and various modifications are made based on the knowledge of those skilled in the art, including the embodiments described in the disclosure line of the invention. It is possible to carry out the present invention in other improved forms.
〔9.効果〕
本実施形態によれば、情報処理装置30は、複数のシステムがそれぞれ保持するユーザ識別情報を暗号化した暗号化IDを取得する。そして、情報処理装置30は、同一ユーザを示す複数の暗号化IDを関連付けた管理情報を管理する。これにより、情報処理装置30は、複数のサービス提供主体が保持するユーザIDを統一することなく、ユーザIDが統一されたのと同様の効果をサービス提供主体に提供できる。しかも、関連付けられるユーザIDは暗号化されているので、サービス提供主体は自身が保有するユーザIDが他のサービス提供主体に取得される心配はない。この結果、暗号化IDの提供がスムーズに行われるようになるので、サービス提供主体は、暗号化IDを介して、他のサービス提供主体が保有するデータを容易に利用できる。
[9. effect〕
According to the present embodiment, the
また、情報処理装置30は、複数のシステムの1つである第1のシステムから第1の暗号化IDを受信した場合に、管理情報に基づいて、第1の暗号化IDに対応する他のシステムの暗号化IDを特定する。そして、情報処理装置30は、他のシステムの暗号化IDに関する情報を第1のシステムに対して送信する。例えば、情報処理装置30は、他のシステムの暗号化IDを第1のシステムに対して送信する。これにより、サービス提供主体は、他の暗号化IDを介して、他のサービス提供主体が保有するデータを容易に利用できる。
Further, when the
また、情報処理装置30は、他のシステムが保持するユーザデータであって他のシステムの暗号化IDで特定されるユーザデータを第1のシステムに対して送信する。これにより、第1のシステムを運営するサービス提供主体は、他のサービス提供主体が保有するデータを容易に取得できる。他のサービス提供主体も自身が保持するユーザIDを第1のシステムを運営するサービス提供主体に知られることはない。
Further, the
また、情報処理装置30は、複数の暗号化IDそれぞれを識別子とし、複数の識別子それぞれに同一ユーザを示す他の複数のシステムの暗号化IDを関連付けた情報が含まれる管理情報を管理する。これにより、情報処理装置30は、NoSQL等のハイパースケールなデータベース情報処理システム(スケールアウト型のシステム)の使用が容易になるので、データベースのスケール(特に、水平スケール)を大きくすることができる。
Further, the
また、情報処理装置30は、複数のシステムの中から選択されるシステムの暗号化IDを管理情報から削除する。これにより、情報処理装置30は、協業関係から離脱したサービス提供主体を介して、情報が漏洩する可能性を低くできる。
Further, the
また、情報処理装置30は、複数のシステムに新たに加わったシステムの暗号化IDを管理情報に追加する。これにより、情報処理装置30は、新たなサービス提供主体を容易に情報の共有関係に取り込むことができる。結果として、情報処理装置30は、新たなサービス提供主体と既存のサービス提供主体との情報の共有を促進することができる。
In addition, the
管理部は、管理情報に記憶されている暗号化IDを同一のユーザ識別情報から生成した他の暗号化IDに変更する。これにより、情報処理装置30は、敵対的買収等により協業関係から離脱したサービス提供主体への情報漏洩の可能性を低くできる。
The management unit changes the encryption ID stored in the management information to another encryption ID generated from the same user identification information. As a result, the
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。 Although some of the embodiments of the present application have been described in detail with reference to the drawings, these are examples, and various modifications are made based on the knowledge of those skilled in the art, including the embodiments described in the disclosure column of the invention. It is possible to carry out the present invention in other improved forms.
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、通知部は、通知手段や通知回路に読み替えることができる。 Further, the above-mentioned "section, module, unit" can be read as "means" or "circuit". For example, the notification unit can be read as a notification means or a notification circuit.
1…情報処理システム
10、101、102、103…端末装置
11、21、31…通信部
12…入力部
13、22、32…記憶部
14…出力部
15、23、33…制御部
20、201、202、203…サービス提供サーバ
221…ユーザ情報データベース
30…情報処理装置
321…管理情報データベース
331…取得部
332…管理部
333…特定部
334…送信部
1 ...
Claims (8)
同一ユーザを示す複数の前記暗号化IDの関連付けに関する情報が含まれる管理情報を管理する管理部と、
前記複数のシステムの1つである第1のシステムから第1の暗号化IDを受信した場合に、前記管理情報に基づいて、前記第1の暗号化IDに対応する他のシステムの暗号化IDを特定する特定部と、
前記他のシステムの暗号化IDに関する情報を前記第1のシステムに対して送信する送信部と、を備え、
前記送信部は、前記他のシステムが保持するユーザデータであって前記他のシステムの暗号化IDで特定される前記ユーザデータを前記他のシステムから取得し、取得した前記ユーザデータを前記第1のシステムに対して送信する、
ことを特徴とする情報処理装置。 An acquisition unit that acquires an encrypted ID that encrypts user identification information held by multiple systems,
A management unit that manages management information including information related to association of a plurality of the encrypted IDs indicating the same user, and a management unit.
When the first encryption ID is received from the first system, which is one of the plurality of systems, the encryption ID of the other system corresponding to the first encryption ID is based on the management information. With a specific part that identifies
A transmission unit that transmits information about the encryption ID of the other system to the first system is provided.
The transmission unit acquires the user data held by the other system and specified by the encryption ID of the other system from the other system, and obtains the acquired user data from the first. Send to the system of
The information processing apparatus according to claim and this.
ことを特徴とする請求項1に記載の情報処理装置。 The transmitter transmits the encryption ID of the other system to the first system.
The information processing apparatus according to claim 1.
ことを特徴とする請求項1又は2に記載の情報処理装置。 The management unit manages the management information including information associated with the encryption IDs of a plurality of other systems indicating the same user for each of the plurality of encryption IDs as identifiers.
The information processing apparatus according to claim 1 or 2 .
ことを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。 The management unit deletes the encryption ID of the system selected from the plurality of systems from the management information.
The information processing apparatus according to any one of claims 1 to 3 , wherein the information processing device is characterized by the above.
ことを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。 The management unit adds the encryption ID of the system newly added to the plurality of systems to the management information.
The information processing apparatus according to any one of claims 1 to 4 , wherein the information processing device is characterized by the above.
ことを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。 The management unit changes the encryption ID stored in the management information to another encryption ID generated from the same user identification information.
The information processing apparatus according to any one of claims 1 to 5 , characterized in that.
複数のシステムがそれぞれ保持するユーザ識別情報を暗号化した暗号化IDを取得する取得工程と、
同一ユーザを示す複数の前記暗号化IDの関連付けに関する情報が含まれる管理情報を管理する管理工程と、
前記複数のシステムの1つである第1のシステムから第1の暗号化IDを受信した場合に、前記管理情報に基づいて、前記第1の暗号化IDに対応する他のシステムの暗号化IDを特定する特定工程と、
前記他のシステムの暗号化IDに関する情報を前記第1のシステムに対して送信する送信工程と、を含み、
前記送信工程では、前記他のシステムが保持するユーザデータであって前記他のシステムの暗号化IDで特定される前記ユーザデータを前記他のシステムから取得し、取得した前記ユーザデータを前記第1のシステムに対して送信する、
ことを特徴とする情報処理方法。 It is an information processing method executed by an information processing device.
The acquisition process of acquiring the encrypted ID that encrypts the user identification information held by each of the multiple systems,
A management process for managing management information including information related to association of a plurality of the encrypted IDs indicating the same user, and
When the first encryption ID is received from the first system, which is one of the plurality of systems, the encryption ID of another system corresponding to the first encryption ID is based on the management information. And the specific process to identify
A transmission step of transmitting information about the encryption ID of the other system to the first system is included.
In the transmission step, the user data held by the other system and specified by the encryption ID of the other system is acquired from the other system, and the acquired user data is obtained from the first. Send to the system of
Information processing method, wherein a call.
同一ユーザを示す複数の前記暗号化IDの関連付けに関する情報が含まれる管理情報を管理する管理手順と、
前記複数のシステムの1つである第1のシステムから第1の暗号化IDを受信した場合に、前記管理情報に基づいて、前記第1の暗号化IDに対応する他のシステムの暗号化IDを特定する特定手順と、
前記他のシステムの暗号化IDに関する情報を前記第1のシステムに対して送信する送信手順と、をコンピュータに実行させ、
前記送信手順では、前記他のシステムが保持するユーザデータであって前記他のシステムの暗号化IDで特定される前記ユーザデータを前記他のシステムから取得し、取得した前記ユーザデータを前記第1のシステムに対して送信する、
情報処理プログラム。 An acquisition procedure for acquiring an encrypted ID that encrypts user identification information held by multiple systems, and
A management procedure for managing management information including information related to the association of a plurality of the encrypted IDs indicating the same user, and
When the first encryption ID is received from the first system, which is one of the plurality of systems, the encryption ID of the other system corresponding to the first encryption ID is based on the management information. With specific steps to identify
The computer is made to execute the transmission procedure of transmitting the information regarding the encryption ID of the other system to the first system .
In the transmission procedure, the user data held by the other system and specified by the encryption ID of the other system is acquired from the other system, and the acquired user data is obtained from the first. Send to the system of
Information processing program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017169803A JP6760904B2 (en) | 2017-09-04 | 2017-09-04 | Information processing equipment, information processing methods, and information processing programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017169803A JP6760904B2 (en) | 2017-09-04 | 2017-09-04 | Information processing equipment, information processing methods, and information processing programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019046263A JP2019046263A (en) | 2019-03-22 |
JP6760904B2 true JP6760904B2 (en) | 2020-09-23 |
Family
ID=65812942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017169803A Active JP6760904B2 (en) | 2017-09-04 | 2017-09-04 | Information processing equipment, information processing methods, and information processing programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6760904B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7417037B2 (en) * | 2019-08-30 | 2024-01-18 | フリュー株式会社 | Information processing device, information processing method, and information processing system |
JP7488051B2 (en) * | 2020-01-29 | 2024-05-21 | 日本瓦斯株式会社 | Information processing device, terminal device, information processing method, and program |
JP7418238B2 (en) * | 2020-02-21 | 2024-01-19 | 日本瓦斯株式会社 | Information processing device, information processing method, and program |
WO2023132059A1 (en) * | 2022-01-07 | 2023-07-13 | 日本電気株式会社 | System, server device, server device control method, and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010128554A (en) * | 2008-11-25 | 2010-06-10 | Nec Corp | Account issuing system, allocation device, registration device, account issuing method and program |
JP2012244284A (en) * | 2011-05-17 | 2012-12-10 | Hitachi Ltd | Authentication device, information system, and authentication method |
US8812591B2 (en) * | 2011-06-15 | 2014-08-19 | Facebook, Inc. | Social networking system data exchange |
JP5521024B1 (en) * | 2012-12-05 | 2014-06-11 | 日本電信電話株式会社 | Distributed information linkage system and method |
-
2017
- 2017-09-04 JP JP2017169803A patent/JP6760904B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019046263A (en) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12058266B2 (en) | Zero-knowledge environment based social networking engine | |
US20230010452A1 (en) | Zero-Knowledge Environment Based Networking Engine | |
CN105144159B (en) | HIVE watch chain connects | |
EP3864551B1 (en) | Distributed ledger-based profile verification | |
EP3455746B1 (en) | Distributed data access control | |
CN113711536A (en) | Extracting data from a blockchain network | |
JP6760904B2 (en) | Information processing equipment, information processing methods, and information processing programs | |
JP2020102189A (en) | Method, apparatus and system for processing data | |
JP7090903B2 (en) | Information processing system, data provision method, and manufacturing method of information processing system | |
JP2011128775A (en) | Disclosure control function providing device, system, method, and program | |
US20140089379A1 (en) | Systems and methods for collaborative mobile device applications | |
US20100235471A1 (en) | Associating telemetry data from a group of entities | |
JP2019046262A (en) | Information processing apparatus, information processing method, and information processing program | |
WO2019061944A1 (en) | Data security-based method for updating medical software, and server | |
JP5636394B2 (en) | Information processing apparatus, information processing method, and program | |
JP6548702B2 (en) | Management device, management method, and management program | |
US20140019837A1 (en) | Online document distribution method and system for moble device | |
CN114363324B (en) | File sharing method and device, storage medium and electronic equipment | |
JP6798737B1 (en) | Personal information management system and personal information management method | |
CN112181975A (en) | Method and apparatus for creating a database in a data warehouse | |
JP2019160336A (en) | Management device, method for management, and management program | |
JP2022162518A (en) | Program for determining target device information using response of device, apparatus and method, and database construction apparatus | |
JP2020071791A (en) | Communication method, communication program, and communication device | |
JP2018181275A (en) | Update control program, update control method and update control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180718 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20180718 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180724 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190806 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191003 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20191101 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20191108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200604 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200804 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200903 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6760904 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |