(57)【要約】【課題】複数のデータ部分に分割した元データの内容が漏洩するのを抑制する。【解決手段】情報処理装置は、入力部と、制御部と、を備え、制御部は、暗号化対象データ部分を暗号化するとき、次データ部分の暗号化方法および当該暗号化方法で暗号化された次データ部分の復号キーの入力の受け付けを入力部に行わせ、暗号化方法および復号キーを含む次データ情報を暗号化対象データ部分に付すとともに、次データ情報を付した暗号化対象データ部分を暗号化し、その後、次データ部分を暗号化するときには、暗号化対象データ部分の次データ情報に含まれる暗号化方法および復号キーに基づき次データ部分を暗号化する。【選択図】図７
2019029761.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーから入力を受け付ける入力部と、
元データを複数のデータ部分に分割し、前記複数のデータ部分を１つずつ順番に暗号化する制御部と、を備え、
前記制御部は、現在暗号化すべき前記データ部分である暗号化対象データ部分を暗号化するとき、前記暗号化対象データ部分の次に暗号化すべき前記データ部分である次データ部分が存在すれば、前記次データ部分の暗号化方法および当該暗号化方法で暗号化された前記次データ部分の復号に必要な復号キーの入力の受け付けを前記入力部に行わせ、前記次データ部分の暗号化方法および前記次データ部分の復号キーを含む次データ情報を前記暗号化対象データ部分に付すとともに、前記次データ情報を付した前記暗号化対象データ部分を前記次データ情報と共に暗号化し、その後、前記次データ部分を暗号化するときには、前記暗号化対象データ部分に付した前記次データ情報に含まれる暗号化方法および復号キーに基づき前記次データ部分を暗号化することを特徴とする情報処理装置。
【請求項２】
前記制御部は、前記暗号化対象データ部分を暗号化するとき、前記暗号化対象データ部分の前に暗号化した前記データ部分が存在しなければ、前記暗号化対象データ部分の暗号化方法および当該暗号化方法で暗号化された前記暗号化対象データ部分の復号に必要な復号キーの入力の受け付けを前記入力部に行わせ、前記入力部が受け付けた前記暗号化対象データ部分の暗号化方法および前記暗号化対象データ部分の復号キーに基づき前記暗号化対象データ部分を暗号化することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、前記暗号化対象データ部分を暗号化するとき、前記暗号化対象データ部分の次に暗号化すべき前記データ部分が存在しなければ、次に暗号化すべき前記データ部分が存在しないことを示す最終情報を前記次データ情報の代わりに前記暗号化対象データ部分に付すとともに、前記最終情報を付した前記暗号化対象データ部分を前記最終情報と共に暗号化することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御部は、前記暗号化対象データ部分を暗号化するとき、前記次データ部分の保存先および当該保存先にアクセスするためのアカウントの入力の受け付けを前記入力部に行わせ、前記次データ部分の保存先および当該保存先のアカウントを前記暗号化対象データ部分に付す前記次データ情報に含め、その後、前記次データ部分を暗号化すると、前記暗号化対象データ部分に付した前記次データ情報に含まれる保存先に暗号化した前記次データ部分を保存することを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記制御部は、前記次データ情報を付して暗号化した前記データ部分を復号したとき、当該復号した前記データ部分の前記次データ情報に含まれる暗号化方法および復号キーに基づき暗号化された前記データ部分を次に復号すべき復号対象データ部分と認識するとともに、前記復号対象データ部分を復号するための復号情報の入力の受け付けを前記入力部に行わせ、前記入力部が受け付けた前記復号情報に基づき前記復号対象データ部分の復号を許可する許可条件を満たすか否かを判断し、前記許可条件を満たせば、前記復号対象データ部分の復号キーを用いて前記復号対象データ部分を復号することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記制御部は、前記復号対象データ部分の保存先に対し当該保存先のアカウントを用いてアクセスを試み、前記復号対象データ部分の保存先にアクセスできなければ、前記復号対象データ部分を復号しないことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記制御部は、暗号化された前記複数のデータ部分の全ての復号に成功したとき、復号した前記複数のデータ部分から前記元データを再構築する処理を行うことを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
元データを複数のデータ部分に分割し、前記複数のデータ部分を１つずつ順番に暗号化する情報処理装置の制御方法であって、
現在暗号化すべき前記データ部分である暗号化対象データ部分を認識するステップと、
前記暗号化対象データ部分の次に暗号化すべき前記データ部分である次データ部分の暗号化方法および当該暗号化方法で暗号化された前記次データ部分の復号に必要な復号キーの入力を受け付けるステップと、
前記元データから前記暗号化対象データ部分を抽出するステップと、
前記次データ部分の暗号化方法および前記次データ部分の復号キーを含む次データ情報を前記暗号化対象データ部分に付した結合データを生成するステップと、
前記結合データを暗号化するステップと、を備え、
前記次データ部分を暗号化するときには、前記暗号化対象データ部分に付した前記次データ情報に含まれる暗号化方法および復号キーに基づき前記次データ部分を暗号化することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、種々のデータを処理する情報処理装置および情報処理装置の制御方法に関する。
【背景技術】
【０００２】
従来、元データを複数に分割し、当該分割した複数のデータ部分を互いに異なる保存先に保存する技術が知られている（たとえば、特許文献１参照）。特許文献１では、複数のオンラインストレージが保存先として予め準備される。そして、複数のデータ部分が分散して保存される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１６６９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、複数のデータ部分を分散して保存することにより、元データの内容が第三者に漏洩するのを抑制するようにしている。しかし、場合によっては、いずれかのデータ部分の保存先が特定されることがある。この場合には、当該データ部分が第三者によって取得され、元データの内容の一部が第三者に漏洩するという不都合が生じる。
【０００５】
本発明は、上記課題を解決するためになされたものであり、複数のデータ部分に分割した元データの内容が漏洩するのを抑制することが可能な情報処理装置および情報処理装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の第１局面による情報処理装置は、ユーザーから入力を受け付ける入力部と、元データを複数のデータ部分に分割し、複数のデータ部分を１つずつ順番に暗号化する制御部と、を備える。制御部は、現在暗号化すべきデータ部分である暗号化対象データ部分を暗号化するとき、暗号化対象データ部分の次に暗号化すべきデータ部分である次データ部分が存在すれば、次データ部分の暗号化方法および当該暗号化方法で暗号化された次データ部分の復号に必要な復号キーの入力の受け付けを入力部に行わせ、次データ部分の暗号化方法および次データ部分の復号キーを含む次データ情報を暗号化対象データ部分に付すとともに、次データ情報を付した暗号化対象データ部分を次データ情報と共に暗号化し、その後、次データ部分を暗号化するときには、暗号化対象データ部分に付した次データ情報に含まれる暗号化方法および復号キーに基づき次データ部分を暗号化する。
【０００７】
また、本発明の第２局面による情報処理装置の制御方法は、元データを複数のデータ部分に分割し、複数のデータ部分を１つずつ順番に暗号化する情報処理装置の制御方法であって、現在暗号化すべきデータ部分である暗号化対象データ部分を認識するステップと、暗号化対象データ部分の次に暗号化すべきデータ部分である次データ部分の暗号化方法および当該暗号化方法で暗号化された次データ部分の復号に必要な復号キーの入力を受け付けるステップと、元データから暗号化対象データ部分を抽出するステップと、次データ部分の暗号化方法および次データ部分の復号キーを含む次データ情報を暗号化対象データ部分に付した結合データを生成するステップと、結合データを暗号化するステップと、を備え、次データ部分を暗号化するときには、暗号化対象データ部分に付した次データ情報に含まれる暗号化方法および復号キーに基づき次データ部分を暗号化する。
【０００８】
本発明の構成では、複数のデータ部分のうち、最初に暗号化されたデータ部分（ここでは、第１データ部分と称する）を復号しなければ、次に暗号化されたデータ部分（ここでは、第２データ部分と称する）を復号することができない。なぜなら、暗号化された第２データ部分の復号に必要な復号キー（次データ情報）が第１データ部分と共に暗号化されているためである。同様に、第２データ部分の次に暗号化されたデータ部分を復号するには、第２データ部分の復号が必要となる。したがって、第１データ部分以外のデータ部分が第三者によって取得されたとしても、当該データ部分を第三者は復号することができない。これにより、元データの内容が第三者に漏洩するのを抑制することができる。
【発明の効果】
【０００９】
以上のように、本発明によれば、複数のデータ部分に分割した元データの内容が漏洩するのを抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態による情報処理装置を示す図
【図２】本発明の一実施形態による情報処理装置により行われる分割保存処理の流れを示す図
【図３】本発明の一実施形態による情報処理装置により生成される結合データを示す図
【図４】本発明の一実施形態による情報処理装置により行われる分割保存処理の流れを示す図
【図５】本発明の一実施形態による情報処理装置によりデータ部分に付される次データ情報を示す図
【図６】本発明の一実施形態による情報処理装置によりデータ部分に付される最終情報を示す図
【図７】本発明の一実施形態による情報処理装置により分割保存されたデータ部分の保存先を示す図
【図８】本発明の一実施形態による情報処理装置により行われる再構築処理の流れを示す図
【図９】本発明の一実施形態による情報処理装置により再構築された元データを示す図
【発明を実施するための形態】
【００１１】
＜情報処理装置の構成＞
本実施形態の情報処理装置１００は、図１に示すような構成を有する。情報処理装置１００は、たとえば、ノート型やデスクトップ型のパーソナルコンピューターである。あるいは、情報処理装置１００がスマートフォンやタブレット端末などの携帯端末であってもよい。
【００１２】
情報処理装置１００は、制御部１、記憶部２、表示部３、入力部４、ＵＳＢインターフェイス部５およびネットワーク通信部６を備える。
【００１３】
制御部１は、ＣＰＵを含む。制御部１は、制御用のプログラムおよびデータに基づき動作し、情報処理装置１００の各部を制御するための処理を行う。また、制御部１は、後述するが、暗号化処理および復号化処理を行う。
【００１４】
記憶部２は、不揮発性メモリー（ＲＯＭ）および揮発性メモリー（ＲＡＭ）を含む。記憶部２は、制御部１（ＣＰＵ）を動作させるための制御用のプログラムおよびデータを記憶する。また、記憶部２は、制御部１に暗号化処理を行わせるための暗号化プログラムＰ１を記憶するとともに、制御部１に復号化処理を行わせるための復号化プログラムＰ２を記憶する。さらに、記憶部２は、情報処理装置１００にインストールされたデータ分割アプリケーションＡＰ１（以下、データ分割アプリＡＰ１と称する）を記憶するとともに、情報処理装置１００にインストールされたデータ再構築アプリケーションＡＰ２（以下、データ再構築アプリＡＰ２と称する）を記憶する。
【００１５】
表示部３は、各種画面を表示する。表示部３は、たとえば、ＬＣＤなどの表示装置である。入力部４は、ユーザーから入力操作を受け付ける。入力部４は、たとえば、ハードウェアキーボードなどの入力装置である。制御部１は、表示部３の表示動作を制御する。また、制御部１は、入力部４がユーザーから受け付けた入力操作を検知する。
【００１６】
ＵＳＢインターフェイス部５は、ＵＳＢメモリーなどのＵＳＢデバイス２００を情報処理装置１００に装着するためのインターフェイスである。ＵＳＢインターフェイス部５は、ＵＳＢデバイス２００の端子が差し込まれるソケットや、当該ソケットに差し込まれたＵＳＢデバイス２００との間で通信を行うためのＵＳＢ通信回路などを含む。
【００１７】
制御部１は、ＵＳＢインターフェィス部５のＵＳＢ通信回路を制御し、ＵＳＢインターフェイス部５に装着されたＵＳＢデバイス２００と通信する。すなわち、制御部１は、ＵＳＢデバイス２００にデータを記憶させたり、ＵＳＢデバイス２００からデータを読み出したりする。
【００１８】
ネットワーク通信部６は、インターネットなどの広域ネットワークＮＴに情報処理装置１００を接続するためのインターフェイスである。たとえば、ネットワーク通信部６は、ＬＡＮ通信を行うためのＬＡＮ通信回路などを含む。そして、ネットワーク通信部６は、無線ＬＡＮアクセスポイントとして機能するルーターＲＴに接続される。
【００１９】
制御部１は、ネットワーク通信部６のＬＡＮ通信回路を制御し、広域ネットワークＮＴに接続された外部機器と通信する。以下の説明では、外部機器として外部サーバー３００が広域ネットワークＮＴに接続されているとする。この場合、情報処理装置１００から外部サーバー３００にデータを送信し当該データを外部サーバー３００に保存することができる。また、外部サーバー３００に保存されたデータを情報処理装置１００に取得させることができる。たとえば、広域ネットワークＮＴに接続される外部サーバー３００は複数存在する。
【００２０】
＜データの分割保存＞
情報処理装置１００にデータ分割アプリＡＰ１をインストールすることにより、ユーザー指定の元データを複数のデータ部分に分割し、当該分割した複数のデータ部分をデータ部分ごとに暗号化して別々に保存する分割保存処理（暗号化処理を含む処理）を情報処理装置１００（制御部１）に行わせることができる。なお、分割保存可能なデータの種類は特に限定されない。情報処理装置１００で生成されたデータを分割保存することもできるし、ＵＳＢインターフェイス部５やネットワーク通信部６を介して情報処理装置１００に入力されたデータ（外部で生成されたデータ）を分割保存することもできる。
【００２１】
制御部１は、データ分割アプリＡＰ１の起動を指示する入力操作を入力部４が受け付けたことを検知すると、データ分割アプリＡＰ１を起動させる。そして、制御部１は、図２に示すフローチャートに沿った処理（暗号化処理を含む分割保存処理）を実行する。
【００２２】
ステップＳ１において、制御部１は、ユーザー指定の元データを認識する。たとえば、制御部１は、元データの指定をユーザーから受け付ける受付画面（図示せず）を表示部３に表示させる。これにより、元データを指定する入力操作が入力部４に対して行われる。
【００２３】
ステップＳ２において、制御部１は、元データから最初に分割する１つ目のデータ部分のデータサイズを認識する。たとえば、制御部１は、データサイズの指定をユーザーから受け付ける受付画面（図示せず）を表示部３に表示させる。これにより、データサイズを指定する入力操作が入力部４に対して行われる。
【００２４】
ステップＳ３において、制御部１は、元データのうち入力部４が受け付けたデータサイズ分のデータを現在暗号化すべき暗号化対象データ部分と認識する。ここでは、１つ目のデータ部分が暗号化対象データ部分となる。
【００２５】
ステップＳ４において、制御部１は、暗号化対象データ部分（１つ目のデータ部分）に関する設定をユーザーから受け付ける受付画面（図示せず）を表示部３に表示させる。これにより、暗号化対象データ部分（１つ目のデータ部分）に関する設定を行うための入力操作が入力部４に対して行われる。このとき、暗号化対象データ部分（１つ目のデータ部分）の暗号化方法（以下、最初データ暗号化方法と称する）、および、最初データ暗号化方法で暗号化された暗号化対象データ部分（１つ目のデータ部分）の復号に必要な復号キー（以下、最初データ復号キーと称する）の受け付けが行われる。また、暗号化対象データ部分（１つ目のデータ部分）の保存先、および、当該保存先にアクセスするためのアカウントの受け付けが行われる。
【００２６】
ステップＳ５において、制御部１は、暗号化対象データ部分（１つ目のデータ部分）の次に暗号化すべきデータ部分である次データ部分（２つ目のデータ部分）に関する設定をユーザーから受け付ける受付画面（図示せず）を表示部３に表示させる。これにより、次データ部分（２つ目のデータ部分）に関する設定を行うための入力操作が入力部４に対して行われる。
【００２７】
このとき、次データ部分（２つ目のデータ部分）の暗号化方法、および、当該暗号化方法で暗号化された次データ部分（２つ目のデータ部分）の復号に必要な復号キーの受け付けが行われる。また、次データ部分（２つ目のデータ部分）の保存先、および、当該保存先にアクセスするためのアカウントの受け付けが行われる。
【００２８】
ステップＳ６において、制御部１は、ステップＳ２の処理で認識したデータサイズ分のデータを元データから分割し、暗号化の対象として抽出する。すなわち、制御部１は、元データから暗号化対象データ部分（１つ目のデータ部分）を抽出する。
【００２９】
ステップＳ７において、制御部１は、暗号化対象データ部分（１つ目のデータ部分）に次データ情報を付加した結合データ（Ｃｒｕｍｂ）を生成する。暗号化対象データ部分に付す次データ情報は、図３に示すように、ステップＳ５の処理でユーザーから受け付けた各種情報、すなわち、保存先（ｎｅｘｔＣｒｕｍｂ．Ｌｏｃａｔｉｏｎ）、アカウント（ｎｅｘｔＣｒｕｍｂ．Ｃｒｅｄｅｎｔｉａｌｓ）、暗号化方法（ｎｅｘｔＣｒｕｍｂ．Ｍｅｔｈｏｄ）、および、復号キー（ｎｅｘｔＣｒｕｍｂ．Ｒｅｑｕｉｒｅｍｅｎｔｓ）を含む。たとえば、次データ情報はヘッダー情報として暗号化対象データ部分に付される。なお、図３において、「Ｐａｙｌｏａｄ．Ｓｉｚｅ」は暗号化対象データ部分のデータサイズを表しており、「Ｐａｙｌｏａｄ．Ｄａｔａ」は暗号化対象データ部分のデータ本文を表している。
【００３０】
図２に戻って、ステップＳ８において、制御部１は、暗号化処理を行うことにより、次データ情報を付加した暗号化対象データ部分（１つ目のデータ部分）を次データ情報と共に暗号化する。すなわち、制御部１は、暗号化対象データ部分（１つ目のデータ部分）を含む結合データを暗号化する。このとき、制御部１は、ステップＳ４の処理でユーザーから受け付けた最初データ暗号化方法および最初データ復号キーに基づき暗号化する。
【００３１】
ステップＳ９において、制御部１は、ステップＳ４の処理でユーザーから受け付けた暗号化対象データ部分（１つ目のデータ部分）の保存先を認識する。そして、制御部１は、当該認識した保存先に暗号化した暗号化対象データ部分（結合データ）を保存する。暗号化対象データ部分の保存先はユーザーが任意に指定することができる。たとえば、情報処理装置１００の記憶部２が保存先であってもよいし、情報処理装置１００に接続されたＵＳＢデバイス２００が保存先であってもよいし、複数の外部サーバー３００のいずれかが保存先であってもよい。
【００３２】
元データから最初に分割した１つ目のデータ部分を暗号化し保存した後、制御部１は、図４に示すフローチャートに沿った処理（暗号化処理を含む分割保存処理）を実行する。
【００３３】
ステップＳ１１において、制御部１は、残りの元データから次に分割するデータ部分のデータサイズを認識する。このとき、制御部１は、図２に示すステップＳ２の処理と同様、データサイズの指定をユーザーから受け付ける受付画面を表示部３に表示させる。これにより、データサイズを指定する入力操作が入力部４に対して行われる。
【００３４】
ステップＳ１２において、制御部１は、残りの元データのうち入力部４が受け付けたデータサイズ分のデータを新たな暗号化対象データ部分（現在暗号化すべき暗号化対象データ部分）と認識する。
【００３５】
ステップＳ１３において、制御部１は、暗号化対象データ部分を含む残りの元データのデータサイズを認識し、当該認識したデータサイズ（残サイズ）がステップＳ１１の処理で認識したデータサイズ（ユーザーが指定した指定サイズ）よりも大きいか否かを判断する。その結果、残サイズがユーザー指定サイズよりも大きいと制御部１が判断した場合には、ステップＳ１４に移行する。
【００３６】
ステップＳ１４において、制御部１は、暗号化対象データ部分の次に暗号化すべきデータ部分である次データ部分に関する設定をユーザーから受け付ける受付画面（図示せず）を表示部３に表示させる。これにより、次データ部分に関する設定を行うための入力操作が入力部４に対して行われる。暗号化対象データ部分が２つ目のデータ部分である場合には、３つ目のデータ部分（次データ部分）に関する設定の受け付けが行われ、暗号化対象データ部分が３つ目のデータ部分である場合には、４つ目のデータ部分（次データ部分）に関する設定の受け付けが行われる。
【００３７】
このとき、次データ部分の暗号化方法、および、当該暗号化方法で暗号化された次データ部分の復号に必要な復号キーの受け付けが行われる。また、次データ部分の保存先、および、当該保存先にアクセスするためのアカウントの受け付けが行われる。
【００３８】
ステップＳ１４の処理が終わると、ステップＳ１５に移行する。ステップＳ１３において、残サイズが指定サイズ以下であると制御部１が判断した場合には、ステップＳ１４の処理が省略され、ステップＳ１５に移行する。この場合、制御部１は、暗号化対象データ部分が最終のデータ部分（最後に暗号化するデータ部分）であると判断する。
【００３９】
ステップＳ１５において、制御部１は、ステップＳ１１の処理で認識したデータサイズ分のデータを元データから分割し、直後に行う暗号化の対象として抽出する。すなわち、制御部１は、元データから暗号化対象データ部分を抽出する。なお、暗号化対象データ部分が最終のデータ部分である場合には、残りの元データの全ての部分が直後に行われる暗号化の対象として抽出される。
【００４０】
ステップＳ１６において、制御部１は、暗号化対象データ部分に次データ情報を付した結合データを生成する。このときに暗号化対象データ部分に付す次データ情報は、ステップＳ１４の処理でユーザーから受け付けた各種情報（保存先、アカウント、暗号化方法および復号キー）を含む。
【００４１】
なお、制御部１は、暗号化対象データ部分が最終のデータ部分であれば、次に暗号化すべきデータ部分が存在しないことを示す最終情報を次データ情報の代わりに暗号化対象データ部分に付す。たとえば、暗号化対象データ部分が最終のデータ部分でない場合には、図５に示すように、ステップＳ１４の処理でユーザーが入力した各種情報、すなわち、保存先（ｎｅｘｔＣｒｕｍｂ．Ｌｏｃａｔｉｏｎ）、アカウント（ｎｅｘｔＣｒｕｍｂ．Ｃｒｅｄｅｎｔｉａｌｓ）、暗号化方法（ｎｅｘｔＣｒｕｍｂ．Ｍｅｔｈｏｄ）、および、復号キー（ｎｅｘｔＣｒｕｍｂ．Ｒｅｑｕｉｒｅｍｅｎｔｓ）が次データ情報に含められる。一方で、暗号化対象データ部分が最終のデータ部分である場合には、図６に示すように、ＮＵＬＬ情報が最終情報として暗号化対象データ部分に付される。
【００４２】
図４に戻って、ステップＳ１７において、制御部１は、暗号化処理を行うことにより、次データ情報（または、最終情報）を付加した暗号化対象データ部分を次データ情報（または、最終情報）と共に暗号化する。すなわち、制御部１は、暗号化対象データ部分を含む結合データを暗号化する。このとき、制御部１は、暗号化対象データ部分の１つ前に暗号化したデータ部分の次データ情報で示される暗号化方法および復号キーを認識する。そして、制御部１は、当該認識した暗号化方法および復号キーに基づき暗号化対象データ部分を暗号化する。たとえば、暗号化対象データ部分が２つ目のデータ部分である場合には、１つ目のデータ部分の次データ情報で示される暗号化方法および復号キーに基づき暗号化対象データ部分が暗号化され、暗号化対象データ部分が３つ目のデータ部分である場合には、２つ目のデータ部分の次データ情報で示される暗号化方法および復号キーに基づき暗号化対象データ部分が暗号化される。
【００４３】
ステップＳ１８において、制御部１は、暗号化した暗号化対象データ部分（結合データ）を保存する。このとき、制御部１は、暗号化対象データ部分の１つ前に暗号化したデータ部分の次データ情報で示される保存先を認識する。そして、制御部１は、当該認識した保存先に暗号化した暗号化対象データ部分を保存する。たとえば、暗号化対象データ部分が２つ目のデータ部分である場合には、１つ目のデータ部分の次データ情報で示される保存先に暗号化された暗号化対象データ部分が保存され、暗号化対象データ部分が３つ目のデータ部分である場合には、２つ目のデータ部分の次データ情報で示される保存先に暗号化された暗号化対象データ部分が保存される。なお、暗号化対象データ部分の保存先はユーザーが任意に指定することができる、たとえば、情報処理装置１００の記憶部２が保存先であってもよいし、情報処理装置１００に接続されたＵＳＢデバイス２００が保存先であってもよいし、複数の外部サーバー３００のいずれかが保存先であってもよい。
【００４４】
ステップＳ１９において、制御部１は、ステップＳ１８の処理で保存した暗号化対象データ部分（結合データ）が最終のデータ部分であるか否かを判断する。その結果、最終のデータ部分であると制御部１が判断した場合には、本フローは終了する。一方で、最終のデータ部分ではないと制御部１が判断した場合には、ステップＳ１１に移行する。すなわち、最終のデータ部分の暗号化が完了するまで、図４に示すフローチャートに沿った処理が繰り返される。
【００４５】
たとえば、元データを５つのデータ部分に分割すると、図７に示すように、５つの結合データＤ１、Ｄ２、Ｄ３、Ｄ４およびＤ５がこの順番で生成され暗号化される。この場合、暗号化された５つの結合データＤ１〜Ｄ５を互いに異なる保存先に保存することができる。また、暗号化された結合データＤ１〜Ｄ５の各復号キーを互いに異ならせることもできる。図７では、情報処理装置１００に装着されたＵＳＢデバイス２００に結合データＤ１が保存され、情報処理装置１００に通信可能に接続された複数の外部サーバー３００（３００Ａ、３００Ｂ、３００Ｃおよび３００Ｄ）にそれぞれ結合データＤ２〜Ｄ５が保存された状態を図示する。
【００４６】
＜データの再構築＞
情報処理装置１００にデータ再構築アプリＡＰ２をインストールすることにより、データ分割アプリＡＰ１を用いて分割した複数のデータ部分から元データを再構築する再構築処理（復号化処理を含む処理）を情報処理装置１００（制御部１）に行わせることができる。
【００４７】
制御部１は、データ再構築アプリＡＰ２の起動を指示する入力操作を入力部４が受け付けたことを検知すると、データ再構築アプリＡＰ２を起動させる。そして、制御部１は、図８に示すフローチャートに沿った処理（復号化処理を含む再構築処理）を実行する。
【００４８】
ステップＳ２１において、制御部１は、次データ情報を付して暗号化した１つ目のデータ部分（結合データ）を復号するための復号情報（以下、最初データ復号情報と称する）の入力を受け付ける受付画面（図示せず）を表示部３に表示させる。これにより、最初データ復号情報を入力する入力操作が入力部４に対して行われる。
【００４９】
ステップＳ２２において、制御部１は、図２に示すステップＳ４の処理でユーザーから受け付けた最初データ復号キーと入力部４が今回受け付けた最初データ復号情報とに基づき、暗号化された１つ目のデータ部分の復号を許可する許可条件を満たすか否かを判断する。その結果、許可条件を満たすと制御部１が判断した場合には、ステップＳ２３に移行し、許可条件を満たさないと制御部１が判断した場合には、本フローは終了する。
【００５０】
たとえば、制御部１は、最初データ復号情報としてキーの入力の受け付けを入力部４に行わせる。そして、制御部１は、入力部４が受け付けたキー（最初データ復号情報）と最初データ復号キーとが一致した場合に、許可条件を満たすと判断する。
【００５１】
ステップＳ２３において、制御部１は、最初データ復号キーを用いて、暗号化された１つ目のデータ部分を復号する。このとき、１つ目のデータ部分の次データ情報も復号される。すなわち、次データ情報が付された１つ目のデータ部分を含む結合データが復号される。これにより、暗号化方法、復号キー、保存先およびアカウントなど、次データ情報に含まれる各種情報の認識が可能となる。
【００５２】
ステップＳ２４において、制御部１は、直近に復号したデータ部分の次データ情報に含まれる暗号化方法および復号キーに基づき暗号化されたデータ部分（結合データ）を次に復号すべき復号対象データ部分と認識する。直近に復号したデータ部分が１つ目のデータ部分である場合、暗号化された２つ目のデータ部分が復号対象データ部分となる。直近に復号したデータ部分が２つ目のデータ部分である場合、暗号化された３つ目のデータ部分が復号対象データ部分となる。また、制御部１は、復号対象データ部分の保存先および当該保存先のアカウントを認識する。なお、復号対象データ部分の保存先および当該保存先のアカウントは、直近に復号したデータ部分の次データ情報に含まれる。
【００５３】
ステップＳ２５において、制御部１は、復号対象データ部分の保存先に対し当該保存先のアカウントを用いてアクセスを試みる。そして、制御部１は、復号対象データ部分の保存先にアクセスできたか否かを判断する。その結果、復号対象データ部分の保存先にアクセスできたと制御部１が判断した場合には、ステップＳ２６に移行し、復号対象データ部分の保存先にアクセスできなかったと制御部１が判断した場合には、復号対象データ部分の復号は行われず、本フローは終了する。たとえば、ＵＳＢデバイス２００に復号対象データ部分が保存されている場合、当該ＵＳＢデバイス２００が情報処理装置１００に装着されていなければ、復号対象データ部分の保存先にアクセスできなかったと制御部１が判断する。また、いずれかの外部サーバー３００に復号対象データ部分が保存されている場合、当該外部サーバー３００が広域ネットワークＮＴに接続されていなければ、復号対象データ部分の保存先にアクセスできなかったと制御部１が判断する。
【００５４】
ステップＳ２６において、制御部１は、復号対象データ部分の保存先から、復号対象データ部分を取得する。復号対象データ部分は記憶部２に一旦記憶される。
【００５５】
ステップＳ２７において、制御部１は、復号対象データ部分を復号するための復号情報（以下、次データ復号情報と称する）の入力をユーザーから受け付ける受付画面（図示せず）を表示部３に表示させる。これにより、次データ復号情報を入力する入力操作が入力部４に対して行われる。
【００５６】
ステップＳ２８において、制御部１は、復号対象データ部分の復号キーを認識する。なお、復号対象データ部分の複合キーは、直近に復号したデータ部分の次データ情報に含まれる。そして、制御部１は、復号対象データ部分の復号キーと入力部４が今回受け付けた次データ復号情報とに基づき、復号対象データ部分の復号を許可する許可条件を満たすか否かを判断する。その結果、許可条件を満たすと制御部１が判断した場合には、ステップＳ２９に移行し、許可条件を満たさないと制御部１が判断した場合には、本フローは終了する。
【００５７】
たとえば、制御部１は、次データ復号情報としてキーの入力の受け付けを入力部４に行わせる。そして、制御部１は、入力部４が受け付けたキー（次データ復号情報）と復号対象データ部分の復号キーとが一致した場合に、許可条件を満たすと判断する。
【００５８】
ステップＳ２９において、制御部１は、復号対象データ部分の復号キーを用いて、復号対象データ部分を復号する。なお、入力部４が受け付けたキー（次データ復号情報）と復号対象データ部分の復号キーとが一致しない場合には、復号対象データ部分の復号は行われない。ただし、入力部４が受け付けたキー（次データ復号情報）と復号対象データ部分の復号キーとが一致しない場合に、復号対象データ部分を復号するためのキーの入力を再度受け付け、入力部４が再度受け付けたキー（次データ復号情報）と復号対象データ部分の復号キーとが一致すれば、復号対象データ部分の復号を行ってもよい。
【００５９】
ステップＳ３０において、制御部１は、復号した復号対象データ部分に次データ情報が付されているか否かを判断する。その結果、復号した復号対象データ部分に次データ情報が付されていると制御部１が判断した場合には、ステップＳ２４に移行する。ステップＳ２４に移行すると、制御部１は、復号した復号対象データ部分の次データ情報に含まれる暗号化方法および復号キーに基づき暗号化されたデータ部分（結合データ）を新たな復号対象データ部分（次に復号すべき復号対象データ部分）と認識する。
【００６０】
ステップＳ３０において、復号した復号対象データ部分に次データ情報が付されていないと制御部１が判断した場合には、ステップＳ３１に移行する。復号した復号対象データ部分に次データ情報が付されていないということは、次データ情報の代わりに最終情報が付されているということである。すなわち、元データから分割し暗号化した複数のデータ部分の全ての復号が完了（成功）したということである。
【００６１】
ステップＳ３１において、制御部１は、復号した複数のデータ部分から元データを再構築する処理を行う。元データの再構築が完了すると、本フローは終了する。
【００６２】
たとえば、図７に示したように、結合データＤ１〜Ｄ５が互いに異なる保存先に保存されていたとする。この場合、制御部１による再構築処理（復号化処理を含む処理）が行われると、結合データＤ１〜Ｄ５がこの順番で情報処理装置１００に転送され復号される。そして、図９に示すように、結合データＤ１〜Ｄ５のそれぞれのデータ部分Ｄ１１〜Ｄ１５から元データが再構築される。ただし、結合データＤ１〜Ｄ５のいずれかの復号に失敗した場合には、以降は結合データの復号は行われず、元データの再構築も行われない。
【００６３】
本実施形態の情報処理装置１００は、上記のように、ユーザーから入力を受け付ける入力部４と、元データを複数のデータ部分に分割し、複数のデータ部分を１つずつ順番に暗号化する制御部１と、を備える。制御部１は、現在暗号化すべきデータ部分である暗号化対象データ部分を暗号化するとき、暗号化対象データ部分の次に暗号化すべきデータ部分である次データ部分が存在すれば、次データ部分の暗号化方法および当該暗号化方法で暗号化された次データ部分の復号に必要な復号キーの入力の受け付けを入力部４に行わせ、次データ部分の暗号化方法および次データ部分の復号キーを含む次データ情報を暗号化対象データ部分に付すとともに、次データ情報を付した暗号化対象データ部分を次データ情報と共に暗号化し、その後、次データ部分を暗号化するときには、暗号化対象データ部分に付した次データ情報に含まれる暗号化方法および復号キーに基づき次データ部分を暗号化する。
【００６４】
本実施形態の構成では、複数のデータ部分のうち、最初に暗号化されたデータ部分（ここでは、第１データ部分と称する）を復号しなければ、次に暗号化されたデータ部分（ここでは、第２データ部分と称する）を復号することができない。なぜなら、暗号化された第２データ部分の復号に必要な復号キー（次データ情報）が第１データ部分と共に暗号化されているためである。同様に、第２データ部分の次に暗号化されたデータ部分を復号するには、第２データ部分の復号が必要となる。したがって、第１データ部分以外のデータ部分が第三者によって取得されたとしても、当該データ部分を第三者は復号することができない。これにより、元データの内容が第三者に漏洩するのを抑制することができる。
【００６５】
また、本実施形態では、上記のように、制御部１は、暗号化対象データ部分を暗号化するとき、暗号化対象データ部分の前に暗号化したデータ部分が存在しなければ、暗号化対象データ部分の暗号化方法および当該暗号化方法で暗号化された暗号化対象データ部分の復号に必要な復号キーの入力の受け付けを入力部４に行わせ、入力部４が受け付けた暗号化対象データ部分の暗号化方法および暗号化対象データ部分の復号キーに基づき暗号化対象データ部分を暗号化する。これにより、最初に暗号化するデータ部分の暗号化方法や復号キーをユーザーが任意に設定することができる。したがって、最初に暗号化したデータ部分が復号されるのを抑制することができる。
【００６６】
また、本実施形態では、上記のように、制御部１は、暗号化対象データ部分を暗号化するとき、暗号化対象データ部分の次に暗号化すべきデータ部分が存在しなければ、次に暗号化すべきデータ部分が存在しないことを示す最終情報を次データ情報の代わりに暗号化対象データ部分に付すとともに、最終情報を付した暗号化対象データを最終情報と共に暗号化する。これにより、暗号化された複数のデータ部分を順次復号する処理を行うときに、元データの再構築に必要な全てのデータ部分の復号が完了したか否かを制御部１が容易に判断することができる。
【００６７】
また、本実施形態では、上記のように、制御部１は、暗号化対象データ部分を暗号化するとき、次データ部分の保存先および当該保存先にアクセスするためのアカウントの入力の受け付けを入力部４に行わせ、次データ部分の保存先および当該保存先のアカウントを暗号化対象データ部分に付す次データ情報に含め、その後、次データ部分を暗号化すると、暗号化対象データ部分に付した次データ情報に含まれる保存先に暗号化した次データ部分を保存する。これにより、暗号化したデータ部分の保存先をユーザーが任意に選択することができるようになる。
【００６８】
また、本実施形態では、上記のように、制御部１は、次データ情報を付して暗号化したデータ部分を復号したとき、当該復号したデータ部分の次データ情報に含まれる暗号化方法および復号キーに基づき暗号化されたデータ部分を次に復号すべき復号対象データ部分と認識するとともに、復号対象データ部分を復号するための復号情報の入力の受け付けを入力部に行わせ、入力部が受け付けた復号情報に基づき復号対象データ部分の復号を許可する許可条件を満たすか否かを判断し、許可条件を満たせば、復号対象データ部分の復号キーを用いて復号対象データ部分を復号する。これにより、データ部分を復号するには正しい復号情報の入力が必要となるので、第三者により不正に復号されるのを抑制することができる。
【００６９】
また、本実施形態では、上記のように、制御部１は、復号対象データ部分の保存先に対し当該保存先のアカウントを用いてアクセスを試み、復号対象データ部分の保存先にアクセスできなければ、復号対象データ部分を復号しない。これにより、たとえば、或るデータ部分を復号するための復号情報が第三者に知られたとしても、当該データ部分の保存先のアカウントを変更することにより、当該データ部分の内容が第三者に漏洩するのを抑制することができる。
【００７０】
また、本実施形態では、上記のように、制御部１は、暗号化された複数のデータ部分の全ての復号に成功したとき、復号した複数のデータ部分から元データを再構築する処理を行う。これにより、ユーザーは再構築された元データを容易に得ることができる。
【００７１】
今回開示された実施形態は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記実施形態の説明ではなく特許請求の範囲によって示され、さらに、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【符号の説明】
【００７２】
１  制御部
４  入力部
１００  情報処理装置
【図１】
2019029761.tif 000003
【図２】
2019029761.tif 000004
【図３】
2019029761.tif 000005
【図４】
2019029761.tif 000006
【図５】
2019029761.tif 000007
【図６】
2019029761.tif 000008
【図７】
2019029761.tif 000009
【図８】
2019029761.tif 000010
【図９】
2019029761.tif 000011