(57)【要約】【課題】管理すべき鍵数を抑えつつ、利用者の代理人が、利用者により指定された一定期間のみ、利用者向けの情報を閲覧可能とする。【解決手段】ポータル・サーバにより、第１の利用者の代理人である第２の利用者の端末からの情報の要求を受信し、暗号化データ記憶部に記憶されている第１の利用者の端末向けの前記情報の暗号化データを、第１の暗号鍵記憶部に記憶されている第２の利用者用の再暗号化鍵を用いて、再暗号化し、この再暗号化データを、第２の利用者の端末に送信し、第２の利用者の端末により、ポータル・サーバから再暗号化データを受信し、第２の暗号鍵記憶部に記憶されている第２の利用者用の暗号鍵と、前記第１の利用者の端末により指定された、情報の閲覧可能期間と関連付いた時間鍵を用いて、受信した再暗号化データを復号する。【選択図】  図７
2015056820.tif 000002
【特許請求の範囲】
【請求項１】
情報を記憶する情報提供サーバにより、複数の利用者の端末の何れかからの情報要求に応じて、要求された情報を暗号化し、これを情報中継装置を介して情報要求元の利用者端末に送信する情報提供システムにおける、情報の暗号化・復号化方法であって、
前記情報中継装置により、
第１の利用者の代理人である第２の利用者の端末からの情報の要求を受信し、
暗号化データ記憶部に記憶されている第１の利用者の端末向けの前記情報の暗号化データを、第１の暗号鍵記憶部に記憶されている第２の利用者用の再暗号化鍵を用いて、再暗号化し、
前記再暗号化データを、前記第２の利用者の端末に送信し、
前記第２の利用者の端末により、
前記情報中継装置から前記再暗号化データを受信し、
第２の暗号鍵記憶部に記憶されている前記第２の利用者用の暗号鍵と、前記第１の利用者の端末により指定された、前記情報の閲覧可能期間と関連付いた時間鍵を用いて、前記受信した再暗号化データを復号する、
ことを特徴とする情報の暗号化・復号化方法。
【請求項２】
前記第２の利用者用の再暗号化鍵は、前記第１の利用者の端末により生成された第１の利用者用の暗号鍵の逆元と、前記第２の利用者用の暗号鍵との所定の演算結果であり、
前記情報中継装置により、
前記第１の利用者用の暗号鍵により復号可能な前記情報の暗号化データを、前記第２の利用者用の暗号鍵を用いて再暗号化することにより、前記第１の利用者用の暗号鍵により復号することなく、前記第２の利用者用の暗号鍵を用いて復号可能な前記再暗号化データを生成し、
前記生成した再暗号化データを前記第２の利用者の端末に送信する、
ことを特徴とする請求項１に記載の情報の暗号化・復号化方法。
【請求項３】
前記第２の利用者の端末により、
前記情報中継装置から前記再暗号化データを受信し、
前記第１の利用者の端末により時間鍵T1から一方向性の性質を持つハッシュ関数Hを用いて生成された、前記情報の閲覧可能開始期間と関連付いた時間鍵Tp（pは1≦pを満たす任意の正の整数）から、時間鍵Ti（p≦i）を生成し、
前記第１の利用者の端末により時間鍵SN（Nは任意の正の整数）から前記ハッシュ関数Hを用いて生成された、前記情報の閲覧可能終了期間と関連付いた時間鍵Sq（qはq≦Nを満たす任意の正の整数）から、時間鍵Si（i≦q）を生成し、
前記第２の利用者用の暗号鍵である秘密鍵と、前記時間鍵Tiと、前記時間鍵Siを用いて、前記受信した再暗号化データを復号する、
ことを特徴とする請求項２に記載の情報の暗号化・復号化方法。
【請求項４】
前記第１の利用者の端末により、
一方向性の性質を持つハッシュ関数Hを用いて、Ti+1=H(Ti)により前記時間鍵T1から前記時間鍵Tpを生成し、Si-1=H(Si)により前記時間鍵SNから前記時間鍵Sqを生成し、
前記生成した前記時間鍵Tpと前記時間鍵Sqを前記第２の利用者の端末に送信する、
ことを特徴とする請求項３に記載の情報の暗号化・復号化方法。
【請求項５】
情報を記憶する情報提供サーバにより、複数の利用者の端末の何れかからの情報要求に応じて、要求された情報を暗号化し、これを情報中継装置を介して情報要求元の利用者端末に送信する情報提供システムであって、
前記情報中継装置は、
第１の利用者の代理人である第２の利用者の端末からの情報の要求を受信し、
暗号化データ記憶部に記憶されている第１の利用者の端末向けの前記情報の暗号化データを、第１の暗号鍵記憶部に記憶されている第２の利用者用の再暗号化鍵を用いて、再暗号化し、
前記再暗号化データを、前記第２の利用者の端末に送信し、
前記第２の利用者の端末は、
前記情報中継装置から前記再暗号化データを受信し、
第２の暗号鍵記憶部に記憶されている前記第２の利用者用の暗号鍵と、前記第１の利用者の端末により指定された、前記情報の閲覧可能期間と関連付いた時間鍵を用いて、前記受信した再暗号化データを復号する、
ことを特徴とする情報提供システム。
【請求項６】
前記第２の利用者用の再暗号化鍵は、前記第１の利用者の端末により生成された第１の利用者用の暗号鍵の逆元と、前記第２の利用者用の暗号鍵との所定の演算結果であり、
前記情報中継装置は、
前記第１の利用者用の暗号鍵により復号可能な前記情報の暗号化データを、前記第２の利用者用の暗号鍵を用いて再暗号化することにより、前記第１の利用者用の暗号鍵により復号することなく、前記第２の利用者用の暗号鍵を用いて復号可能な前記再暗号化データを生成し、
前記生成した再暗号化データを前記第２の利用者の端末に送信する、
ことを特徴とする請求項５に記載の情報提供システム。
【請求項７】
前記第２の利用者の端末は、
前記情報中継装置から前記再暗号化データを受信し、
前記第１の利用者の端末により時間鍵T1から一方向性の性質を持つハッシュ関数Hを用いて生成された、前記情報の閲覧可能開始期間と関連付いた時間鍵Tp（pは1≦pを満たす任意の正の整数）から、時間鍵Ti（p≦i）を生成し、
前記第１の利用者の端末により時間鍵SN（Nは任意の正の整数）から前記ハッシュ関数Hを用いて生成された、前記情報の閲覧可能終了期間と関連付いた時間鍵Sq（qはq≦Nを満たす任意の正の整数）から、時間鍵Si（i≦q）を生成し、
前記第２の利用者用の暗号鍵である秘密鍵と、前記時間鍵Tiと、前記時間鍵Siを用いて、前記受信した再暗号化データを復号する、
ことを特徴とする請求項６に記載の情報提供システム。
【請求項８】
前記第１の利用者の端末は、
一方向性の性質を持つハッシュ関数Hを用いて、Ti+1=H(Ti)により前記時間鍵T1から前記時間鍵Tpを生成し、Si-1=H(Si)により前記時間鍵SNから前記時間鍵Sqを生成し、
前記生成した前記時間鍵Tpと前記時間鍵Sqを前記第２の利用者の端末に送信する、
ことを特徴とする請求項７に記載の情報提供システム。
【請求項９】
請求項１乃至請求項４の何れか１項に記載の情報の暗号化・復号化方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を暗号化し、暗号化した情報を復号化するシステムに関する。
【背景技術】
【０００２】
情報システムの発展に伴い、情報提供サービスを行う複数の情報提供者のサーバや情報を利用する複数の利用者の端末が、インターネット等を通じて相互に接続され、利用者各々が様々な情報提供サービスを利用するのが一般的になってきている。また、情報提供サービスを行う情報提供者の数が多くなるに従い、各利用者が求める情報提供サービスを自ら発見し、管理するのが難しくなってきたため、主要かつ有用な情報提供サービスを纏めて管理し利用者に対し情報中継を行うポータルサイトと呼ばれる情報中継サービス提供者が必要となってきている。
【０００３】
情報提供者は、特定の利用者に向けたデータを情報中継サービス提供者宛に送信し、情報中継サービス提供者は、利用者向けに送られた情報提供者からのデータを一時的に蓄積し、利用者は自らの要求に基づき、情報中継サービス提供者が一時的に蓄積している自分宛の情報を取得・閲覧するというサービス形態が想定されている。
【０００４】
また、利用者利便性を上げるため、利用者は自らの代理人権限を別の利用者に付与し、代理人権限を付与された利用者は、代理権限付与元の利用者宛に送信されたデータを代わりに取得・閲覧することが可能となる代理人サービスというサービス形態も考えられている。
【０００５】
上記のようなサービス形態を想定した際、セキュリティ上の問題が発生する。情報中継サービス提供者の役割は、受信した利用者宛のデータを一時保存し利用者からの要求に基づき送信を行うことであり、データの内容を閲覧できるべきではない。データの内容の閲覧が可能な場合は、情報中継サービス提供者の不正により、利用者が意図しない情報漏えいが起きる可能性がある。
【０００６】
情報漏えい対策としては、ＡＥＳ暗号などの従来技術により安全にかつ効率よく秘匿化をすることが可能であるが、情報提供者と利用者間で暗号化を行った場合、代理人サービスを想定すると新たな問題が発生する。
【０００７】
第一には、代理人権限を付与した別の利用者に対し、利用者が自らの暗号鍵を渡した場合、代理を意図したデータ以外の全てのデータについても、復号が可能となってしまう問題がある。
【０００８】
第二には、別途、情報提供者に依頼して、代理人権限を付与した別の利用者用に、代理人権限を付与した別の利用者だけが復号可能な暗号化したデータを送信する方法も考えられる。しかし、この場合は、情報提供者が各々代理人および代理人に対応する暗号鍵を管理し、代理人用に別途データを代理人に対応する暗号鍵を用いて暗号化する必要も生じるため、情報提供者の業務負荷が大きくなってしまう。
【０００９】
上記の問題を解決する従来技術として、特許文献１のように情報中継時の暗号化データを再暗号化する方法が知られている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】ＷＯ２０１２/１４７８６９
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、前記特許文献１では、利用者が一度代理権限を付与した他の利用者に対して、過去・未来と含めた全期間の代理閲覧権限を与えることしか出来ない。また、期間ごとに暗号鍵や再暗号化鍵を更新することで、特定期間のみの代理権限を付与することも可能ではあるが、その場合、利用者や代理人、情報提供者が管理すべき暗号鍵や、情報中継サービス提供者が管理すべき再暗号化鍵の数が膨大になり、管理運用も煩雑になってしまう問題がある。
【００１２】
本発明は、管理すべき鍵数を抑えつつ、利用者の代理人が、利用者により指定された一定期間のみ、利用者向けの情報を閲覧可能とする情報の暗号化・復号化方法、情報提供システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の代表的な一例は次の通りである。すなわち、本発明は、情報を記憶する情報提供サーバにより、複数の利用者の端末の何れかからの情報要求に応じて、要求された情報を暗号化し、これを情報中継装置を介して情報要求元の利用者端末に送信する情報提供システムにおける、情報の暗号化・復号化方法である。前記情報中継装置により、第１の利用者の代理人である第２の利用者の端末からの情報の要求を受信し、暗号化データ記憶部に記憶されている第１の利用者の端末向けの前記情報の暗号化データを、第１の暗号鍵記憶部に記憶されている第２の利用者用の再暗号化鍵を用いて、再暗号化し、前記再暗号化データを、前記第２の利用者の端末に送信する。また、前記第２の利用者の端末により、前記情報中継装置から前記再暗号化データを受信し、第２の暗号鍵記憶部に記憶されている前記第２の利用者用の暗号鍵と、前記第１の利用者の端末により指定された、前記情報の閲覧可能期間と関連付いた時間鍵を用いて、前記受信した再暗号化データを復号する。
【発明の効果】
【００１４】
任意の利用者は、時間鍵により、代理人に対して代理で利用者向けの情報を閲覧可能な期間を指定できるため、管理すべき鍵数を抑えつつ、利用者の代理人が、利用者により指定された一定期間のみ、利用者向けの情報を閲覧できる。
【図面の簡単な説明】
【００１５】
【図１】第一実施形態における、情報提供システムの概略を例示する図である。
【図２】電子計算機の概略構成を例示する図である。
【図３】第一の実施形態における、本人鍵登録申請を行う処理を例示するシーケンス図である。
【図４】第一の実施形態における、本人宛の暗号化データを送信する処理を例示するシーケンス図である。
【図５】第一の実施形態における、本人宛の暗号化データを入手、閲覧する処理を例示するシーケンス図である。
【図６】第一の実施形態における、代理人鍵登録申請を行う処理を例示するシーケンス図である。
【図７】第一の実施形態における、代理人が代理元宛の暗号化データを入手、閲覧する処理を例示するシーケンス図である。
【発明を実施するための形態】
【００１６】
以下に、本発明の一実施形態について、図１〜図７の図面を用いて説明する。
（実施の形態１）
図１は、本発明の第一の実施の形態である情報提供システムの概略図である。図示するように、情報提供システムは、利用者が利用する１つ以上の利用者端末１２０と、情報提供者が利用する１つ以上の情報提供サーバ１４０と、情報中継サービス提供者が利用するポータル・サーバ（情報中継装置）１００と、を備え、利用者端末１２０と情報提供サーバ１４０とポータル・サーバ１００は、ネットワーク１６０を介して相互に情報を送受信できるように設計されている。このような構成を持つ情報提供システムは、複数の情報提供サーバ１４０と、情報を取得する複数の利用者端末１２０との間に、情報を中継するポータル・サーバ１００があるモデルにおいて、情報提供サーバ１４０が特定の利用者端末１２０向けに暗号化したデータをポータルサーバ１００が復号することなく利用者端末１２０の要求に応じて利用者が指定する代理人用の利用者端末１２０向けに再暗号化するシステムである。
【００１７】
なお、利用者端末１２０は、複数の利用者が各々の利用者端末を利用することから、利用者端末Ａ（１２０−Ａ）、利用者端末Ｂ（１２０−Ｂ）…と複数の利用者端末が接続されるものとする。
【００１８】
また、情報提供サーバ１４０は、複数の情報提供者が各々の情報提供サーバを利用することを想定し、情報提供サーバ１（１４０−１）、情報提供サーバ２（１４０−２）…と複数の情報提供サーバが接続されるものとする。
【００１９】
次に、図１のシステムを構成する各装置の機能概略について説明する。
【００２０】
情報提供サーバ１４０は、制御部１４１と、暗号処理部１４２と、通信部１４３と、入出力部１４４と、暗号鍵記憶部１５１と、情報記憶部１５２を備える。
【００２１】
情報記憶部１５２には、ポータル・サーバ１００を中継して利用者端末１２０に向けて送信されるデータが記憶されており、暗号鍵記憶部１５１には、送信されるデータを暗号化する暗号鍵が記憶される。
【００２２】
暗号処理部１４２は、利用者端末１２０に向けて送信されるデータを暗号化する暗号鍵の生成や、情報記憶部１５２に記憶されているデータを暗号鍵記憶部１５１に記憶される暗号鍵によって暗号化して暗号化データを生成する等の暗号処理全般に関する機能を有する。
【００２３】
通信部１４３は、利用者端末１２０およびポータル・サーバ１００との間において、ネットワーク１６０を介して情報（暗号鍵や暗号化データ等）を送受信する処理に関する機能を有する。
【００２４】
入出力部１４４は、情報提供者からの入力を受け付けたり、情報提供者に対し情報を表示したりする機能を有する。
【００２５】
制御部１４１は、情報提供サーバ１４０に備わる各部の全体処理を制御する機能を有する。例えば、情報記憶部１５２から暗号化対象のデータを読込み、暗号鍵記憶部１５１から指定された暗号鍵を読込み、暗号処理部１４２に暗号化対象データおよび暗号鍵を入力し、暗号処理部１４２により暗号化処理を行うことで暗号化データを生成し、通信部１４３により生成された暗号化データをネットワーク１６０を介して、ポータル・サーバ１００に送信する等の全体処理を制御する。
【００２６】
ポータル・サーバ１００は、制御部１０１と、暗号処理部１０２と、通信部１０３と、入出力部１０４と、暗号鍵記憶部１１１と、暗号化データ記憶部１１２を備える。
【００２７】
暗号化データ記憶部１１２には、情報提供サーバ１４０から受信した暗号化データやポータル・サーバ１００で再暗号化したデータが記憶され、暗号鍵記憶部１１１には、ポータル・サーバ１００で再暗号化する暗号鍵等が記憶される。
【００２８】
暗号処理部１０２は、利用者端末１２０に向けて送信される暗号鍵の生成や、暗号化データ記憶部１１２に記憶されているデータを暗号鍵記憶部１１１に記憶されている再暗号鍵によって再暗号化して暗号化データを生成する等の暗号処理全般に関する機能を有する。
【００２９】
通信部１０３は、利用者端末１２０および情報提供サーバ１４０との間において、ネットワーク１６０を介して情報（暗号鍵や暗号化データ等）を送受信する処理に関する機能を有する。
【００３０】
入出力部１０４は、情報中継サービス提供者からの入力を受け付けたり、情報中継サービス提供者に対し情報を表示したりする機能を有する。
【００３１】
制御部１０１は、ポータル・サーバ１００に備わる各部の全体処理を制御する機能を有する。例えば、暗号化データ記憶部１１２から暗号化データを読込み、暗号鍵記憶部１１１から指定された再暗号鍵を読込み、暗号処理部１０２に暗号化データおよび再暗号鍵を入力し、暗号処理部１０２により再暗号化処理を行うことで暗号化データを生成し、暗号化データ記憶部１１２に暗号化データを保持する等の全体処理を制御する。
【００３２】
利用者端末１２０は、制御部１２１と、暗号処理部１２２と、通信部１２３と、暗号鍵記憶部１３１と、入出力部１２４と、暗号化データ記憶部１３２を備える。
【００３３】
暗号化データ記憶部１３２には、ポータル・サーバ１００から受信した暗号化データ等が記憶され、暗号鍵記憶部１３１には、利用者端末１２０で暗号化データを復号するための暗号鍵等が記憶される。
【００３４】
暗号処理部１２２は、利用者端末１２０で暗号化データを復号するための暗号鍵の生成や、暗号化データ記憶部１３２に記憶されている暗号化データを暗号鍵記憶部１３１に記憶されている暗号鍵によって復号する等の暗号処理全般に関する機能を有する。
【００３５】
通信部１２３は、ポータル・サーバ１００および情報提供サーバ１４０との間において、ネットワーク１６０を介して情報（暗号鍵や暗号化データ等）を送受信する処理に関する機能を有する。
【００３６】
入出力部１２４は、利用者からの入力を受け付けたり、利用者に対し情報を表示したりする機能を有する。
【００３７】
制御部１２１は、利用者端末１２０に備わる各部の全体処理を制御する機能を有する。例えば、暗号化データ記憶部１３２から暗号化データを読込み、暗号鍵記憶部１３１から指定された暗号鍵を読込み、暗号処理部１２２に暗号化データおよび暗号鍵を入力し、暗号処理部１２２により復号処理を行うことで暗号化データを復号する等の全体処理を制御する。
【００３８】
なお、図１に例示する、利用者端末１２０、ポータル・サーバ１００、情報提供サーバ１４０、の各装置は、例えば、図２に示すような、ＣＰＵ２０１と、メモリ２０２と、ハードディスク等の外部記憶装置２０４と、インターネットやネットワーク１６０を介して他装置と通信を行なうための通信装置２０３と、キーボードやマウス等の入力装置２０５と、表示装置やプリンタ等の出力装置２０６と、可搬性を有する記憶媒体２０８から情報を読み取る読取装置２０７と、これらの各装置間を接続する内部通信線２０９を備えた、一般的な電子計算機（コンピュータ）２００で実現できる。
【００３９】
例えば、利用者端末１２０の装置は、暗号鍵記憶部１３１と暗号化データ記憶部１３２は、ＣＰＵ２０１がメモリ２０２または外部記録装置２０４を利用することにより実現可能であり、制御部１２１と暗号処理部１２２は、外部記録装置２０４に記録されている所定のプログラムをメモリ２０２にロードしてＣＰＵ２０１で実行することで実現可能であり、入出力部１２４は、ＣＰＵ２０１が入力装置２０５と出力装置２０６を利用することで実現可能であり、通信部１２３は、ＣＰＵ２０１が通信装置２０３を利用することで実現可能である。
【００４０】
この所定のプログラムは、読取装置２０７を介して記録媒体２０８から、あるいは、通信装置２０３を介してネットワーク１６０から、外部記録装置２０４に記録(ダウンロード)され、それから、メモリ２０２上にロードされて、ＣＰＵ２０１により実行されるようにしてもよい。また、読取装置２０７を介して、記録媒体２０８から、あるいは通信装置２０３を介してネットワーク１６０から、メモリ２０２上に直接ロードされ、ＣＰＵ２０１により実行されるようにしてもよい。
【００４１】
利用者端末１２０の暗号処理部１２２とポータル・サーバ１００の暗号処理部１０２と情報提供サーバ１４０の暗号処理部１４２とに実装される暗号方式について、以下に説明する。
【００４２】
ここで、暗号鍵Kにより暗号化対象の情報Mを前記暗号方式の暗号演算fで暗号化したデータをf(K,M)と記述し、暗号鍵K1と暗号鍵K2同士のある演算「・」を行った新たな暗号鍵をK1・K2と記述する。また、暗号化データf(K,M)は、暗号鍵Kを用いて、情報Mに復号することが出来る。
【００４３】
前記暗号方式の第一の性質として、暗号鍵K2で情報Mを暗号化したデータf(K2,M)に対し、再暗号化鍵K1を用いて暗号鍵変換演算Uを行うことにより、暗号鍵K1・K2で暗号化したデータf(K1・K2,M)に変換することが出来る。
【００４４】
U(K1, f(K2,M)) = f(K1・K2,M)    （数式１）
前記第一の性質を利用し、暗号鍵K2と、暗号鍵K1から生成可能な暗号鍵同士のある演算「・」に関する逆元の暗号鍵K1-1と、により生成した再暗号化鍵をK2・K1-1とすると、以下の関係が成り立つ。
【００４５】
U(K2・K1-1, f(K1,M)) = f(K2・K1-1・K1,M) = f(K2,M)    （数式１−１） 
すなわち、再暗号化鍵K2・K1-1を用いて、暗号鍵K1で暗号化された暗号化データf(K1,M)を、復号することなく暗号鍵K2で暗号化された暗号化データf(K2,M)に変換することが出来る。
【００４６】
前記暗号方式の第二の性質として、暗号鍵K2で情報Mを暗号化したデータf(K2,M)を、暗号鍵K1で再度暗号化したf(K1,f(K2,M))は、暗号鍵K1で情報Mを暗号化したデータf(K1,M)を、暗号鍵K2で再度暗号化したf(K2,f(K1,M))は、等しく暗号化の順番に可換性の性質を持つ。
【００４７】
f(K1,f(K2,M)) = f(K2,f(K1,M))  （数式２）
前記暗号方式の第三の性質として、暗号鍵同士のある演算「・」は以下の可換性を持つ。
【００４８】
K1・K2 = K2・K1  （数式３）
次に、一方向性の性質を持つ時間鍵T、Sについて説明する。時間鍵は前記暗号方式の暗号鍵としての性質を持った上で、以下の制約条件のもと生成される。
【００４９】
(i+1)番目の時間鍵Ti+1は、時間鍵Tiのハッシュ関数Hを取ったものとして生成される。すなわち、Ti+1 = H(Ti)の関係を満たす。これにより、Tpしか知らない場合、ハッシュ関数Hを順次用いることでp番目より大きなTp+1、Tp+2…を生成することは出来るが、ハッシュ関数の一方向性によりp番目より小さなTp-1、Tp-2…は生成することが出来ない。
【００５０】
(i-1)番目の時間鍵Si-1は、時間鍵Siのハッシュ関数Hを取ったものとして生成される。すなわち、Si-1 = H(Si)の関係を満たす。これにより、Sqしか知らない場合、ハッシュ関数Hを順次用いることでq番目より小さなSq-1、Sq-2…を生成することは出来るが、ハッシュ関数の一方向性によりq番目より大きなSq+1、Sq+2…は生成することが出来ない。
【００５１】
図３は、本実施形態において、利用者端末１２０が情報提供サーバ１４０と協調してポータル・サーバ１００に本人用の再暗号化鍵を登録するシーケンスを表した図である。
【００５２】
まず、利用者端末Ａ（１２０−Ａ）は通信部１２３にて、本人用の再暗号化鍵の登録申請をポータル・サーバ１００に送付し（Ｓ３０１）、ポータル・サーバ１００は暗号処理部１０２にて使い捨ての鍵Kpを生成し、暗号鍵記憶部１１１に保持し（Ｓ３０２）、通信部１０３にて使い捨ての鍵Kpを利用者端末Ａ（１２０−Ａ）に送付する（Ｓ３０３）。
【００５３】
次に、利用者端末Ａ（１２０−Ａ）は暗号処理部１２２にて自分用の暗号鍵として秘密鍵Kaを生成して暗号鍵記憶部１３１に保持し（Ｓ３０４）、暗号処理部１２２にて時間指定用の暗号鍵として時間鍵T1と時間鍵SN（Nは任意の正の整数）を生成して暗号鍵記憶部１３１に保持し（Ｓ３０５）、暗号処理部１２２にて本人用の再暗号化鍵の元となる再暗号化鍵Kp・Kaを生成する（Ｓ３０６）。
【００５４】
次に、利用者端末Ａ（１２０−Ａ）は、通信部１２３にてＳ３０６で生成した再暗号化鍵Kp・KaとＳ３０５で生成した時間鍵T1と時間鍵SNを情報提供サーバ１（１４０−１）に送付する（Ｓ３０７）。ここで、Ｓ３０６で生成した再暗号化鍵Kp・KaとＳ３０５で生成した時間鍵T1と時間鍵SNは、利用者端末Ａ（１２０−Ａ）および情報提供サーバ１（１４０−１）以外に知られてはいけないデータであり、ＳＳＬ等の暗号通信を利用することで、他の利用者端末・他の情報提供サーバおよびポータルサーバに対し秘匿しておく必要がある。
【００５５】
次に、情報提供サーバ１（１４０−１）は、通信部１４３にて受信した時間鍵T1と時間鍵SNを暗号鍵記憶部１５１に保持し（Ｓ３０８）、暗号処理部１４２にて利用者端末Ａ（１２０−Ａ）向けの秘密鍵K1,aを生成して暗号鍵記憶部１５１に保持し（Ｓ３０９）、暗号処理部１４２にて利用者端末Ａ（１２０−Ａ）向けの再暗号化鍵の元となる再暗号化鍵Kp・Ka・K1,a-1を生成し（Ｓ３１０）、通信部１４３にてＳ３１０で生成した再暗号化鍵Kp・Ka・K1,a-1をポータル・サーバ１００に送付する（Ｓ３１１）。
【００５６】
次に、ポータル・サーバ１００は、通信部１０３にて受信した再暗号化鍵Kp・Ka・K1,a-1と暗号鍵記憶部１１１に保持していた暗号鍵Kpの逆元Kp-1を用いて、暗号処理部１０２にて再暗号鍵Ka・K1,a-1（＝Kp-1・Kp・Ka・K1,a-1）を生成し、暗号鍵記憶部１１１に保持する（Ｓ３１２）。ここで、暗号記憶部１１１に保持していた暗号鍵Kpは再暗号化鍵を生成するための使い捨ての鍵であるため、破棄してもよい。
【００５７】
最後に、ポータル・サーバ１００は、通信部１０３にて鍵登録申請完了の通知を利用者端末Ａ（１２０−Ａ）に送付し、利用者端末Ａ（１２０−Ａ）の通信部１２３が前記通知を受信して処理を終了する（Ｓ３１３）。
【００５８】
図４は、本実施形態において、情報提供サーバ１４０がポータル・サーバ１００に特定の利用者端末１２０向けの情報を暗号化して送付するシーケンスを表した図である。
【００５９】
まず、情報提供サーバ１（１４０−１）は、利用者端末Ａ（１２０−Ａ）宛に送付する情報M1,aを生成して情報記憶部１５２に保持し（Ｓ４０１）、暗号鍵記憶部１５１に保持していた利用者端末Ａ（１２０−Ａ）用の時間鍵T1と時間鍵SNを用いて、情報送付時点の現在時刻に対応する時間鍵Tiと時間鍵Siを生成する（Ｓ４０２）。
【００６０】
次に、情報提供サーバ１（１４０−１）は暗号処理部１４２にて、情報記憶部１５２に保持している利用者端末Ａ（１２０−Ａ）宛に送付する情報M1,aを、暗号鍵記憶部１５１に保持している利用者端末Ａ（１２０−Ａ）用の秘密鍵K1,aとＳ４０２で生成した時間鍵Tiと時間鍵Siを用いて生成した暗号鍵K1,a・Ti・Siにより暗号化することで、暗号化データf(K1,a・Ti・Si, M1,a)を生成する（Ｓ４０３）。
【００６１】
次に、情報提供サーバ１（１４０−１）は通信部１４３にて、前記生成した暗号化データf(K1,a・Ti・Si, M1,a)をポータル・サーバ１００に送付する（Ｓ４０４）。
【００６２】
次に、ポータル・サーバ１００は暗号処理部１０２にて、通信部１０３で受信した前記暗号化データf(K1,a・Ti・Si, M1,a)を、暗号鍵記憶部１１１に保持している利用者端末Ａ（１２０−Ａ）用の再暗号化鍵Ka・K1,a-1を用いて再暗号化することで、暗号化データf(Ka・Ti・Si, M1,a)を生成する（Ｓ４０５）。ここで、暗号化データf(Ka・Ti・Si, M1,a)の生成の過程を以下に示す。
【００６３】
U(Ka・K1,a-1,f(K1,a・Ti・Si, M1,a)) = f(Ka・K1,a-1・K1,a・Ti・Si, M1,a)) = f(Ka・Ti・Si, M1,a)
最後に、ポータル・サーバ１００はＳ４０５で生成した暗号化データf(Ka・Ti・Si, M1,a)を暗号化データ記憶部１１２に保持し、処理を終了する（Ｓ４０６）。
【００６４】
図５は、本実施形態において、利用者端末Ａ（１２０―Ａ）がポータル・サーバ１００から本人向けの暗号化データを取得、復号し、復号した情報を閲覧するシーケンスを表した図である。
【００６５】
まず、利用者端末Ａ（１２０−Ａ）は通信部１２３にて、本人向けの情報要求をポータル・サーバ１００に送付し（Ｓ５０１）、ポータル・サーバ１００は暗号化データ記憶部１３２に保持している暗号化データf(Ka・Ti・Si, M1,a)を読み出し、通信部１０３にて読み出した暗号化データf(Ka・Ti・Si, M1,a)を利用者端末Ａ（１２０−Ａ）に送付する（Ｓ５０２）。
【００６６】
次に、利用者端末Ａ（１２０−Ａ）は暗号処理部１２２にて、暗号鍵記憶部１３１から読み出した時間鍵T1と時間鍵SNを用いて、時間鍵Tiと時間鍵Siを生成する（Ｓ５０３）。
【００６７】
次に、利用者端末Ａ（１２０−Ａ）は暗号処理部１２２にて、Ｓ５０２で受信した暗号化データf(Ka・Ti・Si, M1,a)を、暗号鍵記憶部１５１に保持している利用者本人の秘密鍵KaとＳ５０２で生成した時間鍵Tiと時間鍵Siを用いて生成した暗号鍵Ka・Ti・Siにより復号することで、情報M1,aを生成する（Ｓ５０４）。
【００６８】
最後に、利用者はＳ５０４で復号した情報M1,aを閲覧することで処理を終了する。
【００６９】
図６は、本実施形態において、複数の利用者端末１２０がポータル・サーバ１００に代理人用の再暗号化鍵を登録するシーケンスを表した図である。
【００７０】
まず、利用者端末Ａ（１２０−Ａ）は通信部１２３にて、代理人用の再暗号化鍵の登録申請をポータル・サーバ１００に送付し（Ｓ６０１）、ポータル・サーバ１００は暗号処理部１０２にて使い捨ての鍵Kpを生成し、暗号鍵記憶部１１１に保持し（Ｓ６０２）、通信部１０３にて使い捨ての鍵Kpを利用者端末Ａ（１２０−Ａ）に送付する（Ｓ６０３）。
【００７１】
次に、利用者端末Ａ（１２０−Ａ）は暗号鍵記憶部１３１に保持している自分用の秘密鍵Kaを読み出し（Ｓ６０４）、暗号処理部１２２にて、暗号鍵記憶部１３１に保持している時間指定用の時間鍵T1と時間鍵SNを用いて、閲覧可能開始期間に関連付けた時間鍵Tpと閲覧可能終了期間に関連付けた時間鍵Sqを生成し（Ｓ６０５）、暗号処理部１２２にて代理人用の再暗号化鍵の元となる再暗号化鍵Kp・Ka-1を生成する（Ｓ６０６）。ここで、時間鍵のp、qは、1≦p≦q≦Nの関係を持たせる。
【００７２】
次に、利用者端末Ａ（１２０−Ａ）は、通信部１２３にてＳ６０６で生成した再暗号化鍵Kp・Ka-1とＳ６０５で生成した時間鍵Tpと時間鍵Sqを代理人として指定する利用者端末Ｂ（１２０−Ｂ）に送付する（Ｓ６０７）。ここで、Ｓ６０６で生成した再暗号化鍵Kp・Ka-1とＳ６０５で生成した時間鍵Tpと時間鍵Sqは、利用者端末Ａ（１２０−Ａ）および利用者端末Ｂ（１２０−Ｂ）以外に知られてはいけないデータであり、ＳＳＬ等の暗号通信を利用することで、他の利用者端末・他の情報提供サーバおよびポータルサーバに対し秘匿しておく必要がある。
【００７３】
次に、利用者端末Ｂ（１２０−Ｂ）は、通信部１２３にて受信した時間鍵Tpと時間鍵Sqを暗号鍵記憶部１３１に保持し（Ｓ６０８）、暗号処理部１２２にて利用者端末Ａ（１２０−Ａ）向けの代理人用秘密鍵K'b,aを生成して暗号鍵記憶部１３２に保持し（Ｓ６０９）、暗号処理部１２２にて利用者端末Ａ（１２０−Ａ）向けの代理人用の再暗号化鍵の元となる再暗号化鍵K'b,a・Kp・Ka-1を生成し（Ｓ６１０）、通信部１２３にてＳ６１０で生成した再暗号化鍵K'b,a・Kp・Ka-1をポータル・サーバ１００に送付する（Ｓ６１１）。
【００７４】
次に、ポータル・サーバ１００は、処理部１０２にて、通信部１０３にて受信した再暗号化鍵K'b,a・Ka・Ka-1と、暗号鍵記憶部１１１に保持していた暗号鍵Kpの逆元Kp-1を用いて、代理人用の暗号再暗号鍵K'b,a・Ka-1（= K'b,a・(Kp-1・Kp)・Ka-1 = Kp-1・K'b,a・Kp・Ka-1）を生成し、暗号鍵記憶部１１１に保持する（Ｓ６１２）。ここで、暗号記憶部１１１に保持していた暗号鍵Kpは再暗号化鍵を生成するための使い捨ての鍵であるため、破棄してもよい。
【００７５】
最後に、ポータル・サーバ１００は、通信部１０３にて代理人用の再暗号化鍵登録申請完了の通知を利用者端末Ａ（１２０−Ａ）に送付し、利用者端末Ａ（１２０−Ａ）の通信部１２３が前記通知を受信して処理を終了する（Ｓ６１３）。
【００７６】
なお、利用者端末Ｂ（１２０−Ｂ）に送信した時間鍵Sqに代えて、時間鍵Sq+j（q≦q+i≦N）を生成して利用者端末Ｂ（１２０−Ｂ）に再送することで、代理人が閲覧可能な期間を延長することも出来る。
【００７７】
図７は、本実施形態において、代理人の利用者端末１２０がポータル・サーバ１００から代理人向けの暗号化データを取得、復号し、復号した情報を閲覧するシーケンスを表した図である。
【００７８】
まず、代理人としての利用者端末Ｂ（１２０−Ｂ）は通信部１２３にて、利用者端末Ａ（１２０−Ａ）の代理人として情報要求をポータル・サーバ１００に送付する（Ｓ７０１）。
【００７９】
次に、ポータル・サーバ１００は暗号処理部１０２にて、暗号化データ記憶部１１２に保持している暗号化データf(Ka・Ti・Si, M1,a)を、暗号鍵記憶部１１１に保持している利用者端末Ｂ（１２０−Ｂ）の代理人用の再暗号化鍵K'b,a・Ka-1を用いて再暗号化することで、代理人向けの暗号化データf(K'b,a・Ti・Si, M1,a)を生成する（Ｓ７０２）。ここで、暗号化データf(K'b,a・Ti・Si, M1,a)の生成の過程を以下に示す。
【００８０】
U(Kb,a・Ka-1, f(Ka・Ti・Si, M1,a)) = f(K'b,a・Ka-1・Ka・Ti・Si, M1,a)) = f(K'b,a・Ti・Si, M1,a)
次に、ポータル・サーバ１００は通信部１０３にて、Ｓ７０２で生成した代理人向けの暗号化データf(K'b,a・Ti・Si, M1,a)を利用者端末Ｂ（１２０−Ｂ）に送付する（Ｓ７０３）。
【００８１】
次に、利用者端末Ｂ（１２０−Ｂ）は暗号処理部１２２にて、暗号鍵記憶部１３１から読み出した時間鍵Tpと時間鍵Sqを用いて、時間鍵Tiと時間鍵Siを生成する（Ｓ７０４）。ここで、利用者端末Ａ（１２０−Ａ）から指定された時間鍵のp、qとiがp≦i≦qの場合は時間鍵Tiと時間鍵Siの両方ともに生成可能であるが、i＜pの場合、時間鍵Tiは生成不可能であり、q＜iの場合、時間鍵Siは生成不可能である。これにより、利用者端末Ａ（１２０−Ａ）から指定された時間鍵のp、qがp≦i≦qの条件を満たしていない場合は、以降のシーケンスが実行することが出来ず、利用者端末Ｂ（１２０−Ｂ）は代理人向けの暗号化データf(K'b,a・Ti・Si, M1,a)を復号して、閲覧することが出来ない。
【００８２】
次に、利用者端末Ｂ（１２０−Ｂ）は暗号処理部１２２にて、Ｓ７０３で受信した暗号化データf(K'b,a・Ti・Si, M1,a)を、暗号鍵記憶部１３１に保持している代理人用の秘密鍵K'b,aとＳ７０４で生成した時間鍵Tiと時間鍵Siを用いて生成した暗号鍵K'b,a・Ti・Siにより復号することで、情報M1,aを生成する（Ｓ７０５）。
【００８３】
最後に、情報M1,aが出力装置２０６に出力されることにより、代理人としての利用者ＢはＳ７０５で復号した情報M1,aを閲覧することで処理を終了する（Ｓ７０６）。
【００８４】
時間鍵TおよびSの利用方法について、一例として、月単位で閲覧可否の制御を実施する方法について説明する。
【００８５】
まず最初に、利用者端末Ａ（１２０−Ａ）で実施するＳ３０５において、時間鍵T1およびS12を生成して、保持する。生成した時間鍵T1およびS12から、順次ハッシュ関数Hを取ることでT2〜T12およびS1〜S11を生成することが可能となり、これら時間鍵をある年の各月（例えば、T1,S1を２０１３年１月、T2,S2を２０１３年２月…、T12,S12を２０１３年１２月）に対応させて管理する。
【００８６】
次に、情報提供サーバ１（１４０−１）で実施するＳ４０２において、情報送付時点の現在日付に対応する時間鍵Tiと時間鍵Si（例えば、現在が２０１３年４月であれば時間鍵T4と時間鍵S4）を生成し、Ｓ４０３において、生成した時間鍵を用いて暗号化データf(K1,a・T4・S4, M1,a)を生成する。
【００８７】
次に、利用者端末Ａ（１２０−Ａ）で実施するＳ６０５において、時間指定用の時間鍵T1と時間鍵S12を用いて代理人に閲覧を許可する期間に対応する時間鍵（例えば、３月〜５月まで閲覧を許可する場合は、時間鍵T3および時間鍵S5）を生成する。
【００８８】
最後に、利用者端末Ｂ（１２０−Ｂ）で実施するＳ７０４において、本実施例によると閲覧可能期間（２０１３年３月〜５月）に対応してＳ６０５で生成された時間鍵T3と時間鍵S5を保持しているため、当該時間鍵を用いて時間鍵T4と時間鍵S4を生成可能であり、情報送付時点の現在日付（２０１３年４月）に対応する代理人向けの暗号化データf(K'b,a・T4・S4, M1,a)を復号して、閲覧することが出来る。しかしながら、閲覧可能期間以外（例えば２０１３年８月）に対応する代理人向けの暗号化データf(K'b,a・T8・S8, M1,a)は、時間鍵S8を生成することが出来ないため閲覧することが出来ない。
【００８９】
なお、上記の例では時間鍵Tと時間鍵Sを月単位に対応付けたが、日付単位や時間単位など時系列に並んだものに対応付けて管理しても良い。
【００９０】
以上説明した実施例によれば、任意の利用者は、時間鍵により、代理人に対して代理で利用者向けの情報を閲覧可能な期間を指定できるため、管理すべき鍵数を抑えつつ、利用者の代理人が、利用者により指定された一定期間のみ、利用者向けの情報を閲覧できる。
【００９１】
以上本発明の一実施例を説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【００９２】
１００・・・ポータル・サーバ、１０１・・・制御部、１０２・・・暗号処理部、１０３・・・通信部、１０４・・・入出力部、１１１・・・暗号鍵記憶部、１１２・・・暗号化データ記憶部、１２０・・・利用者端末、１２１・・・制御部、１２２・・・暗号処理部、１２３・・・通信部、１２４・・・入出力部、１３１・・・暗号鍵記憶部、１３２・・・暗号化データ記憶部、１４０・・・情報提供サーバ、１４１・・・制御部、１４２・・・暗号処理部、１４３・・・通信部、１４４・・・入出力部、１５１・・・暗号鍵記憶部、１５２・・・情報記憶部、１６０・・・ネットワーク、２００・・・電子計算機、２０１・・・ＣＰＵ(Central Processing Unit)、２０２・・・メモリ、２０３・・・通信装置、２０４・・・外部記録装置、２０５・・・入力装置、２０６・・・出力装置、２０７・・・読取装置、２０８・・・可搬性を有する記憶媒体、２０９・・・内部通信線。
【図１】
2015056820.tif 000003
【図２】
2015056820.tif 000004
【図３】
2015056820.tif 000005
【図４】
2015056820.tif 000006
【図５】
2015056820.tif 000007
【図６】
2015056820.tif 000008
【図７】
2015056820.tif 000009