説明

端末、及び、この端末に適用されるプログラム

【課題】 サーバの処理負荷の軽減を図るとともに、サーバが暗号化したデータをサーバに接続されていない状態で復号することが可能な端末、及び、この端末に適用されるプログラムを提供する。
【解決手段】 サーバ200に格納されたデータをサーバ200から取得する端末100が、データを暗号化する暗号鍵の生成に用いられる鍵生成情報をサーバ200に送信し、鍵生成情報に基づいて生成される暗号鍵によってサーバ200が暗号化したデータをサーバ200から取得する通信部101と、サーバ200に接続されていない状態で、鍵生成情報に基づいて生成される復号鍵によってサーバ200が暗号化したデータを復号する復号処理部109とを備え、鍵生成情報は、サーバ200に再接続された際に更新される状態IDを少なくとも含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバが暗号化したデータを取得するとともに、サーバに接続されていない状態で、サーバが暗号化したデータを復号する端末、及び、この端末に適用されるプログラムを提供することを目的とする。
【背景技術】
【0002】
従来、サーバに接続された状態(オンライン)でサーバに格納されたデータをユーザに提供するとともに、サーバに接続されていない状態(オフライン)でデータをユーザに提供するために、サーバに接続された状態でサーバが暗号化したデータを予め取得する端末(例えば、モバイル端末)が一般的に知られている。
【0003】
具体的には、端末は、サーバによって暗号鍵で暗号化された暗号化データをサーバから取得するとともに、暗号化データを復号するために用いる復号鍵をサーバから取得し、取得した復号鍵によって暗号化データを復号する。また、端末が再びサーバに接続されると、サーバから取得した復号鍵は失効する(例えば、特許文献1)。
【0004】
このように、従来の技術では、端末がサーバに接続されていない状態でもデータをユーザに提供可能とする一方で、端末が再びサーバに接続された際に復号鍵を失効させることによって、データが無制限に復号可能な状態となって、データが不正に使用されることを防止している。
【特許文献1】特開2003−228520号公報(〔0154〕段落、図7B等)
【発明の開示】
【発明が解決しようとする課題】
【0005】
ここで、一般に、データを保護する観点から、暗号化データを復号するために用いられる復号鍵は、端末毎に異なる方が好ましい。
【0006】
従って、サーバは、暗号化データを要求する端末の数が増加すると、複数の端末毎に異なる復号鍵を割当てて、端末毎に割当てた復号鍵を端末に通知しなければならないため、サーバの処理負荷が増加する。
【0007】
そこで、本発明は、上述した課題を解決するためになされたものであり、サーバの処理負荷の軽減を図るとともに、サーバが暗号化したデータをサーバに接続されていない状態で復号することが可能な端末、及び、この端末に適用されるプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の第1の特徴は、サーバに格納されたデータをサーバから取得する端末が、データを暗号化する暗号鍵の生成に用いられる鍵生成情報をサーバに送信する送信部(通信部101)と、鍵生成情報に基づいて生成される暗号鍵によってサーバが暗号化したデータである暗号化データをサーバから取得する情報取得部(通信部101)と、サーバに接続されていない状態で、鍵生成情報に基づいて生成される復号鍵によって暗号化データを復号するデータ復号部(復号処理部109)とを備え、鍵生成情報が、サーバに再接続された際に更新される状態情報(状態ID)を少なくとも含むことを要旨とする。
【0009】
かかる特徴によれば、データ復号部が、サーバに送信した鍵生成情報に基づいて生成される復号鍵によって、サーバが鍵生成情報に基づいて生成した暗号鍵によって暗号化した暗号化データを復号することにより、暗号化データを復号する復号鍵が複数の端末間で重複しないようにサーバが復号鍵を端末に割当てるとともに、割当てた復号鍵をサーバが端末に通知する必要がなくなる。
【0010】
従って、端末は、サーバの処理負荷の軽減を図るとともに、サーバに接続されていない状態でサーバが暗号化した暗号化データを復号することができる。
【0011】
また、端末がサーバに再接続された際に更新される状態IDを鍵生成情報が含むことにより、端末は、サーバに再接続された後に暗号化データを復号することができない。従って、端末は、暗号化データが無制限に復号されて、データが不正に使用される可能性を軽減することができる。
【0012】
本発明の第2の特徴は、本発明の第1の特徴において、暗号化データの復号を許可するか否かを判定する制御情報処理部(制御情報処理部110)を端末がさらに備え、情報取得部が、暗号化データの復号が許容される期間である復号可能期間又は暗号化データの復号が許容される回数である復号可能回数を含む制御情報をサーバから取得し、制御情報処理部が、情報取得部によって取得される制御情報に基づいて、暗号化データの復号を許可するか否かを判定することを要旨とする。
【0013】
本発明の第3の特徴は、本発明の第2の特徴において、情報取得部が、鍵生成情報に基づいて生成される暗号鍵によってサーバが暗号化した制御情報である暗号化制御情報をサーバから取得し、制御情報処理部が、鍵生成情報に基づいて生成される復号鍵によって、暗号化制御情報を復号することを要旨とする。
【0014】
本発明の第4の特徴は、本発明の第2の特徴において、情報取得部が、鍵生成情報に基づいて生成される暗号鍵とは異なる制御情報暗号鍵によってサーバが暗号化した制御情報である暗号化制御情報をサーバから取得し、制御情報処理部が、制御情報暗号鍵に対応する制御情報復号鍵によって、暗号化制御情報を復号することを要旨とする。
【0015】
本発明の第5の特徴は、サーバに格納されたデータをサーバから取得する端末が、データを暗号化するデータ鍵を少なくとも含む制御情報を暗号化する暗号鍵の生成に用いられる鍵生成情報をサーバに送信する送信部(通信部101)と、鍵生成情報に基づいて生成される暗号鍵によってサーバが暗号化した制御情報である暗号化制御情報と、データ鍵によってサーバが暗号化したデータである暗号化データとをサーバから取得する情報取得部(通信部101)と、サーバに接続されていない状態で、鍵生成情報に基づいて生成される復号鍵によって暗号化制御情報を復号する制御情報処理部(制御情報処理部110)と、制御情報処理部によって復号された制御情報に含まれるデータ鍵によって暗号化データを復号するデータ復号部(復号処理部109)とを備え、鍵生成情報が、サーバに再接続された際に更新される状態情報を少なくとも含むことを要旨とする。
【0016】
かかる特徴によれば、データ復号部が、サーバに送信した鍵生成情報に基づいて生成される復号鍵によって、サーバが鍵生成情報に基づいて生成した暗号鍵によって暗号化した暗号化制御情報を復号することにより、暗号化制御情報を復号する復号鍵が複数の端末間で重複しないようにサーバが復号鍵を端末に割当てるとともに、割当てた復号鍵をサーバが端末に通知する必要がなくなる。
【0017】
また、データ鍵を含む制御情報が暗号化されていることにより、複数の端末に同一のデータ鍵を割当てても、データを十分に保護することができる。
【0018】
従って、端末は、サーバの処理負荷の軽減を図るとともに、サーバに接続されていない状態でサーバが暗号化したデータを復号することができる。
【0019】
また、端末がサーバに再接続された際に更新される状態IDを鍵生成情報が含むことにより、端末は、サーバに再接続された後に暗号化データを復号することができない。従って、端末は、暗号化データが無制限に復号されて、データが不正に使用される可能性を軽減することができる。
【0020】
本発明の第6の特徴は、本発明の第5の特徴において、制御情報が、データ鍵に加えて、暗号化データの復号が許容される期間である復号可能期間又は暗号化データの復号が許容される回数である復号可能回数を含み、制御情報処理部が、制御情報に含まれる復号可能期間又は復号可能回数に基づいて、暗号化データの復号を許可するか否かを判定することを要旨とする。
【0021】
本発明の第7の特徴は、本発明の第1の特徴乃至第6の特徴において、送信部は、鍵生成情報を暗号化してからサーバに送信することを要旨とする。
【0022】
本発明の第8の特徴は、本発明の第1の特徴乃至第7の特徴において、サーバに接続されていない状態で暗号化データを復号した履歴を履歴情報として記憶する履歴情報記憶部(ログ情報記憶部112)を端末がさらに備え、送信部が、サーバに再接続された際に、履歴情報記憶部に記憶された履歴情報をサーバに送信することを要旨とする。
【0023】
本発明の第9の特徴は、サーバに格納されたデータをサーバから取得する端末に適用されるプログラムが、データを暗号化する暗号鍵の生成に用いられる鍵生成情報をサーバに送信する送信ステップと、鍵生成情報に基づいて生成される暗号鍵によってサーバが暗号化したデータである暗号化データをサーバから取得する情報取得ステップと、サーバに接続されていない状態で、鍵生成情報に基づいて生成される復号鍵によって暗号化データを復号するデータ復号ステップとをコンピュータに実行させ、鍵生成情報が、サーバに再接続された際に更新される状態情報を少なくとも含むことを要旨とする。
【0024】
本発明の第10の特徴は、サーバに格納されたデータをサーバから取得する端末に適用されるプログラムが、データを暗号化するデータ鍵を少なくとも含む制御情報を暗号化する暗号鍵の生成に用いられる鍵生成情報をサーバに送信する送信ステップと、鍵生成情報に基づいて生成される暗号鍵によってサーバが暗号化した制御情報である暗号化制御情報と、データ鍵によってサーバが暗号化したデータである暗号化データとをサーバから取得する情報取得ステップと、サーバに接続されていない状態で、鍵生成情報に基づいて生成される復号鍵によって暗号化制御情報を復号する制御情報処理ステップと、制御情報処理ステップで復号された制御情報に含まれるデータ鍵によって暗号化データを復号するデータ復号ステップとをコンピュータに実行させ、鍵生成情報は、サーバに再接続された際に更新される状態情報を少なくとも含むことを要旨とする。
【発明の効果】
【0025】
本発明によれば、サーバの処理負荷の軽減を図るとともに、サーバに接続されていない状態でサーバが暗号化したデータを復号することが可能な端末、及び、この端末に適用されるプログラムを提供することができる。
【発明を実施するための最良の形態】
【0026】
[第1実施形態]
(第1実施形態に係る通信システムの構成)
以下において、本発明の第1実施形態に係る通信システムの構成について、図面を参照しながら説明する。図1は、本発明の第1実施形態に係る通信システムの構成を示す図である。図1に示すように、通信システムは、端末100と、サーバ200と、ネットワーク300とによって構成される。
【0027】
具体的には、端末100は、ネットワーク300を通じてサーバ200に接続可能であり、サーバ200に接続された状態でサーバ200に格納されたデータを取得する。
【0028】
なお、以下において、端末100がサーバ200に接続された状態でデータを取得した後に、端末100がサーバ200に接続されていない状態となることを“チェックアウト”と称する。また、端末100がサーバ200に接続されていない状態からサーバ200に接続された状態となってデータの利用を終了することを“チェックイン”と称する。
【0029】
サーバ200は、端末100のユーザによって利用されるデータを格納し、端末100の要求に応じてデータを暗号化するとともに、暗号化された暗号化データを端末100に送信する。
【0030】
また、サーバ200は、端末100がチェックアウトした状態でデータを復号することが許容される期間(以下、復号可能期間)及び端末100がチェックアウトした状態でデータを復号することが許容される回数(以下、復号可能回数)を設定する。
【0031】
さらに、サーバ200は、設定した復号可能期間及び復号可能回数を含む制御情報を生成し、生成した制御情報を暗号化するとともに、暗号化された暗号化制御情報を端末100に送信する。
【0032】
ネットワーク300は、ファイヤウォール等によって外部からのアクセスが制限された有線LAN等である。
【0033】
(第1実施形態に係る端末の構成)
以下において、本発明の第1実施形態に係る端末の構成について、図面を参照しながら説明する。図2は、本発明の第1実施形態に係る端末100の構成を示すブロック図である。
【0034】
図2に示すように、端末100は、通信部101と、制御部102と、状態ID記憶部103と、端末ID記憶部104と、入力部105と、鍵生成情報生成部106と、暗号鍵記憶部107と、暗号処理部108と、復号処理部109と、制御情報処理部110と、出力部111と、ログ情報記憶部112とを有する。
【0035】
通信部101は、サーバ200に接続された状態でサーバ200と通信を行う。具体的には、通信部101は、サーバ200に接続されていない状態でデータを使用するために、暗号化データの送信を要求するチェックアウト要求をサーバ200に送信する。
【0036】
ここで、チェックアウト要求は、状態ID記憶部103に記憶される状態ID、入力部105から入力されるユーザID及び端末ID記憶部104に記憶される端末IDによって生成される鍵生成情報を含む。
【0037】
また、通信部101は、チェックアウト要求に含まれる鍵生成情報に基づいて生成される暗号鍵でサーバ200によって暗号化された暗号化データ及び暗号化制御情報を受信する。
【0038】
さらに、通信部101は、サーバ200に再接続された際に、データの使用を終了するためのチェックイン要求をサーバ200に送信する。ここで、チェックイン要求には、後述する復号処理部109が暗号化データを復号した時間や回数等のログ情報(履歴情報)が含まれる。
【0039】
制御部102は、端末100の各機能部(通信部101〜ログ情報記憶部112)を制御することによって、サーバ200から受信する暗号化データを復号する処理等を行う。なお、制御部102の動作の詳細については後述する(図4を参照)。
【0040】
状態ID記憶部103は、端末100がサーバ200に接続された状態であるか否かを示す状態IDを記憶する。ここで、状態IDは、端末100がサーバ200に接続されていない状態からサーバ200に接続された状態となった際に更新される乱数値である。
【0041】
端末ID記憶部104は、端末100を一意に識別する端末ID(例えば、製造番号等)を記憶する。なお、端末ID記憶部104は、端末100のMACアドレス等を端末IDとして記憶してもよい。
【0042】
入力部105は、ユーザを一意に識別するユーザIDを入力するためのキーボード等である。なお、入力部105は、ユーザを一意に識別する情報を取得するものであればよく、例えば、バイオメトリックスセンサーであってもよい。
【0043】
鍵生成情報生成部106は、状態ID記憶部103に記憶される状態ID、端末ID記憶部104に記憶される端末ID、入力部105に入力されるユーザIDに基づいて、データ及び制御情報を暗号化する暗号鍵を生成するための鍵生成情報を生成する。
【0044】
暗号鍵記憶部107は、サーバ200が管理するサーバ秘密鍵に対応するサーバ公開鍵を暗号鍵として記憶する。なお、サーバ公開鍵は、鍵生成情報を暗号化する際に用いられる鍵である。
【0045】
暗号処理部108は、暗号鍵記憶部107に記憶されるサーバ公開鍵で、鍵生成情報生成部106によって生成される鍵生成情報を暗号化して、暗号化鍵生成情報を取得する。
【0046】
復号処理部109は、サーバ200から受信する暗号化データを復号する。具体的には、復号処理部109は、鍵生成情報生成部106によって生成される鍵生成情報に基づいて復号鍵を生成するとともに、生成した復号鍵で暗号化データを復号して、復号データを取得する。
【0047】
制御情報処理部110は、鍵生成情報生成部106によって生成される鍵生成情報に基づいて復号鍵を生成するとともに、生成した復号鍵で暗号化制御情報を復号して、復号可能期間及び復号可能回数を取得する。
【0048】
また、制御情報処理部110は、復号処理部109が暗号化データを復号する際に、取得した復号可能期間及び復号可能回数を参照して、暗号化データの復号が許容されるか否かを判定する。
【0049】
さらに、制御情報処理部110は、復号処理部109によって暗号化データが復号されると、復号可能回数から“1”を減じる。また、制御情報処理部110は、鍵生成情報生成部106によって生成される鍵生成情報に基づいて暗号鍵を生成するとともに、生成した暗号鍵で、更新された復号可能回数を暗号化する。
【0050】
出力部111は、復号処理部109によって取得される復号データを画像等によって出力するディスプレイ等である。
【0051】
ログ情報記憶部112は、端末100がサーバ200に接続されていない状態で、サーバ200から受信する暗号化データを復号した回数や時間等をログ情報として記憶する。
【0052】
(第1実施形態に係る情報の種類)
以下において、本発明の第1実施形態に係る情報の種類について、図面を参照しながら説明する。図3は、本発明の第1実施形態に係る情報の種類を示す図である。
【0053】
図3に示すように、端末100とサーバ200との間では、制御情報、データ及び鍵生成情報が送受信される。
【0054】
制御情報は、暗号化データを復号することが許容される復号可能期間と、暗号化データを復号することが許容される復号可能回数とを含む情報である。
【0055】
データは、サーバ200によって管理される情報であり、端末100がサーバ200に接続された状態や端末100がサーバ200に接続されていない状態でユーザによって利用される。
【0056】
鍵生成情報は、状態ID記憶部103に記憶された状態ID、端末ID記憶部104に記憶された端末ID及び入力部105から入力されたユーザIDに基づいて生成される情報である。サーバ200は、端末100から受信する鍵生成情報に基づいて暗号鍵を生成し、端末100は、鍵生成情報に基づいて復号鍵を生成する。
【0057】
ここで、鍵生成情報に含まれる状態IDは、端末100がサーバ200に接続されていない状態からサーバ200に接続された状態となると更新される。従って、端末100は、サーバ200に再接続されると、データの暗号化に用いられた暗号鍵に対応する復号鍵を生成できなくなり、暗号化データが無制限に復号することができない。
【0058】
(第1実施形態に係る通信システムの動作)
以下において、本発明の第1実施形態に係る通信システムの動作について、図面を参照しながら説明する。図4は、本発明の第1実施形態に係る通信システムの動作を示すシーケンス図である。なお、以下に示す各ステップでは、基本的に、上述した制御部102が端末100の各機能部(通信部101〜ログ情報記憶部112)に必要な情報を与えて、各機能部にステップの処理を順に実行させる。
【0059】
図4に示すように、ステップ101において、端末100の鍵生成情報生成部106は、状態ID記憶部103に記憶された状態ID、端末ID記憶部104に記憶された端末ID及び入力部105から入力されたユーザIDに基づいて、サーバ200に格納されたデータ等を暗号化する暗号鍵又は暗号化データ等を復号する復号鍵の生成に用いられる鍵生成情報を生成する。
【0060】
ステップ102において、端末100の暗号処理部108は、ステップ101で生成される鍵生成情報をサーバ公開鍵で暗号化して、暗号化鍵生成情報を取得する。
【0061】
ステップ103において、端末100の通信部101は、サーバ200に接続されていない状態でデータを使用するためのチェックアウト要求をサーバ200に送信する。具体的には、通信部101は、ステップ102で取得される暗号化鍵生成情報を含むチェックアウト要求をサーバ200に送信する。
【0062】
ステップ104において、サーバ200は、端末100から受信する暗号化鍵生成情報をサーバ秘密鍵で復号して、鍵生成情報を取得する。
【0063】
ステップ105において、サーバ200は、端末100によるデータへのアクセスを禁止する。
【0064】
ステップ106において、サーバ200は、暗号化データの復号が許容される復号可能期間及び暗号化データの復号が許容される復号可能回数を設定する。また、サーバ200は、復号可能期間及び復号可能回数を含む制御情報を生成する。
【0065】
ステップ107において、サーバ200は、ステップ104で取得される鍵生成情報に基づいて、データ及び制御情報を暗号化する暗号鍵を生成する。
【0066】
ステップ108において、サーバ200は、ステップ107で生成される暗号鍵で、サーバ200に格納されたデータ及びステップ106で生成される制御情報を暗号化して、暗号化データ及び暗号化制御情報を取得する。
【0067】
ステップ109において、サーバ200は、ステップ108で取得される暗号化データ及び暗号化制御情報を端末100に送信する。
【0068】
ステップ110において、端末100の復号処理部109及び制御情報処理部110は、ステップ101で生成される鍵生成情報に基づいて、暗号化データ及び暗号化制御情報を復号する復号鍵を生成する。なお、上述したように、鍵生成情報は、状態ID、端末ID及びユーザIDに基づいて生成される。
【0069】
ステップ111において、端末100の制御情報処理部110は、ステップ110で生成される復号鍵で暗号化制御情報を復号する。すなわち、制御情報処理部110は、暗号化制御情報を復号して、復号可能期間及び復号可能回数を取得する。
【0070】
ステップ112において、端末100の制御情報処理部110は、ステップ111で取得される復号可能期間及び復号可能回数に基づいて、暗号化データの復号が許容されるか否かを判定する。また、制御情報処理部110は、暗号化データの復号が許容される場合には、ステップ113の処理に移り、暗号化データの復号が許容されない場合には、ステップ117の処理に移り、サーバ200への接続待ち状態となる。
【0071】
ステップ113において、端末100の復号処理部109は、サーバ200から受信した暗号化データを復号する。具体的には、復号処理部109は、ステップ110で生成された復号鍵で暗号化データを復号して、復号データを取得する。
【0072】
ステップ114において、端末100の出力部111は、ステップ113で復号された復号データをディスプレイ等によって出力し、ユーザに復号データを提供する。また、制御情報処理部110は、復号可能回数から“1”を減じ、鍵生成情報に基づいて生成される暗号鍵で、更新された復号可能回数を暗号化する。
【0073】
ステップ115において、端末100の制御部102は、暗号化データを復号した回数や時間等をログ情報としてログ情報記憶部112に記憶する。
【0074】
ステップ116において、端末100の制御部102は、暗号データの復号要求があるか否かを判定する。また、制御部102は、暗号データの復号要求がある場合には、ステップ110の処理に移り、暗号データの復号要求がない場合には、ステップ117の処理に移る。
【0075】
ステップ117において、端末100の通信部101は、サーバ200に再接続されると、サーバ200に接続されていない状態におけるデータの使用を終了するためのチェックイン要求をサーバ200に送信する。なお、チェックイン要求には、ステップ115で生成されたログ情報が含まれる。
【0076】
ステップ118において、サーバ200は、端末100から受信したログ情報に基づいて、暗号化データが不正に復号されたか否かを確認する。具体的には、サーバ200は、ステップ106で設定した期間や回数を超えて暗号化データが復号されたか否かを確認する。
【0077】
ステップ119において、サーバ200は、ステップ118で暗号化データが不正に復号されていないことが確認された場合には、端末100によるデータへのアクセスを許可する。一方、サーバ200は、ステップ118で暗号化データが不正に復号されたことが確認された場合に、端末100によるデータへのアクセスを禁止したままとする。
【0078】
ステップ120において、サーバ200は、ステップ118で暗号化データが不正に復号されていないことが確認された場合には、チェックイン要求を受け付て、データへのアクセスが許可されたことを示すチェックイン完了を端末100に送信する。一方、サーバ200は、ステップ118で暗号化データが不正に復号されたことが確認された場合に、データへのアクセスが許可されなかったことを示すエラー情報を端末100に送信する。
【0079】
ステップ121において、端末100の制御部102は、チェックイン要求として送信したログ情報を削除する。また、制御部102は、新たに乱数値を発生させ、発生させた乱数値を状態IDとして記憶する。すなわち、制御部102は状態IDを更新する。
【0080】
(第1実施形態に係る端末の作用及び効果)
本発明の第1実施形態に係る端末100によれば、復号処理部109が、サーバ200に送信した鍵生成情報に基づいて生成した復号鍵によって、サーバ200が鍵生成情報に基づいて生成した暗号鍵によって暗号化された暗号化データを復号することにより、複数の端末間で復号鍵が重複しないようにサーバ200が復号鍵を端末に割当てるとともに、割当てた復号鍵をサーバ200が端末に通知する必要がなくなる。
【0081】
従って、端末100は、サーバ200の処理負荷の軽減を図るとともに、サーバ200に接続されていない状態で暗号化データを復号することができる。
【0082】
また、端末100がサーバ200に再接続された際に更新される状態IDを鍵生成情報が含むことにより、端末100は、サーバ200に再接続された後に暗号化データを復号することができない。従って、端末100は、暗号化データが無制限に復号されて、データが不正に使用される可能性を軽減することができる。
【0083】
[第2実施形態]
以下において、本発明の第2実施形態について、図面を参照しながら説明する。また、以下においては、上述した第1実施形態と第2実施形態との相違点を主として説明する。
【0084】
具体的には、上述した第1実施形態では、データ及び制御情報が同一の鍵(鍵生成情報に基づいて生成される鍵)で暗号化又は復号されるが、第2実施形態では、データ及び制御情報が異なる鍵で暗号化又は復号される。
【0085】
(第2実施形態に係る情報の種類)
以下において、本発明の第2実施形態に係る情報の種類について、図面を参照しながら説明する。図5は、本発明の第2実施形態に係る情報の種類を示す図である。
【0086】
図5に示すように、端末100とサーバ200との間では、制御情報、データ及び鍵生成情報が送受信される。
【0087】
制御情報は、復号可能期間及び復号可能回数に加えて、データを暗号化する際に用いられるデータ鍵を含む情報である。なお、データ鍵は、2進数で表される乱数値である。
【0088】
データは、第1実施形態と同様に、サーバ200によって管理される情報であり、端末100がサーバ200に接続された状態や端末100がサーバ200に接続されていない状態でユーザによって利用される。
【0089】
鍵生成情報は、状態ID記憶部103に記憶された状態ID、端末ID記憶部104に記憶された端末ID及び入力部105から入力されたユーザIDに基づいて生成される情報である。なお、第2実施形態では、鍵生成情報に基づいて生成される暗号鍵又は復号鍵は、制御情報を暗号化又は復号する際に用いられる鍵であり、データの暗号化又は復号には用いられない。
【0090】
(第2実施形態に係る通信システムの動作)
以下において、本発明の第2実施形態に係る通信システムの動作について、図面を参照しながら説明する。図6は、本発明の第2実施形態に係る通信システムの動作を示すフロー図である。
【0091】
なお、図6では、上述した第1実施形態(図4を参照)と同様の処理が行われるステップには、同一のステップ番号を付している。また、ステップ101〜ステップ105、ステップ107、ステップ110、ステップ112、ステップ114〜ステップ121の処理は、上述した実施形態に係る各ステップの処理と同様であるため、これらのステップの説明を省略する。
【0092】
図6に示すように、ステップ106aにおいて、サーバ200は、暗号化データの復号が許容される復号可能期間及び暗号化データの復号が許容される復号可能回数を設定する。また、サーバ200は、復号可能期間及び復号可能回数に加えて、データを暗号化するためのデータ鍵を含む制御情報を生成する。
【0093】
ステップ106bにおいて、サーバ200は、制御情報に含まれるデータ鍵で、サーバ200に格納されたデータを暗号化して、暗号化データを取得する。
【0094】
ステップ108aにおいて、サーバ200は、ステップ107で生成される暗号鍵で、ステップ106で生成される制御情報を暗号化して、暗号化制御情報を取得する。
【0095】
ステップ109aにおいて、サーバ200は、ステップ106bで取得される暗号化データ及びステップ108aで取得される暗号化制御情報を端末100に送信する。
【0096】
ステップ111aにおいて、端末100の制御情報処理部110は、ステップ110で生成される復号鍵で暗号化制御情報を復号する。すなわち、制御情報処理部110は、暗号化制御情報を復号して、復号可能期間及び復号可能回数に加えて、データ鍵を取得する。
【0097】
ステップ113aにおいて、端末100の復号処理部109は、サーバ200から受信した暗号化データを復号する。具体的には、復号処理部109は、ステップ111aで取得されるデータ鍵で暗号化データを復号して、復号データを取得する。
【0098】
(第2実施形態に係る通信システムの作用及び効果)
本発明の第2実施形態に係る通信システムによれば、制御情報処理部110が、サーバ200に送信した鍵生成情報に基づいて生成される復号鍵によって、サーバ200が鍵生成情報に基づいて生成した暗号鍵によって暗号化した暗号化制御情報を復号することにより、暗号化制御情報を復号する復号鍵が複数の端末間で重複しないようにサーバ200が復号鍵を端末に割当てるとともに、割当てた復号鍵をサーバ200が端末100に通知する必要がなくなる。
【0099】
また、データ鍵を含む制御情報が暗号化されていることにより、複数の端末に同一のデータ鍵を割当てても、データを十分に保護することができる。
【0100】
従って、端末100は、サーバ200の処理負荷の軽減を図るとともに、サーバ200に接続されていない状態でサーバ200が暗号化したデータを復号することができる。
【0101】
また、端末100がサーバ200に再接続された際に更新される状態IDを鍵生成情報が含むことにより、端末100は、サーバ200に再接続された後に暗号化データを復号することができない。従って、端末100は、暗号化データが無制限に復号されて、データが不正に使用される可能性を軽減することができる。
【0102】
[その他の実施形態]
上述した第1実施形態では、制御情報は、鍵生成情報に基づいて生成される鍵によって暗号化又は復号されるが、これに限定されるものではない。
【0103】
例えば、制御情報は、鍵生成情報に基づいて生成される鍵とは異なる鍵によって暗号化され、鍵生成情報に基づいて生成される鍵とは異なる鍵によって復号されてもよい。また、制御情報は、暗号化されなくてもよい。
【0104】
また、上述した第1実施形態及び第2実施形態では、制御情報は、1つのデータ毎に生成されるが、これに限定されるものではない。
【0105】
例えば、制御情報は、複数のデータを1つの単位として、その単位毎に生成されてもよい。また、制御情報は、1つのデータが複数のファイルによって構成される場合には、ファイル毎に生成されてもよく、複数のファイルを1つの単位として、その単位毎に生成されてもよい。
【図面の簡単な説明】
【0106】
【図1】本発明の第1実施形態に係る通信システムの構成を示す図である。
【図2】本発明の第1実施形態に係る端末100の構成を示すブロック図である。
【図3】本発明の第1実施形態に係る情報の種類を示す図である。
【図4】本発明の第1実施形態に係る通信システムの動作を示すシーケンス図である。
【図5】本発明の第2実施形態に係る情報の種類を示す図である。
【図6】本発明の第2実施形態に係る通信システムの動作を示すシーケンス図である。
【符号の説明】
【0107】
100・・・端末、101・・・通信部、102・・・制御部、103・・・状態ID記憶部、104・・・端末ID記憶部、105・・・入力部、106・・・鍵生成情報生成部、107・・・暗号鍵記憶部、108・・・暗号処理部、109・・・復号処理部、110・・・制御情報処理部、111・・・出力部、112・・・ログ情報記憶部、200・・・サーバ、300・・・ネットワーク

