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

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

▶ 株式会社NTTドコモの特許一覧

<>
  • 特許-情報処理装置 図1
  • 特許-情報処理装置 図2
  • 特許-情報処理装置 図3
  • 特許-情報処理装置 図4
  • 特許-情報処理装置 図5
  • 特許-情報処理装置 図6
  • 特許-情報処理装置 図7
  • 特許-情報処理装置 図8
  • 特許-情報処理装置 図9
  • 特許-情報処理装置 図10
  • 特許-情報処理装置 図11
  • 特許-情報処理装置 図12
  • 特許-情報処理装置 図13
  • 特許-情報処理装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-05
(45)【発行日】2024-02-14
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
   G06F 21/62 20130101AFI20240206BHJP
【FI】
G06F21/62 354
【請求項の数】 1
(21)【出願番号】P 2020073967
(22)【出願日】2020-04-17
(65)【公開番号】P2021170291
(43)【公開日】2021-10-28
【審査請求日】2023-02-21
(73)【特許権者】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】長谷川 慶太
(72)【発明者】
【氏名】森田 康介
(72)【発明者】
【氏名】高 聖明
(72)【発明者】
【氏名】鈴木 信也
【審査官】平井 誠
(56)【参考文献】
【文献】国際公開第2019/073959(WO,A1)
【文献】特開2014-192707(JP,A)
【文献】再公表特許第2016/002086(JP,A1)
【文献】特開2016-053693(JP,A)
【文献】特開2017-215868(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
第1情報群に含まれる各情報を識別する情報識別子に他の情報処理装置と共通のランダムデータを付加してから不可逆変換アルゴリズムによって変換する処理を経て、変換後の第1情報群を生成する生成部と、
前記他の情報処理装置において第2情報群に含まれる各情報を識別する情報識別子に前記共通のランダムデータを付加してから前記不可逆変換アルゴリズムによって変換する処理を経て生成された、変換後の第2情報群を取得する取得部と、
生成された前記変換後の第1情報群、及び、取得された前記変換後の第2情報群を、変換後の前記情報識別子に基づいて結合する結合部と、
前記変換において前記情報識別子に付加された前記ランダムデータが断片化された断片データを、前記他の情報処理装置と連携して保存する保存部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報群を結合するための技術に関する。
【背景技術】
【0002】
近年においては、膨大な消費者の行動データを解析してマーケティングに利用するデジタルマーケティングの重要性が高まっている。例えば特許文献1には、2つの企業の共通の顧客の購入履歴及び顧客の属性を分析して相関関係を見出し、一方の企業の顧客の中から他方の企業の商品の購入率が高そうな顧客を抽出し、他方の企業がその顧客の情報を入手して販売促進することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2001-23047号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、共通の情報識別子によって識別される情報を含む第1情報群及び第2情報群を、各情報識別子を特定できない状態で結合できるようにすることを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するため、本発明は、第1情報群に含まれる各情報を識別する情報識別子に他の情報処理装置と共通のランダムデータを付加してから不可逆変換アルゴリズムによって変換する処理を経て、変換後の第1情報群を生成する生成部と、前記他の情報処理装置において第2情報群に含まれる各情報を識別する情報識別子に前記共通のランダムデータを付加してから前記不可逆変換アルゴリズムによって変換する処理を経て生成された、変換後の第2情報群を取得する取得部と、生成された前記変換後の第1情報群、及び、取得された前記変換後の第2情報群を、変換後の前記情報識別子に基づいて結合する結合部と、前記変換において前記情報識別子に付加された前記ランダムデータが断片化された断片データを、前記他の情報処理装置と連携して保存する保存部とを有することを特徴とする情報処理装置を提供する。
【発明の効果】
【0015】
本発明によれば、共通の情報識別子によって識別される情報を含む第1情報群及び第2情報群を、各情報識別子を特定できない状態で結合できるようにすることが可能となる。
【図面の簡単な説明】
【0016】
図1】本発明の一実施形態に係る情報処理システム1の構成の一例を示す図である。
図2】情報保持装置10aのハードウェア構成を示す図である。
図3】管理装置20のハードウェア構成を示す図である。
図4】情報処理システム1の機能構成を示す図である。
図5】情報処理システム1の動作の一例を示す図である。
図6】情報処理システム1によって情報が処理される様子を例示する図である。
図7】情報処理システム1によって情報が処理される様子を例示する図である。
図8】情報処理システム1によって情報が処理される様子を例示する図である。
図9】情報処理システム1によって情報が処理される様子を例示する図である。
図10】情報処理システム1によって情報が処理される様子を例示する図である。
図11】情報処理システム1によって情報が処理される様子を例示する図である。
図12】情報処理システム1によって情報が処理される様子を例示する図である。
図13】情報処理システム1によって情報が処理される様子を例示する図である。
図14】情報処理システム1によって情報が処理される様子を例示する図である。
【発明を実施するための形態】
【0017】
[構成]
図1は、本実施形態に係る情報処理システム1の一例を示す図である。図1に示すように、情報処理システム1は、第1情報群を保有する第1の情報保有者が管理する第1情報処理装置として機能する情報保持装置10aと、第2情報群を保有する第2の情報保有者が管理する第2情報処理装置として機能する情報保持装置10bと、第1情報処理装置及び第2情報処理装置とは別の第3情報処理装置として機能する管理装置20と、これらを通信可能に接続する無線通信網又は有線通信網を含むネットワーク2とを備えている。情報保持装置10a、情報保持装置10b及び管理装置20は、単体のコンピュータで実現されてもよいし、複数のコンピュータの集合体によって実現されてもよい。なお、情報保持装置10a、情報保持装置10b及び管理装置20は、図1に図示したネットワーク2を介して通信可能に接続されていてもよいし、図示せぬ専用線を介して通信可能に接続されていてもよい。
【0018】
図2は、情報保持装置10aのハードウェア構成を示す図である。情報保持装置10aは、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、及びこれらを接続するバスなどを含むコンピュータとして構成されている。これらの各装置は図示せぬ電源から供給される電力によって動作する。なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。情報保持装置10aのハードウェア構成は、図2に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。また、それぞれ筐体が異なる複数の装置が通信接続されて、情報保持装置10aを構成してもよい。
【0019】
情報保持装置10aにおける各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
【0020】
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。また、例えばベースバンド信号処理部や呼処理部などがプロセッサ1001によって実現されてもよい。
【0021】
プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、後述する動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。情報保持装置10aの機能ブロックは、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。各種の処理は、1つのプロセッサ1001によって実行されてもよいが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、ネットワーク2経由で情報保持装置10aに送信されてもよい。
【0022】
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本実施形態に係る方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
【0023】
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。
【0024】
通信装置1004は、ネットワーク2を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。また、送受信アンテナ、アンプ部、送受信部、伝送路インターフェースなどがこの通信装置1004によって実現されてもよい。送受信部は、送信部と受信部とで、物理的に、又は論理的に分離された実装がなされてもよい。
【0025】
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キー、マイクロフォン、スイッチ、ボタンなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
【0026】
プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバスによって接続される。バスは、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
【0027】
情報保持装置10aは、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
【0028】
情報保持装置10bのハードウェア構成は、情報保持装置10aと同じである。
【0029】
図3は、管理装置20のハードウェア構成を示す図である。管理装置20は、物理的には情報保持装置10aと同様に、プロセッサ2001、メモリ2002、ストレージ2003、通信装置2004、入力装置2005、出力装置2006及びこれらを接続するバスなどを含むコンピュータとして構成されている。これらの各装置は図示せぬ電源から供給される電力によって動作する。管理装置20のハードウェア構成は、図3に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。また、それぞれ筐体が異なる複数の装置が通信接続されて、管理装置20を構成してもよい。
【0030】
管理装置20における各機能は、プロセッサ2001、メモリ2002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ2001が演算を行い、通信装置2004による通信を制御したり、メモリ2002及びストレージ2003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。プロセッサ2001、メモリ2002、ストレージ2003、通信装置2004、入力装置2005、出力装置2006及びこれらを接続するバスは、情報保持装置10aについて説明したプロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006及びこれらを接続するバスと、ハードウェアとしては同様であるため、その説明を省略する。
【0031】
図4は、情報処理システム1の機能構成を示すブロック図である。情報保持装置10aにおいて、記憶部11aは、第1情報群を記憶する。情報保持装置10bにおいて、記憶部11bは、第2情報群を記憶する。ここで、図6は、第1情報群を例示する図である。図6において、各情報は、複数の情報項目A1,A2,A3・・・に対応するデータの組からなる。つまり、図6における各レコードが1つの情報に相当する。これらの各情報(図6における各レコード)は、情報識別子によって識別される。例えば、情報項目A1に対応するデータ「30」、情報項目A2に対応するデータ「1110」、情報項目A3に対応するデータ「10」・・・からなる情報に対しては、情報識別子「1111」というユニークな識別子が割り当てられており、この情報識別子「1111」により、他の情報識別子が割り当てられた情報(図6の例では情報識別子「2222」「4444」・・・という情報識別子が割り当てられた情報)と識別可能になっている。つまり、情報項目A1に対応するデータ「30」、情報項目A2に対応するデータ「1110」、情報項目A3に対応するデータ「10」・・・からなる情報は、情報識別子「1111」に関する情報ということになる。
【0032】
次に、図7は、第2情報群を例示する図である。図6において、各情報は複数の情報項目B1,B2,B3・・・に対応するデータの組からなり、これらの各情報(図7における各レコード)が情報識別子によって識別される。つまり、図7における各レコードが1つの情報に相当する。例えば、情報項目B1に対応するデータ「300」、情報項目B2に対応するデータ「112565」、情報項目B3に対応するデータ「1」・・・からなる情報に対しては、情報識別子「1111」というユニークな識別子が割り当てられており、この情報識別子「1111」により、他の情報識別子が割り当てられた情報(図7の例では情報識別子「2222」「3333」・・・という情報識別子が割り当てられた情報)と識別可能になっている。つまり、情報項目B1に対応するデータ「300」、情報項目B2に対応するデータ「112565」、情報項目B3に対応するデータ「1」・・・からなる情報は、情報識別子「1111」に関する情報ということになる。
【0033】
ここで、第1情報群における情報識別子と、第2情報群における情報識別子は、同じ対象を意味する場合は、同一の情報識別子となる。つまり、第1情報群において情報識別子「1111」で識別される、情報項目A1に対応するデータ「30」、情報項目A2に対応するデータ「1110」、情報項目A3に対応するデータ「10」・・・からなる情報と、第2情報群において情報識別子「1111」で識別される、情報項目B1に対応するデータ「300」、情報項目B2に対応するデータ「112565」、情報項目B3に対応するデータ「1」・・・からなる情報とは、同一の対象についての情報ということになる。
【0034】
第1情報群においては、情報識別子「1111」で識別される情報として、情報項目A1に対応するデータ「30」、情報項目A2に対応するデータ「1110」、情報項目A3に対応するデータ「10」・・・が含まれているが、情報項目B1に対応するデータ「300」、情報項目B2に対応するデータ「112565」、情報項目B3に対応するデータ「1」・・・は含まれていない。つまり、第1情報保有者と第2情報保有者とは、同一の情報識別子に関して、異なる情報を保有している。
【0035】
情報群を保有する者は、その情報群を分析して、例えばこれら情報間の相関関係を求めたいというような場合がある。この場合、情報群の項目が多いほど、より高度で多様な分析が行える。このため、第1情報保有者と第2情報保有者とがそれぞれ保有している情報を交換し、情報群の項目を増やした状態でこのような分析を行いたいというニーズがある。しかしながら、例えばこの両者が秘密保持契約等を締結しない状態において、お互いが保有する情報群に含まれる情報識別子を相手に対して匿名化せずに、これら情報群を交換すると、情報管理上、望ましくない場合がある。例えば、図6,7の例において、第1情報保有者が、第2情報保有者から図7のような情報群を受け取った場合、自らが保有している情報群に含まれる情報識別子「1111」に関する情報として、情報項目B1に対応するデータ「300」、情報項目B2に対応するデータ「112565」、情報項目B3に対応するデータ「1」・・・を特定することができてしまう。そこで、本実施形態では、情報保有者のお互いが保有する情報群を、情報識別子を特定できない状態で交換し、自身が保有する情報群と相手から受け取った情報群とを、情報識別子を特定できない状態で結合する、ということを目的としている。つまり、共通の情報識別子によって識別される情報を含む第1情報群及び第2情報群を、各情報識別子を特定できない状態で結合できるようにするということである。
【0036】
第1情報群に含まれる情報識別子と第2情報群に含まれる情報識別子とは、一部が同じであってもよいし、一部が異なっていてもよい。例えば図6に例示した第1情報群においては情報識別子「4444」によって識別される情報が含まれているが、図7に例示した第2情報群においてはこの情報識別子「4444」によって識別される情報は含まれていない。一方、例えば図7に例示した第2情報群においては情報識別子「3333」によって識別される情報が含まれているが、図6に例示した第1情報群においてはこの情報識別子「3333」によって識別される情報は含まれていない。
【0037】
図4の説明に戻り、管理装置20において、発行部21は、ソルト値と呼ばれるランダムデータを発行する。ソルト値は、ハッシュ関数を用いたハッシュ化を行う際に、そのハッシュ化の対象に対して付加するランダムデータのことである。本実施形態において、ソルト値は本発明において用いるランダムデータの例示であり、必ずしもこれに限定されない。
【0038】
情報保持装置10aにおいて、生成部12aは、第1情報群に含まれる各情報を識別する情報識別子にソルト値を付加してから、ハッシュ関数によって変換する処理を経て、変換後の第1情報群を生成する。同様に、情報保持装置10bにおいて、生成部12bは、第2情報群に含まれる各情報を識別する情報識別子に、生成部12aが用いたものと同一のソルト値を付加してから、生成部12aが用いたものと同一のハッシュ関数によって変換する処理を経て、変換後の第2情報群を生成する。これら生成部12a,12bによる変換乃至生成処理については後で詳述する。なお、本実施形態において不可逆変換アルゴリズムの一例としてハッシュ関数を用いているが、本発明において用いる不可逆変換アルゴリズムは必ずしもこれに限らない。
【0039】
情報保持装置10aにおいて、送信部13aは、生成部12aによって生成された、変換後の第1情報群を管理装置20に送信する。同様に、情報保持装置10bにおいて、送信部13bは、生成部12bによって生成された、変換後の第2情報群を管理装置20に送信する。
【0040】
管理装置20において、提供部22は、情報保持装置10aから送信されてくる、変換後の第1情報群を情報保持装置10bに提供するとともに、情報保持装置10bから送信されてくる、変換後の第2情報群を情報保持装置10aに提供する。
【0041】
情報保持装置10aにおいて、取得部14aは、情報保持装置10bにおいて生成されて提供部22によって提供される、変換後の第2情報群を取得する。情報保持装置10bにおいて、取得部14bは、情報保持装置10aにおいて生成されて提供部22によって提供される、変換後の第1情報群を取得する。
【0042】
情報保持装置10aにおいて、結合部15aは、生成部12aにより生成された変換後の第1情報群、及び、取得部14aにより取得された変換後の第2情報群を、変換後の情報識別子に基づいて結合する。情報保持装置10bにおいて、結合部15bは、生成部12bにより生成された変換後の第1情報群、及び、取得部14bにより取得された変換後の第2情報群を、変換後の情報識別子に基づいて結合する。
【0043】
情報保持装置10aにおいて、分析部16aは、結合部15aにより結合された変換後の第1情報群及び変換後の第2情報群について、変換後の情報識別子を用いた分析を行う。情報保持装置10bにおいて、分析部16bは、結合部15bにより結合された変換後の第1情報群及び変換後の第2情報群について、変換後の情報識別子を用いた分析を行う。この分析は例えば、これらの変換後の第1情報群及び変換後の第2情報群に含まれる各情報の相関関係を求めるなどの分析である。
【0044】
情報保持装置10aにおいて、削除部17aは、ソルト値が生成部12aによって用いられた後のいずれかの時点において、そのソルト値を削除する。情報保持装置10bにおいて、削除部17bは、ソルト値が生成部12bによって用いられた後のいずれかの時点において、そのソルト値を削除する。また、管理装置20において、削除部23は、情報保持装置10a及び情報保持装置10bにソルト値を提供した後のいずれかの時点において、そのソルト値を削除する。
【0045】
[動作]
次に、図5を参照して、情報処理システム1の動作について説明する。以下の説明において、情報保持装置10aを処理の主体として記載する場合には、具体的にはプロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することにより、処理が実行されることを意味する。情報保持装置10b及び管理装置20についても同様である。なお、以下に開示した各処理は、本発明を実施するときの一例である。従って、以下の全ての処理が必須というわけではなく、いずれかの処理を省略することも可能である。
【0046】
まず、情報保持装置10a及び情報保持装置10bの生成部12a、12bはそれぞれ、管理装置20に対してソルト値の発行を要求する(ステップS11,S12)。管理装置20の発行部21は、この要求に応じてソルト値を発行し(ステップS13)、情報保持装置10a及び情報保持装置10bにそれぞれ送信する(ステップS14,S15)。ソルト値の送信が完了したことを条件として、削除部23は、発行されたソルト値を管理装置20において削除する(ステップS16)。
【0047】
次に、情報保持装置10a及び情報保持装置10bの生成部12a、12bはそれぞれ、自装置が記憶する情報群に含まれる情報識別子にソルト値を付加し、ハッシュ関数によってハッシュ化する処理を経て、変換後の情報群を生成する(ステップS17,S18)。このステップS17,S18の処理について、図6図13を参照して説明する。
【0048】
情報保持装置10aの生成部12aは、図6に例示した第1情報群において、まず、各情報項目をランダムな文字列に置き換える。これにより、図6に例示した第1情報群において、情報項目A1,A2,A3・・・がそれぞれ、図8に例示するようにランダムな文字列「ksaroei」、「uaiejri」、「wjuhkrs」・・・に置き換えられる。この置き換えアルゴリズムとしては、情報保持装置10aが任意のアルゴリズムを採用すればよく、第2の情報保有者が知り得ないアルゴリズムであればよい。
【0049】
次に、情報保持装置10aにおいて、生成部12aは、第1情報群において、各情報を構成するデータを正規化する。ここでは、第1情報群の列単位で、最小値「0」~最大値「1」の範囲で正規化される。これにより、図8に例示した第1情報群において、各データが図9に例示するように最小値「0」~最大値「1」の範囲で正規化された値となる。
【0050】
次に、情報保持装置10aにおいて、生成部12aは、第1情報群において、正規化された値をさらに一般化する。ここでは、正規化された値の小数点第2位の数値が四捨五入されて0.1単位に丸められた値となる。これにより、図9に例示した第1情報群において、各データが図10に例示するような、0.1単位の値となる。
【0051】
次に、情報保持装置10aにおいて、生成部12aは、各情報識別子によって識別される情報を構成するデータ(図10では0.1単位の値)が同一となるようなレコードを抽出し、抽出したレコードがk(kは2以上の自然数)個以上ない場合には、そのレコードを削除する。ここでは例えばk=2とし、図10において情報識別子「2222」によって識別されるレコードにおける「1」「0.3」「0.9」・・・という値の組み合わせは、他のレコードには無いと仮定する。この場合、このレコードと同一の情報を含むレコードがk=2以上無いということになるので、このレコードは削除されて図11のような状態となる。情報識別子「2222」によって識別されるレコードにおける「1」「0.3」「0.9」・・・という値の組み合わせが他のレコードには無いということは、この値の組み合わせに相当するレコードは情報識別子「2222」によって識別されるレコードである、ということが一意に特定されてしまうので、このようなレコードを削除している。なお、図11において「-」は、データが無いこと(NULL)を意味している。
【0052】
次に、情報保持装置10aにおいて、生成部12aは、図11に例示した第1情報群において、各情報識別子にソルト値を加えてからハッシュ化する。これにより、図11に例示した第1情報群において、情報識別子「1111」「4444」・・・がそれぞれ、図12に例示するようにハッシュ値「39fe3e93d1d9」、「19b5fd1059a9」・・・に変換された状態となる。さらに、生成部12aは、各レコードの順番(行方向の順番)をランダム入れ替える入れ替え処理と、各レコード間の任意の位置に無意味データを挿入する挿入処理とのうち少なくともいずれか一方を行う。この状態においては、不可逆変換アルゴリズムであるハッシュ関数で情報識別子がハッシュ値に置き換えられているので、第1情報群を保有している第1情報保有者であっても、ハッシュ化前の情報識別子を特定することができない。つまり、図12における各レコードに含まれる情報が、どの情報識別子に関するものであるかを認識することができない。
【0053】
上記と同様の処理が情報保持装置10bにおいても行われる。これにより、図7に例示した第2情報群に含まれる情報識別子が、図13に例示するようにハッシュ値に置き換えられた状態となる。さらに、各レコードの順番(行方向の順番)をランダム入れ替える入れ替え処理と、各レコード間の任意の位置に無意味データを挿入する挿入処理とのうち少なくともいずれか一方が行われる。この状態においても、ハッシュ関数で情報識別子がハッシュ値に置き換えられているので、第2情報群を保有している第2情報保有者であっても、ハッシュ化前の情報識別子を特定することができない。つまり、第2情報群を保有している第2情報保有者であっても、図13における各レコードに含まれる情報が、どの情報識別子に関するものであるかを認識することができない。
【0054】
ただし、前述したように、変換前の第1情報群における情報識別子と、変換前の第2情報群における情報識別子が同じ対象を意味する場合は、同一の情報識別子となる。そして上述したように、情報保持装置10a及び情報保持装置10bにおいて情報識別子が同一の方法でハッシュ化されているから、図12及び図13において、同じ対象を意味する、ハッシュ化された情報識別子は、同じハッシュ値となる。例えば図12において最上位のレコードに含まれるハッシュ値(ハッシュ化された情報識別子)である「39fe3e93d1d9」と、図13において最上位のレコードに含まれるハッシュ値(ハッシュ化された情報識別子)である「39fe3e93d1d9」は、同じである。このため、第1情報保有者及び第2情報保有者において、図12,13に例示した各レコードに含まれる情報がどの情報識別子に関するものであるかを認識することができないとしても、同一のハッシュ値(ハッシュ化された情報識別子)を突合キーにすることで、同一の対象に関する情報群を結合することが可能となる。
【0055】
図5の説明に戻り、情報保持装置10aにおいて、削除部17aは、ステップS17の処理が完了したことを条件として、ステップS17の処理に用いたソルト値を削除する(ステップS20)。情報保持装置10bにおいて、削除部17bは、ステップS18の処理が完了したことを条件として、ステップS18の処理に用いたソルト値を削除する(ステップS21)。
【0056】
次に、情報保持装置10a及び情報保持装置10b間で、変換後の第1情報群及び変換後の第2情報群の提供がなされる(ステップS22)。つまり、情報保持装置10aにおいて、送信部13aは、生成部12aによって生成された、変換後の第1情報群を管理装置20に送信する。同様に、情報保持装置10bにおいて、送信部13bは、生成部12bによって生成された、変換後の第2情報群を管理装置20に送信する。これに応じて、管理装置20において、提供部22は、情報保持装置10aから送信されてくる、変換後の第1情報群を情報保持装置10bに提供するとともに、情報保持装置10bから送信されてくる、変換後の第2情報群を情報保持装置10aに提供する。これにより、情報保持装置10aにおいて、取得部14aは変換後の第2情報群を取得するとともに、情報保持装置10bにおいて、取得部14bは変換後の第1情報群を取得する。
【0057】
次に、情報保持装置10aにおいて、結合部15aは、生成部12aにより生成された変換後の第1情報群、及び、取得部14aにより取得された変換後の第2情報群を、変換後の情報識別子に基づいて結合する(ステップS23)。例えば図12に例示した変換後の第1情報群と図13に例示した変換後の第2情報群とを結合した場合、ハッシュ化された情報識別子に基づいて、図14に例示するような状態となる。例えば、ハッシュ化された情報識別子「39fe3e93d1d9」については、変換後の第1情報群及び変換後の第2情報群が結合された状態となっている。同様に、情報保持装置10bにおいて、結合部15bは、生成部12bにより生成された変換後の第2情報群、及び、取得部14bにより取得された変換後の第1情報群を、ハッシュ化された情報識別子に基づいて結合する(ステップS24)。
【0058】
こののち、情報保持装置10aにおいて、分析部16aは、結合部15aにより結合された変換後の第1情報群及び変換後の第2情報群について、変換後の情報識別子を用いた分析を行う(ステップS25)。同様に情報保持装置10bにおいて、分析部16bは、結合部15bにより結合された変換後の第1情報群及び変換後の第2情報群について、変換後の情報識別子を用いた分析を行う(ステップS26)。
【0059】
この分析により、変換後の第1情報群及び変換後の第2情報群において何らかの相関関係が認められ、有用な利用用途があると想定される場合には、第1情報保有者と第2情報保有者は例えば秘密保持契約等を締結するなど、情報管理上望ましい状態にしてから、上記のような変換処理がなされていない第1情報群及び第2情報群を交換し、さらに精緻な分析を行えばよい。
【0060】
以上説明した実施形態によれば、共通の情報識別子によって識別される情報を含む第1情報群及び第2情報群を、各情報識別子を特定できない状態で結合できるようにすることができる。
【0061】
[変形例]
本発明は、上述した実施形態に限定されない。上述した実施形態を以下のように変形してもよい。また、以下の2つ以上の変形例を組み合わせて実施してもよい。
[変形例1]
本発明において、情報識別子は、情報を識別する機能を持ったものであればよく、図6,7に例示したように各情報に対して個別に割り当てられた識別子であってもよいし、また、図6,7における各レコードに含まれる情報の組み合わせでこの情報識別子を構成してもよい。つまり、情報の組み合わせ自体が情報識別子となり得る。
【0062】
[変形例2]
実施形態においては、情報保持装置10a、10bとは別に、ソルト値を発行する管理装置を備えていたが、情報保持装置10a、10bのいずれか一方がソルト値を発行して他方に通知する機能を備えていてもよい。また、ソルト値を削除する条件は、実施形態に例示したようにハッシュ化が完了したことであってもよいし、所定時間が経過したことを条件としてもよい。
【0063】
[変形例3]
実施形態で用いたkは、予め決められた固定値であってもよいし、条件に応じて変動する値であってもよい。例えばkの値が大きいほど、削除されるレコードの数は増えることになるから、情報交換の相手となる情報保有者に提供される情報群の数は少なくなる。このため、例えばお互いに交換する情報群の数の範囲が決まっている場合には、生成部12a,12bは、その数の範囲になるまでkの値を大きくするようにしてもよい。例えばステップS17,S18の処理の前において、情報群の全数が10000であって、交換する情報群の数が1000と決まっている場合には、生成部12a,12bは、kの値に基づく削除後の情報群の数が約1000となるまでkの値を大きくするといった具合である。
【0064】
[変形例4]
情報保持装置10a、10bは、ソルト値を削除するのではなく、そのソルト値を断片化した断片データをお互いに保有しておいてもよい。ここでいう断片化とは、ソルト値を、そのソルト値を復元可能な複数のデータに変換することである。例えばソルト値を複数に分割して、分割後の各々のデータを断片データとする方法が考えられるが、これに限らず、任意の断片化の方法を採用し得る。つまり、情報保持装置10a,10bは、変換において情報識別子に付加されたランダムデータを断片化した断片データを、他の情報保持装置と連携して保存する保存部を備えるようにしてもよい。
【0065】
[変形例5]
上記実施形態において、情報保持装置10a及び情報保持装置10b間において、管理装置20を介して、変換後の第1情報群及び変換後の第2情報群を送受信していたが、これらの情報群の遣り取りは必ずしも管理装置20を経由する必要はない。例えば情報保持装置10aの管理者及び情報保持装置10bの管理者の間で、これらの情報群を所定の記憶媒体等に格納した状態で遣り取りして情報保持装置10a及び情報保持装置10bに読み込ませる等の、任意の方法を採用してもよい。つまり、情報保持装置10aの取得部14a及び情報保持装置10bの取得部14bは任意の方法でこれら情報群を取得すればよい。
【0066】
[その他の変形例]
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0067】
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信制御部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
【0068】
例えば、本開示の一実施の形態における情報保持装置や管理装置などは、本開示の処理を行うコンピュータとして機能してもよい。
【0069】
本開示において説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE-A(LTE-Advanced)、SUPER 3G、IMT-Advanced、4G(4th generation mobile communication system)、5G(5th generation mobile communication system)、FRA(Future Radio Access)、NR(new Radio)、W-CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi(登録商標))、IEEE 802.16(WiMAX(登録商標))、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及びこれらに基づいて拡張された次世代システムの少なくとも一つに適用されてもよい。また、複数のシステムが組み合わされて(例えば、LTE及びLTE-Aの少なくとも一方と5Gとの組み合わせ等)適用されてもよい。
【0070】
本発明を方法の発明として観念してもよい。つまり、本発明は、第1情報群に含まれる各情報を識別する情報識別子を不可逆変換アルゴリズムによって変換する処理を経て、変換後の第1情報群を生成する生成ステップと、前記他の情報処理装置において第2情報群に含まれる各情報を識別する情報識別子を前記不可逆変換アルゴリズムによって変換する処理を経て生成された、変換後の第2情報群を取得する取得ステップと、生成された前記変換後の第1情報群、及び、取得された前記変換後の第2情報群を、変換後の前記情報識別子に基づいて結合する結合ステップとを有することを特徴とする情報処理方法を提供するものであってもよい。また、本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0071】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0072】
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0073】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
【0074】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0075】
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本開示において説明した用語及び本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【0076】
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【0077】
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0078】
本開示において使用する「第1」、「第2」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。従って、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
【0079】
上記の各装置の構成における「部」を、「手段」、「回路」、「デバイス」等に置き換えてもよい。
【0080】
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0081】
本開示において、例えば、英語でのa,an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0082】
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。
【符号の説明】
【0083】
1:情報処理システム、2:ネットワーク、10a,10b:情報保持装置、11a,11b:記憶部、11a,11b:生成部、13a,13b:送信部、14a,14b:取得部、15a,15b:結合部、16a,16b:分析部、17a,17b:削除部、20:管理装置、21:発行部、22:提供部、23:削除部、1001:プロセッサ、1002:メモリ、1003:ストレージ、1004:通信装置、1005:入力装置、1006:出力装置、4001:プロセッサ、4002:メモリ、4003:ストレージ、4004:通信装置、2005:入力装置、2006:出力装置。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14