次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
<第1の実施形態>
図1を参照しながら、本発明の第1の実施形態に係る暗号化装置101が有する構成について詳細に説明する。図1は、本発明の第1の実施形態に係る暗号化装置101が有する構成を示すブロック図である。
第1の実施形態に係る暗号化装置101は、作成部102と、依頼部103と、情報作成部104とを有する。
暗号化装置101は、通信ネットワーク322を介して、暗号化サービス321に通信接続することができる。
暗号化サービス321は、たとえば、データを受信するのに応じて、暗号鍵を用いて該データを暗号化し、暗号化したデータを、データを送信した送信元に送信する。また、暗号化サービス321は、たとえば、暗号化されたデータを受信するのに応じて、復号鍵を用いて該暗号化されたデータを復号化し、復号化したデータを、暗号化されたデータを送信した送信元に送信する。
作成部102は、たとえば、機密性を保ちつつ保存する対象である対象データを受信するのに応じて、秘密分散方式に従い、該対象データを復元可能な複数のデータセットを作成する。
依頼部103は、作成した複数のデータセットに含まれるデータセットを暗号化サービス321に暗号化させ、暗号化されたデータセットを得る。
依頼部103は、たとえば、作成した複数のデータセットに含まれるデータセットを暗号化サービス321に送信する。
依頼部103は、たとえば、各データセットに関して、異なる暗号化サービス321に送信してもよい。依頼部103は、たとえば、秘密分散方式に従い、対象データを復元できない個数のデータセットを、それぞれ、異なる暗号化サービス321に送信してもよい。依頼部103は、必ずしも、すべてのデータセットを、それぞれ、暗号化サービス321に送信する必要はなく、一部のデータセットだけを暗号化サービス321に送信してもよい。
依頼部103が、たとえば、各データセットに関して、異なる暗号化サービス321に送信する場合には、対象データの機密性を強固に守ることができる。この理由は、データセットを暗号化する暗号化サービスがそれぞれ異なるからである。
暗号鍵は、多くの場合、暗号化サービスに応じて相互に異なる。本実施形態に係る暗号化装置101によれば、データセットは、それぞれ、異なる暗号鍵を用いて暗号化される。たとえ、第1データセットを復号化する復号鍵が漏えいしたとしても、該復号鍵によって第2データセットは復号化されない。この結果、本実施形態に係る暗号化装置101によれば、対象データを復元することはできないので、対象データの機密性を強固に守ることができる。
依頼部103が、たとえば、秘密分散方式に従い、対象データを復元できない個数のデータセットを、それぞれ、異なる暗号化サービス321に送信する場合には、対象データの機密性を守りつつ、暗号化に要する処理時間を短縮することができる。この理由は、データセットを送信する回数が、各データセットを異なる暗号化サービス321に送信する場合に比べ、減少するからである。
依頼部103が、一部のデータセットだけを暗号化サービス321に送信する場合には、対象データの機密性を守りつつ、暗号化に要する処理時間を短縮することができる。この理由は、データセットを送信する回数が、各データセットを異なる暗号化サービス321に送信する場合に比べ、減少するからである。
暗号化サービス321は、依頼部103が送信したデータセットを暗号化し、暗号化されたデータセットを暗号化装置101に送信する。
依頼部103は、該暗号化されたデータセットを受信する。依頼部103が複数の暗号化サービス321にデータセットを送信した場合に、依頼部103は、各暗号化サービス321が送信したデータセットを受信する。
情報作成部104は、該暗号化されたデータセットと、該データセットを暗号化した暗号化サービスを一意に識別可能なサービス識別子とが関連付けされている格納情報(図2、詳細は後述する)を作成する。情報作成部104は、対象データに関して、複数種類の格納情報を作成してもよい。
以降、説明の便宜上、識別子を「ID」と表す。
次に、図2を参照しながら、格納情報が有する構成について詳細に説明する。図2は、格納情報が有する構成を概念的に表すブロック図である。
格納情報121は、ヘッダー情報122と、複数のデータセット(たとえば、データセット123乃至データセット125)とを含む。
データセットは、たとえば、依頼部103が受信した、暗号化されたデータセットである。尚、格納情報121に含まれるデータセットが、必ずしも、全て暗号化されたデータセットである必要はない。たとえば、格納情報121は、対象データを復元できない個数分の、暗号化されていないデータセットを含んでいてもよい。
尚、説明の便宜上、暗号化されたデータセットを「暗号化データセット」とも表す。
ヘッダー情報122は、データセットを暗号化した暗号化サービスを表すサービスIDを含む。ヘッダー情報122は、たとえば、データセット123に関するサービスIDと、データセット124に関するサービスIDと、データセット125に関するサービスIDとを含む。
格納情報121において、ヘッダー情報122に含まれるサービスIDと、該サービスIDが表す暗号化サービスが暗号化したデータセットとが関連付けされている。たとえば、データセット123が暗号化サービスAによって暗号化された場合に、格納情報121においては、データセット123と、サービスID「A」とが関連付けされていれる。
上述したようなデータ構造を有する格納情報121によれば、格納情報121に基づき、データセットを暗号化した暗号化サービスを特定することができるので、暗号化装置101は、必ずしも、データセットを暗号化した暗号化サービスを記憶する必要がない。
また、格納情報121は、データセットが記憶されている部分(領域)を識別可能な区切りを表す区切り情報を含んでいてもよい。たとえば、区切り情報は、ヘッダー情報122に含まれる。
次に、図3を参照しながら、第1の実施形態に係る暗号化装置101が行う処理について詳細に説明する。図3は、第1の実施形態に係る暗号化装置101における処理の流れを示すフローチャートである。
作成部102は、対象データを受信するのに応じて、秘密分散方式に従い、該対象データを復元可能な複数のデータセットを作成する(ステップS101)。
依頼部103は、作成されたデータセットを暗号化サービス321に暗号化させ、暗号化されたデータセットを得る。たとえば、依頼部103は、作成されたデータセットを暗号化サービス321に送信する(ステップS102)。依頼部103は、送信したデータセットに関する暗号化データセットを、暗号化サービス321から受信する(ステップS103)。
情報作成部104は、たとえば、暗号化データセットと、該データセットを暗号化した暗号化サービスを表すサービスIDとが関連付けされた格納情報を作成する(ステップS104)。
次に、第1の実施形態に係る暗号化装置101に関する効果について説明する。
本実施形態に係る暗号化装置101によれば、対象データを安全に保持可能なシステムを低コストにて実現することが可能である。
まず、対象データを安全に保持可能である理由について説明する。暗号化装置101は、対象データを復元可能な複数のデータセットを、異なる暗号化サービス321に送信する。暗号化サービス321は、複数のデータセットのうち、一部のデータセットしか受信しないので、対象データを復元することはできない。この結果、暗号化サービス321において対象データが漏えいしてしまうリスクは低減する。したがって、対象データを安全に保持することが可能である。
次に、システムを低コストにて実現可能である理由について説明する。暗号化サービス321がデータセットを暗号化するので、暗号化装置101は、暗号鍵、または、復号鍵を管理する必要がない。暗号鍵、及び、復号鍵を管理するコストは大きいので、暗号化装置101は、システムを低コストにて実現可能である。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第2の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図4を参照しながら、第2の実施形態に係る暗号化装置106が有する構成について説明する。図4は、本発明の第2の実施形態に係る暗号化装置106が有する構成を示すブロック図である。
第2の実施形態に係る暗号化装置106は、作成部102と、依頼部103と、情報作成部104と、情報送信部105とを有する。
暗号化装置106は、通信ネットワーク322を介して、暗号化サービス321、及び、記憶装置323に通信接続することができる。
記憶装置323は、たとえば、ストレージ事業者等によって提供されているストレージである。尚、記憶装置323は、ストレージに限定されない。
情報送信部105は、情報作成部104が作成した格納情報を記憶装置323に送信する。たとえば、情報作成部104が複数種類の格納情報を作成する場合には、各格納情報を複数の記憶装置323に送信してもよい。
次に、図5を参照しながら、第2の実施形態に係る暗号化装置106が行う処理について説明する。図5は、第2の実施形態に係る暗号化装置106における処理の流れを示すフローチャートである。
暗号化装置106は、ステップS101乃至ステップS104に示す処理を実行する。
情報送信部105は、情報作成部104が作成した格納情報を記憶装置323に送信する(ステップS105)。
記憶装置323は、該格納情報を受信し、受信した格納情報を自装置に格納する。
次に、第2の実施形態に係る暗号化装置106に関する効果について説明する。
本実施形態に係る暗号化装置106によれば、対象データを安全に保持可能なシステムを低コストにて実現することが可能である。この理由は、第2の実施形態に係る暗号化装置106が有する構成は、第1の実施形態に係る暗号化装置101が有する構成を含むからである。
さらに、本実施形態に係る暗号化装置106によれば、さらに、低コストにてシステムを実現することができる。
この理由は、格納情報を格納する記憶装置323を管理するコストが、第1の実施形態に係る暗号化装置101よりも低減するからである。
すなわち、記憶装置323が格納情報を記憶することにより、暗号化装置101は、サービスIDを管理するコストが低減する。
たとえば、情報作成部104が1種類の格納情報を作成する場合には、暗号化装置106は、該格納情報を格納する記憶装置を管理すればよい。すなわち、暗号化装置106は、サービスIDを管理する必要がない。
また、情報作成部104が複数種類の格納情報を作成する場合であっても、格納情報には、複数のデータセットに関するサービスIDが含まれる。したがって、暗号化装置106は、サービスIDよりも少ない個数の記憶装置を管理するので、低コストにてシステムを実現することができる。
<第3の実施形態>
次に、上述した第2の実施形態を基本とする本発明の第3の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第2の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図6を参照しながら、第3の実施形態に係る暗号化装置116が有する構成について説明する。図6は、本発明の第3の実施形態に係る暗号化装置116が有する構成を示すブロック図である。
第3の実施形態に係る暗号化装置116は、作成部102と、依頼部103と、依頼部103と、情報作成部104と、情報送信部105とを有する。さらに、暗号化装置116は、さらに、情報読み取り部111と、データセット読み取り部112と、暗号データ送信部113と、復号データ受信部114と、復元部115とを有する。
暗号化装置116は、通信ネットワーク322を介して、暗号化サービス321、及び、記憶装置323に通信接続することができる。
情報読み取り部111は、たとえば、ユーザ等から対象データを要求するリクエストを受信するのに応じて、該対象データに関する格納情報を記憶装置323から読み取る。
データセット読み取り部112は、読み取った格納情報から、データセットと、該データセットに関連付けされたサービスIDとを読み取る。
暗号データ送信部113は、読み取ったサービスIDが表す暗号化サービス321に、該サービスIDに関連付けされたデータセットを送信する。この場合に、暗号データ送信部113は、たとえば、格納情報に含まれる各サービスIDに関して、上述した処理を実行する。
暗号化サービス321は、該データセットを受信し、復号鍵を用いて、受信したデータセットを復号化し、復号化されたデータセットを暗号化装置116に送信する。この場合に、暗号化サービス321が送信するデータセットは、復号化されている。
復号データ受信部114は、暗号化サービス321が送信したデータセットを受信する。すなわち、復号データ受信部114は、格納情報に含まれる暗号化されたデータセットに関して、各暗号化サービス321から復号化されたデータセットを受信する。
復元部115は、秘密分散方式に従い、該データセットから対象データを復元する。
情報読み取り部111は、たとえば、復元した対象データを、リクエストを送信した送信元に送信する。
次に、図7を参照しながら、第3の実施形態に係る暗号化装置116が行う処理について説明する。図7は、第3の実施形態に係る暗号化装置116における処理の流れを示すフローチャートである。
情報読み取り部111は、たとえば、リクエストに応じて、該対象データに関する格納情報を記憶装置323から読み取る(ステップS111)。
データセット読み取り部112は、読み取った格納情報から、データセットと、該データセットに関連付けされたサービスIDとを読み取る(ステップS112)。
暗号データ送信部113は、読み取ったサービスIDが表す暗号化サービス321に、該サービスIDに関連付けされたデータセットを送信する(ステップS113)。
復号データ受信部114は、暗号化サービス321が送信したデータセットを受信する(ステップS114)。
復元部115は、秘密分散方式に従い、該データセットから対象データを復元する(ステップS115)。
次に、第3の実施形態に係る暗号化装置116に関する効果について説明する。
本実施形態に係る暗号化装置116によれば、対象データを安全に保持可能なシステムを低コストにて実現することが可能である。この理由は、第3の実施形態に係る暗号化装置116が有する構成は、第2の実施形態に係る暗号化装置106が有する構成を含むからである。
さらに、第3の実施形態に係る暗号化装置116によれば、安全に対象データを復元することができる。この理由は、1つの暗号化サービスにおいて、複数のデータセットのうち、一部のデータセットしか受信されないので、該暗号化サービスが、対象データを復元することはできないからである。
<第4の実施形態>
次に、上述した第3の実施形態を基本とする本発明の第4の実施形態について説明する。
図8を参照しながら、本発明の第4の実施形態に係る暗号化装置301が有する構成について説明する。図8は、本発明の第4の実施形態に係る暗号化装置301が有する構成を示すブロック図である。
第4の実施形態に係る暗号化装置301は、作成部302と、認証部303と、データ入力部304と、データ出力部305と、表示処理部306と、暗号化サービス通信部308と、情報作成部309とを有する。さらに、暗号化装置301は、命令入力部307と、データセット読み取り部310と、復元部311と、記憶装置通信部312と、利用者情報管理部313とを有する。
暗号化装置301は、通信ネットワーク322を介して、記憶装置323、及び、暗号化サービス321に通信接続することができる。
データが記憶装置323に格納(すなわち、アップロード)される場合に、主に、作成部302、認証部303、データ入力部304、表示処理部306、暗号化サービス通信部308、及び、情報作成部309が処理を実行する。データが記憶装置323に格納される場合に、さらに、記憶装置通信部312、及び、利用者情報管理部313が処理を実行する。
データが記憶装置323から読み取られる(すなわち、ダウンロード)場合に、主に、認証部303、データ出力部305、表示処理部306、暗号化サービス通信部308、データセット読み取り部310、及び、利用者情報管理部313が処理を実行する。データが記憶装置323から読み取られる場合に、さらに、復元部311、及び、記憶装置通信部312が処理を実行する。
認証部303は、暗号化装置301を利用する利用者が正しい利用者であるか否かに関する認証処理を実行する。たとえば、認証部303が行う認証処理として、パスワードを用いて認証する方法、生体情報を用いて認証する方法等がある。認証部303が認証する方法は、上述した例に限定されない。利用者が正しい利用者であると認証部303が判定するのに応じて、暗号化(または、復号化)に関する処理が開始される。すなわち、認証部303が利用者を認証するのに応じて、暗号化(または、復号化)に関する処理が開始される。認証部303は、たとえば、利用者が正しい利用者であると認証された場合に、記憶装置323に第2認証情報を送信する。
表示処理部306は、送信した第2認証情報が認証された場合に、記憶装置通信部312を介して、記憶装置323から、認証された利用者を識別可能な利用者IDに関連付けされたデータを読み取る。次に、表示処理部306は、たとえば、ディスプレー等の表示部(不図示)等に読み取ったデータを表示する。
利用者情報管理部313は、たとえば、該暗号化装置301に関する利用者ID及び該利用者IDに関連付けされたパスワード等を表す認証情報(以降、「第1認証情報」と表す)を管理する。利用者情報管理部313は、さらに、記憶装置323及び暗号化サービス321に関する利用者ID及び該利用者IDに関連付けされたパスワード等を表す認証情報(以降、「第2認証情報」と表す)を管理してもよい。たとえば、利用者情報管理部313は、認証情報に利用者IDを追加する処理、認証情報から特定の利用者IDを削除する処理、または、認証情報における特定の利用者IDに関する情報を変更する処理等を実行する。
尚、利用者情報管理部313は、必ずしも、第2認証情報を管理しなくてもよい。記憶装置323及び暗号化サービス321が利用される場合に、該記憶装置323及び暗号化サービス321に関する認証情報が入力される。
利用者情報管理部313が第2認証情報を管理する態様によれば、記憶装置323及び暗号化サービス321を利用する場合に、利用者は、第2認証情報を入力する必要がない。これは、利用者情報管理部313が第2認証情報に関する処理を実行するからである。また、利用者情報管理部313が第2認証情報を管理しない態様によれば、利用者情報管理部313における処理を低減することができる。
データ入力部304は、格納する対象である対象データを受信するのに応じて、受信した対象データを作成部302に送信する。
作成部302は、データ入力部304が送信した対象データを受信し、秘密分散方式に従い、受信した対象データに基づき、該対象データを復元可能な複数のデータセットを作成する。この場合に、秘密分散方式は、たとえば、複数のデータセットのうち、一部のデータセットに基づき対象データを復元できる方式であってもよいし、すべてのデータセットが揃うことによって、対象データを復元できる方式であってもよい。作成部302は、作成したデータセットを、暗号化サービス通信部308に送信する。
暗号化サービス通信部308は、作成部302が送信したデータセットを受信する場合に、利用者情報管理部313における第2認証情報を読み取り、第2認証情報を暗号化サービス321に送信する。暗号化サービス通信部308は、送信した第2認証情報が認証された場合に、受信したデータセットを暗号化サービス321に送信する。暗号化サービス321は、該データセットを受信し、暗号鍵を用いて受信したデータセットを暗号化し、暗号化したデータセットを暗号化装置301に送信する。暗号化サービス通信部308は、該暗号化されたデータセットを受信し、受信したデータセットを情報作成部309に送信する。
あるいは、暗号化サービス通信部308は、暗号化サービス321によって復号化されたデータセットを、復元部311に送信する。
尚、暗号化サービス通信部308は、第1の実施形態に係る依頼部103が有している機能を有する。また、暗号化サービス通信部308は、第3の実施形態に係る暗号データ送信部113、及び、第3の実施形態に係る復号データ受信部114が有している機能を有する。
データセットを暗号化する、または、暗号化されたデータセットを復号化する処理は、暗号化サービス321によって実行される。したがって、暗号化装置301は、暗号鍵、または、復号鍵に関する情報を有さなくてもよい。
情報作成部309は、暗号化サービス321が送信した複数のデータセットを受信し、たとえば、図2に例示するようなデータ構造に従い、受信したデータセットを配置することにより格納情報を作成する。情報作成部309は、作成した格納情報を記憶装置通信部312に送信する。
記憶装置通信部312は、情報作成部309が送信した格納情報を受信した場合に、利用者情報管理部313における第2認証情報を読み取る。記憶装置通信部312は、読み取った第2認証情報を記憶装置323に送信する。記憶装置通信部312は、送信した第2認証情報が認証された場合に、受信した格納情報を記憶装置323に送信する。これによって、格納情報は、記憶装置323に格納される。
尚、記憶装置323は、必ずしも、1台であるとは限らず、複数台であってもよい。格納情報が複数台の記憶装置323に格納されることによって、冗長性を有する態様となる。
記憶装置323は、たとえば、格納情報を要求するリクエストを受信するのに応じて、格納情報を暗号化装置301に送信する。記憶装置通信部312は、記憶装置323が送信した格納情報を受信する。記憶装置通信部312は、受信した格納情報を、データセット読み取り部310に送信する。
データセット読み取り部310は、記憶装置通信部312が該リクエストに応じて送信した格納情報を受信し、受信した格納情報に基づき、データセットを作成する。データセット読み取り部310は、作成したデータセットを暗号化サービス通信部308に送信する。
また、データ出力部305は、特定のデータIDが表すデータを取得するリクエストを受信する場合に、受信したリクエストを記憶装置通信部312に送信する。
また、復元部311は、暗号化サービス通信部308が送信したデータセットに基づき、対象データを復元し、該対象データを要求するリクエストを送信した送信元に、復元した対象データを送信する。
次に、図9を参照しながら、記憶装置323に対象データが格納される場合に、第4の実施形態に係る暗号化装置301における処理について説明する。図9は、記憶装置323に対象データが格納される場合に、第4の実施形態に係る暗号化装置301における処理の流れを示すフローチャートである。
認証部303は、暗号化装置301を利用する利用者が正しい利用者であるか否かに関する認証処理を実行する(ステップS301)。認証部303は、たとえば、利用者が正しい利用者であると認証された場合に、記憶装置323に第2認証情報を送信する。
表示処理部306は、記憶装置323に第2認証情報が認証された場合に、記憶装置通信部312を介して、記憶装置323から、認証された利用者を表す利用者IDに関連付けされたデータIDを読み取る。表示処理部306は、たとえば、読み取ったデータIDと、下記の処理1乃至処理3に示す処理内容(たとえば、図12)とを表示部(不図示)に表示する(ステップS302)。すなわち、
(処理1)データをアップロードする、
(処理2)データをダウンロードする、
(処理3)認証情報を管理する。
図12は、表示処理部306が表示部に表示するユーザーインターフェースの一例を表す図である。たとえば、表示処理部306は、「データをアップロードする」を表示部(不図示)に表示する。たとえば、利用者は、表示部(不図示)に表示されている処理のうち特定の処理を選び、選んだ処理を命令入力部307に入力する。
データ入力部304は、命令入力部307に入力された特定の処理が処理1である場合に、対象データを受信する(ステップS303)。データ入力部304は、受信した対象データを作成部302に送信する。
作成部302は、データ入力部304が送信した対象データを受信し、秘密分散方式に従い、受信した対象データに基づき、該対象データを復元可能な複数のデータセットを作成する(ステップS304)。作成部302は、作成したデータセットを、暗号化サービス通信部308に送信する。
暗号化サービス通信部308は、作成部302が送信したデータセットを受信する場合に、利用者情報管理部313における第2認証情報を読み取り、第2認証情報を暗号化サービス321に送信する。暗号化サービス通信部308は、送信した第2認証情報が認証された場合に、受信したデータセットを暗号化サービス321に送信する(ステップS305)。暗号化サービス321は、該データセットを受信し、暗号鍵を用いて受信したデータセットを暗号化し、暗号化したデータセットを暗号化装置301に送信する。暗号化サービス通信部308は、該暗号化されたデータセットを受信し、受信したデータセットを情報作成部309に送信する。
暗号化サービス321に送信されるデータセットは、秘密分散方式に従い作成されているので、たとえ、一部のデータセットが傍受されたとしても、対象ファイルを復元することはできない。また、暗号化サービス321が、データセットを暗号化し、または、暗号化されたデータセットを復号化するので、暗号化装置301は、必ずしも、暗号化する暗号鍵を有する必要はない。
暗号化サービス通信部308は、対象ファイルに基づき作成された各データセットに関して、上述した処理を実行する。
暗号化サービス通信部308は、各データセットに関して、暗号化されたデータセットを受信した場合に(ステップS306)、受信したデータセットを情報作成部309に送信する。
情報作成部309は、受信したデータセットを、図2に例示するようなデータ構造に従い配置することにより格納情報を作成する(ステップS307)。情報作成部309は、作成した格納情報を記憶装置通信部312に送信する。
記憶装置通信部312は、情報作成部309が送信した格納情報を受信した場合に、利用者情報管理部313における第2認証情報を読み取る。記憶装置通信部312は、読み取った第2認証情報を記憶装置323に送信する。記憶装置通信部312は、送信した第2認証情報が記憶装置323に認証された場合に、受信した格納情報を記憶装置323に送信する(ステップS308)。これによって、格納情報は、記憶装置323に格納される。
尚、記憶装置通信部312は、第2の実施形態に係る情報送信部105が有している機能、及び、第3の実施形態に係る情報読み取り部111が有している機能を有する。
図10を参照しながら、対象データが要求される場合に、第4の実施形態に係る暗号化装置301における処理について説明する。図10は、対象データが要求される場合に、第4の実施形態に係る暗号化装置301における処理を表すフローチャートである。
命令入力部307は、特定の処理として、上記の処理2が入力された場合に、対象データを表すデータIDを受信する(ステップS323)。データ出力部305は、命令入力部307が受信したデータIDが表す対象データに関する格納情報を要求するリクエストを、記憶装置通信部312に送信する。
記憶装置通信部312は、該リクエストを受信する場合に、利用者情報管理部313における第2認証情報を読み取り、第2認証情報を記憶装置323に送信する。記憶装置通信部312は、送信した第2認証情報が認証された場合に、受信したリクエストを記憶装置323に送信する。記憶装置323は、該リクエストを受信し、受信したリクエストに応じた格納情報を記憶装置通信部312に送信する。記憶装置通信部312は、該格納情報を受信し、受信した格納情報をデータセット読み取り部310に送信する。
データセット読み取り部310は、該格納情報を受信し(ステップS324)、受信した格納情報に含まれるヘッダー情報に基づいて、格納情報をデータセットに分割する(ステップS325)。これらが復号化されることによって、復元部311は、該データセットに基づき対象ファイルを復元することが可能である。データセット読み取り部310は、各データセットに関して、該データセットを復号化することを要求する復号化リクエストを暗号化サービス通信部308に送信する。この場合に、上述した処理において各データセットは暗号化されていることとする。
暗号化サービス通信部308は、該復号化リクエストを受信した場合に、利用者情報管理部313における第2認証情報を読み取り、第2認証情報を暗号化サービス321に送信する。暗号化サービス通信部308は、送信した第2認証情報が暗号化サービス321に認証された場合に、復号化リクエストを暗号化サービス321に送信する。暗号化サービス321は、該復号化リクエストを受信し、復号鍵を用いて受信した復号化リクエストに含まれるデータセットを復号化し、復号化したデータセットを暗号化装置301に送信する。暗号化サービス通信部308は、該データセットを受信し(ステップS326)、受信したデータセットを復元部311に送信する。暗号化サービス通信部308は、格納情報から作成された各データセットについて、上述した処理を実行する
尚、暗号化サービス321において、復号化されたデータセットのみでは、対象データを復元することはできない。
復元部311は、暗号化サービス通信部308が送信したデータセット受信し、受信したデータセットに基づき対象データを復元する(ステップS327)。復元部311は、復元した対象データをデータ出力部305に送信する。
データ出力部305は、該対象データを受信し、リクエストを送信した送信元に、受信した対象データを送信する(ステップS328)。
次に、図11を参照しながら、第2認証情報を変更するリクエストを受信する場合に、第4の実施形態に係る暗号化装置301が実行する処理について説明する。図11は、第2認証情報を変更するリクエストを受信する場合に、第4の実施形態に係る暗号化装置301における処理の流れを示すフローチャートである。
認証部303は、暗号化装置301を利用する利用者が正しい利用者であるか否かに関する認証処理を実行する(ステップS301)。たとえば、認証部303が行う認証処理として、パスワードを用いて認証する方法、生体情報を用いて認証する方法等がある。認証部303が認証する方法は、上述した例に限定されない。利用者が正しい利用者であると認証部303が判定するのに応じて、暗号化装置301における他部は、処理を開始する。
利用者情報管理部313は、たとえば、利用者が正しい利用者であると認証された場合に、第2認証情報を変更するリクエストに基づいて、第2認証情報に追加する、第2認証情報から削除する、または、第2認証情報を変更する等の処理を実行する(ステップS343)。第2認証情報においては、たとえば、記憶装置323を識別可能な記憶装置IDと、通信ネットワーク322における該記憶装置の所在地を表すアクセス先情報と、該記憶装置323に対する認証情報(たとえば、ユーザID、パスワード)とが関連付けされている。また、第2認証情報においては、たとえば、暗号化サービス321を識別可能なサービスIDと、通信ネットワーク322における該暗号化サービス321の所在地を表すアクセス先情報と、該暗号化サービス321に対する認証情報(たとえば、ユーザID、パスワード)とが関連付けされている。尚、第2認証情報において、記憶装置323に対する認証情報、及び、暗号化サービス321に対する認証情報は、複数種類、存在していてもよい。
次に、第4の実施形態に係る暗号化装置301に関する効果について説明する。
本実施形態に係る暗号化装置301によれば、対象データを安全に保持可能なシステムを低コストにて実現することが可能である。この理由は、第4の実施形態に係る暗号化装置301が有する構成は、第3の実施形態に係る暗号化装置116が有する構成を含むからである、
さらに、本実施形態に係る暗号化装置301によれば、情報が漏えいする可能性を低減することができる。
この理由は、記憶装置323には、たとえば、データセットごとに異なる暗号化手法を用いて暗号化された格納情報が格納されるからである。複数の暗号化手法を用いて格納情報が暗号化されているので、記憶装置323を運営しているストレージ事業者は、暗号化されている格納情報を復号化することをより困難にすることができる。したがって、対象データがストレージ事業者に漏洩してしまう可能性を低減することができる。
一方、暗号化サービス321を運営している暗号化サービス事業者は、対象データを復元することはできない。この理由は、データセットが送信される暗号化サービス321が複数であるので、暗号化サービス事業者は、たとえ、一部のデータセットを受信したとしても、対象データを復元することはできないからである。
さらに、暗号化装置301は、暗号化サービスを利用することにより、データセットを暗号化するので、暗号鍵を有する必要はない。この結果、暗号化装置301を運用するコストを低減することができる。
(ハードウェア構成例)
上述した本発明の各実施形態における暗号化装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係る暗号化装置は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現してもよい。また、係る暗号化装置は、専用の装置として実現してもよい。
図13は、第1の実施形態乃至第4の実施形態に係る暗号化装置を実現可能な計算処理装置のハードウェア構成例を概略的に示す図である。計算処理装置20は、中央処理演算装置(Central_Processing_Unit、以降「CPU」と表す)21、メモリ22、ディスク23、及び、不揮発性記録媒体24を有する。計算処理装置20は、さらに、入力装置25、出力装置26、通信インターフェース(以降、「通信IF」と表す。)27、及び、ディスプレー28を有する。計算処理装置20は、通信IF27を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
不揮発性記録媒体24は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact_Disc)、デジタルバーサタイルディスク(Digital_Versatile_Disc)である。また、不揮発性記録媒体24は、ユニバーサルシリアルバスメモリ(USBメモリ)、ソリッドステートドライブ(Solid_State_Drive)等であってもよい。不揮発性記録媒体24は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体24は、上述した媒体に限定されない。また、不揮発性記録媒体24の代わりに、通信IF27を介して、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
すなわち、CPU21は、ディスク23が記憶するソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際にメモリ22にコピーし、演算処理を実行する。CPU21は、プログラム実行に必要なデータをメモリ22から読み取る。表示が必要な場合には、CPU21は、ディスプレー28に出力結果を表示する。外部への出力が必要な場合には、CPU21は、出力装置26に出力結果を出力する。外部からプログラムを入力する場合、CPU21は、入力装置25からプログラムを読み取る。CPU21は、上述した図1、図4、図6、または、図8に示す各部が表す機能(処理)に対応するところのメモリ22にある暗号化プログラム(図3、図5、図7、または、図9乃至図11)を解釈し実行する。CPU21は、上述した本発明の各実施形態において説明した処理を順次行う。
すなわち、このような場合、本発明は、係る暗号化プログラムによっても成し得ると捉えることができる。更に、係る暗号化プログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。