(57)【要約】【課題】  サーバの処理負荷の軽減を図るとともに、サーバが暗号化したデータをサーバに接続されていない状態で復号することが可能な端末、及び、この端末に適用されるプログラムを提供する。【解決手段】  サーバ２００に格納されたデータをサーバ２００から取得する端末１００が、データを暗号化する暗号鍵の生成に用いられる鍵生成情報をサーバ２００に送信し、鍵生成情報に基づいて生成される暗号鍵によってサーバ２００が暗号化したデータをサーバ２００から取得する通信部１０１と、サーバ２００に接続されていない状態で、鍵生成情報に基づいて生成される復号鍵によってサーバ２００が暗号化したデータを復号する復号処理部１０９とを備え、鍵生成情報は、サーバ２００に再接続された際に更新される状態ＩＤを少なくとも含む。【選択図】  図２
2006311136.tif 000002
【特許請求の範囲】
【請求項１】
サーバに格納されたデータを前記サーバから取得する端末であって、
前記データを暗号化する暗号鍵の生成に用いられる鍵生成情報を前記サーバに送信する送信部と、
前記鍵生成情報に基づいて生成される前記暗号鍵によって前記サーバが暗号化した前記データである暗号化データを前記サーバから取得する情報取得部と、
前記サーバに接続されていない状態で、前記鍵生成情報に基づいて生成される復号鍵によって前記暗号化データを復号するデータ復号部とを備え、
前記鍵生成情報は、前記サーバに再接続された際に更新される状態情報を少なくとも含むことを特徴とする端末。
【請求項２】
前記暗号化データの復号を許可するか否かを判定する制御情報処理部をさらに備え、
前記情報取得部は、前記暗号化データの復号が許容される期間である復号可能期間又は前記暗号化データの復号が許容される回数である復号可能回数を含む制御情報を前記サーバから取得し、
前記制御情報処理部は、前記情報取得部によって取得される前記制御情報に基づいて、前記暗号化データの復号を許可するか否かを判定することを特徴とする請求項１に記載の端末。
【請求項３】
前記情報取得部は、前記鍵生成情報に基づいて生成される前記暗号鍵によって前記サーバが暗号化した前記制御情報である暗号化制御情報を前記サーバから取得し、
前記制御情報処理部は、前記鍵生成情報に基づいて生成される前記復号鍵によって、前記暗号化制御情報を復号することを特徴とする請求項２に記載の端末。
【請求項４】
前記情報取得部は、前記鍵生成情報に基づいて生成される前記暗号鍵とは異なる制御情報暗号鍵によって前記サーバが暗号化した前記制御情報である暗号化制御情報を前記サーバから取得し、
前記制御情報処理部は、前記制御情報暗号鍵に対応する制御情報復号鍵によって、前記暗号化制御情報を復号することを特徴とする請求項２に記載の端末。
【請求項５】
サーバに格納されたデータを前記サーバから取得する端末であって、
前記データを暗号化するデータ鍵を少なくとも含む制御情報を暗号化する暗号鍵の生成に用いられる鍵生成情報を前記サーバに送信する送信部と、
前記鍵生成情報に基づいて生成される前記暗号鍵によって前記サーバが暗号化した前記制御情報である暗号化制御情報と、前記データ鍵によって前記サーバが暗号化した前記データである暗号化データとを前記サーバから取得する情報取得部と、
前記サーバに接続されていない状態で、前記鍵生成情報に基づいて生成される復号鍵によって前記暗号化制御情報を復号する制御情報処理部と、
前記制御情報処理部によって復号された前記制御情報に含まれる前記データ鍵によって前記暗号化データを復号するデータ復号部とを備え、
前記鍵生成情報は、前記サーバに再接続された際に更新される状態情報を少なくとも含むことを特徴とする端末。
【請求項６】
前記制御情報は、前記データ鍵に加えて、前記暗号化データの復号が許容される期間である復号可能期間又は前記暗号化データの復号が許容される回数である復号可能回数を含み、
前記制御情報処理部は、前記制御情報に含まれる前記復号可能期間又は復号可能回数に基づいて、前記暗号化データの復号を許可するか否かを判定することを特徴とする請求項５に記載の端末。
【請求項７】
前記送信部は、前記鍵生成情報を暗号化してから前記サーバに送信することを特徴とする請求項１乃至請求項６のいずれかに記載の端末。
【請求項８】
前記サーバに接続されていない状態で前記暗号化データを復号した履歴を履歴情報として記憶する履歴情報記憶部をさらに備え、
前記送信部は、前記サーバに再接続された際に、前記履歴情報記憶部に記憶された前記履歴情報を前記サーバに送信することを特徴とする請求項１乃至請求項７のいずれかに記載の端末。
【請求項９】
サーバに格納されたデータを前記サーバから取得する端末に適用されるプログラムであって、コンピュータに、
前記データを暗号化する暗号鍵の生成に用いられる鍵生成情報を前記サーバに送信する送信ステップと、
前記鍵生成情報に基づいて生成される前記暗号鍵によって前記サーバが暗号化した前記データである暗号化データを前記サーバから取得する情報取得ステップと、
前記サーバに接続されていない状態で、前記鍵生成情報に基づいて生成される復号鍵によって前記暗号化データを復号するデータ復号ステップとを実行させ、
前記鍵生成情報は、前記サーバに再接続された際に更新される状態情報を少なくとも含むことを特徴とするプログラム。
【請求項１０】
サーバに格納されたデータを前記サーバから取得する端末に適用されるプログラムであって、コンピュータに、
前記データを暗号化するデータ鍵を少なくとも含む制御情報を暗号化する暗号鍵の生成に用いられる鍵生成情報を前記サーバに送信する送信ステップと、
前記鍵生成情報に基づいて生成される前記暗号鍵によって前記サーバが暗号化した前記制御情報である暗号化制御情報と、前記データ鍵によって前記サーバが暗号化した前記データである暗号化データとを前記サーバから取得する情報取得ステップと、
前記サーバに接続されていない状態で、前記鍵生成情報に基づいて生成される復号鍵によって前記暗号化制御情報を復号する制御情報処理ステップと、
前記制御情報処理ステップで復号された前記制御情報に含まれる前記データ鍵によって前記暗号化データを復号するデータ復号ステップとを実行させ、
前記鍵生成情報は、前記サーバに再接続された際に更新される状態情報を少なくとも含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバが暗号化したデータを取得するとともに、サーバに接続されていない状態で、サーバが暗号化したデータを復号する端末、及び、この端末に適用されるプログラムを提供することを目的とする。
【背景技術】
【０００２】
従来、サーバに接続された状態（オンライン）でサーバに格納されたデータをユーザに提供するとともに、サーバに接続されていない状態（オフライン）でデータをユーザに提供するために、サーバに接続された状態でサーバが暗号化したデータを予め取得する端末（例えば、モバイル端末）が一般的に知られている。
【０００３】
具体的には、端末は、サーバによって暗号鍵で暗号化された暗号化データをサーバから取得するとともに、暗号化データを復号するために用いる復号鍵をサーバから取得し、取得した復号鍵によって暗号化データを復号する。また、端末が再びサーバに接続されると、サーバから取得した復号鍵は失効する（例えば、特許文献１）。
【０００４】
このように、従来の技術では、端末がサーバに接続されていない状態でもデータをユーザに提供可能とする一方で、端末が再びサーバに接続された際に復号鍵を失効させることによって、データが無制限に復号可能な状態となって、データが不正に使用されることを防止している。
【特許文献１】特開２００３−２２８５２０号公報（〔０１５４〕段落、図７Ｂ等）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ここで、一般に、データを保護する観点から、暗号化データを復号するために用いられる復号鍵は、端末毎に異なる方が好ましい。
【０００６】
従って、サーバは、暗号化データを要求する端末の数が増加すると、複数の端末毎に異なる復号鍵を割当てて、端末毎に割当てた復号鍵を端末に通知しなければならないため、サーバの処理負荷が増加する。
【０００７】
そこで、本発明は、上述した課題を解決するためになされたものであり、サーバの処理負荷の軽減を図るとともに、サーバが暗号化したデータをサーバに接続されていない状態で復号することが可能な端末、及び、この端末に適用されるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の特徴は、サーバに格納されたデータをサーバから取得する端末が、データを暗号化する暗号鍵の生成に用いられる鍵生成情報をサーバに送信する送信部（通信部１０１）と、鍵生成情報に基づいて生成される暗号鍵によってサーバが暗号化したデータである暗号化データをサーバから取得する情報取得部（通信部１０１）と、サーバに接続されていない状態で、鍵生成情報に基づいて生成される復号鍵によって暗号化データを復号するデータ復号部（復号処理部１０９）とを備え、鍵生成情報が、サーバに再接続された際に更新される状態情報（状態ＩＤ）を少なくとも含むことを要旨とする。
【０００９】
かかる特徴によれば、データ復号部が、サーバに送信した鍵生成情報に基づいて生成される復号鍵によって、サーバが鍵生成情報に基づいて生成した暗号鍵によって暗号化した暗号化データを復号することにより、暗号化データを復号する復号鍵が複数の端末間で重複しないようにサーバが復号鍵を端末に割当てるとともに、割当てた復号鍵をサーバが端末に通知する必要がなくなる。
【００１０】
従って、端末は、サーバの処理負荷の軽減を図るとともに、サーバに接続されていない状態でサーバが暗号化した暗号化データを復号することができる。
【００１１】
また、端末がサーバに再接続された際に更新される状態ＩＤを鍵生成情報が含むことにより、端末は、サーバに再接続された後に暗号化データを復号することができない。従って、端末は、暗号化データが無制限に復号されて、データが不正に使用される可能性を軽減することができる。
【００１２】
本発明の第２の特徴は、本発明の第１の特徴において、暗号化データの復号を許可するか否かを判定する制御情報処理部（制御情報処理部１１０）を端末がさらに備え、情報取得部が、暗号化データの復号が許容される期間である復号可能期間又は暗号化データの復号が許容される回数である復号可能回数を含む制御情報をサーバから取得し、制御情報処理部が、情報取得部によって取得される制御情報に基づいて、暗号化データの復号を許可するか否かを判定することを要旨とする。
【００１３】
本発明の第３の特徴は、本発明の第２の特徴において、情報取得部が、鍵生成情報に基づいて生成される暗号鍵によってサーバが暗号化した制御情報である暗号化制御情報をサーバから取得し、制御情報処理部が、鍵生成情報に基づいて生成される復号鍵によって、暗号化制御情報を復号することを要旨とする。
【００１４】
本発明の第４の特徴は、本発明の第２の特徴において、情報取得部が、鍵生成情報に基づいて生成される暗号鍵とは異なる制御情報暗号鍵によってサーバが暗号化した制御情報である暗号化制御情報をサーバから取得し、制御情報処理部が、制御情報暗号鍵に対応する制御情報復号鍵によって、暗号化制御情報を復号することを要旨とする。
【００１５】
本発明の第５の特徴は、サーバに格納されたデータをサーバから取得する端末が、データを暗号化するデータ鍵を少なくとも含む制御情報を暗号化する暗号鍵の生成に用いられる鍵生成情報をサーバに送信する送信部（通信部１０１）と、鍵生成情報に基づいて生成される暗号鍵によってサーバが暗号化した制御情報である暗号化制御情報と、データ鍵によってサーバが暗号化したデータである暗号化データとをサーバから取得する情報取得部（通信部１０１）と、サーバに接続されていない状態で、鍵生成情報に基づいて生成される復号鍵によって暗号化制御情報を復号する制御情報処理部（制御情報処理部１１０）と、制御情報処理部によって復号された制御情報に含まれるデータ鍵によって暗号化データを復号するデータ復号部（復号処理部１０９）とを備え、鍵生成情報が、サーバに再接続された際に更新される状態情報を少なくとも含むことを要旨とする。
【００１６】
かかる特徴によれば、データ復号部が、サーバに送信した鍵生成情報に基づいて生成される復号鍵によって、サーバが鍵生成情報に基づいて生成した暗号鍵によって暗号化した暗号化制御情報を復号することにより、暗号化制御情報を復号する復号鍵が複数の端末間で重複しないようにサーバが復号鍵を端末に割当てるとともに、割当てた復号鍵をサーバが端末に通知する必要がなくなる。
【００１７】
また、データ鍵を含む制御情報が暗号化されていることにより、複数の端末に同一のデータ鍵を割当てても、データを十分に保護することができる。
【００１８】
従って、端末は、サーバの処理負荷の軽減を図るとともに、サーバに接続されていない状態でサーバが暗号化したデータを復号することができる。
【００１９】
また、端末がサーバに再接続された際に更新される状態ＩＤを鍵生成情報が含むことにより、端末は、サーバに再接続された後に暗号化データを復号することができない。従って、端末は、暗号化データが無制限に復号されて、データが不正に使用される可能性を軽減することができる。
【００２０】
本発明の第６の特徴は、本発明の第５の特徴において、制御情報が、データ鍵に加えて、暗号化データの復号が許容される期間である復号可能期間又は暗号化データの復号が許容される回数である復号可能回数を含み、制御情報処理部が、制御情報に含まれる復号可能期間又は復号可能回数に基づいて、暗号化データの復号を許可するか否かを判定することを要旨とする。
【００２１】
本発明の第７の特徴は、本発明の第１の特徴乃至第６の特徴において、送信部は、鍵生成情報を暗号化してからサーバに送信することを要旨とする。
【００２２】
本発明の第８の特徴は、本発明の第１の特徴乃至第７の特徴において、サーバに接続されていない状態で暗号化データを復号した履歴を履歴情報として記憶する履歴情報記憶部（ログ情報記憶部１１２）を端末がさらに備え、送信部が、サーバに再接続された際に、履歴情報記憶部に記憶された履歴情報をサーバに送信することを要旨とする。
【００２３】
本発明の第９の特徴は、サーバに格納されたデータをサーバから取得する端末に適用されるプログラムが、データを暗号化する暗号鍵の生成に用いられる鍵生成情報をサーバに送信する送信ステップと、鍵生成情報に基づいて生成される暗号鍵によってサーバが暗号化したデータである暗号化データをサーバから取得する情報取得ステップと、サーバに接続されていない状態で、鍵生成情報に基づいて生成される復号鍵によって暗号化データを復号するデータ復号ステップとをコンピュータに実行させ、鍵生成情報が、サーバに再接続された際に更新される状態情報を少なくとも含むことを要旨とする。
【００２４】
本発明の第１０の特徴は、サーバに格納されたデータをサーバから取得する端末に適用されるプログラムが、データを暗号化するデータ鍵を少なくとも含む制御情報を暗号化する暗号鍵の生成に用いられる鍵生成情報をサーバに送信する送信ステップと、鍵生成情報に基づいて生成される暗号鍵によってサーバが暗号化した制御情報である暗号化制御情報と、データ鍵によってサーバが暗号化したデータである暗号化データとをサーバから取得する情報取得ステップと、サーバに接続されていない状態で、鍵生成情報に基づいて生成される復号鍵によって暗号化制御情報を復号する制御情報処理ステップと、制御情報処理ステップで復号された制御情報に含まれるデータ鍵によって暗号化データを復号するデータ復号ステップとをコンピュータに実行させ、鍵生成情報は、サーバに再接続された際に更新される状態情報を少なくとも含むことを要旨とする。
【発明の効果】
【００２５】
本発明によれば、サーバの処理負荷の軽減を図るとともに、サーバに接続されていない状態でサーバが暗号化したデータを復号することが可能な端末、及び、この端末に適用されるプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２６】
［第１実施形態］
（第１実施形態に係る通信システムの構成）
以下において、本発明の第１実施形態に係る通信システムの構成について、図面を参照しながら説明する。図１は、本発明の第１実施形態に係る通信システムの構成を示す図である。図１に示すように、通信システムは、端末１００と、サーバ２００と、ネットワーク３００とによって構成される。
【００２７】
具体的には、端末１００は、ネットワーク３００を通じてサーバ２００に接続可能であり、サーバ２００に接続された状態でサーバ２００に格納されたデータを取得する。
【００２８】
なお、以下において、端末１００がサーバ２００に接続された状態でデータを取得した後に、端末１００がサーバ２００に接続されていない状態となることを“チェックアウト”と称する。また、端末１００がサーバ２００に接続されていない状態からサーバ２００に接続された状態となってデータの利用を終了することを“チェックイン”と称する。
【００２９】
サーバ２００は、端末１００のユーザによって利用されるデータを格納し、端末１００の要求に応じてデータを暗号化するとともに、暗号化された暗号化データを端末１００に送信する。
【００３０】
また、サーバ２００は、端末１００がチェックアウトした状態でデータを復号することが許容される期間（以下、復号可能期間）及び端末１００がチェックアウトした状態でデータを復号することが許容される回数（以下、復号可能回数）を設定する。
【００３１】
さらに、サーバ２００は、設定した復号可能期間及び復号可能回数を含む制御情報を生成し、生成した制御情報を暗号化するとともに、暗号化された暗号化制御情報を端末１００に送信する。
【００３２】
ネットワーク３００は、ファイヤウォール等によって外部からのアクセスが制限された有線ＬＡＮ等である。
【００３３】
（第１実施形態に係る端末の構成）
以下において、本発明の第１実施形態に係る端末の構成について、図面を参照しながら説明する。図２は、本発明の第１実施形態に係る端末１００の構成を示すブロック図である。
【００３４】
図２に示すように、端末１００は、通信部１０１と、制御部１０２と、状態ＩＤ記憶部１０３と、端末ＩＤ記憶部１０４と、入力部１０５と、鍵生成情報生成部１０６と、暗号鍵記憶部１０７と、暗号処理部１０８と、復号処理部１０９と、制御情報処理部１１０と、出力部１１１と、ログ情報記憶部１１２とを有する。
【００３５】
通信部１０１は、サーバ２００に接続された状態でサーバ２００と通信を行う。具体的には、通信部１０１は、サーバ２００に接続されていない状態でデータを使用するために、暗号化データの送信を要求するチェックアウト要求をサーバ２００に送信する。
【００３６】
ここで、チェックアウト要求は、状態ＩＤ記憶部１０３に記憶される状態ＩＤ、入力部１０５から入力されるユーザＩＤ及び端末ＩＤ記憶部１０４に記憶される端末ＩＤによって生成される鍵生成情報を含む。
【００３７】
また、通信部１０１は、チェックアウト要求に含まれる鍵生成情報に基づいて生成される暗号鍵でサーバ２００によって暗号化された暗号化データ及び暗号化制御情報を受信する。
【００３８】
さらに、通信部１０１は、サーバ２００に再接続された際に、データの使用を終了するためのチェックイン要求をサーバ２００に送信する。ここで、チェックイン要求には、後述する復号処理部１０９が暗号化データを復号した時間や回数等のログ情報（履歴情報）が含まれる。
【００３９】
制御部１０２は、端末１００の各機能部（通信部１０１〜ログ情報記憶部１１２）を制御することによって、サーバ２００から受信する暗号化データを復号する処理等を行う。なお、制御部１０２の動作の詳細については後述する（図４を参照）。
【００４０】
状態ＩＤ記憶部１０３は、端末１００がサーバ２００に接続された状態であるか否かを示す状態ＩＤを記憶する。ここで、状態ＩＤは、端末１００がサーバ２００に接続されていない状態からサーバ２００に接続された状態となった際に更新される乱数値である。
【００４１】
端末ＩＤ記憶部１０４は、端末１００を一意に識別する端末ＩＤ（例えば、製造番号等）を記憶する。なお、端末ＩＤ記憶部１０４は、端末１００のＭＡＣアドレス等を端末ＩＤとして記憶してもよい。
【００４２】
入力部１０５は、ユーザを一意に識別するユーザＩＤを入力するためのキーボード等である。なお、入力部１０５は、ユーザを一意に識別する情報を取得するものであればよく、例えば、バイオメトリックスセンサーであってもよい。
【００４３】
鍵生成情報生成部１０６は、状態ＩＤ記憶部１０３に記憶される状態ＩＤ、端末ＩＤ記憶部１０４に記憶される端末ＩＤ、入力部１０５に入力されるユーザＩＤに基づいて、データ及び制御情報を暗号化する暗号鍵を生成するための鍵生成情報を生成する。
【００４４】
暗号鍵記憶部１０７は、サーバ２００が管理するサーバ秘密鍵に対応するサーバ公開鍵を暗号鍵として記憶する。なお、サーバ公開鍵は、鍵生成情報を暗号化する際に用いられる鍵である。
【００４５】
暗号処理部１０８は、暗号鍵記憶部１０７に記憶されるサーバ公開鍵で、鍵生成情報生成部１０６によって生成される鍵生成情報を暗号化して、暗号化鍵生成情報を取得する。
【００４６】
復号処理部１０９は、サーバ２００から受信する暗号化データを復号する。具体的には、復号処理部１０９は、鍵生成情報生成部１０６によって生成される鍵生成情報に基づいて復号鍵を生成するとともに、生成した復号鍵で暗号化データを復号して、復号データを取得する。
【００４７】
制御情報処理部１１０は、鍵生成情報生成部１０６によって生成される鍵生成情報に基づいて復号鍵を生成するとともに、生成した復号鍵で暗号化制御情報を復号して、復号可能期間及び復号可能回数を取得する。
【００４８】
また、制御情報処理部１１０は、復号処理部１０９が暗号化データを復号する際に、取得した復号可能期間及び復号可能回数を参照して、暗号化データの復号が許容されるか否かを判定する。
【００４９】
さらに、制御情報処理部１１０は、復号処理部１０９によって暗号化データが復号されると、復号可能回数から“１”を減じる。また、制御情報処理部１１０は、鍵生成情報生成部１０６によって生成される鍵生成情報に基づいて暗号鍵を生成するとともに、生成した暗号鍵で、更新された復号可能回数を暗号化する。
【００５０】
出力部１１１は、復号処理部１０９によって取得される復号データを画像等によって出力するディスプレイ等である。
【００５１】
ログ情報記憶部１１２は、端末１００がサーバ２００に接続されていない状態で、サーバ２００から受信する暗号化データを復号した回数や時間等をログ情報として記憶する。
【００５２】
（第１実施形態に係る情報の種類）
以下において、本発明の第１実施形態に係る情報の種類について、図面を参照しながら説明する。図３は、本発明の第１実施形態に係る情報の種類を示す図である。
【００５３】
図３に示すように、端末１００とサーバ２００との間では、制御情報、データ及び鍵生成情報が送受信される。
【００５４】
制御情報は、暗号化データを復号することが許容される復号可能期間と、暗号化データを復号することが許容される復号可能回数とを含む情報である。
【００５５】
データは、サーバ２００によって管理される情報であり、端末１００がサーバ２００に接続された状態や端末１００がサーバ２００に接続されていない状態でユーザによって利用される。
【００５６】
鍵生成情報は、状態ＩＤ記憶部１０３に記憶された状態ＩＤ、端末ＩＤ記憶部１０４に記憶された端末ＩＤ及び入力部１０５から入力されたユーザＩＤに基づいて生成される情報である。サーバ２００は、端末１００から受信する鍵生成情報に基づいて暗号鍵を生成し、端末１００は、鍵生成情報に基づいて復号鍵を生成する。
【００５７】
ここで、鍵生成情報に含まれる状態ＩＤは、端末１００がサーバ２００に接続されていない状態からサーバ２００に接続された状態となると更新される。従って、端末１００は、サーバ２００に再接続されると、データの暗号化に用いられた暗号鍵に対応する復号鍵を生成できなくなり、暗号化データが無制限に復号することができない。
【００５８】
（第１実施形態に係る通信システムの動作）
以下において、本発明の第１実施形態に係る通信システムの動作について、図面を参照しながら説明する。図４は、本発明の第１実施形態に係る通信システムの動作を示すシーケンス図である。なお、以下に示す各ステップでは、基本的に、上述した制御部１０２が端末１００の各機能部（通信部１０１〜ログ情報記憶部１１２）に必要な情報を与えて、各機能部にステップの処理を順に実行させる。
【００５９】
図４に示すように、ステップ１０１において、端末１００の鍵生成情報生成部１０６は、状態ＩＤ記憶部１０３に記憶された状態ＩＤ、端末ＩＤ記憶部１０４に記憶された端末ＩＤ及び入力部１０５から入力されたユーザＩＤに基づいて、サーバ２００に格納されたデータ等を暗号化する暗号鍵又は暗号化データ等を復号する復号鍵の生成に用いられる鍵生成情報を生成する。
【００６０】
ステップ１０２において、端末１００の暗号処理部１０８は、ステップ１０１で生成される鍵生成情報をサーバ公開鍵で暗号化して、暗号化鍵生成情報を取得する。
【００６１】
ステップ１０３において、端末１００の通信部１０１は、サーバ２００に接続されていない状態でデータを使用するためのチェックアウト要求をサーバ２００に送信する。具体的には、通信部１０１は、ステップ１０２で取得される暗号化鍵生成情報を含むチェックアウト要求をサーバ２００に送信する。
【００６２】
ステップ１０４において、サーバ２００は、端末１００から受信する暗号化鍵生成情報をサーバ秘密鍵で復号して、鍵生成情報を取得する。
【００６３】
ステップ１０５において、サーバ２００は、端末１００によるデータへのアクセスを禁止する。
【００６４】
ステップ１０６において、サーバ２００は、暗号化データの復号が許容される復号可能期間及び暗号化データの復号が許容される復号可能回数を設定する。また、サーバ２００は、復号可能期間及び復号可能回数を含む制御情報を生成する。
【００６５】
ステップ１０７において、サーバ２００は、ステップ１０４で取得される鍵生成情報に基づいて、データ及び制御情報を暗号化する暗号鍵を生成する。
【００６６】
ステップ１０８において、サーバ２００は、ステップ１０７で生成される暗号鍵で、サーバ２００に格納されたデータ及びステップ１０６で生成される制御情報を暗号化して、暗号化データ及び暗号化制御情報を取得する。
【００６７】
ステップ１０９において、サーバ２００は、ステップ１０８で取得される暗号化データ及び暗号化制御情報を端末１００に送信する。
【００６８】
ステップ１１０において、端末１００の復号処理部１０９及び制御情報処理部１１０は、ステップ１０１で生成される鍵生成情報に基づいて、暗号化データ及び暗号化制御情報を復号する復号鍵を生成する。なお、上述したように、鍵生成情報は、状態ＩＤ、端末ＩＤ及びユーザＩＤに基づいて生成される。
【００６９】
ステップ１１１において、端末１００の制御情報処理部１１０は、ステップ１１０で生成される復号鍵で暗号化制御情報を復号する。すなわち、制御情報処理部１１０は、暗号化制御情報を復号して、復号可能期間及び復号可能回数を取得する。
【００７０】
ステップ１１２において、端末１００の制御情報処理部１１０は、ステップ１１１で取得される復号可能期間及び復号可能回数に基づいて、暗号化データの復号が許容されるか否かを判定する。また、制御情報処理部１１０は、暗号化データの復号が許容される場合には、ステップ１１３の処理に移り、暗号化データの復号が許容されない場合には、ステップ１１７の処理に移り、サーバ２００への接続待ち状態となる。
【００７１】
ステップ１１３において、端末１００の復号処理部１０９は、サーバ２００から受信した暗号化データを復号する。具体的には、復号処理部１０９は、ステップ１１０で生成された復号鍵で暗号化データを復号して、復号データを取得する。
【００７２】
ステップ１１４において、端末１００の出力部１１１は、ステップ１１３で復号された復号データをディスプレイ等によって出力し、ユーザに復号データを提供する。また、制御情報処理部１１０は、復号可能回数から“１”を減じ、鍵生成情報に基づいて生成される暗号鍵で、更新された復号可能回数を暗号化する。
【００７３】
ステップ１１５において、端末１００の制御部１０２は、暗号化データを復号した回数や時間等をログ情報としてログ情報記憶部１１２に記憶する。
【００７４】
ステップ１１６において、端末１００の制御部１０２は、暗号データの復号要求があるか否かを判定する。また、制御部１０２は、暗号データの復号要求がある場合には、ステップ１１０の処理に移り、暗号データの復号要求がない場合には、ステップ１１７の処理に移る。
【００７５】
ステップ１１７において、端末１００の通信部１０１は、サーバ２００に再接続されると、サーバ２００に接続されていない状態におけるデータの使用を終了するためのチェックイン要求をサーバ２００に送信する。なお、チェックイン要求には、ステップ１１５で生成されたログ情報が含まれる。
【００７６】
ステップ１１８において、サーバ２００は、端末１００から受信したログ情報に基づいて、暗号化データが不正に復号されたか否かを確認する。具体的には、サーバ２００は、ステップ１０６で設定した期間や回数を超えて暗号化データが復号されたか否かを確認する。
【００７７】
ステップ１１９において、サーバ２００は、ステップ１１８で暗号化データが不正に復号されていないことが確認された場合には、端末１００によるデータへのアクセスを許可する。一方、サーバ２００は、ステップ１１８で暗号化データが不正に復号されたことが確認された場合に、端末１００によるデータへのアクセスを禁止したままとする。
【００７８】
ステップ１２０において、サーバ２００は、ステップ１１８で暗号化データが不正に復号されていないことが確認された場合には、チェックイン要求を受け付て、データへのアクセスが許可されたことを示すチェックイン完了を端末１００に送信する。一方、サーバ２００は、ステップ１１８で暗号化データが不正に復号されたことが確認された場合に、データへのアクセスが許可されなかったことを示すエラー情報を端末１００に送信する。
【００７９】
ステップ１２１において、端末１００の制御部１０２は、チェックイン要求として送信したログ情報を削除する。また、制御部１０２は、新たに乱数値を発生させ、発生させた乱数値を状態ＩＤとして記憶する。すなわち、制御部１０２は状態ＩＤを更新する。
【００８０】
（第１実施形態に係る端末の作用及び効果）
本発明の第１実施形態に係る端末１００によれば、復号処理部１０９が、サーバ２００に送信した鍵生成情報に基づいて生成した復号鍵によって、サーバ２００が鍵生成情報に基づいて生成した暗号鍵によって暗号化された暗号化データを復号することにより、複数の端末間で復号鍵が重複しないようにサーバ２００が復号鍵を端末に割当てるとともに、割当てた復号鍵をサーバ２００が端末に通知する必要がなくなる。
【００８１】
従って、端末１００は、サーバ２００の処理負荷の軽減を図るとともに、サーバ２００に接続されていない状態で暗号化データを復号することができる。
【００８２】
また、端末１００がサーバ２００に再接続された際に更新される状態ＩＤを鍵生成情報が含むことにより、端末１００は、サーバ２００に再接続された後に暗号化データを復号することができない。従って、端末１００は、暗号化データが無制限に復号されて、データが不正に使用される可能性を軽減することができる。
【００８３】
［第２実施形態］
以下において、本発明の第２実施形態について、図面を参照しながら説明する。また、以下においては、上述した第１実施形態と第２実施形態との相違点を主として説明する。
【００８４】
具体的には、上述した第１実施形態では、データ及び制御情報が同一の鍵（鍵生成情報に基づいて生成される鍵）で暗号化又は復号されるが、第２実施形態では、データ及び制御情報が異なる鍵で暗号化又は復号される。
【００８５】
（第２実施形態に係る情報の種類）
以下において、本発明の第２実施形態に係る情報の種類について、図面を参照しながら説明する。図５は、本発明の第２実施形態に係る情報の種類を示す図である。
【００８６】
図５に示すように、端末１００とサーバ２００との間では、制御情報、データ及び鍵生成情報が送受信される。
【００８７】
制御情報は、復号可能期間及び復号可能回数に加えて、データを暗号化する際に用いられるデータ鍵を含む情報である。なお、データ鍵は、２進数で表される乱数値である。
【００８８】
データは、第１実施形態と同様に、サーバ２００によって管理される情報であり、端末１００がサーバ２００に接続された状態や端末１００がサーバ２００に接続されていない状態でユーザによって利用される。
【００８９】
鍵生成情報は、状態ＩＤ記憶部１０３に記憶された状態ＩＤ、端末ＩＤ記憶部１０４に記憶された端末ＩＤ及び入力部１０５から入力されたユーザＩＤに基づいて生成される情報である。なお、第２実施形態では、鍵生成情報に基づいて生成される暗号鍵又は復号鍵は、制御情報を暗号化又は復号する際に用いられる鍵であり、データの暗号化又は復号には用いられない。
【００９０】
（第２実施形態に係る通信システムの動作）
以下において、本発明の第２実施形態に係る通信システムの動作について、図面を参照しながら説明する。図６は、本発明の第２実施形態に係る通信システムの動作を示すフロー図である。
【００９１】
なお、図６では、上述した第１実施形態（図４を参照）と同様の処理が行われるステップには、同一のステップ番号を付している。また、ステップ１０１〜ステップ１０５、ステップ１０７、ステップ１１０、ステップ１１２、ステップ１１４〜ステップ１２１の処理は、上述した実施形態に係る各ステップの処理と同様であるため、これらのステップの説明を省略する。
【００９２】
図６に示すように、ステップ１０６ａにおいて、サーバ２００は、暗号化データの復号が許容される復号可能期間及び暗号化データの復号が許容される復号可能回数を設定する。また、サーバ２００は、復号可能期間及び復号可能回数に加えて、データを暗号化するためのデータ鍵を含む制御情報を生成する。
【００９３】
ステップ１０６ｂにおいて、サーバ２００は、制御情報に含まれるデータ鍵で、サーバ２００に格納されたデータを暗号化して、暗号化データを取得する。
【００９４】
ステップ１０８ａにおいて、サーバ２００は、ステップ１０７で生成される暗号鍵で、ステップ１０６で生成される制御情報を暗号化して、暗号化制御情報を取得する。
【００９５】
ステップ１０９ａにおいて、サーバ２００は、ステップ１０６ｂで取得される暗号化データ及びステップ１０８ａで取得される暗号化制御情報を端末１００に送信する。
【００９６】
ステップ１１１ａにおいて、端末１００の制御情報処理部１１０は、ステップ１１０で生成される復号鍵で暗号化制御情報を復号する。すなわち、制御情報処理部１１０は、暗号化制御情報を復号して、復号可能期間及び復号可能回数に加えて、データ鍵を取得する。
【００９７】
ステップ１１３ａにおいて、端末１００の復号処理部１０９は、サーバ２００から受信した暗号化データを復号する。具体的には、復号処理部１０９は、ステップ１１１ａで取得されるデータ鍵で暗号化データを復号して、復号データを取得する。
【００９８】
（第２実施形態に係る通信システムの作用及び効果）
本発明の第２実施形態に係る通信システムによれば、制御情報処理部１１０が、サーバ２００に送信した鍵生成情報に基づいて生成される復号鍵によって、サーバ２００が鍵生成情報に基づいて生成した暗号鍵によって暗号化した暗号化制御情報を復号することにより、暗号化制御情報を復号する復号鍵が複数の端末間で重複しないようにサーバ２００が復号鍵を端末に割当てるとともに、割当てた復号鍵をサーバ２００が端末１００に通知する必要がなくなる。
【００９９】
また、データ鍵を含む制御情報が暗号化されていることにより、複数の端末に同一のデータ鍵を割当てても、データを十分に保護することができる。
【０１００】
従って、端末１００は、サーバ２００の処理負荷の軽減を図るとともに、サーバ２００に接続されていない状態でサーバ２００が暗号化したデータを復号することができる。
【０１０１】
また、端末１００がサーバ２００に再接続された際に更新される状態ＩＤを鍵生成情報が含むことにより、端末１００は、サーバ２００に再接続された後に暗号化データを復号することができない。従って、端末１００は、暗号化データが無制限に復号されて、データが不正に使用される可能性を軽減することができる。
【０１０２】
［その他の実施形態］
上述した第１実施形態では、制御情報は、鍵生成情報に基づいて生成される鍵によって暗号化又は復号されるが、これに限定されるものではない。
【０１０３】
例えば、制御情報は、鍵生成情報に基づいて生成される鍵とは異なる鍵によって暗号化され、鍵生成情報に基づいて生成される鍵とは異なる鍵によって復号されてもよい。また、制御情報は、暗号化されなくてもよい。
【０１０４】
また、上述した第１実施形態及び第２実施形態では、制御情報は、１つのデータ毎に生成されるが、これに限定されるものではない。
【０１０５】
例えば、制御情報は、複数のデータを１つの単位として、その単位毎に生成されてもよい。また、制御情報は、１つのデータが複数のファイルによって構成される場合には、ファイル毎に生成されてもよく、複数のファイルを１つの単位として、その単位毎に生成されてもよい。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１実施形態に係る通信システムの構成を示す図である。
【図２】本発明の第１実施形態に係る端末１００の構成を示すブロック図である。
【図３】本発明の第１実施形態に係る情報の種類を示す図である。
【図４】本発明の第１実施形態に係る通信システムの動作を示すシーケンス図である。
【図５】本発明の第２実施形態に係る情報の種類を示す図である。
【図６】本発明の第２実施形態に係る通信システムの動作を示すシーケンス図である。
【符号の説明】
【０１０７】
１００・・・端末、１０１・・・通信部、１０２・・・制御部、１０３・・・状態ＩＤ記憶部、１０４・・・端末ＩＤ記憶部、１０５・・・入力部、１０６・・・鍵生成情報生成部、１０７・・・暗号鍵記憶部、１０８・・・暗号処理部、１０９・・・復号処理部、１１０・・・制御情報処理部、１１１・・・出力部、１１２・・・ログ情報記憶部、２００・・・サーバ、３００・・・ネットワーク
【図１】
2006311136.tif 000003
【図２】
2006311136.tif 000004
【図３】
2006311136.tif 000005
【図４】
2006311136.tif 000006
【図５】
2006311136.tif 000007
【図６】
2006311136.tif 000008