(57)【要約】【課題】  新規分野の追加に応じて新たにメッセージ送信者が追加された場合に、メッセージ受信者とその代理人とが連携することなく、メッセージ受信者単独で再暗号化鍵を登録可能で、且つ、再暗号化鍵生成処理、再暗号化処理、復号処理等を高速に実行可能とする。【解決手段】  メッセージ受信端末とメッセージを受信する代理端末とが連携し、メッセージ送信端末の情報を含まない仮の情報を用いて、未確定メッセージ送信端末からメッセージ受信端末宛てメッセージを代理端末宛てメッセージに変換するための仮変換鍵を生成し、メッセージ送信端末が確定すると、メッセージ受信端末は、仮変換鍵の仮の情報と確定メッセージ送信端末の情報とを対応付け、未確定メッセージ送信端末を確定メッセージ送信端末に確定するためのコネクション鍵を生成する。【選択図】図１
2015231077.tif 000002
【特許請求の範囲】
【請求項１】
複数の利用者端末とネットワークを介して接続された再暗号化装置における再暗号化鍵登録方法であって、
前記第一の利用者の端末から、前記第一の利用者の代理人の登録申請情報を前記ネットワークを介して受信する第一のステップと、
前記乱数を生成する第二のステップと、
前記乱数を前記ネットワークを介して前記第一の利用者端末に送信する第三のステップと、
前記代理人の第二の利用者端末から、
前記第一の利用者端末により、前記乱数を用いて該第一の利用者端末の秘密鍵、未確定メッセージ送信端末を示す仮識別子、未確定メッセージ送信端末から該第一の利用者端末宛てメッセージの分野を識別するメッセージ分野識別子から生成したハッシュ値の逆元をマスク処理した第一の演算処理結果を、
該第二の利用者端末により、該第二の利用者端末の秘密鍵、前記仮識別子、前記メッセージ分野識別子から生成したハッシュ値を用いて、マスク処理した第二の演算処理結果を、前記ネットワークを介して受信する第四のステップと、
前記乱数の逆元を用いて前記第二の演算処理結果をマスク処理した第三の演算処理結果を、前記未確定メッセージ送信端末から前記第一の利用者端末宛てメッセージを前記第二の利用者端末宛てメッセージに変換するための仮変換鍵として対応仮識別子と対応付けて前記再暗号化装置の記憶部に登録する第五のステップと、
前記第一の利用者端末から、該第一の利用者端末により該第一の利用者端末の秘密鍵、前記仮識別子、前記メッセージ分野識別子から生成したハッシュ値と、前記第一の利用者端末の秘密鍵、第三の利用者端末識別子、前記メッセージ分野識別子から生成したハッシュ値の逆元とを用いて所定の演算処理を行った第三の演算処理結果を対応仮識別子、第一の利用者端末識別子、前記第三の利用者端末識別子及び前記メッセージ分野識別子とともに受信する第六のステップと、
前記第三の演算処理結果を、前記未確定メッセージ送信端末を前記第三の利用者端末に確定するためのコネクション鍵として、受信した対応仮識別子に基づき、受信した前記第一の利用者端末識別子、前記第三の利用者端末識別子、前記メッセージ分野識別子とともに該当仮変換鍵と対応付けて前記記憶部に登録する第七のステップとを有する、
ことを特徴とする再暗号化鍵登録方法。
【請求項２】
前記第二の利用者端末から前記メッセージ分野識別子、前記第一の利用者端末識別子及び前記第三の利用者端末識別子を含む新着メッセージの確認依頼を前記ネットワークを介して受信する第八のステップと、
前記メッセージ分野識別子、前記第一の利用者端末識別子及び前記第三の利用者端末識別子に基づき、前記記憶部から該当仮変換鍵及びコネクション鍵を取得する第九のステップと、
該仮変換鍵及びコネクション鍵を用いて、当該再暗号化装置の記憶部に記憶されている再暗号文をさらに暗号化した再々暗号文を生成する第十のステップと、
前記再々暗号文を対応仮識別子、前記メッセージ分野識別子とともに前記ネットワークを介して前記第二の利用者端末に送信する第十一のステップとをさらに有する、
ことを特徴とする請求項１に記載の再暗号化鍵登録方法。
【請求項３】
複数の利用者端末とネットワークを介して接続された再暗号化装置であって、
記憶部と演算処理部を具備し、
前記演算処理部は、
前記第一の利用者の端末から、前記第一の利用者の代理人の登録申請情報を前記ネットワークを介して受信し、
前記乱数を生成し、
前記乱数を前記ネットワークを介して前記第一の利用者端末に送信し、
前記代理人の第二の利用者端末から、
前記第一の利用者端末により、前記乱数を用いて該第一の利用者端末の秘密鍵、未確定メッセージ送信端末を示す仮識別子、未確定メッセージ送信端末から該第一の利用者端末宛てメッセージの分野を識別するメッセージ分野識別子から生成したハッシュ値の逆元をマスク処理した第一の演算処理結果を、
該第二の利用者端末により、該第二の利用者端末の秘密鍵、前記仮識別子、前記メッセージ分野識別子から生成したハッシュ値を用いて、マスク処理した第二の演算処理結果を、前記ネットワークを介して受信し、
前記乱数の逆元を用いて前記第二の演算処理結果をマスク処理した第三の演算処理結果を、前記未確定メッセージ送信端末から前記第一の利用者端末宛てメッセージを前記第二の利用者端末宛てメッセージに変換するための仮変換鍵として対応仮識別子と対応付けて前記記憶部に登録し、
前記第一の利用者端末から、該第一の利用者端末により該第一の利用者端末の秘密鍵、前記仮識別子、前記メッセージ分野識別子から生成したハッシュ値と、前記第一の利用者端末の秘密鍵、第三の利用者端末識別子、前記メッセージ分野識別子から生成したハッシュ値の逆元とを用いて所定の演算処理を行った第三の演算処理結果を対応仮識別子、第一の利用者端末識別子、前記第三の利用者端末識別子及び前記メッセージ分野識別子とともに受信し、
前記第三の演算処理結果を、前記未確定メッセージ送信端末を前記第三の利用者端末に確定するためのコネクション鍵として、受信した対応仮識別子に基づき、受信した前記第一の利用者端末識別子、前記第三の利用者端末識別子、前記メッセージ分野識別子とともに該当仮変換鍵と対応付けて前記記憶部に登録する、
ことを特徴とする再暗号化装置。
【請求項４】
前記演算処理部は、
前記第二の利用者端末から前記メッセージ分野識別子、前記第一の利用者端末識別子及び前記第三の利用者端末識別子を含む新着メッセージの確認依頼を前記ネットワークを介して受信し、
前記メッセージ分野識別子、前記第一の利用者端末識別子及び前記第三の利用者端末識別子に基づき、前記記憶部から該当仮変換鍵及びコネクション鍵を取得し、
該仮変換鍵及びコネクション鍵を用いて、当該再暗号化装置の記憶部に記憶されている再暗号文をさらに暗号化した再々暗号文を生成し、
前記再々暗号文を対応仮識別子、前記メッセージ分野識別子とともに前記ネットワークを介して前記第二の利用者端末に送信する、
ことを特徴とする請求項３に記載の再暗号化装置。
【請求項５】
複数の利用者端末と、該利用者端末とネットワークを介して接続された再暗号化装置と、から構成される再暗号化システムであって、
メッセージを受信する第一の利用者端末と該利用者の代理人の第二の利用者端末とが連携して、メッセージ送信端末の情報を含まない仮の情報と前記メッセージの分野を識別するメッセージ分野識別子を用いて、未確定メッセージ送信端末から前記第一の利用者端末宛てメッセージを前記第二の利用者端末宛てメッセージに変換するための仮変換鍵を生成し、
前記再暗号化装置は、前記複数の仮変換鍵を当該再暗号化装置の記憶部に登録し、
前記メッセージを送信する第三の利用者端末が確定すると、前記第一の利用者端末は、前記仮変換鍵のテンポラリの情報と前記第三の利用者端末の情報とを対応付け、前記未確定メッセージ送信端末を前記第三の利用者端末に確定するためのコネクション鍵を生成し、
前記再暗号化装置は、前記仮変換鍵と前記コネクション鍵を、対応する前記仮の情報、第一の利用者端末識別子、第三の利用者端末識別子及び前記メッセージ分野識別子と対応付けて前記記憶部に登録する、
ことを特徴とする再暗号化システム。
【請求項６】
前記第一の利用者端末は、前記代理人の登録申請情報を前記ネットワークを介して前記再暗号化装置に送信し、前記再暗号化装置から乱数を前記ネットワークを介して受信し、前記未確定メッセージ送信端末を示す仮識別子を生成して当該第一の利用者端末の記憶部に記憶し、前記仮識別子と当該第一の利用者端末の秘密鍵と前記メッセージ分野識別子から第一のハッシュ値を生成し、前記乱数を用いて前記第一のハッシュ値の逆元をマスク処理した第一の演算処理結果を対応仮識別子ととともに前記ネットワークを介して前記第二の利用者端末に送信し、
前記第二の利用者端末は、前記第一の利用者端末からの前記第一の演算処理結果及び対応仮識別子を前記ネットワークを介して受信し、受信した前記仮識別子と当該第二の利用者端末の秘密鍵と前記メッセージ分野識別子から第二のハッシュ値を生成し、該第二のハッシュ値を用いて前記第一の演算処理結果をマスク処理した第二の演算処理結果を対応仮識別子とともに前記ネットワークを介して前記再暗号化装置に送信し、
前記再暗号化装置は、前記第一の利用者端末から前記登録申請情報を前記ネットワークを介して受信し、前記乱数を生成し、該乱数を前記ネットワークを介して前記第一の利用者端末に送信し、前記第二の利用者端末から前記第二の演算処理結果を前記ネットワークを介して受信し、前記乱数の逆元を用いて前記第二の演算処理結果をマスク処理した第三の演算結果を、前記仮変換鍵として対応仮識別子とともに当該再暗号化装置の記憶部に登録し、
前記第一の利用者端末は、当該第一の利用者端末の秘密鍵と第三の利用者端末を識別する識別子と前記メッセージ分野識別子から生成した第三のハッシュ値の逆元と、当該第一の利用者端末の秘密鍵と当該第一の利用者端末の記憶部から取得した未使用の仮識別子と前記メッセージ分野識別子から生成した第四のハッシュ値とから、前記コネクション鍵を生成し、該コネクション鍵を対応仮識別子、第一の利用者端末識別子、第三の利用者端末識別子、前記メッセージ分野識別子とともに前記ネットワークを介して前記再暗号化装置に送信し、
前記再暗号化装置は、前記第一の利用者端末から前記コネクション鍵、前記対応仮識別子、前記第一の利用者端末識別子、前記第三の利用者端末識別子及び前記メッセージ分野識別子を前記ネットワークを介して受信し、該受信した各情報を、前記受信した対応仮識別子に基づき、前記仮変換鍵と対応付けて当該再暗号化装置の記憶部に登録する、
ことを特徴とする請求項５に記載の再暗号化システム。
【請求項７】
前記再暗号化装置は、前記第二の利用者端末から前記メッセージ分野識別子、前記第一の利用者端末識別子及び前記第三の利用者端末識別子を含む新着メッセージの確認依頼を前記ネットワークを介して受信し、前記メッセージ分野識別子、前記第一の利用者端末識別子及び前記第三の利用者端末識別子に基づき、当該再暗号化装置の記憶部から該当仮変換鍵及びコネクション鍵を取得し、該仮変換鍵及びコネクション鍵を用いて、当該再暗号化装置の記憶部に記憶されている再暗号文をさらに暗号化した再々暗号文を生成し、該再々暗号文を対応仮識別子、前記メッセージ分野識別子とともに前記ネットワークを介して前記第二の利用者端末に送信する、
ことを特徴とする請求項６に記載の再暗号化システム。
【請求項８】
前記第二の利用者端末は、前記再暗号化装置から前記再々暗号文、前記仮識別子及び前記メッセージ分野識別子を前記ネットワークを介して受信し、当該第二の利用者端末の秘密鍵と受信した前記仮識別子及び前記メッセージ分野識別子をハッシュ関数に入力して復号鍵を生成し、該復号鍵の逆元を用いて前記再々暗号文を復号化し、元の前記メッセージを取得する、
ことを特徴とする請求項７に記載の再暗号化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号文を再暗号化するための再暗号化鍵登録方法、再暗号化装置及び再暗号化システムに関する。
【背景技術】
【０００２】
従来、ある利用者端末宛てメッセージ等の暗号文を送信途中で復号することなく、別の利用者端末の秘密鍵で復号可能な暗号文に再暗号化することで、メッセージ等を安全に送信できるプロキシ再暗号化技術と呼ばれる技術が知られている（例えば、特許文献１参照）。近年、このプロキシ再暗号化技術は、クラウドサービス上でより安全にデータを共有できる技術として注目されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＵＳ２０１４／００５０３１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
メッセージの暗号化を行う場合、通信相手毎に暗号化用の鍵を使い分ける場合がある。特に共通鍵暗号方式の場合、暗号用の鍵はメッセージの送信者と受信者毎で共有する為、別の相手と暗号通信を行う場合には送受信者は通信相手毎に暗号用の鍵を使い分ける必要がある。また、公開鍵暗号方式の場合、通信相手毎に暗号用の鍵を使い分けることは必須ではないが、複数の公開鍵を保持している場合には、例えば、地方自治体を例に挙げると、税金に関わるメッセージの送信者は税金業務の担当部課、年金に関わるメッセージの送信者は年金業務の担当部課、福祉に関わるメッセージの送信者は福祉業務の担当部課といったように、メッセージの分野（あるいは内容、用途）毎にメッセージ送信者が異なる為、そのメッセージ送信者毎に暗号用の鍵を使い分けることもできる。
【０００５】
したがって、メッセージ送信者毎に暗号用の鍵を使い分ける場合、新規分野の追加に応じて新たにメッセージ送信者が追加され、その追加されたメッセージ送信者とメッセージ受信者とで暗号通信を行ったりする際、それ用の暗号化鍵を新たに生成しなければならない。
【０００６】
しかし、プロキシ再暗号化技術の基本的なモデルにおいて、メッセージ送信者毎に暗号用の鍵を使い分ける場合、メッセージの暗号文の再暗号化に用いる再暗号化鍵は、メッセージ送信者により生成されたメッセージの暗号文を受信する第一のユーザ装置の秘密鍵等と、暗号文をさらに再暗号化した再暗号文を受信する第二のユーザ装置の秘密鍵等とが必要である為、第一のユーザ装置と第二のユーザ装置とが連携することで生成される。したがって、メッセージ送信者が新たに追加された場合には、第一のユーザ装置と第二のユーザ装置とで再度連携して、新たに追加されたメッセージ送信者により生成されたメッセージの暗号文の再暗号化に用いる再暗号化鍵を生成しサーバに再登録する必要があった。
【０００７】
より具体的にこの課題の状況を一例を用いて説明する。例えば、メッセージを送信するユーザ装置を地方自治体Ａおよび地方自治体Ｂが管理する装置とし、第一のユーザ装置を納税者が管理する装置とし、第二のユーザ装置を税理士等の納税者の代理人が管理する装置とした場合を想定する。そして納税者は、地方自治体Ａが管轄する住所地に住んでいたが、引越し等で地方自治体Ｂが管轄する住所地に異動したと仮定する。
【０００８】
例えば、税に関するメッセージを送信相手毎に暗号鍵を使い分けていた場合、地方自治体Ａからの暗号文を再暗号化する為の再暗号化鍵を予め納税者の第一のユーザ装置と代理人の第二のユーザ装置とが連携してサーバに登録してあったとしも、納税者が地方自治体Ｂ管轄の住所地へ異動した場合、第一のユーザ装置宛て暗号文の送信者が地方自治体Ｂとなる為、サーバには該当する再暗号化鍵が登録されていないことになるので、地方自治体Ｂからの第一のユーザ装置宛ての暗号文を第二のユーザ装置が代理閲覧できるように再暗号化することができない。その為、第一のユーザ装置と第二のユーザ装置が連携して、再度サーバに地方自治体Ｂからの暗号文を再暗号化する為の再暗号化鍵を登録する必要がある。
【０００９】
代理人にとっては、代理契約を結んだ納税者が、いつ地方税管轄の異なる住所地へ異動するかは把握できていない場合もあり、納税者の地方税管轄の異なる住所地への異動の度に、第一のユーザ装置と第二のユーザ装置が連携して再暗号化鍵をサーバに登録するのは面倒である。それ故、納税者の地方税管轄の異なる住所地への異動の際には、第二のユーザ装置と連携することなく、第一のユーザ装置単独で、異動後の地方自治体からの第一のユーザ装置宛て暗号化文を第二のユーザ装置にも代理閲覧できるように再暗号鍵を登録できるようにしたいとの要求がある。
【００１０】
このような課題を解決する為に、上記従来技術では、再暗号化鍵生成アルゴリズムの入力において、第二のユーザ装置の秘密鍵を不要とした非相互作用的（non-interactive）と呼ばれるモデルが考えられており、第一のユーザ装置単独で再暗号鍵を登録することができる。しかし、上記従来技術では、非相互作用的（non-interactive）と呼ばれるモデルを実現する為に、双線型写像と呼ばれる複雑な演算を行う必要があり、再暗号鍵生成処理、再暗号化処理、復号処理等の各処理において処理時間を要するという課題があった。
【００１１】
本発明は、このような事情に鑑みてなされたものであり、新規分野の追加に応じて新たにメッセージ送信者が追加された場合に、メッセージ受信者とその代理人とが連携することなく、メッセージ受信者単独で再暗号化鍵を登録可能で、且つ、再暗号化鍵生成処理、再暗号化処理、復号処理等を高速に実行できる再暗号化鍵登録方法、これを実施する再暗号化装置及び再暗号化システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の代表的な一例は次の通りである。すなわち、本発明は、メッセージ受信端末とメッセージを受信する代理端末とが連携し、メッセージ送信端末の情報を含まない仮の情報を用いて、未確定メッセージ送信端末から前記メッセージ受信端末宛てメッセージを前記代理端末宛てメッセージに変換するための仮変換鍵を生成し、メッセージ送信端末が確定すると、前記メッセージ受信端末は、前記仮変換鍵の仮の情報と前記確定メッセージ送信端末の情報とを対応付け、前記未確定メッセージ送信端末を前記確定メッセージ送信端末に確定するためのコネクション鍵を生成する。
【００１３】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【００１４】
本発明によれば、新規分野の追加に応じて新たにメッセージ送信者が追加された場合に、メッセージ受信者とその代理人とが連携することなく、メッセージ受信者単独で再暗号化鍵を登録でき、また、再暗号化鍵生成処理、再暗号化処理、復号処理等を高速に実行することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係る再暗号化システム全体構成例および再暗号化システムを構成する各コンピュータの機能構成例を示す図である。
【図２】変換サーバ２０にてメッセージ分野δに関する暗号文を再暗号化する際に用いる変換鍵の登録方法を示すシーケンス図である。
【図３】利用者端末１０−３により利用者端末１０−１宛ての、メッセージ分野δに関するメッセージＭ及びその暗号文を生成し、生成した暗号文を変換サーバ２０に送信し、変換サーバ２０により暗号文を再暗号化するまでの処理の流れを示すシーケンス図である。
【図４】利用者端末１０−１により再暗号文を復号し、メッセージ分野δのメッセージＭを取得するまでの流れを示すシーケンス図である。
【図５】代理閲覧用のテンポラリ変換鍵群を変換サーバ２０に登録するまでの流れを示すシーケンス図である。
【図６】あるテンポラリ変換鍵と、利用者端末１０−１と利用者端末１０−３との変換鍵を紐付けるコネクション鍵を生成し、変換サーバ２０に登録するまでの流れを示すシーケンス図である。
【図７】再暗号文を、利用者端末１０−２が代理として受信し、テンポラリ変換鍵とコネクション鍵を用いて、メッセージ分野δのメッセージＭを取得するまでの流れを示すシーケンス図である。
【図８】変換サーバ２０にて変換鍵を登録するテーブルと、テンポラリ鍵・コネクション鍵を登録するテーブルの内容を示す図である。
【図９】本実施形態で用いる演算子の意味を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態について、図面を用いて詳細に説明する。尚、これにより本発明が限定されるものではない。
【００１７】
図１は、本発明の一実施形態に係る再暗号化システム全体構成例および再暗号化システムを構成する各コンピュータの機能構成例を示す図である。
【００１８】
本実施形態に係る再暗号化システムは、複数の利用者端末（１０−１、１０−２、１０−３）と変換サーバ（再暗号化装置）２０とがインターネットなどのネットワーク３０を介して互いに接続されて構成されるコンピュータネットワークシステムである。以下では、先ず、各利用者端末（１０−１、１０−２、１０−３）及び変換サーバ２０の機能構成と本実施形態で用いる演算子の意味を説明し、次に、利用者Ｃの利用者端末１０―３が特定の分野（以下、メッセージ分野δと記す）に関する利用者Ａの利用者端末１０―１宛てのデータ（以下、メッセージという）を暗号化し、その暗号化メッセージ(以下、暗号文という)を、変換サーバ２０にて再暗号化し、その再暗号文を、利用者端末１０−１にて復号して上記メッセージを取得するための仕組みと、利用者Ａにより上記メッセージの代理閲覧を許可された利用者Ｂの利用者端末１０−２が上記メッセージを取得するための仕組みを説明する。
【００１９】
先ず、各利用者端末（１０−１、１０−２、１０−３）の機能構成を説明する。図１に示すように各利用者端末（１０−１、１０−２、１０−３）は、各利用者端末（１０−１、１０−２、１０−３）で管理する秘密鍵を生成する秘密鍵生成部１０１と、動的に暗号鍵・復号鍵等を生成したり、メッセージ分野δに関する再暗号文の生成に必要な暗号鍵（以下、変換鍵という）を登録するための情報を生成する鍵演算部１０２と、通信相手端末を識別するＩＤ（identification）やメッセージ分野δを識別するＩＤなどメッセージの属性情報を記憶する公開ＩＤ記憶部１０３と、秘密鍵生成部１０１で生成された秘密鍵を安全に管理する鍵記憶部１０４と、通信相手端末へのメッセージを生成する情報生成部１０５と、暗号鍵を用いてメッセージを暗号化し暗号文を生成する暗号処理部１０６と、暗号文を送受信する暗号文送受信部１０７と、半導体を用いた一次記憶装置１０８（メモリともいう）と、メッセージを表示する情報表示部１０９とから構成することができる。
【００２０】
尚、通信相手を識別するＩＤは、メールアドレスや身分証明書番号等、公に個人を特定できるものであればよく、利用するシステム毎に予め利用者に通知されているものとする。また、メッセージ分野δを識別するＩＤは、税分野、社会福祉分野などメッセージが属する分野等を識別する情報であり、利用するシステム毎に予め利用者に通知されているものとする。
【００２１】
このような機能を有する各利用者端末（１０−１、１０−２、１０−３）は、一般的なコンピュータにより実現できる。例えば、秘密鍵生成部１０１、鍵演算部１０２、情報生成部１０５、暗号処理部１０６、暗号文送受信部１０７は、ＣＰＵ（Central Processing Unit）等の制御部により実行されるコンピュータプログラムとして実現できる。このコンピュータプログラムは、例えば、ネットワーク３０やハードディスク、フラッシュメモリデバイスのような記録媒体を介して配布することができる。公開ＩＤ記憶部１０３、鍵記憶部１０４は、例えば、ハードディスクやフラッシュメモリデバイスとして実現できる。また、情報表示部１０９は、例えば液晶表示装置や有機ＥＬ（Electro Luminescence）ディスプレイとして実現できる。
【００２２】
次に、変換サーバ２０の機能構成を説明する。図１に示すように、変換サーバ２０は、暗号文を送受信する暗号文送受信部２０１と、変換サーバ２０にアップロードされた暗号文がどの利用者端末からどの利用者端末へのメッセージであり、どのメッセージ分野のメッセージであるかを制御する送受信者制御部２０２と、再暗号化に用いる変換鍵を管理する変換鍵記憶部２０３と、再暗号文を記憶する再暗号文記憶部２０４と、変換鍵を登録するための情報を計算したり、乱数を生成する鍵演算部２０５と、再暗号化処理を行う再暗号化処理部２０６と、半導体を用いた一次記憶装置２０７（メモリともいう）とから構成することができる。
【００２３】
このような機能を有する変換サーバ２０は、一般的なコンピュータにより実現できる。例えば、暗号文送受信部２０１、送受信者制御部２０２、鍵演算部２０５、再暗号化処理部２０６は、ＣＰＵ等の制御部により実行されるコンピュータプログラムとして実現できる。このコンピュータプログラムは、例えばネットワーク３０やハードディスク、フラッシュメモリデバイスのような記録媒体を介して配布することができる。変換鍵記憶部２０３、再暗号文記憶部２０４は、例えば、ハードディスクやフラッシュメモリデバイスとして実現できる。
【００２４】
次に、本実施形態で用いる演算子の意味を説明する。
【００２５】
図９は、本実施形態で用いる演算子の意味を説明するための図である。図９に示すように、本実施形態では、●（９０１）とｆ（，）（９０２）とｈ（，，）（９０３）の三つの演算子を用いる。演算子●（９０１）は、可換性のあるマスク処理用の演算子であり、例えば、データＡをデータＢでマスク処理を行うことをＢ●Ａと表す。ここでいうマスク処理とは、データＡにデータＢを作用させ、別の値に変換させる処理をいう。また、演算子●（９０１）は、以下の性質を持つ。
【００２６】
（ア）Ｂ●Ａ=Ａ●Ｂ
（イ）Ｃ●（Ｂ●Ａ）=（Ｃ●Ｂ）●Ａ
（ウ）Ａ−１●Ａ=１ （但し、“１”は単位元）
この様な性質を持つ演算子として、例えば、ｘｏｒがある。
【００２７】
演算子ｆ（，）（９０２）は、暗号鍵に関して可換性のある暗号処理演算子であり、例えば、データＡを暗号化鍵Ｋで暗号化を行うことを（ｆ（Ｋ，Ａ））と表す。また、演算子ｆ（，）（９０２）は、以下の性質を持つ。
【００２８】
（ア）ｆ（Ｋ１，ｆ（Ｋ２，Ａ））=ｆ（（Ｋ１●Ｋ２），Ａ）=ｆ（（Ｋ２●Ｋ１），Ａ） =ｆ（Ｋ２，ｆ（Ｋ１，Ａ））
（イ）ｆ（Ｋ１●Ｋ２，ｆ（Ｋ３，Ａ）） = ｆ（Ｋ１●Ｋ２●Ｋ３，Ａ） = ｆ（Ｋ１，ｆ（Ｋ２●Ｋ３，Ａ）
（ウ）ｆ（Ｋ−１，ｆ（Ｋ，Ａ））=ｆ（Ｋ−１●Ｋ，Ａ） = ｆ（１，Ａ） = Ａ
この様な性質を持つ演算子として、例えば、ｘｏｒがある。尚、演算子●（９０１）と演算子ｆ（，）（９０２）は、同じ演算処理を行う演算子として用いても良いし、夫々上記性質を満たす別々の演算処理を行う演算子として用いても良い。尚、復号化処理に関しては、性質（ウ）により、暗号化鍵の逆数（逆元ともいう）を用いて暗号文を再暗号化することにより、データＡを復号することができる。
【００２９】
演算子ｈ（，，）（９０３）は、複数のデータを入力とするハッシュ関数を表す演算子であり、例えば、データＡとデータＢとデータＣとのハッシュ値を生成することを（ｈ（Ａ，Ｂ，Ｃ））と表す。例えば、データＡとデータＢとデータＣとをｘｏｒした値に対するハッシュ値を出力する場合、ｈ（Ａ，Ｂ，Ｃ）=Ｈ（（Ａ ｘｏｒ Ｂｘｏｒ Ｃ））となる。但し、Ｈ（）は１つのデータを入力とするハッシュ関数であり、例えばＳＨＡ２５６がある。尚、ｈ（）に入力するデータが増えた場合、同様に入力値を更にｘｏｒで計算しＨ（）に入力する（ｈ（Ａ，Ｂ，Ｃ，Ｄ）=Ｈ（（Ａ ｘｏｒ Ｂ ｘｏｒ Ｃｘｏｒ Ｄ）））。
【００３０】
尚、これらの演算子は、その性質を満たしていれば良く、必ずしも例に挙げたｘｏｒ等を用いなくてもよい。
【００３１】
次に、利用者端末１０−３がメッセージ分野δに関する利用者端末１０−１宛てのメッセージを暗号化し、その暗号文を、変換サーバ２０にて再暗号化し、その再暗号文を、利用者端末１０−１にて復号して上記メッセージを取得するための仕組みを説明する。
【００３２】
図２は、変換サーバ２０にてメッセージ分野δに関する暗号文を再暗号化する際に用いる変換鍵の登録方法を示すシーケンス図である。
【００３３】
先ず利用者Ｃの利用者端末１０−３は、利用者Ａの利用者端末１０−１へメッセージ分野δに関するメッセージの内容を通知するために、利用者端末１０−３は、変換サーバ２０にてその暗号文を再暗号化する際に用いる変換鍵の登録申請を行う（ステップＳ００１）。
【００３４】
変換サーバ２０は、変換鍵登録申請情報を受信すると、乱数ｐを生成し（ステップＳ００２）、その乱数ｐを変換鍵登録申請元の利用者端末１０−３に送信する（ステップＳ００３）。
【００３５】
次に変換サーバ２０は、鍵記憶部１０４にて管理している自身の秘密鍵Ｋｃと、公開ＩＤ記憶部１０３にて管理している利用者端末１０−１を識別する公開ＩＤであるＩＤａ及び利用者端末１０−１宛てメッセージの分野δを識別するＩＤδをハッシュ関数に入力してハッシュ値ｈ（Ｋｃ，ＩＤａ，ＩＤδ）を計算し、暗号鍵を生成する（ステップＳ００４）。次に利用者端末１０−３は、ステップＳ００３で受信した乱数ｐを用いて、暗号鍵の逆数ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１をマスク処理した値ｐ●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１を生成し、これを利用者端末１０−１へ送信する（ステップＳ００５）。尚、本実施形態では、使用する演算子ｆ（，）をｘｏｒ関数として説明しているため、暗号鍵の逆数を乱数ｐを用いてマスク処理をしたが、必ずしも暗号鍵の逆数である必要はなく、使用する演算子ｆ（，）が異なれば、必要に応じて、暗号鍵から生成される値等を乱数ｐを用いてマスク処理を行っても良い。
【００３６】
利用者端末１０−１は、暗号鍵から生成される値を乱数ｐを用いてマスク処理した値ｐ●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１を受信すると、鍵記憶部１０４にて管理している自身の秘密鍵Ｋａと、公開ＩＤ記憶部１０３にて管理している利用者端末１０−３を識別する公開ＩＤであるＩＤｃ及びメッセージ分野δを識別するＩＤδをハッシュ関数に入力してハッシュ値ｈ（Ｋａ，ＩＤｃ，ＩＤδ）を計算し、復号鍵を生成する（ステップＳ００６）。次に利用者端末１０−１は、利用者端末１０−３から受信したｐ●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１を、復号鍵を用いてマスク処理した値ｈ（Ｋａ，ＩＤｃ，ＩＤδ）●ｐ●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１を生成し、ＩＤａ、ＩＤｃ、ＩＤδと共に、これを変換サーバ２０へ送信する（ステップＳ００７）。
【００３７】
変換サーバ２０は、利用者端末１０−１からｈ（Ｋａ，ＩＤｃ，ＩＤδ）●ｐ●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１を受信すると、この値を乱数ｐの逆数を用いてマスク処理し、変換鍵ｐ−１●ｈ（Ｋａ，ＩＤｃ，ＩＤδ）●ｐ●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１=ｈ（Ｋａ，ＩＤｃ，ＩＤδ）●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１を計算する（ステップＳ００８）。次に変換サーバ２０は、変換鍵ｈ（Ｋａ，ＩＤｃ，ＩＤδ）●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１を、利用者端末１０−３から利用者端末１０−１宛てのメッセージの分野δに関する変換鍵として、変換鍵記憶部２０３に登録する（ステップＳ００９）。このようにして登録された変換鍵は、メッセージ送信者の利用者端末１０−３からメッセージ受信者の利用者端末１０−１宛てメッセージをメッセージ受信者の代理人宛てメッセージに変換するための鍵となる。
【００３８】
図８のテーブル８０１はステップＳ００９で登録したテーブルの内容を示している。テーブル８０１は送信元ＩＤ８０２と受信先ＩＤ８０３と属性ＩＤ１０４と変換鍵８０６とのカラムから成っており、属性ＩＤ１０４には分野ＩＤ８０５など複数の属性を登録することができる。ここでは、送信元ＩＤ８０２にはＩＤｃ、送信先ＩＤ８０３にはＩＤａ、属性ＩＤ８０４の中の分野ＩＤ８０５にはＩＤδ、変換鍵８０６にはｈ（Ｋａ， ＩＤｃ，ＩＤδ）●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１が登録されている。
【００３９】
以上説明した変換鍵登録方法により、利用者端末１０−１にて管理する秘密鍵Ｋａと、利用者端末１０−３にて管理する秘密鍵Ｋｃが変換サーバ２０に漏洩することを防止できる。これにより、第三者にメッセージの内容が漏洩することを防止できる。尚、変換サーバ２０は、利用者端末１０−１又は利用者端末１０−３から変換鍵の削除申請を受信すると、変換鍵記憶部２０３から該当変換鍵を削除する。
【００４０】
図３は、利用者端末１０−３により利用者端末１０−１宛ての、メッセージ分野δに関するメッセージＭ及びその暗号文を生成し、生成した暗号文を変換サーバ２０に送信し、変換サーバ２０により暗号文を再暗号化するまでの処理の流れを示すシーケンス図である。
【００４１】
先ず利用者端末１０−３は、利用者端末１０−１宛ての、メッセージ分野δに関するメッセージＭを生成する（ステップＳ２０１）。次に利用者端末１０−３は、鍵記憶部１０４にて管理している自身の秘密鍵Ｋｃと、公開ＩＤ記憶部１０３にて管理している利用者端末１０−１を識別する公開ＩＤであるＩＤａ及びメッセージＭのメッセージ分野δを識別するＩＤδをハッシュ関数に入力してハッシュ値ｈ（Ｋｃ，ＩＤａ，ＩＤδ）を計算し、暗号鍵を生成する（ステップＳ２０２）。次に利用者端末１０−３は、生成した暗号鍵ｈ（Ｋｃ，ＩＤａ，ＩＤδ）を用いてメッセージＭを暗号化し、暗号文ｆ（ｈ（Ｋｃ，ＩＤａ，ＩＤδ），Ｍ）を生成する（ステップＳ２０３）。次に利用者端末１０−３は、この利用者端末１０−１宛ての、メッセージ分野δに関する暗号文を各ＩＤおよび各ＩＤの意味と共に変換サーバ２０に送信する（ステップＳ２０４）。
【００４２】
変換サーバ２０は、暗号文ｆ（ｈ（Ｋｃ，ＩＤａ，ＩＤδ），Ｍ）を受信すると、変換鍵記憶部２０３のテーブル８０１から、送られてきたＩＤを基に、利用者端末１０−３から利用者端末１０−１宛てのメッセージの分野δに関する変換鍵８１７、ｈ（Ｋａ，ＩＤｃ，ＩＤδ）●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１を取得し（ステップＳ２０５）、この変換鍵を用いて、暗号文ｆ（ｈ（Ｋｃ，ＩＤａ，ＩＤδ），Ｍ）を再暗号化する（ステップＳ２０６）。この時生成せれる再暗号文は、各演算子の性質より、以下の様になる。ｆ（ｈ（Ｋａ，ＩＤｃ，ＩＤδ）●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１，ｆ（ｈ（Ｋｃ，ＩＤａ，ＩＤδ），Ｍ））=ｆ（（（ｈ（Ｋａ，ＩＤｃ，ＩＤδ）●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）−１）●ｈ（Ｋｃ，ＩＤａ，ＩＤδ）），Ｍ）=ｆ（ｈ（Ｋａ，ＩＤｃ，ＩＤδ），Ｍ）。変換サーバ２０は、再暗号文を生成後、その再暗号文を再暗号文記憶部２０４に格納する（ステップＳ２０７）。
【００４３】
図４は、利用者端末１０−１により、利用者端末１０−３から利用者端末１０−１宛てのメッセージ分野δのメッセージを含む再暗号文を復号し、メッセージＭを取得するまでの流れを示すシーケンス図である。
【００４４】
先ず利用者端末１０−１は、変換サーバ２０に、新着メッセージが存在するか否かを確認する（ステップＳ３０１）。新着メッセージが存在する場合、利用者端末１０−１は、その再暗号文ｆ（ｈ（Ｋａ，ＩＤｃ，ＩＤδ），Ｍ）を、変換サーバ２０の再暗号文記憶部２０４から取得する（ステップＳ３０２）。この暗号文は、利用者端末１０−３から利用者端末１０−１宛てのメッセージ分野δのメッセージＭを含む。次に利用者端末１０−１は、再暗号文を復号するための復号鍵を生成する（ステップＳ３０３）。具体的には、利用者端末１０−１は、鍵記憶部１０４にて管理している自身の秘密鍵Ｋａと、公開ＩＤ記憶部１０３にて管理している利用者端末１０−３を識別する公開ＩＤであるＩＤｃと、メッセージ分野を識別するＩＤδをハッシュ関数に入力したハッシュ値ｈ（Ｋａ，ＩＤｃ，ＩＤδ）を計算することで、復号鍵を生成する。次に利用者端末１０−１は、生成した復号鍵の逆数ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１を用いて、再暗号文ｆ（ｈ（Ｋａ，ＩＤｃ，ＩＤδ），Ｍ）を復号し、メッセージＭを取得する（ステップＳ３０４）。この時、再暗号文の復号処理は以下の様になる。ｆ（ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１，ｆ（ｈ（Ｋａ，ＩＤｃ，ＩＤδ），Ｍ））=ｆ（ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１●ｈ（Ｋａ，ＩＤｃ，ＩＤδ）），Ｍ）=ｆ（１，Ｍ）=Ｍ。
【００４５】
図２〜図４を用いて説明したように、本実施形態では、利用者端末１０−３が、利用者端末１０−３の秘密鍵Ｋｃと、通信相手である利用者端末１０−１を識別するＩＤaと、利用者端末１０−１宛てメッセージＭのメッセージ分野δを識別するＩＤδとを含む暗号鍵を生成し、この暗号鍵を用いてメッセージＭを暗号化し、その暗号文を変換サーバ２０に送信する。変換サーバ２０は、事前に生成した変換鍵を用いて、暗号文を再暗号化し、その再暗号文を再暗号文記憶部２０４に格納する。利用者端末１０−１は、変換サーバ２０にて自利用者端末１０−１宛て新着メッセージＭの存在を確認すると、その暗号文を変換サーバ２０の再暗号文記憶部２０４から取得する。そして利用者端末１０−１は、利用者端末１０−１の秘密鍵Ｋａと、通信相手である利用者端末１０−３を識別するＩＤｃと、利用者端末１０−１宛てメッセージＭのメッセージ分野δを識別するＩＤδとを含む復号鍵を生成し、この復号鍵を用いて再暗号文を復号し元のメッセージＭを取得する。
【００４６】
以上、利用者Ｃの利用者端末１０―３が特定のメッセージ分野δに関する利用者Ａの利用者端末１０―１宛てのメッセージＭを暗号化し、その暗号文を、変換サーバ２０にて再暗号化し、その再暗号文を、利用者端末１０−１にて復号してメッセージＭを取得するための仕組みを説明した。
【００４７】
次に、図５と図６および図７を用いて、本発明の課題であった利用者Ａの利用者端末１０−１と代理閲覧を許可された利用者Ｂの利用者端末１０−２との変換鍵登録方法（より具体的にはテンポラリ(仮)変換鍵およびコネクション鍵の登録方法）および利用者ＡによりメッセージＭの代理閲覧を許可された利用者Ｂの利用者端末１０−２がメッセージＭを取得するための仕組みを説明する。
【００４８】
図５は、代理閲覧用のテンポラリ変換鍵群を変換サーバ２０に登録するまでの流れを示すシーケンス図である。
【００４９】
先ず利用者Ａの利用者端末１０−１は、変換サーバ２０に、利用者Ｂの利用者端末１０−２に利用者端末１０−３からのメッセージ分野δのメッセージＭを代理受信できる権限を与える旨を伝える代理人登録申請を行う（ステップＳ４０１）。
【００５０】
変換サーバ２０は、代理人登録申請情報を受信すると、乱数ｐ'を生成し（ステップＳ４０２）、この乱数ｐ'を利用者端末１０−１に送信する（ステップＳ４０３）。
【００５１】
利用者端末１０−１は、乱数ｐ'を受信すると、テンポラリ(仮)ＩＤ（ＩＤｔｅｍｐ（１）、・・・、Ｄｔｅｍｐ（１））を複数生成する（ステップＳ４０４）。尚、生成したテンポラリＩＤ群は、公開ＩＤ記憶部１０３に記憶させておく。そして鍵記憶部１０４にて管理している自身の秘密鍵Ｋaと、前記テンポラリＩＤ群（ＩＤｔｅｍｐ（１）、・・・、Ｄｔｅｍｐ（１））及びメッセージ分野δを識別するＩＤδをハッシュ関数に入力してハッシュ値ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）を計算し（１≦ｉ≦ｎ）、テンポラリＩＤ毎のメッセージ分野δに関する復号鍵を生成する（ステップＳ４０５）。次に利用者端末１０−１は、変換サーバ２０から受信した乱数ｐ'を用いて上記復号鍵の逆数をマスク処理した値ｐ'●ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１を夫々生成し（１≦ｉ≦ｎ）、これを全て利用者端末１０−２へ該当するテンポラリＩＤと組にして送信する（ステップＳ４０６）。
【００５２】
利用者端末１０−２は、ｐ'●ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１とテンポラリＩＤの組を全て受信すると、鍵記憶部１０４にて管理している自身の秘密鍵Ｋｂと、受信したテンポラリＩＤ（ＩＤｔｅｍｐ（ｉ））とメッセージ分野δを識別するＩＤδをハッシュ関数に入力してハッシュ値ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）を全てのテンポラリＩＤに対して計算し、暗号鍵を生成する（ステップＳ４０７）。次に利用者端末１０−２は、利用者端末１０−１から受信した値ｐ'●ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１を上記暗号鍵を用いてテンポラリＩＤ毎にマスク処理した値ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｐ'●ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１を生成し、対応するテンポラリＩＤと組にして、これを変換サーバ２０へ送信する（ステップＳ４０８）。
【００５３】
変換サーバ２０は、ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｐ'●ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１を受信すると、乱数ｐ'の逆数を用いてｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｐ'●ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１をマスク処理し、テンポラリ変換鍵ｐ'−１●ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｐ'●ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１=ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１を計算し（ステップＳ４０９）、対応するテンポラリＩＤと紐付けて変換鍵記憶部２０３に登録する（ステップＳ４１０）。
【００５４】
図８のテーブル８０７はステップＳ４１０で登録したテーブルの内容を示している。テーブル８０７は、代理契約毎に生成される。８０８はテンポラリＩＤのカラムであり、本一実施例では、利用者Ａの利用者端末１０−１が利用者Ｂの利用者端末１０−２へ向けて生成したテンポラリＩＤを示している。また、８０９は属性ＩＤであり、８１１はテンポラリ変換鍵である。属性ＩＤ８０９には分野ＩＤ８１０など複数の属性を登録することができる。ここでは、ＩＤａからＩＤｂへのテンポラリＩＤ８０８にはＩＤｔｅｍｐ（１）、・・・、Ｄｔｅｍｐ（ｎ）が登録されている。また、属性ＩＤ８０４の中の分野ＩＤ８０５にはＩＤδ、テンポラリ変換鍵８１１にはｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１が対応するテンポラリＩＤ毎に１≦ｉ≦ｎまで登録されている。
【００５５】
尚、変換サーバ２０は、利用者端末１０−１又は利用者端末１０−３からメッセージＭの代理閲覧用のテンポラリ変換鍵の削除申請を受信すると、変換鍵記憶部２０３から該当変換鍵を削除する。
【００５６】
図６は、あるテンポラリ変換鍵８１８と、利用者端末１０−１と利用者端末１０−３との変換鍵８１７を紐付けるコネクション鍵８１９を生成し、変換サーバ２０に登録するまでの流れを示すシーケンス図である。このコネクション鍵８１９は、未確定のメッセージ送信者の利用者端末を特定の利用者端末に確定するための鍵となる。
【００５７】
利用者端末１０−１は、鍵記憶部１０４にて管理している自身の秘密鍵Ｋａと、公開ＩＤ記憶部１０３にて管理している利用者端末１０−３を識別する公開ＩＤであるＩＤｃ及びメッセージＭのメッセージ分野δを識別するＩＤδをハッシュ関数に入力してハッシュ値ｈ（Ｋａ，ＩＤｃ，ＩＤδ）を計算し、その逆元ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１を計算する（ステップＳ５０１）。次に利用者端末１０−１は、鍵記憶部１０４にて管理している自身の秘密鍵Ｋａと、公開ＩＤ記憶部１０３にて管理しているテンポラリＩＤの内、未使用のあるテンポラリＩＤ（ＩＤｔｅｍｐ（ｉ））を選択し、メッセージＭのメッセージ分野δを識別するＩＤδと共にハッシュ関数に入力してハッシュ値ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）を計算する（ステップＳ５０２）。
【００５８】
尚、一度利用したテンポラリＩＤは利用済のフラグを立て、再利用できないようにしておく。そして、利用者端末１０−１は、前記ステップＳ５０１で計算した値と前記ステップＳ５０２で計算した値を用いて、メッセージ分野δに関する変換鍵８１７とテンポラリ変換鍵８１８を紐付けるコネクション鍵ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１を生成する（ステップＳ５０３）。次に利用者端末１０−１は、前記ステップＳ５０３で生成したコネクション鍵ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１をＩＤａ、ＩＤｂ、ＩＤｃ、ＩＤｔｅｍｐ（ｉ）、ＩＤδ及び各ＩＤの意味と共に変換サーバ２０に送信する（ステップＳ５０４）。
【００５９】
変換サーバ２０では、ＩＤａからＩＤｂへのテンポラリＩＤのテーブル８０７を取得し、テンポラリＩＤ８０８の内、利用者端末１０−１から送られてきたテンポラリＩＤ（ＩＤｔｅｍｐ（ｉ））が一致する列を選択する。そして、変換サーバ２０は、その列の送信元ＩＤ８１２にＩＤｃを、受信先ＩＤ８１３にＩＤａを、分野ＩＤ８１５にＩＤδを、コネクション鍵８１６にｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１を登録する（ステップＳ５０５）。
【００６０】
図７は、利用者端末１０−１宛てのメッセージ分野δのメッセージＭを含む再暗号文を、利用者端末１０−２が代理として受信しメッセージＭを取得するまでの流れを示すシーケンス図である。
【００６１】
先ず利用者端末１０−２は、変換サーバ２０に、利用者端末１０−３からの利用者端末１０−１宛てのメッセージ分野δに関する新着メッセージＭが存在するか否かを確認（代理閲覧申請）する（ステップＳ６０１、Ｓ６０２）。
【００６２】
新着メッセージＭが存在する場合、変換サーバ２０は、変換鍵記憶部２０３のテーブル８０７から、新着メッセージと共に送られてきた各ＩＤ（ＩＤｃ，ＩＤａ，ＩＤδ）を基にメッセージＭの代理閲覧用のコネクション鍵８１９、ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１を選択し、取得する（ステップＳ６０３）。次に変換サーバ２０は、テーブル８０７の内、前記コネクション鍵８１９と同じ列にあるテンポラリ変換鍵８１８、ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｈ（Ｋａ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１を取得する（ステップＳ６０４）。そして、変換サーバ２０は、コネクション鍵８１９とテンポラリ変換鍵８１８とを演算子●（９０１）にて、コネクティド鍵ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１を計算する（ステップＳ６０５）。次に、変換サーバ２０は、暗号文記憶部２０４に格納されてある該当新着再暗号文ｆ（ｈ（Ｋａ，ＩＤｃ，ＩＤδ），Ｍ）を前記コネクティド鍵ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１を用いて更に暗号化を施す（ステップＳ６０６）。このとき生成される再々暗号文は各演算子の性質よりｆ（ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１，ｆ（ｈ（Ｋａ，ＩＤｃ，ＩＤδ），Ｍ））＝ｆ（（ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）●ｈ（Ｋａ，ＩＤｃ，ＩＤδ）−１●ｈ（Ｋａ，ＩＤｃ，ＩＤδ）），Ｍ）＝ｆ（ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ），Ｍ）となる。変換サーバ２０は、テーブル８０７のテンポラリＩＤ８０８、分野ＩＤ８１０から該当するＩＤ（ＩＤｔｅｍｐ（ｉ），ＩＤδ）を選択し、前記再々暗号文と共に利用者端末１０−２に送信する（ステップＳ６０７）。
変換サーバ２０から再々暗号文ｆ（ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ），Ｍ）とＩＤｔｅｍｐ（ｉ）、ＩＤδを取得した利用者端末１０−２は、鍵記憶部１０４にて管理されている自身の秘密鍵Ｋｂと、変換サーバ２０から送られてきたＩＤｔｅｍｐ（ｉ）及びＩＤδをハッシュ関数に入力してハッシュ値ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）を計算し、復号鍵を生成する（ステップＳ６０８）。次に利用者端末１０−２は、復号鍵の逆数ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１を用いて、再々暗号文を復号し、メッセージＭを取得する（ステップＳ６０９）。この時、復号処理は以下の様になる。ｆ（ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１，ｆ（ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ），Ｍ））=ｆ（ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）−１●ｈ（Ｋｂ，ＩＤｔｅｍｐ（ｉ），ＩＤδ）），Ｍ）=ｆ（１，Ｍ）=Ｍ。
【００６３】
このように、利用者端末１０−３から利用者端末１０−１宛てのメッセージＭの暗号文を、変換サーバ２０にて、再暗号化し、その再暗号文を、利用者端末１０−２からの代理閲覧申請を受けて更に再暗号化して再々暗号文を生成し、利用者端末１０−２にて利用者端末１０−１の秘密鍵を用いることなく再々暗号文を復号して元のメッセージＭを取得できる。
【００６４】
以上、図５、図６および図７に示した本実施形態によれば、新規分野の追加に応じて新たにメッセージ送信者が追加された場合に、メッセージ受信者とその代理人とが連携することなく、メッセージ受信者単独で再暗号化鍵を登録でき、また双線型写像と呼ばれる複雑な演算を行う必要がない為、再暗号化鍵生成処理、再暗号化処理、復号処理等を高速に実行することができる。
【００６５】
また、利用者Ｃの利用者端末１０−３にて生成されるメッセージのうち、利用者Ａの利用者端末１０−１宛ての特定のメッセージ分野δに関するメッセージＭを、第三者に漏洩することなく、利用者Ａの代理人である利用者Ｂの利用者端末１０−２で取得することができる。
【００６６】
また、利用者端末１０−１と利用者端末１０−２とが協力して生成する鍵は、テンポラリ鍵群のみであり、この処理は一度だけ行えばよく、メッセージを送信する利用者端末１０−３が定まった際には、利用者Ａの利用者端末１０−１のみの処理で、テンポラリ鍵８１８と変換鍵８７１を紐付けるコネクション鍵８１９を作成し、変換サーバ２０に登録することで、変換鍵更新処理を行うことができる。
【００６７】
以上、本発明の実施形態を具体的に説明したが、本発明はこれに限定されるものでなく、その趣旨を逸脱しない範囲において種々変更可能である。
【００６８】
例えば、上記実施形態では、暗号化鍵および復号化鍵を生成する際、通信相手を識別するＩＤとメッセージ分野を識別ＩＤの２つを識別子として利用したが、その他、メッセージの有効期間を示すＩＤなど、メッセージの属性を識別する属性ＩＤ８０４、８０９、８１４を複数用いてメッセージを代理閲覧する利用者端末が代理閲覧できる範囲を細かく制御できるようにしても良い。
【００６９】
また、鍵生成処理は、メッセージの暗号化・復号化の際に動的に生成しても良いし、予め生成して各利用者端末で管理するようにしても良い。
【００７０】
また、上記実施形態は、日本政府が検討している社会保障・税番号制度におけるマイ・ポータルシステムへの適用も可能である。マイ・ポータルへの適用の際、本実施形態に係る変換サーバ２０の機能をマイ・ポータルの一機能として物理的に同一の機器上に構築しても良いし、物理的には切り離してマイ・ポータルはデータを橋渡しするだけで、本実施形態に係る変換サーバ２０の機能を別機器上に構築しても良い。
【００７１】
また、上記実施形態は、クラウドサービス上でデータを共有するシステムにも適用できる。
【符号の説明】
【００７２】
１０−１、１０−２、１０−３・・・利用者端末、２０・・・変換サーバ（再暗号化装置）、３０・・・ネットワーク。
【図１】
2015231077.tif 000003
【図２】
2015231077.tif 000004
【図３】
2015231077.tif 000005
【図４】
2015231077.tif 000006
【図５】
2015231077.tif 000007
【図６】
2015231077.tif 000008
【図７】
2015231077.tif 000009
【図８】
2015231077.tif 000010
【図９】
2015231077.tif 000011