(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-22
(45)【発行日】2025-01-30
(54)【発明の名称】情報分散方法及びプログラム
(51)【国際特許分類】
G09C 1/00 20060101AFI20250123BHJP
G06F 21/62 20130101ALI20250123BHJP
【FI】
G09C1/00 650Z
G06F21/62 354
(21)【出願番号】P 2022083844
(22)【出願日】2022-05-23
【審査請求日】2024-02-27
(73)【特許権者】
【識別番号】504050275
【氏名又は名称】株式会社 ミックウェア
(72)【発明者】
【氏名】佐藤 毅
(72)【発明者】
【氏名】鈴木 隆元
(72)【発明者】
【氏名】村上 雅彦
(72)【発明者】
【氏名】吉岡 明紀
【審査官】行田 悦資
(56)【参考文献】
【文献】特開2006-048158(JP,A)
【文献】特開2006-311383(JP,A)
【文献】特表2014-509753(JP,A)
【文献】特開2006-301849(JP,A)
【文献】特開2005-310126(JP,A)
【文献】特開2009-139990(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09C 1/00
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
端末装置と情報処理装置と複数の管理装置とを含むAONT秘密分散システムにおいて、
前記端末装置は、
元情報を生成する情報生成部と、
ユーザからの指示であるパターンロックの数列を、入力部を介して取得する指示取得部と、
取得した前記数列に基づいて順番データを作成する順番データ作成部と、
前記元情報と、ダミーデータの活用有無を示すダミー活用情報と前記順番データとを含むプレ設定情報とを、ネットワークを介して前記情報処理装置に提供する情報提供部と、を有し、
前記情報処理装置は、
前記端末装置から、前記元情報及び前記プレ設定情報を取得する情報取得部と、
前記プレ設定情報を記憶部に記憶するプレ設定部と、
AONTデータ変換技術を用いて前記元情報をデータ変換してk個の情報片を生成する
生成処理部と、
前記ダミー活用情報が活用有を示す場合、前記ダミーデータを生成するダミー処理部と、
p個の配置場所
である前記管理装置に、前記k個の情報片と
前記ダミーデータとを含むn個の分散片を
前記順番データに基づいて配置する
分散配置部と、
を有するAONT秘密分散システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ等の元情報を分割して分散配置させる情報分散方法及びプログラムに関する。
【背景技術】
【0002】
情報通信技術の発達により情報への不正なアクセスがますます行われるようになってきている。その結果、情報漏洩を防止する仕組み等が種々提案され、実用化されてきている(例えば特許文献1参照)。
【0003】
例えば、秘密分散法が知られている。秘密分散法の一つである閾値法は、秘密の情報を複数の情報片に分散し、この情報片から任意のa個の情報片を集めると元の秘密情報を復元できるが、任意のa-1個の情報片を集めても元の情報はわからないというものである。
【0004】
また、秘密分散法には、AONT(All-Or-Nothing Transform)と呼ばれるデータ変換技術もある。AONTとは、概略的に、秘密の情報に対してある演算をかけることで複数の情報片を得、全ての情報片が揃っていれば元の情報に復元することができるが、1つでも情報片が欠けると元の情報への復元が不可能になるというものである。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
近年、情報通信技術が更に発達し、ネットワークを介してより多くのデータ等の情報が送受信され又は管理される一方、そのような情報への不正なアクセスによる被害も増加している。本開示は、データ等の情報のセキュリティをさらに向上させることを可能にする構成を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本開示の一態様は、
コンピュータが、
元情報をデータ変換してk個の情報片を生成することと、
p個の配置場所に、前記k個の情報片を含むn個の分散片を配置することと
を有し、
前記元情報は、前記k個の情報片と、前記k個の情報片に付与された順番関係とを用いて復元される、
情報分散方法
を提供する。
【0008】
好ましくは、前記p、前記n及び前記kはそれぞれ2以上の整数である。
【0009】
好ましくは、前記pと前記nとは等しい。
【0010】
好ましくは、前記生成することは、少なくとも前記順番関係を用いて前記元情報の断片をスクランブルして、前記k個の情報片を生成することを含む。
【0011】
好ましくは、前記生成することは、AONTデータ変換技術によって前記元情報を秘密分散させることを含む。
【0012】
好ましくは、前記配置することは、前記k個の情報片を用いて前記n個の分散片を作成することを含む。
【0013】
好ましくは、前記配置することは、前記k個の情報片と、ダミーデータとを含む前記n個の分散片を作成することを含む。
【0014】
好ましくは、前記n個の分散片における、前記情報片の数と、各情報片に対応するサイズのダミーデータの数との和は、前記分散片の数の倍数である。
【0015】
好ましくは、前記配置することは、2以上の異なる通信チャネルのうちの所定の通信チャネルを経由して、前記n個の分散片のうちL個の分散片をL個の記憶場所に配置し、前記n個の分散片のうち前記L個の分散片以外の分散片を、前記2以上の通信チャネルのうち前記所定の通信チャネル以外のチャネルを経由して、(n-L)個の記憶場所に配置することを含む。
【0016】
本開示は、上記情報分散方法をコンピュータに実行させる、プログラムにも存する。
【発明の効果】
【0017】
本開示の上記一態様によれば、上記構成を備えるので、データ等の情報のセキュリティをさらに向上させることができる。
【図面の簡単な説明】
【0018】
【
図1】
図1は、第1実施形態に係る情報処理装置を含むシステムの概略構成図である。
【
図2A】
図2Aは、情報処理装置のハードウェア構成図である。
【
図2B】
図2Bは、情報処理装置の制御構成を示すブロック図である。
【
図3B】
図3Bは、端末装置の制御構成を示すブロック図である。
【
図4】
図4は、第1実施形態の情報分散処理のフローチャートである。
【
図5A】
図5Aは、第1実施形態の情報分散処理の流れを示す一例としての説明図である。
【
図5C】
図5Cは、更なる変形例における処理の流れを示す説明図である。
【
図6】
図6は、第2実施形態の情報処理装置の制御構成を示すブロック図である。
【
図7】
図7は、第2実施形態の情報分散処理のフローチャートである。
【
図8】
図8は、第2実施形態の情報分散処理の一部の流れを示す説明図である。
【発明を実施するための形態】
【0019】
以下、本発明に係る実施形態を添付図に基づいて説明する。同一の部品(又は構成)には同一の符号を付してあり、それらの名称及び機能も同じである。したがって、それらについての詳細な説明は繰返さない。
【0020】
図1は、本第1実施形態に係る、情報処理装置100を含むシステムSの構成を示す図である。
図2Aは、情報処理装置100のハードウェア構成図であり、
図2Bは、情報処理装置100の制御構成を示すブロック図である。
【0021】
情報処理装置100は、システムSの一部として機能する。情報処理装置100は、CPU101と、Read Only Memory(ROM)102と、Random Access Memory(RAM)103とを備える。情報処理装置100では、バス104を介して、CPU101と、ROM102と、RAM103とがつながっている。更にバス104には、ネットワークNにつながるネットワークインターフェース105と、入力部106aにつながる入力インターフェース106と、表示部107aにつながる表示インターフェース107と、記憶媒体108aにつながる外部メモリインターフェース108とがつながっている。CPU101はプロセッサともいう。ただし、CPU101は、単一のプロセッサに限定されるわけではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のCPU101がマルチコア構成を有していてもよい。入力部106aは、ここではキーボード、マウスであり、表示部107aと一体になったタッチパネルも含み得る。表示部107aはここではモニタである。記憶媒体108aは、ハードディスクドライブ、Solid State drive(SSD)等である。CPU101が例えば記憶媒体108aに記憶されているプログラムを実行することで各種機能を提供する。
【0022】
図2Bの情報処理装置100のブロック図に示すように、上記構成を有する情報処理装置100は、制御部110、通信部120、及び、記憶部130を備える。
【0023】
制御部110は、情報処理装置100の作動などを制御する制御手段の一例である。制御部110は、CPU101を備えて構成され、プログラムにより情報処理を実行する。上記各部の少なくとも一部の処理は、CPU以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)等の専用プロセッサで行われてもよい。また、上記各部の少なくとも一部の処理は、集積回路(IC)、その他のディジタル回路であってもよい。また、上記各部の少なくとも一部にアナログ回路が含まれてもよい。情報処理装置100の制御部110つまりCPU101は、情報処理装置100に実行可能に展開されたコンピュータプログラムを実行し、各種機能を提供する。
【0024】
通信部120は、ネットワークインターフェース105を含む。情報処理装置100は、制御部110に接続された通信部120を介して、インターネットなどのネットワークNに接続可能であり、ネットワークNを介して他の装置、例えば端末装置200及び管理装置300と双方向で通信可能である。
図1では、管理装置300として5つの管理装置300A~300Eを示すが、これは管理装置の数を限定するものではなく、あくまでも一例に過ぎない。なお、端末装置200も管理装置300もそれぞれコンピュータ端末であり、情報処理装置100と同様の構成を備え、その名称は便宜的なものに過ぎず、役目及び/又は機能等を制限することを意図しない。
【0025】
記憶部130は、ROM102、RAM103及び記憶媒体108aを含む。記憶部130は、制御部110のCPUが実行するコンピュータプログラム及び/又はデータ等を記憶する。
【0026】
制御部110は、機能モジュールとして、情報取得部1101、プレ設定部1102、生成処理部1103、分散処理部1104、ダミー処理部1105、配置処理部1106の各機能モジュールを含む。各機能モジュールは、記憶部130に記憶されたプログラムを制御部110つまりそのうちのCPU101によって実行することで実現される。ただし、機能モジュールの一部は、他のプロセッサ、ディジタル回路、又はアナログ回路等のハードウェアであってもよい。各機能モジュールは、部、機能部又は手段と言い換えることができる。なお、分散処理部1104、ダミー処理部1105及び配置処理部1106は、機能モジュールである分散配置部1107に含まれる。
【0027】
情報取得部1101は、通信部120を介してネットワークNから種々の情報を取得し、例えば端末装置200及び/又は管理装置300と通信して種々の情報を取得する。情報取得部1101は、取得した情報に応じて、記憶部130に記憶することも行う。具体的には、情報取得部1101は、端末装置200からプレ設定情報を取得し、プレ設定部1102に送る。なお、プレ設定情報は、予め設定した情報、及び、予め設定した情報のもとになる情報の少なくともいずれかを含む。また、情報取得部1101は、秘密分散管理したい情報(以下、「元情報」と称し得る。)を端末装置200から取得し、生成処理部1103に送る。
【0028】
プレ設定部1102は、情報取得部1101から送られたプレ設定情報に基づいて、順番関係を含む順番データ及びダミー活用情報を作成し、記憶部130のプレデータ部1301に記憶する。この記憶では、例えば端末装置200のユーザを識別する個人情報、例えばIDと関連付けた記憶が実行される。プレデータ部1301は、順番データベース1301a、ダミーデータベース1301bを含み、それらを相互に関係づけて有しても、それらを独立して有してもよい。例えば、プレ設定部1102は、端末装置200を介して取得された端末装置200のパスワードのパターンロックの解析、端末装置200のユーザのIDなどの個人情報を所定の処理を行うことで、順番関係を生成してもよい。なお、プレ設定部1102は、二重暗号処理の指示を含む暗号処理用データを、プレデータ部1301に記憶してもよい。なお、プレ設定部1102は、プレ設定情報として、予め設定された順番関係を含む順番データ及びダミー活用情報を、例えば端末装置200を介して又は情報処理装置100の入力部106aを介して取得したとき、それらを記憶部130のプレデータ部1301に記憶する。
【0029】
生成処理部1103は、情報取得部1101から送られた秘密分散管理したい情報つまり元情報を処理して情報片を生成する。本実施形態では、この処理は、元情報をデータ変換することを含む。ここでは、分散処理により複数の変換済みデータ断片m(m1、・・・、mk)が作成される。生成処理部1103では、AONTデータ変換技術により元情報を秘密分散させることにより、少なくとも1つの変換済みデータ断片mが作成され、より好ましくは2つ以上つまり複数の変換済みデータ断片m1、m2、・・・が作成され、つまりk個の変換済みデータ断片mが作成される。ただし、kは1以上の整数であり、好ましくは2以上の整数である。複数の変換済みデータ断片m(m1、・・・、mk)はそれぞれ本発明における「情報片」に相当する。なお、AONTデータ変換技術については、既知であるので、ここでのその説明は省略する。ただし、本開示は、元情報をデータ変換するために、AONTデータ変換技術以外の技術又は方法を用いることを許容する。
【0030】
生成処理部1103で生成されたk個の情報片である変換済みデータ断片m(m1、・・・、mk)を含むn個の分散片M(M1、・・・、Mn)を、p個の配置場所に配置することを、分散配置部1107は実行する。分散配置部1107は、分散処理部1104、ダミー処理部1105及び配置処理部1106を含む。なお、p、n及びkはそれぞれ1であってもよいが、好ましくは2以上の整数である。また、pとkとは、同じ値であってもよいが、異なる値であり得る。また、pとnとは、同じ値であってもよいが、異なる値であり得る。
【0031】
分散処理部1104は、生成処理部1103で作成されたk個のデータ断片m(m1、・・・、mk)を用いてn個の分散片M(M1、・・・、Mn)を作成する。この処理は、分散片Mにデータ断片mを分散させる処理に相当する。言い換えると、個々の分散片Mは一種の入れ物であり、それら又はその中にデータ断片mが分散される。分散片M(M1、・・・、Mn)は、生成処理部1103で作成されたデータ断片m(m1、・・・、mk)のうちの1つを単に含むものであってもよいが、データ断片m(m1、・・・、mk)を含む数が異なってもよい。例えば、生成処理部1103で作成されたデータ断片が10個(k=10)あり、データ断片の配置場所が5個(p=5)あるとき、分散片Mの数nを配置場所の数pと同じ5個にして各分散片Mを次のように作成することができる。分散片Mとして、第1データ断片m1と第2データ断片m2とを含む“I” 分散片M1、第3データ断片m3と第4データ断片m4とを含む“II” 分散片M2、第5データ断片m5と第6データ断片m6とを含む“III” 分散片M3、第7データ断片m7と第8データ断片m8とを含む“IV” 分散片M4、第9データ断片m9と第10データ断片m10とを含む“V” 分散片M5が生成され得る。このような、秘密分散された複数のデータ断片m1~m10を用いて複数の分散片M1~M5を作成する方法又は処理は、任意に設定でき、ここではデータ断片m1~m10のうちの連続するデータ断片を取り出して2つずつペアを組むことで実行されるが、これに限定されない。データ断片m(m1、・・mk)をどのように組み合わせて分散片M(M1、・・Mn)を作成するかも前述の順番データにおいて規定されている。
【0032】
このように分散処理部1104は、元情報をデータ変換して得られたk個の情報片であるデータ断片m(m1、m2、・・・、mk)を、n個の分散片M(M1、・・・、Mn)に分散させることを実行する。ただし、前述のように「k」及び「n」はそれぞれ「1」でもよいが、好ましくは「2」以上の整数である。なお、2以上の分散片M(M1、・・・)があるとき、それらのデータサイズは、ほぼ等しいとよい。これにより、分散片M間の違いを識別したり特徴を推測したりするのがより困難になる。
【0033】
ダミー処理部1105は、ダミーデータを作成する。ダミーデータは、元情報に基づかないデータであり、元情報の復元に寄与しない。具体的には、ダミー処理部1105は、分散処理部1104で作成された分散片M(M1、・・・、Mn)に含まれ得るダミーデータを作成する。ダミーデータは、プレデータ部1301のダミーデータベース1301bに記憶しているダミー活用情報に基づいて作成されてもよい。例えば、ダミー活用情報は、ダミーデータの活用の有無を含み、ここでは、端末装置200からの元情報の管理では、ダミーデータの活用「有り」が予め設定されている。ここでは、ダミー活用情報は、端末装置200と情報処理装置100との間で予め取り決めされ得るが、情報処理装置100側で単に設定されてもよい。なお、ダミーデータのサイズは、分散片Mのサイズが相互にほぼ等しくなるように設定されるとよい。これにより、分散片Mの区別をし難くすることができる。なお、ダミーデータの大きさは、後述する説明から理解できるように、情報片である前述のデータ断片mの各々に対応するサイズを基準サイズとして有するとよい。本実施形態では、ダミー処理部1105は、分散処理部1104での処理に応じて機能するが、生成処理部1103での処理に応じて機能してもよい。例えば、ダミー処理部1105は、ダミーデータの単位を生成処理部1103で生成された各データ断片mに対応するサイズを有するダミーデータの片(以下、ダミー片)とするとき、データ断片mの数kと、ダミーデータつまりダミー片の数qとの和が分散片Mの数nの倍数、つまり、例えば、1倍、2倍、3倍、・・・といった整数倍になるように、ダミーデータを作成する。このようにすることで、分散片Mの各々に、同じ個数のテータ断片m及び/又はダミー片を配置することができるので、分散片Mの各々のデータのサイズを略同じにすることができる。分散片Mの各々のデータのサイズが略同じであることによって、各々の分散片Mにデータ断片mが含まれるのか否か、或いはダミー片が含まれるのか否かを第三者が判断することが、より難しくなる。
【0034】
配置処理部1106は、分散処理部1104で作成されたn個の分散片M(M1、・・・、Mn)をp個の配置場所に配置するように、その分散片Mを通信部120を介して送信する。このとき、ダミー処理部1105で作成されたダミーデータがあるとき、そのダミーデータは対応する分散片M(M1、・・・、Mn)に含まれ、その対応する分散片Mの一部又は全部を構成する。分散片M(M1、・・・)をどのようにp個の配置場所の各々に分散して配置させるかの決定は、プレデータ部1301の順番データベース1301aの順番関係に基づいて実行される。
【0035】
次に、端末装置200について説明する。
図1に示すように、端末装置200は、システムSの一部として機能する。
図3Aは、端末装置200のハードウェア構成図であり、
図3Bは、端末装置200の制御構成を示すブロック図である。
【0036】
端末装置200は、CPU201と、ROM202と、RAM203とを備える。端末装置200では、バス204を介して、CPU201と、ROM202と、RAM203とがつながっている。更にバス204には、ネットワークNにつながるネットワークインターフェース205と、入力部206aにつながる入力インターフェース206と、表示部207aにつながる表示インターフェース207と、記憶媒体208aにつながる外部メモリインターフェース208とがつながっている。CPU201はプロセッサともいう。ただし、CPU201は、上記CPU101と同様に、単一のプロセッサに限定されるわけではなく、例えばマルチプロセッサ構成であってもよい。入力部206aは、ここではキーボード、マウスであり、表示部207aと一体になったタッチパネルも含み得る。表示部207aはここではモニタである。記憶媒体208aは、ハードディスクドライブ、Solid State drive(SSD)等である。CPU201が例えば記憶媒体208aに記憶されているプログラムを実行することで各種機能を提供する。
【0037】
図3Bの端末装置200のブロック図に示すように、端末装置200は、制御部210、通信部220、及び、記憶部230を備える。制御部210は前述の制御部110に対応し、通信部220は前述の通信部120に対応し、記憶部230は前述の記憶部130に対応する。例えば、制御部210は、端末装置200の作動などを制御する制御手段の一例であり、CPU201を含み、プログラムにより情報処理を実行する。記憶部230は、ROM202、RAM203及び記憶媒体208aを含み、制御部210つまりCPU201が実行するコンピュータプログラム及び/又はデータ等を記憶する。
【0038】
制御部210は、機能モジュールとして、情報生成部2101、情報提供部2102、指示取得部2103、順番データ作成部2104、復元処理部2105の各機能モジュールを含む。各機能モジュールは、記憶部230に記憶されたプログラムを制御部210つまりそのうちのCPU201によって実行することで実現される。ただし、機能モジュールの一部は、他のプロセッサ、ディジタル回路、又はアナログ回路等のハードウェアであってもよい。各機能モジュールは、部、機能部又は手段と言い換えることができる。
【0039】
情報生成部2101は、元情報を生成する。元情報は、いかなる情報であってもよい。それ故、情報生成部2101は、データ、種々のソフトウェア又はアプリケーションプログラムなどで有り得、端末装置200は車載装置、作業機械の装置などを含む種々の装置であり得る。なお、情報生成部2101は、端末装置200以外の装置から取得した情報を元情報に設定することで元情報を生成してもよい。
【0040】
情報提供部2102は、情報生成部2101が生成した元情報などを情報処理装置100に提供するつまり通信部220を介して送信する。情報提供部2102は、プレ設定情報を情報処理装置100に提供してもよい。更に、情報提供部2102は、指示取得部2103が取得したユーザ指示に基づいて元情報を復元したいとき、元情報のデータ断片mを取得するための指令を情報処理装置100に通信部220を介して送信する。そして、情報提供部2102は、そのデータ断片m及び復元用の情報を取得すると、これらを復元処理部2105に伝達する。なお、端末装置200は、元情報の復元の処理の際に、管理装置300と直接通信して、データ等の授受を行ってもよい。
【0041】
指示取得部2103は、システムSに関するユーザ指示を取得する。ユーザは、ここでは端末装置200の入力部206aを介して指示を入力する。指示は、例えば、プログラムを実行することで作動状態になるアプリケーションから、又は、情報処理装置100と関係があるウェブサイトにアクセスしてユーザが入力することができる。指示には、予め設定した情報のもとになる情報を取得して解析すること、及び、それを送信することが含まれる。指示取得部2103は、予め設定した情報のもとになる情報を取得すると、この情報を順番データ作成部2104に送信する。また、指示取得部2103は、順番データ作成部2104が作成した順番データを記憶部230の順番データベース2302に記憶するとともに、情報提供部2102に送信する。情報提供部2102はこの順番データを、通信部220を介して情報処理装置100に送信する。なお、指示取得部2103は、例えばユーザが望まないとき、予め設定した情報のもとになる情報を、順番データ作成部2104を介さずに情報処理装置100に通信部220を介して送信するようにしてもよい。これにより、順番データそのものを端末装置200に記憶することを回避できるので、セキュリティレベルを更に向上させることができる。また、指示取得部2103は、システムSで秘密分散管理される分散片Mを集めて元情報を復元する指示つまり復元指示を取得することができる。指示取得部2103は復元指示を取得すると、前述のように情報提供部2102にその指示を送信するとともに、復元処理部2105にその指示を送信する。なお、この指示には、復元したい元情報を特定するための情報、例えば元情報の作成日時、元情報の種類などが含まれるとよい。また、指示取得部2103は、ユーザからのダミーデータの活用情報つまりダミー活用情報を取得し、記憶部230の復元データベース2303に記憶するとともに、このダミー活用情報を情報提供部2102を介して情報処理装置100に送信する。例えば、指示取得部2103は、ユーザが選択したダミーデータの活用の有無についての情報を取得し、情報提供部2102を介して情報処理装置100に送信する。
【0042】
順番データ作成部2104は、順番データを作成する。この順番データの作成では、例えば入力部206aから入力されたパターンロックを解析することが行われる。例えば、順番データ作成部2104は、表示部207aのタッチパネルを9分割して、9分割されたマス目に1から9の数字を割り当ててパターンロック画面を表示させる。ユーザがこのパターンロック画面の数字を順に指でなぞることで、ユーザは、1から9の数字で構成される複数桁のパターンロックの数列を入力することができる。ユーザは、このパターンロックの数列から順番データを作成することができる。この順番データは分散片Mの順番関係などに用いられ、よって分散片Mに配置されるデータ断片mの順番関係にも用いられる。
【0043】
復元処理部2105は、指示取得部2103から復元する指示を取得するとともに、情報提供部2102から分散片M及び復元用の情報を取得すると、AONTデータ変換技術を用いて元情報を復元する。復元処理部2105は、分散片Mから全てのデータ断片mを取り出す。このとき、分散片Mの順番関係などを含む復元用の情報が用いられる。そして、取り出したデータ断片mに付与された順番関係に基づいて、復元処理部2105は元情報を復元する。ここでは特にAONTデータ変換技術が用いられるので、元情報は、k個のデータ断片の全てつまりk個のデータ断片mと、それらk個のデータ断片mに付与された順番関係とから復元されることがより明確である。復元用の情報は、予め設定して記憶部230の復元データベース2303に記憶しておいてもよく、つまり、端末装置200が他の装置(例えば情報処理装置100)との間で送受信しなくてもよい。これにより、セキュリティレベルを更に向上させることができる。復元用の情報は、分散片Mの順番関係、分散片Mにおけるデータ断片mの配置、k個のデータ断片mに付与された順番関係及びダミー活用情報などの情報を含むことができる。
【0044】
図1に示すように、管理装置300は、システムSの一部を構成する。管理装置300は、ここでは、上記情報処理装置100と同じ構成を備え、分散片Mを記憶する記憶場所つまり記憶装置(storage)として機能する。そして、管理装置300は、情報処理装置100から送信された分散片Mをその記憶部に記憶し、情報処理装置100又は端末装置200からの指令により記憶部に記憶した分散片Mを情報処理装置100を介して又は介さずに端末装置200に提供することができる。分散片Mの記憶は、管理装置300の制御部の機能モジュールである情報記憶部により実行され、分散片Mの提供は、管理装置300の制御部の機能モジュールである情報提供部により実行される。
【0045】
図4は、第1実施形態の情報分散処理のフローチャートである。上記構成を備えるシステムSでの情報処理装置100の制御部110での処理を中心にして、ある元情報の秘密分散管理について説明する。なお、
図4のフローチャートは所定時間間隔又は不定期に繰り返されることが望ましい。
【0046】
まず、順番データなどの順番関係及びダミー活用情報は、端末装置200の記憶部230及び情報処理装置100の記憶部130のそれぞれに記憶される(
図4のS401)。これは、プレ設定情報の事前用意にあたり、端末装置200の指示取得部2103、順番データ作成部2104及び情報提供部2102、並びに、情報処理装置100のプレ設定部1102との連携により行われる。なお、このプレ設定情報の事前用意は、端末装置200のユーザ及び/又は情報処理装置100のユーザにより、ネットワークNを介さずに実行されて、プレ設定情報の全部又は一部の端末装置200の記憶部230への記憶及び情報処理装置100の記憶部130への記憶の少なくともいずれか一方が行われてもよい。プレ設定情報の全部又は一部は、端末装置200の記憶部230及び情報処理装置100の記憶部130の両方に全く記憶されなくてもよい。この場合、プレ設定情報の全部又は一部は、ユーザにより指定されてもよい。これにより、セキュリティレベルを更に向上させることも可能である。ここでは、順番関係として、「1番目の分散片M1」を「第2の管理装置300B」に結びつけ、「2番目の分散片M2」を「第5の管理装置300E」に結びつけ、「3番目の分散片M3」を「第1の管理装置300A」に結びつけ、「4番目の分散片M4」を「第3の管理装置300C」に結びつけ、「5番目の分散片M5」を「第4の管理装置300D」に結びつける順番関係が定められている。1つの分散片Mに1つのデータ断片mのみが関係付けられるときには、この順番関係はk個のデータ断片mの順番関係そのものになる。そして、ここでは、1つの分散片Mに複数のデータ断片mが関係付けられ得るので、生成処理部1103により生成されたデータ断片mを順に分散片Mに配置する順番関係が定められている。データ断片mを分散片Mに配置する順番関係については、
図5A及び
図5Bを用いて後述する。
【0047】
端末装置200で生成された元情報は情報処理装置100に提供される(S403)。元情報の提供は、情報提供部2102により実行される。情報処理装置100の情報取得部1101は、元情報を取得すると(S405)、元情報を生成処理部1103に送る。
【0048】
これにより、生成処理部1103は、元情報を処理してk個のデータ断片mを生成する(S407)。前述のように、生成処理部1103は、AONTデータ変換技術を用いて、元情報をデータ変換して秘密分散させる。元情報のサイズにより、ここでは、元情報は、8つの変換済みデータ断片m1~m8に変換されたと仮定する。
【0049】
そして、分散処理部1104は、生成された変換済みデータ断片mを用いて分散片Mを作成する(S409)。まず、ここで、予め設定された順番関係が読み込まれる。この順番関係の読込では、ダミー活用情報も読み込まれる。なお、プレ設定情報の読込は、ステップS407直後のタイミングに限定されず、例えば元情報を端末装置200から取得したときであってもよい。この例では管理装置300は5つであり、変換済みデータ断片m1~m8の数が8つである。そこで、分散処理部1104は、8つの変換済みデータ断片m1~m8を用いて5つの分散片M1~M5を作成する(S409)。ここでは、分散片M1~M5に順に変換済みデータ断片m1~m8を、可能であれば2つずつ順番に詰めて格納することが規定されているので、変換済みデータ断片m1~m8を用いて分散片M1~M4が作成され、残りの分散片M5をブランクつまり空白状態にすることが行われる。なお、4つの分散片M1~M4のサイズはほぼ同じであることが望ましい。分散片Mのデータのサイズがほぼ同じであることで、個々の分散片Mの特徴が推定されにくくなり、セキュリティレベルが向上する。
【0050】
ここでは、管理装置300は5つであり、各管理装置300が1個の配置場所つまり記憶場所であると規定されている。ただし、各管理装置300に複数個の配置場所が用意されてもよい。
このとき、各配置場所には1つの分散片Mが対応付けられるので、分散片Mの数は、5個とされている。変換済みのデータ断片mの数は8個であり、分散片Mの数の5個よりも多いが、分散片Mの数の2倍の数である10未満である。それ故、各分散片Mには2つのデータ断片を分散させることが行われる。そして、データ断片が不足する分散片の領域はブランクにされる。例えば、変換済みのデータ断片mの数は13個であり、分散片の数が5個であり、各分散片には可能な場合には4個のデータ断片を分散させることが行われる規則が適用される場合を以下に示す。この場合、分散片M1~M3のそれぞれには4個のデータ断片が割り当てられ、分散片M4には1個のデータ断片が割り当てられて3個のデータ断片に相当するサイズのブランクが生じ、分散片M5には4個のデータ断片に相当するサイズのブランクが生じる。
【0051】
そして、ダミーデータの作成の必要性が判定される(S411)。ここでは具体的に、分散処理部1104で作成された分散片M(M1、・・・)の中にダミーデータで埋める分散片があるのかが判定される。ここでは、予めダミーデータを使用することを定める指示が記憶されている状態であり、ダミーデータで埋めるべき分散片M5があるので(S411で肯定判定)、ダミーデータが作成される(S413)。ここでは、分散片M5の全体を埋めるダミーデータが作成される。この作成されるダミーデータは、分散片M5のサイズが他の分散片M1~M4の各サイズとほぼ等しくなるように、より好ましくは等しくなるように作成される。なお、ダミーデータの作成が不要なとき、例えば、変換済みデータ断片mの数kと配置場所の数pとが等しいとき、ダミーデータの作成は不要であるので(S411で否定判定)、ステップS413を経ずに、ステップS415に進む。
【0052】
そして、読み込まれた予め設定された順番関係に基づいて、配置処理部1106により、5つの分散片M1~M5は管理装置300(300A~300E)に分散配置される(S415)。分散片M1~M5はそれぞれ対応する管理装置300で取得されて、その記憶部に記憶される(S417)。なお、管理装置300のハードウェア構成は、
図3Aに示す端末装置200のハードウェア構成と概ね同じであるので、ここでの更なる説明は省略する。
【0053】
ここで、
図5Aに基づいて、上記処理の流れと状態の変化とを更に説明する。なお、
図5Aでは、上から下に向けて、時間が経過し、処理がなされ、状態が変化する。
【0054】
情報処理装置100では情報取得部1101により取得された元情報は、生成処理部1103で処理されて、情報片であるデータ断片mが生成される(S407)。AONTデータ変換技術では、データ変換にかけられる元情報の断片(つまり平文)のサイズは決められていて、それと同じサイズの変換済みデータ断片mが生成される。ここでは、前述のように、AONTデータ変換技術により、8つの変換済みデータ断片m1~m8が生成されたとする。
【0055】
そして、分散処理部1104は、順番関係などのプレ設定情報に基づいて分散配置用の分散片M1~M5を作成する(S409)。
図5Aに示すように、ここでは、分散片M1は、変換済みデータ断片m1、m2を直列につないだデータ片であり、分散片M2は、変換済みデータ断片m3、m4を直列につないだデータ片であり、分散片M3は、変換済みデータ断片m5、m6を直列につないだデータ片であり、分散片M4は、変換済みデータ断片m7、m8を直列につないだデータ片であり、分散片M5は、ブランクである。そして、ブランクがない分散片M1~M4は、既に説明したように例えば概ね同じサイズを有する。
【0056】
そして、ダミー処理部1105により、ブランクがある分散片M5に対してダミーデータが作成される(S413)。ダミーデータは、分散片M1~M4のそれぞれとほぼ同じサイズを分散片M5が有するように作成される。例えば、ダミーデータはランダムな数の羅列である。
図5Aでは、分散片M5は2つのダミーデータd1、d2の結合を含むように表されている。この場合、各ダミーデータd1、d2は分散片M1~M4の中の各データ断片mに対応するサイズを有する、つまり各データ断片mのサイズとほぼ同じサイズを有するので、分散片M1~M5のサイズはほぼ同じになる。
【0057】
そして、ダミーデータを含む分散片M1~M5は、プレ設定情報に基づいて、分散配置される(S415)。つまり、「1番目の分散片M1」を「第2の管理装置300B」に配置し、「2番目の分散片M2」を「第5の管理装置300E」に配置し、「3番目の分散片M3」を「第1の管理装置300A」に配置し、「4番目の分散片」を「第3の管理装置300C」に配置し、「5番目の分散片M5」を「第4の管理装置300D」に配置することが実行される。
【0058】
なお、上記第1実施形態では、例えば、変換済みデータ断片m1と、それに続く変換済みデータ断片m2とを組み合わせて1つの分散片M1が作成されたが、変換済みデータ断片m1と、変換済みデータ断片m5など、離れたデータ断片を組み合わせて、分散配置用の分散片Mが作成されてもよい。これにより、第三者は分散配置用の分散片Mを取得しても、データ断片mがランダムに分散片Mに配置されているため、それらから元情報を復元することが更に困難になる。
【0059】
図5Bに、
図5Aに示した上記処理の変形例を示す。
図5Bに示す処理では、ステップS407でデータ断片mが生成されると、ステップS409では、分散片M1~M5に、データ断片m1~m8を1個ずつ順に割り当てることを繰り返すことが行われる。したがって、この場合、分散片M1はデータ断片m1とデータ断片m6とからなり、分散片M2はデータ断片m2とデータ断片m7とからなり、分散片M3はデータ断片m3とデータ断片m8とからなり、分散片M4、M5はデータ断片m4、m5をそれぞれ含む。そして、分散片M4のブランクの部分にはダミーデータd3が生成されて組み込まれ、同様に、分散片M5のブランクの部分にはダミーデータd4が生成されて組み込まれる(S413)。その他の点については、
図5Bの処理は
図5Aの処理と同じであるので、更なる説明を省略する。
【0060】
図5Aの処理でも
図5Bの処理でも、n個の分散片Mにおける、情報片つまりデータ断片mの数kと、各データ断片に対応するサイズのダミーデータの数qとの和は、分散片の数nの倍数である。
図5Aの処理では、データ断片mの数kは「8」であり、各データ断片mに対応するサイズのダミーデータの数qは「2」であり、それらの和(=k+q)は「10」である。これは
図5Bの処理の場合も同じである。そして、分散片の数nは、ここでは「5」であるので、この和「10」は、分散片の数nの2倍である。このように、分散配置される分散片Mにおける、略同じサイズを有する情報片つまりデータ断片mの数kと、各データ断片mに対応するサイズ(すなわち略同じサイズ)のダミーデータの数qとの和を分散片の数nの倍数(1以上の整数倍)とすることで、分散片Mのサイズを概ね同じとすることができる。よって、分散片Mのサイズが略同じとなるので、分散片を統計的解析するなどの処理を行って、分散片Mの特徴を推定して区別を行うなどの処理がより確実に難しくする。なお、ここでは、分散片の数nと配置場所の数pとは等しい。よって、n個の分散片Mにおける、情報片つまりデータ断片mの数kと、各データ断片に対応するサイズのダミーデータの数qとの和は、配置場所の数pの倍数でもある。しかし、本開示は、分散片Mの数nと配置場所の数pとが異なることを排除するものではない。
【0061】
図5Aの処理でも
図5Bの処理でも、n個の分散片Mにおける、情報片つまりデータ断片mの数kと、各データ断片に対応するサイズのダミーデータの数qとの和は、分散片の数nの倍数である。この関係を前提として、ステップS409の分散処理の前に、ステップS411及びステップS413のダミーデータの作成処理を実行することも可能である。この場合について
図5Cに基づいて説明する。なお、
図5Cの処理は上記
図5Aの処理の変形例に対応し、
図5Cの処理ではステップS407の次にステップS411、ステップS413、ステップS409及びステップS415が順に行われる。
【0062】
図5Cに示す処理では、ステップS407でデータ断片mが生成されると、ステップS411でダミーデータの作成の必要性が判定される。データ断片mの数kが配置場所の数pつまり分散片の数nの整数倍であるとき、ダミーデータの作成の必要性はないが(S411で否定判定)、データ断片mの数kが配置場所の数pつまり分散片の数nの整数倍でないとき、ダミーデータの作成の必要性があると判定される(S411で肯定判定)。ここでは、前述のように、データ断片mの数は「8」であり、分散片の数は配置場所の数「5」にされるので、ダミーデータの作成の必要性があると判定される。これにより、ステップS413で、データ断片mの数kと、各データ断片mに対応するサイズ(すなわち略同じサイズ)のダミーデータの数qとの和が配置場所の数pつまり分散片の数nの倍数(1倍、2倍、3倍、・・・)になるように、ダミーデータの作成が行われる。これにより、前述のように各データ断片mと略同じサイズのダミーデータd1、d2が作成される。なお、ここでは、作成されるダミーデータの数がより少なくなるように分散片の数nの倍数は都度設定されるが、本開示はこれに限定されるものではない。そして、ダミーデータの作成が行われたり(S413)、ダミーデータの作成の必要性はないと判定されたりすると(S411で否定判定)、ステップS409の分散処理が実行されて分散片Mが作成される。
図5Cの処理では、データ断片m1~m8及びダミーデータd1、d2が順に並べられて、
図5Aの場合と同様に、分散片M1~M5が作成されて(S409)、それらの分散片M1~M5の分散配置処理が実行される(S415)。なお、分散片Mの作成(S409)の前にダミーデータの作成処理(S411及びS413)を行うことは、
図5Bの場合に関しても、また後述する第2実施形態の場合に関しても、同様に適用することができる。
【0063】
また、変換済みデータ断片mが更に単純に分割されて、分散片Mの作成に用いられてもよい。これにより、第三者が分散片Mから変換済みデータ断片mを生成することはより困難になる。更に、元情報の断片(平文)の順番をスクランブルして入れ替えてから、AONTデータ変換技術が適用されて、k個のデータ断片が作成されてもよい。これにより、元情報の復元の困難さを更に高めることが可能になる。そして、この場合、スクランブルは、予め定めた順番関係つまり予め定めた平文用の順番関係に基づいて実行されるとよい。この順番関係は、分散片Mに関連付けられて、復元データベース2303に記憶されたり、復元処理部2105に提供されたりするとよい。なお、本実施形態では、復元処理部2105は端末装置200に設けられたが、情報処理装置100に設けられてもよい。
【0064】
以上説明したように、上記システムSの情報処理装置100による情報分散方法(特に
図4、
図5A、
図5B又は
図5C参照)によれば、AONTデータ変換技術を用いるだけでなく、分散配置用の分散片Mに付与された順番関係に基づいて、分散片Mが管理装置300に分散配置される。したがって、情報のセキュリティレベルを向上させることができる。
【0065】
さらに、分散片Mを単にデータ断片mで作成するだけでなく、その分散片Mにダミーデータも用いられ得る。したがって、仮に分散片Mが盗まれても、それから元情報を復元するのは更に困難になり、情報のセキュリティレベルを更に向上させることが可能になる。また、ダミーデータの配置場所を任意に定めることができる。よって、更にセキュリティレベルを向上させることができる。
【0066】
なお、第1実施形態では、1つの管理装置300に1つの分散片Mが対にされて分散配置されたが、1つの管理装置300に複数の分散片Mが分散配置され、その記憶部の中に独立して記憶されてもよい。
【0067】
次に、第2実施形態について説明する。以下では、第2実施形態における、上記第1実施形態との相違点について主に説明する。既に説明した構成要素及びステップには、既に用いた符号を同様に付して、重複説明を省略する。
【0068】
図6に、情報処理装置100のブロック図を示す。情報処理装置100では、記憶部130のプレデータ部1301に順番データベース1301a及びダミーデータベース1301bに加えて、二重暗号データベース1301cが記憶されている。端末装置200の指示取得部2103がセキュリティレベル・アップのユーザによる指示を受け付けたとき、その指示は情報提供部2102を介して情報処理装置100に送信される。
【0069】
情報処理装置100では、情報取得部1101は、セキュリティレベル・アップのユーザによる指示を取得すると、端末装置200のユーザを識別する個人情報、例えばIDとともに、記憶部130の二重暗号データベース1301cに「セキュリティレベル・アップ」の指示の情報を記憶する。これにより、端末装置200から元情報を取得したとき、情報処理装置100の制御部110は、「セキュリティレベル・アップ」の処理である二重暗号処理を実行する。「セキュリティレベル・アップ」の指示の受け取りを可能にすることで、元情報に重要度に関するレベルを付与することができ、本開示の情報分散方法の適用範囲を拡大することができる。
【0070】
AONTデータ変換技術では、インデックスを、秘密鍵を用いて暗号機にかけて、元情報の情報片である平文をXOR演算処理(eXclusive OR)し、上記変換処理後のデータ断片mを生成する。そのインデックスは、一般には、単なる順番であるが、このインデックスをプレ設定情報の順番関係に基づいて入れ替える作業を行う。例えば、「1番目の分散片M1」を「第2の管理装置300B」に結びつけ、「2番目の分散片M2」を「第5の管理装置300E」に結びつけ、「3番目の分散片M3」を「第1の管理装置300A」に結びつけ、「4番目の分散片M4」を「第3の管理装置300C」に結びつけ、「5番目の分散片M5」を「第4の管理装置300D」に結びつける順番関係が定められているので、1番目のインデックスを「3」、2番目のインデックスを「1」、3番目のインデックスを「4」、4番目のインデックスを「5」、5番目のインデックスを「2」にする処理を二重暗号処理で行う。これにより、インデックスを変更しないときよりも、セキュリティレベルを高めることができる。この場合、インデックスの情報はプレ設定情報の順番関係に対応するが、インデックスの情報がプレ設定情報の順番関係とは別に設定されて、端末装置200及び情報処理装置100の少なくともいずれか一方に記憶されてもよい。この場合、インデックスの情報は、プレ設定情報に含まれるとよい。なお、この二重暗号処理は、「インデックスを変更する処理」と定義することもできる。
【0071】
第2実施形態における、情報分散処理について
図7及び
図8に基づいて説明する。
【0072】
情報処理装置100の制御部110の情報取得部1101は、端末装置200から提供された元情報を取得すると(S403、S405)、生成処理部1103に元情報を送る。元情報には、端末装置200のユーザを特定する個人情報が付されているので、生成処理部1103は、記憶部130のプレデータ部1301をその個人情報で検索して、その個人情報に対応する二重暗号処理の実行指示を取得する。これにより、生成処理部1103は、二重暗号データベース1301cから、個人情報に対応する「セキュリティレベル・アップ」の処理である二重暗号処理の実行指示を取得することができ、よって前述の二重暗号処理を実行する(S701)。
【0073】
そして、二重暗号処理が実行された状態で、生成処理部1103は、データ断片mの生成処理を行う(S407)。これ以降のステップS409からS417は、既に説明した通りであるので、ここでの説明(
図8での図示を含む。)は省略する。
【0074】
このように、予め定めた順番関係を用いてより多くの段階で暗号化の処理を行うことで、セキュリティレベルを更に向上させることができる。
【0075】
以上、本発明に係る実施形態及びその変形例について説明したが、本発明はそれらに限定されない。本願の特許請求の範囲によって定義される本発明の精神及び範囲から逸脱しない限り、種々の置換、変更が可能である。本開示において説明した処理や手段は、技術的な矛盾が生じない限りにおいて、自由に組み合わせて実施することができる。
【0076】
例えば、上記実施形態では、分散片Mを配置させることは、1つのネットワークNを介して行った。しかし、複数の通信チャネルを介して行われてもよい。2以上の異なる通信チャネルのうちの所定の通信チャネルを経由して、n個の分散片のうちのL個の分散片をL個の記憶場所に配置し、n個の分散片のうちL個の分散片以外の分散片を、2以上の通信チャネルのうち所定の通信チャネル以外のチャネルを経由して、(n-L)個の記憶場所に配置することも可能である。これにより、通信チャネルを変えることにより、情報つまりデータ断片の抜き取りをより防ぐことが可能になる。
【符号の説明】
【0077】
S システム
100 情報処理装置
110 制御部
120 通信部
130 記憶部
200 端末装置
210 制御部
220 通信部
230 記憶部
300、300A~300E 管理装置