【特許請求の範囲】
【請求項1】
サーバに格納されたデータを前記サーバから取得する端末であって、
前記データを暗号化する暗号鍵の生成に用いられる鍵生成情報を前記サーバに送信する送信部と、
前記鍵生成情報に基づいて生成される前記暗号鍵によって前記サーバが暗号化した前記データである暗号化データを前記サーバから取得する情報取得部と、
前記サーバに接続されていない状態で、前記鍵生成情報に基づいて生成される復号鍵によって前記暗号化データを復号するデータ復号部とを備え、
前記鍵生成情報は、前記サーバに再接続された際に更新される状態情報を少なくとも含むことを特徴とする端末。
【請求項2】
前記暗号化データの復号を許可するか否かを判定する制御情報処理部をさらに備え、
前記情報取得部は、前記暗号化データの復号が許容される期間である復号可能期間又は前記暗号化データの復号が許容される回数である復号可能回数を含む制御情報を前記サーバから取得し、
前記制御情報処理部は、前記情報取得部によって取得される前記制御情報に基づいて、前記暗号化データの復号を許可するか否かを判定することを特徴とする請求項1に記載の端末。
【請求項3】
前記情報取得部は、前記鍵生成情報に基づいて生成される前記暗号鍵によって前記サーバが暗号化した前記制御情報である暗号化制御情報を前記サーバから取得し、
前記制御情報処理部は、前記鍵生成情報に基づいて生成される前記復号鍵によって、前記暗号化制御情報を復号することを特徴とする請求項2に記載の端末。
【請求項4】
前記情報取得部は、前記鍵生成情報に基づいて生成される前記暗号鍵とは異なる制御情報暗号鍵によって前記サーバが暗号化した前記制御情報である暗号化制御情報を前記サーバから取得し、
前記制御情報処理部は、前記制御情報暗号鍵に対応する制御情報復号鍵によって、前記暗号化制御情報を復号することを特徴とする請求項2に記載の端末。
【請求項5】
サーバに格納されたデータを前記サーバから取得する端末であって、
前記データを暗号化するデータ鍵を少なくとも含む制御情報を暗号化する暗号鍵の生成に用いられる鍵生成情報を前記サーバに送信する送信部と、
前記鍵生成情報に基づいて生成される前記暗号鍵によって前記サーバが暗号化した前記制御情報である暗号化制御情報と、前記データ鍵によって前記サーバが暗号化した前記データである暗号化データとを前記サーバから取得する情報取得部と、
前記サーバに接続されていない状態で、前記鍵生成情報に基づいて生成される復号鍵によって前記暗号化制御情報を復号する制御情報処理部と、
前記制御情報処理部によって復号された前記制御情報に含まれる前記データ鍵によって前記暗号化データを復号するデータ復号部とを備え、
前記鍵生成情報は、前記サーバに再接続された際に更新される状態情報を少なくとも含むことを特徴とする端末。
【請求項6】
前記制御情報は、前記データ鍵に加えて、前記暗号化データの復号が許容される期間である復号可能期間又は前記暗号化データの復号が許容される回数である復号可能回数を含み、
前記制御情報処理部は、前記制御情報に含まれる前記復号可能期間又は復号可能回数に基づいて、前記暗号化データの復号を許可するか否かを判定することを特徴とする請求項5に記載の端末。
【請求項7】
前記送信部は、前記鍵生成情報を暗号化してから前記サーバに送信することを特徴とする請求項1乃至請求項6のいずれかに記載の端末。
【請求項8】
前記サーバに接続されていない状態で前記暗号化データを復号した履歴を履歴情報として記憶する履歴情報記憶部をさらに備え、
前記送信部は、前記サーバに再接続された際に、前記履歴情報記憶部に記憶された前記履歴情報を前記サーバに送信することを特徴とする請求項1乃至請求項7のいずれかに記載の端末。
【請求項9】
サーバに格納されたデータを前記サーバから取得する端末に適用されるプログラムであって、コンピュータに、
前記データを暗号化する暗号鍵の生成に用いられる鍵生成情報を前記サーバに送信する送信ステップと、
前記鍵生成情報に基づいて生成される前記暗号鍵によって前記サーバが暗号化した前記データである暗号化データを前記サーバから取得する情報取得ステップと、
前記サーバに接続されていない状態で、前記鍵生成情報に基づいて生成される復号鍵によって前記暗号化データを復号するデータ復号ステップとを実行させ、
前記鍵生成情報は、前記サーバに再接続された際に更新される状態情報を少なくとも含むことを特徴とするプログラム。
【請求項10】
サーバに格納されたデータを前記サーバから取得する端末に適用されるプログラムであって、コンピュータに、
前記データを暗号化するデータ鍵を少なくとも含む制御情報を暗号化する暗号鍵の生成に用いられる鍵生成情報を前記サーバに送信する送信ステップと、
前記鍵生成情報に基づいて生成される前記暗号鍵によって前記サーバが暗号化した前記制御情報である暗号化制御情報と、前記データ鍵によって前記サーバが暗号化した前記データである暗号化データとを前記サーバから取得する情報取得ステップと、
前記サーバに接続されていない状態で、前記鍵生成情報に基づいて生成される復号鍵によって前記暗号化制御情報を復号する制御情報処理ステップと、
前記制御情報処理ステップで復号された前記制御情報に含まれる前記データ鍵によって前記暗号化データを復号するデータ復号ステップとを実行させ、
前記鍵生成情報は、前記サーバに再接続された際に更新される状態情報を少なくとも含むことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate