(57)【要約】【課題】暗号処理の適宜な高速性を担保しつつ、各利用者における秘匿情報の管理負担低減に優れた暗号技術を提供する。【解決手段】暗号処理方法において、互いに通信を行う各端末１０において、通信相手の公開情報と自身の秘密情報とに関する一方向関数の出力値を鍵とし、メッセージ送信に際しては、対象となるメッセージを鍵で暗号化して所定サーバ２０に送信し、メッセージ受信に際しては、当該端末向けに可換性を持って再暗号化されたメッセージをサーバ２０から受信し、当該受信したメッセージを自身の鍵で復号化する。【選択図】図１
2015073238.tif 000002
【特許請求の範囲】
【請求項１】
互いに通信を行う各端末において、通信相手の公開情報と自身の秘密情報とに関する一方向関数の出力値を鍵とし、メッセージ送信に際しては、対象となるメッセージを前記鍵で暗号化して所定サーバに送信し、メッセージ受信に際しては、当該端末向けに可換性を持って再暗号化されたメッセージを前記サーバから受信し、当該受信したメッセージを自身の鍵で復号化することを特徴とする暗号処理方法。
【請求項２】
前記サーバにおいて、前記端末から、前記鍵で暗号化されたメッセージを受信し、端末の組み合わせ毎に保持している可換性関数たる変換鍵により、前記受信したメッセージが示す宛先の端末向けに、前記メッセージの再暗号化を実行し、当該再暗号化メッセージを、前記宛先の端末に送信することを特徴とする請求項１に記載の暗号処理方法。
【請求項３】
前記サーバにおいて、所定端末からの前記変換鍵の登録要求に応じて所定値を前記所定端末に返信し、前記所定値でマスク処理された前記所定端末の鍵の逆数を他端末の鍵で更にマスク処理された所定鍵を、前記他端末から受信し、当該受信した所定鍵に対し前記所定値に基づく交換法則を適用して、前記所定端末の鍵の逆数を前記他端末の鍵でマスク処理した変換鍵を計算し、当該変換鍵を記憶装置に格納する、
ことを特徴とする請求項２に記載の暗号処理方法。
【請求項４】
前記所定端末において、当該所定端末と通信相手となりうる他端末との組み合わせに関して、前記変換鍵の登録要求を前記サーバに送信し、
前記サーバにおいて、前記所定値を前記所定端末に返信する際、前記所定端末からの登録要求に応じて前記所定値たる乱数を生成し、当該乱数を前記所定端末に返信し、
前記所定端末において、通信相手たる前記他端末の公開情報と自身の秘密情報とを一方向関数に適用し、暗号鍵としての出力値を生成し、当該暗号鍵の逆数を前記乱数でマスク処理したマスク化暗号鍵を前記他端末に送信し、
前記他端末において、通信相手たる前記所定端末の公開情報と自身の秘密情報とを一方向関数に適用し、復号鍵としての出力値を生成し、当該復号鍵で前記マスク化暗号鍵をマスク処理したマスク化変換鍵を前記サーバに送信し、
前記サーバにおいて、前記他端末から受信したマスク化変換鍵に対し、前記乱数を用いた交換法則を適用して、前記暗号鍵を前記復号鍵でマスク処理した変換鍵を計算し、当該変換鍵を記憶装置に格納する、
ことを特徴とする請求項３に記載の暗号処理方法。
【請求項５】
前記サーバにおいて、前記各端末のうちいずれかの端末から、前記変換鍵のうち該当端末と組みになった所定他端末に関するものに関する抹消要求を受信し、当該抹消要求が示す前記端末と前記所定他端末との組み合わせ情報をキーにして記憶装置で検索を実行し、当該検索で特定した変換鍵を記憶装置から削除する、ことを特徴とする請求項４に記載の暗号処理方法。
【請求項６】
前記サーバにおいて、
所定端末からの、当該所定端末の代理端末に関する前記可換性関数の登録要求に応じ、所定値を前記所定端末に返信し、前記所定値でマスク処理された、前記代理端末の公開情報と前記所定端末の秘密情報とに基づく第１鍵の逆数を、前記所定端末の公開情報と前記代理端末の秘密情報とに基づく第２鍵で更にマスク処理された第３鍵を、前記代理端末から受信し、当該受信した第３鍵に対し前記所定値に基づく交換法則を適用して、前記第１鍵の逆数を前記第３鍵でマスク処理した代理人用可換性関数を計算し、当該代理人用可換性関数を記憶装置に格納し、
前記代理端末からの、前記所定端末に宛てられたメッセージの閲覧録要求に応じ、前記代理端末と前記所定端末の組み合わせに関して保持している代理人用可換性関数を記憶装置で特定し、当該代理人用可換性関数により、前記所定端末向けに可換性を持って再暗号化されたメッセージを更に暗号化して、当該再再暗号化メッセージを、前記代理端末に送信し、
前記代理端末において、
前記サーバから送信された前記再再暗号化メッセージを受信し、当該受信した再再暗号化メッセージを前記第２鍵で復号化する、
ことを特徴とする請求項１に記載の暗号処理方法。
【請求項７】
前記所定端末において、当該代所定端末と前記代理端末との組み合わせに関して、前記代理人用可換性関数の登録要求を前記サーバに送信し、
前記サーバにおいて、前記所定値を前記所定端末に返信する際、前記登録要求に応じて前記所定値たる乱数を生成し、当該乱数を前記所定端末に返信し、
前記所定端末において、前記代理端末の公開情報と自身の秘密情報とを一方向関数に適用し、前記第１鍵たる暗号鍵を生成し、当該暗号鍵の逆数を前記乱数でマスク処理したマスク化暗号鍵を前記代理端末に送信し、
前記代理端末において、前記所定端末の公開情報と自身の秘密情報とを一方向関数に適用し、前記第２鍵たる復号鍵を生成し、当該復号鍵で前記マスク化暗号鍵をマスク処理したマスク化変換鍵を前記サーバに送信し、
前記サーバにおいて、前記代理端末から受信したマスク化変換鍵に対し、前記乱数を用いた交換法則を適用して、前記暗号鍵を前記復号鍵でマスク処理した代理人用可換性関数たる代理人用変換鍵を計算し、当該代理人用変換鍵を記憶装置に格納する、
ことを特徴とする請求項６に記載の暗号処理方法。
【請求項８】
前記サーバにおいて、前記各端末のうちいずれかの端末から、前記変換鍵のうち該当端末と組みになった代理端末に関するものに関する抹消要求を受信し、当該抹消要求が示す前記端末と前記代理端末との組み合わせ情報をキーにして記憶装置で検索を実行し、当該検索で特定した代理人用変換鍵を記憶装置から削除する、ことを特徴とする請求項７に記載の暗号処理方法。
【請求項９】
他端末と通信を行う通信装置と、
自身の秘密情報を格納した記憶装置と、
通信相手に関する公開情報と、前記記憶装置から読み出した前記秘密情報とを一方向関数に入力し、当該一方向関数の出力値を鍵として取得する処理と、
通信相手の端末へのメッセージ送信に際し、対象となるメッセージを前記鍵で暗号化して所定サーバに送信する処理と、
通信相手の端末からのメッセージ受信に際し、当該端末向けに可換性を持って再暗号化されたメッセージを前記サーバから受信し、当該受信したメッセージを前記鍵で復号化する処理とを実行する演算装置と、
を備える端末を含むことを特徴とする暗号システム。
【請求項１０】
端末の各組み合わせに対応した可換性関数たる変換鍵を格納した記憶装置と、
所定の端末から、前記鍵で暗号化されたメッセージを受信し、前記所定の端末と、前記受信したメッセージが示す宛先の端末との組み合わせに関して格納している変換鍵を記憶装置にて特定し、該当変換鍵により、前記宛先の端末向けに、前記メッセージの再暗号化を実行し、当該再暗号化メッセージを、前記宛先の端末に送信する演算装置と、
を備えるサーバを更に含むことを特徴とする請求項９に記載の暗号システム
【請求項１１】
前記サーバは、所定端末からの前記変換鍵の登録要求に応じて所定値を前記所定端末に返信し、前記所定値でマスク処理された前記所定端末の鍵の逆数を他端末の鍵で更にマスク処理された所定鍵を、前記他端末から受信し、当該受信した所定鍵に対し前記所定値に基づく交換法則を適用して、前記所定端末の鍵の逆数を前記他端末の鍵でマスク処理した変換鍵を計算し、当該変換鍵を記憶装置に格納するものである、
ことを特徴とする請求項１０に記載の暗号システム。
【請求項１２】
メッセージ送受信に際し、通信相手の公開情報と自身の秘密情報とに関する一方向関数の出力値たる鍵をメッセージの暗号化及び復号化に用いる端末と通信する通信装置と、
端末の各組み合わせに対応した可換性関数たる変換鍵を格納した記憶装置と、
所定端末の通信相手の公開情報と前記所定端末自身の秘密情報とに関する前記鍵によって暗号化されたメッセージを、所定端末から受信する処理と、
前記所定端末と、前記受信したメッセージが示す宛先の端末との組み合わせに関して格納している変換鍵を記憶装置にて特定し、該当変換鍵により、前記宛先の端末向けに、前記メッセージの再暗号化を実行し、当該再暗号化メッセージを、前記宛先の端末に送信する処理とを実行する演算装置と、
を備えることを特徴とするサーバ。
【請求項１３】
前記演算装置は、所定端末からの前記変換鍵の登録要求に応じて所定値を前記所定端末に返信し、前記所定値でマスク処理された前記所定端末の鍵の逆数を他端末の鍵で更にマスク処理された所定鍵を、前記他端末から受信し、当該受信した所定鍵に対し前記所定値に基づく交換法則を適用して、前記所定端末の鍵の逆数を前記他端末の鍵でマスク処理した変換鍵を計算し、当該変換鍵を記憶装置に格納するものである、
ことを特徴とする請求項１２に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号処理方法、暗号システム、およびサーバに関するものであり、具体的には、暗号処理の適宜な高速性を担保しつつ、各利用者における秘匿情報の管理負担低減に優れた暗号技術に関する。
【背景技術】
【０００２】
インターネット等のネットワークを介して、他者に盗聴されること無く安全にデータを送受信する仕組みとして、鍵を用いたデータの暗号化技術がある。こうした暗号化技術は、大きく分けて、公開鍵暗号をベースとしたプロトコルと、共通鍵暗号をベースとしたプロトコルの２種が存在する。
【０００３】
一般に、共通鍵暗号方式は公開鍵暗号方式と比べて暗号処理速度が早いが、通信相手数“ｎ”と同じ数だけの秘密鍵を各利用者で管理しなければならない。そのため、共通鍵暗号方式を利用したシステム全体では、秘密鍵の数が“ｎ（ｎ−１）/２”個存在することになり、少なくない鍵数に応じて秘密鍵漏洩のリスクが高くなる。また、共通鍵暗号方式では、各利用者が、事前に全通信相手との間で、秘密鍵の配送を行って鍵の共有を行っておく必要があり、暗号通信に先立つ事前準備の手間が大きい。
【０００４】
一方、公開鍵暗号方式では、通信相手の数“ｎ”に依らず、各利用者は自身の秘密鍵を１つだけ管理すればよく、鍵管理が容易である。しかしながら、暗号処理速度が高速ではなく、大きなサイズのデータを暗号化する状況には不向きである。
【０００５】
そこで一般的には、大きなサイズのデータを暗号化する状況に際し、該当データの暗号化を共通鍵暗号にて暗号化し、そこで用いた秘密鍵（データサイズが小さい）を公開鍵暗号により暗号化し、上述のように暗号化したデータ及び秘密鍵を通信相手に送信する、というハイブリッド方式が用いられるケースが多い。
【０００６】
一方、ハイブリッド方式では、確かに、公開鍵による暗号化対象を小さなデータサイズである秘密鍵のみとするにせよ、純粋に共通鍵暗号方式のみを用いて暗号処理を行うケースと比較すれば、やはりハイブリッド方式の方が余計に暗号処理に時間がかかることは否定出来ない。
【０００７】
そこで、共通鍵暗号ベースで鍵管理を容易にし、且つシステム全体で秘密鍵が漏洩するリスクを抑える方式が提案されている。このような技術としては、例えば、システム全体で保有する秘匿情報が少なく、通信毎に異なった暗号鍵の設定が可能となる暗号鍵管理方式（特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平２−１２２７４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述の従来技術等においては、以下のような課題が残されている。すなわち、通信相手の数が“ｎ≧４”の場合、システム全体での秘匿情報の数を、従来の“ｎ（ｎ−１）/２”から“ｎ+１”まで低減可能ではあるが、各ユーザは全ユーザ分の“ｎ”個の秘匿情報とシステム共通の秘密の規則を管理する必要がある。その場合、各ユーザが管理しなければならない秘匿情報の数は“ｎ+１”個となる。それ故、ユーザの秘匿情報管理に関する負担軽減は十分ではない。
【００１０】
そこで本発明の目的は、暗号処理の適宜な高速性を担保しつつ、各利用者における秘匿情報の管理負担低減に優れた暗号技術を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決する本発明の暗号処理方法は、互いに通信を行う各端末において、通信相手の公開情報と自身の秘密情報とに関する一方向関数の出力値を鍵とし、メッセージ送信に際しては、対象となるメッセージを前記鍵で暗号化して所定サーバに送信し、メッセージ受信に際しては、当該端末向けに可換性を持って再暗号化されたメッセージを前記サーバから受信し、当該受信したメッセージを自身の鍵で復号化することを特徴とする。
【００１２】
また、本発明の暗号システムは、他端末と通信を行う通信装置と、自身の秘密情報を格納した記憶装置と、通信相手に関する公開情報と、前記記憶装置から読み出した前記秘密情報とを一方向関数に入力し、当該一方向関数の出力値を鍵として取得する処理と、通信相手の端末へのメッセージ送信に際し、対象となるメッセージを前記鍵で暗号化して所定サーバに送信する処理と、通信相手の端末からのメッセージ受信に際し、当該端末向けに可換性を持って再暗号化されたメッセージを前記サーバから受信し、当該受信したメッセージを前記鍵で復号化する処理とを実行する演算装置と、を備える端末を含むことを特徴とする。
【００１３】
また、本発明のサーバは、メッセージ送受信に際し、通信相手の公開情報と自身の秘密情報とに関する一方向関数の出力値たる鍵をメッセージの暗号化及び復号化に用いる端末と通信する通信装置と、端末の各組み合わせに対応した可換性関数たる変換鍵を格納した記憶装置と、所定端末の通信相手の公開情報と前記所定端末自身の秘密情報とに関する前記鍵によって暗号化されたメッセージを、所定端末から受信する処理と、前記所定端末と、前記受信したメッセージが示す宛先の端末との組み合わせに関して格納している変換鍵を記憶装置にて特定し、該当変換鍵により、前記宛先の端末向けに、前記メッセージの再暗号化を実行し、当該再暗号化メッセージを、前記宛先の端末に送信する処理とを実行する演算装置と、を備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、暗号処理の適宜な高速性を担保しつつ、各利用者における秘匿情報の管理負担低減に優れた暗号技術を提供出来る。
【図面の簡単な説明】
【００１５】
【図１】本実施形態の暗号システムを含むネットワーク構成図である。
【図２】本実施形態の暗号システムが含む変換サーバの構成例を示す図である。
【図３】本実施形態の暗号システムが含む利用者端末の構成例を示す図である。
【図４】本実施形態における演算記号を説明する図である。
【図５】本実施形態の暗号処理方法の処理手順例１を示すシーケンス図である。
【図６】本実施形態の暗号処理方法の処理手順例２を示すシーケンス図である。
【図７】本実施形態の暗号処理方法の概念例を示す図である。
【図８】本実施形態の暗号処理方法の処理手順例３を示すシーケンス図である。
【図９】本実施形態の暗号処理方法の処理手順例４を示すシーケンス図である。
【図１０】本実施形態の暗号処理方法の処理手順例５を示すシーケンス図である。
【図１１】本実施形態の暗号処理方法の処理手順例６を示すシーケンス図である。
【図１２】本実施形態の暗号処理方法の処理手順例７を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態の暗号システム１を含むネットワーク構成図である。図１に示す暗号システム１は、暗号処理の適宜な高速性を担保しつつ、各利用者における秘匿情報の管理負担低減に優れた暗号技術を実装したコンピュータシステムである。
【００１７】
本実施形態における暗号システム１は、利用者端末Ａ１０＿１、利用者端末Ｂ１０＿２、利用者端末Ｃ１０＿３（以下、これらの利用者端末を纏めて示す場合、単に利用者端末１０という）と、変換サーバ２０（サーバ）とがインターネットなどの通信網（以下、ネットワークという）３０を介して互いに接続されて構成されている。なお、図１にて例示した構成では、３つの利用者端末１０がネットワーク３０に接続された形態となっているが、それ以上の数の利用者端末１０がネットワーク３０に接続されているとしても問題無い。また、本実施形態では変換サーバ２０と利用者端末１０とを含めて暗号システム１として例示するが、変換サーバ２０のみ、或いは利用者端末１０のみ、を暗号システム１ととらえることもできる。
【００１８】
また、暗号システム１を構成する変換サーバ２０のハードウェア構成は以下の如くとなる。図２は本実施形態の暗号システム１が含む変換サーバ２０の構成例を示す図である。変換サーバ２０は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成される記憶装置２０１、ＲＡＭなど揮発性記憶装置で構成されるメモリ２０３、記憶装置２０１に保持されるプログラム２０２をメモリ２０３に読み出すなどして実行しサーバ装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの演算装置２０４、および、ネットワーク３０と接続し利用者端末１０との通信処理を担う通信装置２０７、を備える。なお、記憶装置２０１内には、本実施形態の暗号システム１を構成するサーバとして必要な機能を実装する為のプログラム１０２の他、変換鍵を保持する変換鍵記憶部２２５、変換鍵により再暗号化されたメッセージを保持する再暗号文記憶部２２６が少なくとも格納されている。
【００１９】
続いて、本実施形態における変換サーバ２０が備える機能について説明する。以下に説明する機能は、例えば変換サーバ２０が記憶装置２０１にて備えるプログラム２０２を実行することで実装される機能と言える。
【００２０】
変換サーバ２０は、利用者端末１０から、暗号鍵で暗号化されたメッセージを受信し、該当利用者端末１０と上述のメッセージが示す宛先の利用者端末１０との組み合わせに関して記憶装置２０１の変換鍵記憶部２２５にて格納している変換鍵を特定し、該当変換鍵により、上述の利用者端末１０から受信したメッセージが示す宛先の利用者端末１０向けに、該当メッセージの再暗号化を実行し、当該再暗号化メッセージを、宛先の利用者端末１０に送信する機能を備えている。なお、上述の暗号鍵は、利用者端末１０が、通信相手たる他の利用者端末１０の公開情報と自身の秘密鍵とをハッシュ関数（一方向関数）に適用して得た出力値である。
【００２１】
また、変換サーバ２０は、所定の利用者端末１０からの変換鍵の登録要求に応じて乱数（所定値）を生成し、この乱数を上述の利用者端末１０に返信し、上述の乱数でマスク処理された上述の所定利用者端末１０の暗号鍵の逆数を、他の利用者端末１０の暗号鍵で更にマスク処理されたマスク化変換鍵を、上述の他の利用者端末１０から受信し、当該受信したマスク化変換鍵に対し上述の乱数に基づく交換法則を適用して、上述の登録要求を発した利用者端末１０の暗号鍵の逆数を上述の他の利用者端末１０の暗号鍵でマスク処理した変換鍵を計算し、当該変換鍵を記憶装置２０１の変換鍵記憶部２２５に格納する機能を備えている。
【００２２】
また、変換サーバ２０は、各利用者端末１０のうちいずれかの利用者端末１０から、変換鍵記憶部２２５に保持する変換鍵のうち該当利用者端末１０と組みになった所定の他利用者端末１０に関するものに関する抹消要求を受信し、当該抹消要求が示す利用者端末１０と他利用者端末１０との組み合わせ情報をキーにして記憶装置２０１の変換鍵記憶部２２５で検索を実行し、当該検索で特定した変換鍵を変換鍵記憶部２２５から削除する機能を備えている。
【００２３】
また、変換サーバ２０は、利用者端末１０からの、当該利用者端末１０が代理と認める他の利用者端末１０、すなわち代理利用者端末１０に関する変換鍵の登録要求に応じ、乱数を発生させ、当該乱数を上述の利用者端末１０に返信し、この乱数でマスク処理された、代理利用者端末１０の公開情報と利用者端末１０の秘密鍵とに基づく、利用者端末１０の暗号鍵（第１鍵）の逆数を、利用者端末１０の公開情報と代理利用者端末１０の秘密情報とに基づく、代理利用者端末１０の暗号鍵（第２鍵）で更にマスク処理されたマスク化変換鍵（第３鍵）を、代理利用者端末１０から受信し、当該受信したマスク化変換鍵に対し上述の乱数に基づく交換法則を適用して、上述の利用者端末１０の暗号鍵（第１鍵）の逆数をマスク化変換鍵（第３鍵）でマスク処理した代理人用変換鍵を計算し、当該代理人用変換鍵を記憶装置２０１の変換鍵記憶部２２５に格納する機能を備えている。
【００２４】
また、変換サーバ２０は、代理利用者端末１０からの、上述の利用者端末１０に宛てられたメッセージの閲覧録要求に応じ、代理利用者端末１０と上述の利用者端末１０の組み合わせに関して保持している代理人用変換鍵を記憶装置２０１の変換鍵記憶部２２５で特定し、当該代理人用変換鍵により、上述の利用者端末１０向けに可換性を持って再暗号化されたメッセージを更に暗号化して、当該再再暗号化メッセージを、代理利用者端末１０に送信する機能を備えている。
【００２５】
また、変換サーバ２０は、各利用者端末１０のうちいずれかの利用者端末１０から、変換鍵記憶部２２５にて保持する変換鍵のうち、該当利用者端末１０と組みになった代理利用者端末１０に関するものに関する抹消要求を受信し、当該抹消要求が示す利用者端末１０と代理利用者端末１０との組み合わせ情報をキーにして変換鍵記憶部２２５にて検索を実行し、当該検索で特定した代理人用変換鍵を変換鍵記憶部２２５から削除する機能を備えている。
【００２６】
また、暗号システム１を構成する利用者端末１０らのハードウェア構成は以下の如くとなる。図３は本実施形態の暗号システム１が含む利用者端末１０の構成例を示す図である。利用者端末１０は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成される記憶装置１０１、ＲＡＭなど揮発性記憶装置で構成されるメモリ１０３、記憶装置１０１に保持されるプログラム１０２をメモリ１０３に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの演算装置１０４、ユーザからのキー入力や音声入力を受け付ける入力装置１０５、処理データの表示を行うディスプレイ等の出力装置１０６、ネットワークと接続し変換サーバ２０との通信処理を担う通信装置１０７、を備える。なお、記憶装置１０１内には、本実施形態の暗号システム１を構成する端末として必要な機能を実装する為のプログラム１０２の他、各利用者端末１０に関して公開されている利用者端末別のＩＤを保持する公開ＩＤ記憶部１２５、当該利用者端末１０の秘密鍵を保持する鍵記憶部１２６が少なくとも格納されている。また、各利用者端末１０は、プログラム１０２の１つとしてハッシュ関数に対応したプログラム１１０を記憶装置１０１にて保持しており、必要に応じて呼び出して実行可能である。
【００２７】
続いて、本実施形態における利用者端末１０が備える機能について説明する。上述したように、以下に説明する機能は、例えば利用者端末１０が備えるプログラム１０２を実行することで実装される機能と言える。
【００２８】
利用者端末１０は、通信相手となる他の利用者端末１０のＩＤ（公開情報）を公開ＩＤ記憶部１２５から抽出し、このＩＤと、鍵記憶部１２６で保持する自身の秘密鍵（秘密情報）とを、ハッシュ関数（一方向関数）に入力して暗号鍵を生成する機能を備えている。
【００２９】
また、利用者端末１０は、上述の他の利用者端末１０宛のメッセージ送信に際し、対象となるメッセージを上述の暗号鍵で暗号化して変換サーバ２０に送信する機能を備えている。
【００３０】
また、利用者端末１０は、当該利用者端末１０宛てのメッセージ受信に際しては、当該利用者端末１０向けに可換性を持って再暗号化されたメッセージを変換サーバ２０から受信し、当該受信したメッセージを自身の暗号鍵で復号化する機能を備えている。
【００３１】
また、利用者端末１０は、当該所定利用者端末１０と通信相手となりうる他の利用者端末１０との組み合わせに関して、変換鍵の登録要求を変換サーバ２０に送信する機能を備えている。
【００３２】
また、利用者端末１０は、当該利用者端末１０と上述の通信相手たる他の利用者端末１０とに関して生成している暗号鍵の逆数を、変換サーバ２０から送られてきた乱数でマスク処理したマスク化暗号鍵を、通信相手である他の利用者端末１０に送信する機能を備えている。この場合、他の利用者端末１０は、通信相手たる利用者端末１０のＩＤと自身の秘密鍵とをハッシュ関数に適用して復号鍵を生成し、当該復号鍵で、上述の利用者端末１０から送られてきたマスク化暗号鍵をマスク処理してマスク化変換鍵を生成し、このマスク化変換鍵を変換サーバ２０に送信する機能を備えている。
【００３３】
また、利用者端末１０は、変換サーバ２０が管理する変換鍵のうち、該当利用者端末１０と組みになった所定の他利用者端末１０に関するものに関する抹消要求を、変換サーバ２０に送信する機能を備えている。
【００３４】
また、利用者端末１０は、当該所定利用者端末１０の代理利用者端末１０に関する変換鍵の登録要求を変換サーバ２０に送信し、この登録要求に応じて変換サーバ２０から送信されてきた乱数を取得する機能を備えている。なお、代理利用者端末１０も利用者端末１０の１つであり、状況によっていずれの立場にもなりうるものである。従って、代理利用者端末１０として記載した機能や構成であっても、利用者端末１０に共通の機能や構成として備わっているものとする（以下、同様）。
【００３５】
また、利用者端末１０は、代理利用者端末１０のＩＤと当該所定利用者端末１０の秘密鍵とに基づく暗号鍵の逆数を、上述の乱数でマスク処理してマスク化暗号鍵を生成し、このマスク化暗号鍵を代理利用者端末１０に送信する機能を備えている。この場合、代理利用者端末１０は、上述の利用者端末１０からマスク化暗号鍵を受信し、このマスク化暗号鍵を、上述の利用者端末１０のＩＤと当該代理利用者端末１０の秘密鍵とに基づく復号鍵で更にマスク処理することで、マスク化変換鍵を生成し、このマスク化変換鍵を、変換サーバ２０に送信する機能を備えている。
【００３６】
また、代理利用者端末１０は、代理でのメッセージ閲覧が許容されている利用者端末１０に宛てられたメッセージについて、その閲覧録要求を変換サーバ２０に送信する。この場合、変換サーバ２０では、当該代理利用者端末１０と上述の利用者端末１０の組み合わせに関して保持している代理人用変換鍵を変換鍵記憶部２２５で特定し、当該代理人用変換鍵により、上述の利用者端末１０向けに可換性を持って再暗号化されたメッセージを更に暗号化して、当該再再暗号化メッセージを代理利用者端末１０に送信することとなる。そのため、代理利用者端末１０は、変換サーバ２０から送信された再再暗号化メッセージを受信し、当該受信した再再暗号化メッセージを自身の復号鍵で復号化する機能を備えている。
【００３７】
ここで、暗号システム１における可換性に基づく各種処理に対応した演算子の例を示す。図４は、本実施形態の暗号システム１が処理に用いる演算子の具体例を説明する図である。本実施形態においては三つの演算子を用いることとする。一つ目の演算子は、“●”演算子である。当該演算子“●”は、可換性のあるマスク処理用の演算子であり、データＡをデータＢでマスクする処理を行う演算子である。この演算を“Ｂ●Ａ”と記す。なお、ここでいうマスク処理とは、データＡにデータＢを作用させ、別の値に変換する処理を言う。また、当該演算子“●”は、以下の性質を持つ。
【００３８】
（ａ）Ｂ●Ａ＝Ａ●Ｂ
（ｂ）Ｃ●（Ｂ●Ａ）＝（Ｃ●Ｂ）●Ａ
（ｃ）Ａ−１●Ａ＝１（但し、“１”は単位元）
この様な性質を持つ演算子として、例えば、”ｘｏｒ”がある。
【００３９】
また、二つ目の演算子は、“ｆ（、）”演算子である。当該演算子“ｆ（、）”は、暗号鍵に関して可換性のある暗号処理演算子であり、データＡを暗号化鍵Ｋで暗号化を行う演算子である。この演算を“ｆ（Ｋ、Ａ）”と記す。当該演算子“ｆ（、）”は、以下の性質を持つ。
【００４０】
（ａ）ｆ（Ｋ１、ｆ（Ｋ２、Ａ））＝ｆ（（Ｋ１●Ｋ２）、Ａ）＝ｆ（（Ｋ２●Ｋ１）、Ａ）＝ｆ（Ｋ２、ｆ（Ｋ１、Ａ））
（ｂ）ｆ（Ｋ１●Ｋ２、ｆ（Ｋ３、Ａ））＝ｆ（Ｋ１●Ｋ２●Ｋ３、Ａ）＝ｆ（Ｋ１、ｆ（Ｋ２●Ｋ３、Ａ）
（ｃ）ｆ（Ｋ−１、ｆ（Ｋ、Ａ））＝ｆ（Ｋ−１●Ｋ、Ａ）＝ｆ（１、Ａ）＝Ａ
この様な性質を持つ演算子として、例えば、“ｘｏｒ”がある。
【００４１】
尚、演算子“●”と演算子“ｆ（、）”は、同じ演算処理を行っても良いし、夫々、上述の性質を満たす別々の演算処理を行っても良い。なお、復号化処理に関しては、性質（ｃ）により、暗号化鍵の逆数を用いて暗号文を再暗号化することにより、データＡを復号することができる。
【００４２】
また、三つ目の演算子は“ｈ（、）”演算子である。当該演算子“ｈ（、）”は、２つのデータを入力とするハッシュ関数を表す演算子であり、データＡとデータＢとのハッシュ値を生成する演算子である。この演算を“（ｈ（Ａ、Ｂ）”と記す。例えば、データＡとデータＢとをｘｏｒした値に対するハッシュ値を出力する場合、“ｈ（Ａ、Ｂ）＝Ｈ（（ＡｘｏｒＢ））”となる。但し“Ｈ（、）”は１つのデータを入力とするハッシュ関数であり、例えば”ＳＨＡ２５６”がある。
【００４３】
以下、本実施形態における暗号処理方法の実際手順について図に基づき説明する。以下で説明する暗号処理方法に対応する各種動作は、暗号システム１を構成する変換サーバ２０、および各利用者端末１０らが、それぞれメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００４４】
図５は、本実施形態の暗号処理方法の処理手順例１を示すシーケンス図であり、具体的には、利用者端末Ｃ１０＿３から利用者端末Ａ１０＿１へメッセージを送る為に、事前に変換サーバ２０に変換鍵を登録するまでの流れを示すシーケンス図である。この図５のシーケンス図にて示すように、利用者端末１０は変換サーバ２０に対して、変換鍵の登録要求を行うことが可能である。この処理の開始契機は、該当利用者端末１０が通信相手と通信を開始する以前であればいつでもよい。
【００４５】
この場合、暗号システム１に含まれる複数の利用者端末１０のうち、例えば利用者端末Ｃ１０＿３が、他の利用者端末Ａ１０＿１へメッセージを送る為に、変換サーバ２０に対し、通信相手である利用者端末Ａ１０＿１との変換鍵を登録したい旨を伝える変換鍵登録申請を行う（Ｓ００１）。
【００４６】
一方、変換サーバ２０は、ネットワーク３０を介して上述の変換鍵登録申請を受信し、この受信を契機にして乱数ｐを生成する（Ｓ００２）。乱数の生成手法は既存技術を採用すればよい。また、変換サーバ２０は、生成した乱数ｐを、変換鍵登録申請の発信元、すなわち上述の利用者端末Ｃ１０＿３に送付する（Ｓ００３）。
【００４７】
他方、当該乱数ｐを変換サーバ２０から受信した利用者端末Ｃ１０＿３は、通信相手となる利用者端末Ａ１０＿１との暗号鍵を生成する為に、鍵記憶部１２６にて管理されている自身の秘密鍵“Ｋｃ”と、公開ＩＤ記憶部１２５にて管理されている利用者端末Ａ１０＿１の公開ＩＤである“ＩＤａ”とをハッシュ関数に入力し、ハッシュ値“ｈ（Ｋｃ、ＩＤａ）”を計算する（Ｓ００４）。このハッシュ値は、利用者端末Ｃ１０＿３が利用者端末Ａ１０＿１を通信相手とする際の暗号鍵となる。
【００４８】
また、こうして暗号鍵を計算した利用者端末Ｃ１０＿３は、上述のステップＳ００３にて変換サーバ２０が送信した乱数ｐを用いて、当該暗号鍵の逆数をマスクした値“ｐ●ｈ（Ｋｃ、ＩＤａ）−１”を計算し、これをマスク化暗号鍵として利用者端末Ａ１０＿１へ送信する（Ｓ００５）。
【００４９】
一方、利用者端末Ａ１０＿１は、上述のマスク化暗号鍵を受信するに伴い、利用者端末Ｃ１０＿３との復号鍵を生成する為に、自身の鍵記憶部１２６にて管理している自身の秘密鍵“Ｋａ”と、公開ＩＤ記憶部１２５にて管理している利用者端末Ｃ１０＿３の公開ＩＤである“ＩＤｃ”とをハッシュ関数に入力し、ハッシュ値“ｈ（Ｋａ、ＩＤｃ）”を計算する（Ｓ００６）。このハッシュ値は、利用者端末Ａ１０＿１が利用者端末Ｃ１０＿３を通信相手とする際の復号鍵となる。
【００５０】
また、上述のように復号鍵を計算した利用者端末Ａ１０＿１は、その復号鍵を用いて、利用者端末Ｃ１０＿３から送られてきたマスク化暗号鍵をマスク処理して、”ｈ（Ｋａ、ＩＤｃ）●ｐ●ｈ（Ｋｃ、ＩＤａ）−１”を計算し、これをマスク化変換鍵として変換サーバ２０へ送付する（Ｓ００７）。
【００５１】
他方、変換サーバ２０は、利用者端末Ａ１０＿１が送信した情報処理装置マスク化変換鍵を受信し、このマスク化変換鍵に対して上述の乱数ｐの逆数を用いてマスク処理し、変換鍵”ｐ−１●ｈ（Ｋａ、ＩＤｃ）●ｐ●ｈ（Ｋｃ、ＩＤａ）−１＝ｈ（Ｋａ、ＩＤｃ）●ｈ（Ｋｃ、ＩＤａ）−１”を計算する（Ｓ００８）。
【００５２】
こうして変換鍵を計算した変換サーバ２０は、当該変換鍵を、“利用者端末Ｃ１０＿３から利用者端末Ａ１０＿１向けの変換鍵”として、記憶装置２０１における変換鍵記憶部２２５に登録する（Ｓ００９）。
【００５３】
こうして変換サーバ２０における変換鍵の登録がなされるが、その後、変換サーバ２０に登録されている変換鍵のうち、利用者にとって不要なものが生じる場合もある。例えば、それまでの取引関係が解消されて今後の連絡予定が消滅した契約相手、或いは、情報漏洩が疑われる通信相手、などに関する変換鍵を、迅速に抹消したいとの要望が生じた場合、などが該当する。
【００５４】
そこで、このように変換鍵の抹消に関する処理について図に基づき説明する。図６は、本実施形態の暗号処理方法の処理手順例２を示すシーケンス図であり、具体的には、利用者端末Ａ１０＿１からの変換鍵抹消申請により、変換サーバ２０に登録されている変換鍵を削除するまでの流れと、利用者端末Ｃ１０＿３からの変換鍵抹消申請により、変換鍵を削除するまでの流れとを示すシーケンス図である。
【００５５】
この場合、例えば利用者端末Ａ１０＿１が、“利用者端末Ｃ１０＿３から利用者端末Ａ１０＿１向けの変換鍵”を削除したいとの要求を含んだ、変換鍵抹消申請を、変換サーバ２０に送信したとする（Ｓ１０１）。
【００５６】
一方、この変換鍵抹消申請を利用者端末Ａ１０＿１から受信した変換サーバ２０は、利用者端末Ｃ１０＿３および利用者端末Ａ１０＿１の組み合わせに対応した該当変換鍵を、変換鍵記憶部２２５にて検索して、該当変換鍵“ｈ（Ｋａ、ＩＤｃ）●ｈ（Ｋｃ、ＩＤａ）−１”を特定し、これを削除する（Ｓ１０２）。
【００５７】
また同様に、利用者端末Ｃ１０＿３が、“利用者端末Ｃ１０＿３から利用者端末Ａ１０＿１向けの変換鍵”を削除したいとの要求を含んだ、変換鍵抹消申請を、変換サーバ２０に送信したとする（Ｓ１０３）。
【００５８】
他方、利用者端末Ｃ１０＿３からの変換鍵抹消申請を受信した変換サーバ２０は、利用者端末Ａ１０＿１および利用者端末Ｃ１０＿３の組み合わせに対応した該当変換鍵を、変換鍵記憶部２２５にて検索して、該当変換鍵“ｈ（Ｋａ、ＩＤｃ）●ｈ（Ｋｃ、ＩＤａ）−１”を特定し、これを削除する（Ｓ１０４）。
【００５９】
次に、利用者端末１０の間で上述の変換サーバ２０を介したセキュアな通信を実行する際の処理について説明する。図７は、利用者端末Ｃ１０＿３から変換サーバ２０を経由して、利用者端末Ａ１０＿１へメッセージＭを送るまでの、前記にて説明した処理の全体的な流れを示す概要図である。また、図８は、本実施形態の暗号処理方法の処理手順例３を示すシーケンス図であり、具体的には、利用者端末Ｃ１０＿３から利用者端末Ａ１０＿１宛ての暗号メッセージを変換サーバ２０へアップロードし、変換サーバ２０にて、当該暗号メッセージを利用者端末Ａ１０＿１向けに再暗号処理をするまでの流れを示すシーケンス図である。
【００６０】
この場合、利用者による通信開始指示等を入力装置１０５で受けた利用者端末Ｃ１０＿３は、上述の指示が示す通信相手である、利用者端末Ａ１０＿１宛てのメッセージＭを作成する（Ｓ２０１）。このメッセージＭの作成処理は、例えば、利用者端末１０が、入力装置１０５で受け付けた利用者由来のテキストデータないしテキストファイルを、ネットワーク３０での所定の通信プロトコルに沿って処理し、通信パケットを生成する処理、などに該当する。
【００６１】
次に利用者端末Ｃ１０＿３は、利用者端末Ａ１０＿１との通信に用いる暗号鍵を生成する為に、鍵記憶部１２６にて管理している自身の秘密鍵“Ｋｃ”と、公開ＩＤ記憶部１２５にて管理している利用者端末Ａ１０＿１の公開ＩＤである“ＩＤａ”とを、ハッシュ関数に入力し、暗号鍵としてのハッシュ値“ｈ（Ｋｃ、ＩＤａ）”を計算する（Ｓ２０２）。
【００６２】
また、利用者端末Ｃ１０＿３は、上述のステップＳ２０１で作成したメッセージＭを、ステップＳ２０２で計算した暗号鍵“ｈ（Ｋｃ、ＩＤａ）”を用いて暗号化し、暗号文“ｆ（ｈ（Ｋｃ、ＩＤａ）、Ｍ）”を生成する（Ｓ２０３）。
【００６３】
利用者端末Ｃ１０＿３は、上述のステップＳ２０３で生成した利用者端末Ａ１０＿１宛ての暗号文“ｆ（ｈ（Ｋｃ、ＩＤａ）、Ｍ）”を、変換サーバ２０に送付する（Ｓ２０４）。
【００６４】
一方、暗号文“ｆ（ｈ（Ｋｃ、ＩＤａ）、Ｍ）”を受信した変換サーバ２０は、利用者端末Ｃ１０＿３および利用者端末Ａ１０＿１の組み合わせをキーとして、変換鍵記憶部２２５で変換鍵の検索を実行し、“利用者端末Ｃ１０＿３から利用者端末Ａ１０＿１向けの変換鍵ｈ（Ｋａ、ＩＤｃ）●ｈ（Ｋｃ、ＩＤａ）−１”を特定する（Ｓ２０５）。
【００６５】
また、変換サーバ２０は、上述のステップＳ２０５で特定した変換鍵を用いて、利用者端末Ｃ１０＿３から送られてきた暗号文を再暗号化する（Ｓ２０６）。この再暗号化で得られる再暗号文は、各演算子の性質より、以下の構成となる。
【００６６】
再暗号文：ｆ（ｈ（Ｋａ、ＩＤｃ）●ｈ（Ｋｃ、ＩＤａ）−１、ｆ（ｈ（Ｋｃ、ＩＤａ）、Ｍ））＝ｆ（（（ｈ（Ｋａ、ＩＤｃ）●ｈ（Ｋｃ、ＩＤａ）−１）●ｈ（Ｋｃ、ＩＤａ））、Ｍ）＝ｆ（ｈ（Ｋａ、ＩＤｃ）、Ｍ）
こうして再暗号文を得た変換サーバ２０は、当該再暗号文を記憶装置２０１における再暗号文記憶部２２６に保存し、利用者端末Ｃ１０＿３の通信相手である利用者端末Ａ１０＿１への転送に備える。
【００６７】
そこで、利用者端末Ａ１０＿１向けに変換サーバ２０で保存された再暗号文を、利用者端末Ａ１０＿１が復号し、メッセージを取得する流れについて説明する。図９は、本実施形態の暗号処理方法の処理手順例４を示すシーケンス図であり、具体的には、利用者端末Ａ１０＿１向けに再暗号処理された再暗号文を利用者端末Ａ１０＿１が復号し、メッセージを取得するまでの流れを示すシーケンス図である。
【００６８】
この場合、利用者端末Ａ１０＿１は、変換サーバ２０に対し、自分宛の新着メッセージが存在するか否かの確認要求を送信する（Ｓ３００）。この確認要求の送信は、利用者端末Ａ１０＿１が入力装置１０５にて利用者の指示を受けて実行するとしてもよいし、予め定めた所定周期の到来をクロック機能等で検知して実行するとしてもよい。
【００６９】
一方、利用者端末Ａ１０＿１からの確認要求を受信した変換サーバ２０は、記憶装置２０１の再暗号文記憶部２２６において、利用者端末Ａ１０＿１宛のメッセージを利用者端末Ａ１０＿１のＩＤ等に基づいて検索し、検索結果を返信する（Ｓ３０１）。
【００７０】
この検索結果を変換サーバ２０から受信した利用者端末Ａ１０＿１は、当該検索結果が、自分宛の新着メッセージの存在を示していた場合、変換サーバ２０に対して該当メッセージの取得指示を通知し、例えば、利用者端末Ｃ１０＿３からの再暗号文“ｆ（ｈ（Ｋａ、ＩＤｃ）、Ｍ）”を取得する（Ｓ３０２）。
【００７１】
利用者端末Ｃ１０＿３からの再暗号文を取得した利用者端末Ａ１０＿１は、この利用者端末Ｃ１０＿３との復号鍵を生成する為に、鍵記憶部１２６にて管理している自身の秘密鍵“Ｋａ”と、公開ＩＤ記憶部１２５にて管理している利用者端末Ｃ１０＿３の公開ＩＤである“ＩＤｃ”とをハッシュ関数に入力し、復号鍵としてハッシュ値“ｈ（Ｋａ、ＩＤｃ）”を計算する（Ｓ３０３）。
【００７２】
また、利用者端末Ｃ１０＿３は、上述のステップＳ３０３で得た復号鍵の逆数“ｈ（Ｋａ、ＩＤｃ）−１”を用いて、上述のステップＳ３０２で得ている再暗号文“ｆ（ｈ（Ｋａ、ＩＤｃ）、Ｍ）”を復号することで、メッセージＭを取得する（Ｓ３０４）。この時、復号処理は以下の様になる。
【００７３】
ｆ（ｈ（Ｋａ、ＩＤｃ）−１、ｆ（ｈ（Ｋａ、ＩＤｃ）、Ｍ））＝ｆ（ｈ（Ｋａ、ＩＤｃ）−１●ｈ（Ｋａ、ＩＤｃ））、Ｍ）＝ｆ（１、Ｍ）＝Ｍ
上述では、メッセージ送信元の利用者端末Ｃ１０＿３と、該当メッセージの受信先の利用者端末Ａ１０＿１との２者間のデータ通信について説明した。一方で、受信先の利用者端末Ａ１０＿１の代理として、利用者端末Ｂ１０＿２が利用者端末Ａ１０＿１宛ての再暗号文を閲覧する状況、すなわち代理閲覧が要求される状況にも本実施形態の暗号システム１は対応可能である。そこで、図１０、１１を用いて、こうした代理閲覧に関する処理について説明する。
【００７４】
図１０は、本実施形態の暗号処理方法の処理手順例５を示すシーケンス図であり、具体的には、利用者端末Ａ１０＿１向けに送られてきた再暗号文を利用者端末Ｂ１０＿２が代理として閲覧する為に、代理閲覧用の変換鍵を変換サーバ２０に登録するまでの流れを示すシーケンス図である。
【００７５】
この場合、利用者端末Ａ１０＿１は、変換サーバ２０に対し、利用者端末Ｂ１０＿２が代理利用者端末であるとの旨を伝える、代理人登録申請を行う（Ｓ４０１）。この代理人登録申請は、利用者端末Ｃ１０＿３から利用者端末Ａ１０＿１に宛てられたメッセージについては、利用者端末Ｂ１０＿２が代理閲覧できる権限を付与するためのものである。
【００７６】
一方、こうした代理人登録申請情報を受信した変換サーバ２０は、乱数ｐ’を生成し（Ｓ４０２）、当該乱数ｐ’を利用者端末Ａ１０＿１に送付する（Ｓ４０３）。
【００７７】
他方、上述の乱数ｐ’を受信した利用者端末Ａ１０＿１は、利用者端末Ｂ１０＿２との暗号鍵を生成する為に、鍵記憶部１２６にて管理している自身の秘密鍵“Ｋａ”と、公開ＩＤ記憶部１２５にて管理している利用者端末Ｃ１０＿３の公開ＩＤである“ＩＤｃ”とをハッシュ関数に入力し、復号鍵であるハッシュ値“ｈ（Ｋ＿ａ、ＩＤ＿ｃ）”を計算する（Ｓ４０４）。このハッシュ値は、利用者端末Ａ１０＿１が利用者端末Ｃ１０＿３を通信相手とする際の復号鍵となる。 
上述の復号鍵を計算した利用者端末Ａ１０＿１は、変換サーバ２０から送られてきた上述の乱数ｐ’を用いて上述の復号鍵の逆数をマスクして、マスク化暗号鍵“ｐ’●ｈ（Ｋａ、ＩＤｃ）−１”を算定し、これを利用者端末Ｂ１０＿２へ送付する（Ｓ４０５）。
【００７８】
他方、上述のマスク化暗号鍵を受信した利用者端末Ｂ１０＿２では、利用者端末Ａ１０＿１との通信に用いる復号鍵を生成する為に、鍵記憶部１２６にて管理している自身の秘密鍵“Ｋｂ”と、公開ＩＤ記憶部１２５にて管理している利用者端末Ａ１０＿１の公開ＩＤである“ＩＤａ”とをハッシュ関数に入力し、復号鍵であるハッシュ値“ｈ（Ｋｂ、ＩＤａ）”を計算する（Ｓ４０６）。このハッシュ値は、利用者端末Ｂ１０＿２が利用者端末Ａ１０＿１を通信相手とする際の復号鍵となる。
【００７９】
こうして復号鍵を計算した利用者端末Ｂ１０＿２は、当該復号鍵を用いて、上述の利用者端末Ａ１０＿１から送られてきたマスク化暗号鍵をマスク処理し、値”ｈ（Ｋｂ、ＩＤａ）●ｐ’●ｈ（Ｋａ、ＩＤｃ）−１”を計算し、これをマスク化変換鍵として変換サーバ２０へ送付する（Ｓ４０７）。
【００８０】
一方、変換サーバ２０は、上述のマスク化変換鍵を利用者端末Ｂ１０＿２から受信し、このマスク化変換鍵に対し、乱数ｐ’の逆数を用いてマスク処理を行い、変換鍵“ｐ’−１●ｈ（Ｋｂ、ＩＤａ）●ｐ’●ｈ（Ｋａ、ＩＤｃ）−１＝ｈ（Ｋｂ、ＩＤａ）●ｈ（Ｋａ、ＩＤｃ）−１”を計算する（Ｓ４０８）。
【００８１】
変換サーバ２０は、こうして計算した変換鍵（代理人用変換鍵）を、“利用者端末Ａ１０＿１から利用者端末Ｂ１０＿２向けの変換鍵”として、記憶装置２０１における変換鍵記憶部２２５に登録する（Ｓ４０９）。なお、代理閲覧用の当該変換鍵を変換サーバ２０より削除する処理については後述する。
【００８２】
次に、代理閲覧の権限を有する代理利用者端末である、上述の利用者端末Ｂ１０＿２が、利用者端末Ａ１０＿１宛のメッセージを代理閲覧する処理について図に基づき説明する。図１１は、本実施形態の暗号処理方法の処理手順例６を示すシーケンス図であり、具体的には、利用者端末Ａ１０＿１向けに送られてきた再暗号文を利用者端末Ｂ１０＿２が代理として閲覧するまでの流れを示すシーケンス図である。
【００８３】
この場合、代理閲覧の権限を有する利用者端末Ｂ１０＿２は、変換サーバ２０に対し、利用者端末Ａ１０＿１宛ての新着メッセージが存在するか否かの確認要求を含む、代理閲覧申請を行う（Ｓ５０１）。この確認要求の含む代理閲覧申請の送信は、利用者端末Ｂ１０＿２が入力装置１０５にて利用者の指示を受けて実行するとしてもよいし、予め定めた所定周期の到来をクロック機能等で検知して実行するとしてもよい。
【００８４】
一方、利用者端末Ｂ１０＿２からの代理閲覧申請を受信した変換サーバ２０は、記憶装置２０１の再暗号文記憶部２２６において、利用者端末Ａ１０＿１宛のメッセージを利用者端末Ａ１０＿１のＩＤ等に基づいて検索する（Ｓ５０２）。
【００８５】
この検索の結果、再暗号文記憶部２２６にて該当新着メッセージが存在した場合、変換サーバ２０は、変換鍵記憶部２２５から、“利用者端末Ａ１０＿１から利用者端末Ｂ１０＿２向けの変換鍵“ｈ（Ｋｂ、ＩＤａ）●ｈ（Ｋａ、ＩＤｃ）−１”を検索する（Ｓ５０２）。
【００８６】
また、変換サーバ２０は、上述のステップＳ５０２で検索した変換鍵を用いて、新着メッセージとして検索した、利用者端末Ａ１０＿１宛ての再暗号文を更に再暗号化、すなわち再再暗号化する（Ｓ５０３）。これにより得られる再再暗号文は、各演算子の性質より、以下の様になる。
【００８７】
ｆ（ｈ（Ｋｂ、ＩＤａ）●ｈ（Ｋａ、ＩＤｃ）−１、ｆ（ｈ（Ｋａ、ＩＤｃ）、Ｍ））＝ｆ（（（ｈ（Ｋｂ、ＩＤａ）●ｈ（Ｋａ、ＩＤｃ）−１）●ｈ（Ｋａ、ＩＤｃ））、Ｍ）＝ｆ（ｈ（Ｋｂ、ＩＤａ）、Ｍ）
一方、利用者端末Ｂ１０＿２は、変換サーバ２０に対して、利用者端末Ａ１０＿１宛ての再再暗号文“ｆ（ｈ（Ｋｂ、ＩＤａ）、Ｍ）”を要求し、これを取得する（Ｓ５０４）。また、利用者端末Ｂ１０＿２は、利用者端末Ａ１０＿１との復号鍵を生成する為に、鍵記憶部１２６にて管理している自身の秘密鍵“Ｋｂ”と、公開ＩＤ記憶部１２５にて管理している利用者端末Ａ１０＿１の公開ＩＤである“ＩＤａ”とをハッシュ関数に入力し、復号鍵であるハッシュ値“ｈ（Ｋｂ、ＩＤａ）”を計算する（Ｓ５０５）。
【００８８】
復号鍵を計算した利用者端末Ｂ１０＿２は、当該復号鍵の逆数“ｈ（Ｋｂ、ＩＤａ）−１”を用いて、上述の再再暗号文を復号し、メッセージＭを取得する（Ｓ５０６）。この復号処理は以下の様になる。
【００８９】
ｆ（ｈ（Ｋｂ、ＩＤａ）−１、ｆ（ｈ（Ｋｂ、ＩＤａ）、Ｍ））＝ｆ（ｈ（Ｋｂ、ＩＤａ）−１●ｈ（Ｋｂ、ＩＤａ））、Ｍ）＝ｆ（１、Ｍ）＝Ｍ
こうして代理閲覧の権限を有する利用者端末Ｂ１０＿２が、利用者端末Ａ１０＿１宛のメッセージをセキュアに閲覧することができる。
【００９０】
次に、代理人用変換鍵の抹消処理について説明する。図１２は、本実施形態の暗号処理方法の処理手順例７を示すシーケンス図であり、具体的には、利用者端末Ａ１０＿１からの代理人用変換鍵抹消申請により、変換サーバ２０に登録されている、代理端末たる利用者端末Ｂ１０＿２に関する代理人用変換鍵を削除するまでの流れと、利用者端末Ｂ１０＿２からの代理人用変換鍵抹消申請により、上述の代理人用変換鍵を削除するまでの流れとを示すシーケンス図である。
【００９１】
この場合、例えば利用者端末Ａ１０＿１が、“利用者端末Ｂ１０＿２と利用者端末Ａ１０＿１との組み合わせに関する代理人用の変換鍵”を削除したいとの要求を含んだ、変換鍵抹消申請を、変換サーバ２０に送信したとする（Ｓ６０１）。
【００９２】
一方、この変換鍵抹消申請を利用者端末Ａ１０＿１から受信した変換サーバ２０は、利用者端末Ｂ１０＿２および利用者端末Ａ１０＿１の組み合わせに対応した該当変換鍵を、変換鍵記憶部２２５にて検索して、該当変換鍵“ｈ（Ｋｂ、ＩＤａ）●ｈ（Ｋａ、ＩＤｃ）−１”を特定し、これを削除する（Ｓ６０２）。
【００９３】
また同様に、利用者端末Ｂ１０＿２が、“利用者端末Ａ１０＿１と利用者端末Ｂ１０＿２との組み合わせに関する代理人用の変換鍵”を削除したいとの要求を含んだ、変換鍵抹消申請を、変換サーバ２０に送信したとする（Ｓ６０３）。
【００９４】
他方、利用者端末Ｂ１０＿２からの変換鍵抹消申請を受信した変換サーバ２０は、利用者端末Ｂ１０＿２および利用者端末Ａ１０＿１の組み合わせに対応した該当変換鍵を、変換鍵記憶部２２５にて検索して、該当変換鍵“ｈ（Ｋｂ、ＩＤａ）●ｈ（Ｋａ、ＩＤｃ）−１”を特定し、これを削除する（Ｓ６０４）。
【００９５】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば本発明は、日本政府が検討している社会保障・税番号制度におけるマイ・ポータルシステムへの適用も可能である。マイ・ポータルへの適用の際、本発明の変換サーバ２０の機能をマイ・ポータルの一機能として物理的に同一の機器上に構築しても良いし、物理的には切り離してマイ・ポータルはデータを橋渡しするだけで、本発明の変換サーバ２０の機能を別機器上に構築してもよい。
【００９６】
こうした本実施形態によれば、データを暗号化、復号化する為の暗号鍵、復号鍵は、ユーザ自身の秘密鍵と通信相手の公開ＩＤ情報とから動的に生成されるものとなり、実際に各利用者が恒常的に管理すべき秘匿情報（秘密鍵）の数は１つのみとできる。つまり、暗号処理が比較的高速である共通鍵暗号ベースのプロトコルにおいても、各利用者が管理すべき秘匿情報（秘密鍵）を公開鍵暗号ベースのプロトコルと同様に１個にし、ユーザの利便性を向上させることができる。
【００９７】
従って、暗号処理の適宜な高速性を担保しつつ、各利用者における秘匿情報の管理負担低減に優れた暗号技術を提供可能となる。
【００９８】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の暗号処理方法において、前記サーバは、前記端末から、前記鍵で暗号化されたメッセージを受信し、端末の組み合わせ毎に保持している可換性関数たる変換鍵により、前記受信したメッセージが示す宛先の端末向けに、前記メッセージの再暗号化を実行し、当該再暗号化メッセージを、前記宛先の端末に送信するとしてもよい。
【００９９】
これによれば、サーバが、端末間のセキュアな通信を効率的に仲介し、なおかつ、各端末での秘匿情報たる秘密鍵の管理数を最低限度に抑制可能となる。しかも、サーバ自体は仲介する端末からのメッセージを復号化しない構成となっており、サーバ側での情報漏洩のリスクも抑制される。
【０１００】
また、本実施形態の暗号処理方法において、前記サーバは、所定端末からの前記変換鍵の登録要求に応じて所定値を前記所定端末に返信し、前記所定値でマスク処理された前記所定端末の鍵の逆数を他端末の鍵で更にマスク処理された所定鍵を、前記他端末から受信し、当該受信した所定鍵に対し前記所定値に基づく交換法則を適用して、前記所定端末の鍵の逆数を前記他端末の鍵でマスク処理した変換鍵を計算し、当該変換鍵を記憶装置に格納する、としてもよい。
【０１０１】
これによれば、サーバにおいて、通信の仲介対象である各端末に関して、端末ユーザの要求に応じた組み合わせ毎に変換鍵を保持することが可能となる。従って、通信を行う予定の無い端末間に関して、不要な変換鍵をサーバが保持することもなく、サーバでの変換鍵管理に係る使用リソースの無駄を省き、効率的な変換鍵管理を実現できる。
【０１０２】
また、本実施形態の暗号処理方法において、前記所定端末は、当該所定端末と通信相手となりうる他端末との組み合わせに関して、前記変換鍵の登録要求を前記サーバに送信し、前記サーバは、前記所定値を前記所定端末に返信する際、前記所定端末からの登録要求に応じて前記所定値たる乱数を生成し、当該乱数を前記所定端末に返信し、前記所定端末は、通信相手たる前記他端末の公開情報と自身の秘密情報とを一方向関数に適用し、暗号鍵としての出力値を生成し、当該暗号鍵の逆数を前記乱数でマスク処理したマスク化暗号鍵を前記他端末に送信し、前記他端末は、通信相手たる前記所定端末の公開情報と自身の秘密情報とを一方向関数に適用し、復号鍵としての出力値を生成し、当該復号鍵で前記マスク化暗号鍵をマスク処理したマスク化変換鍵を前記サーバに送信し、前記サーバは、前記他端末から受信したマスク化変換鍵に対し、前記乱数を用いた交換法則を適用して、前記暗号鍵を前記復号鍵でマスク処理した変換鍵を計算し、当該変換鍵を記憶装置に格納する、としてもよい。
【０１０３】
これによれば、ユーザ要求に応じた変換鍵の生成と登録の処理自体をセキュアに行うことが可能となり、暗号処理方法全体としてのセキュア度も向上できる。
【０１０４】
また、本実施形態の暗号処理方法において、前記サーバは、前記各端末のうちいずれかの端末から、前記変換鍵のうち該当端末と組みになった所定他端末に関するものに関する抹消要求を受信し、当該抹消要求が示す前記端末と前記所定他端末との組み合わせ情報をキーにして記憶装置で検索を実行し、当該検索で特定した変換鍵を記憶装置から削除する、としてもよい。
【０１０５】
これによれば、サーバにおいて、通信を行う予定の無い端末間に関して、或いは端末ユーザとして通信を遮断したい他ユーザに関し、不要な変換鍵の保持に伴う、ユーザ意向に沿わず、情報漏洩のリスクさえ招来する通信の仲介を行ってしまうリスクを回避出来る。また、サーバでの変換鍵管理に係る使用リソースの無駄を省き、効率的な変換鍵管理を実現できる。
【０１０６】
また、本実施形態の暗号処理方法において、前記サーバは、所定端末からの、当該所定端末の代理端末に関する前記可換性関数の登録要求に応じ、所定値を前記所定端末に返信し、前記所定値でマスク処理された、前記代理端末の公開情報と前記所定端末の秘密情報とに基づく第１鍵の逆数を、前記所定端末の公開情報と前記代理端末の秘密情報とに基づく第２鍵で更にマスク処理された第３鍵を、前記代理端末から受信し、当該受信した第３鍵に対し前記所定値に基づく交換法則を適用して、前記第１鍵の逆数を前記第３鍵でマスク処理した代理人用可換性関数を計算し、当該代理人用可換性関数を記憶装置に格納し、前記代理端末からの、前記所定端末に宛てられたメッセージの閲覧録要求に応じ、前記代理端末と前記所定端末の組み合わせに関して保持している代理人用可換性関数を記憶装置で特定し、当該代理人用可換性関数により、前記所定端末向けに可換性を持って再暗号化されたメッセージを更に暗号化して、当該再再暗号化メッセージを、前記代理端末に送信し、前記代理端末は、前記サーバから送信された前記再再暗号化メッセージを受信し、当該受信した再再暗号化メッセージを前記第２鍵で復号化する、としてもよい。
【０１０７】
これによれば、本来の通信相手同士となる当事者の端末間のみならず、代理者が操作する端末による、該当当事者宛てメッセージのセキュアな閲覧も可能となる。
【０１０８】
また、本実施形態の暗号処理方法において、前記所定端末は、当該代所定端末と前記代理端末との組み合わせに関して、前記代理人用可換性関数の登録要求を前記サーバに送信し、前記サーバは、前記所定値を前記所定端末に返信する際、前記登録要求に応じて前記所定値たる乱数を生成し、当該乱数を前記所定端末に返信し、前記所定端末は、前記代理端末の公開情報と自身の秘密情報とを一方向関数に適用し、前記第１鍵たる暗号鍵を生成し、当該暗号鍵の逆数を前記乱数でマスク処理したマスク化暗号鍵を前記代理端末に送信し、前記代理端末は、前記所定端末の公開情報と自身の秘密情報とを一方向関数に適用し、前記第２鍵たる復号鍵を生成し、当該復号鍵で前記マスク化暗号鍵をマスク処理したマスク化変換鍵を前記サーバに送信し、前記サーバは、前記代理端末から受信したマスク化変換鍵に対し、前記乱数を用いた交換法則を適用して、前記暗号鍵を前記復号鍵でマスク処理した代理人用可換性関数たる代理人用変換鍵を計算し、当該代理人用変換鍵を記憶装置に格納する、としてもよい。
【０１０９】
これによれば、本来の通信相手同士となる当事者の端末間のみならず、代理者が操作する端末と該当当事者との組み合わせに関しても、サーバにて変換鍵を生成、管理することが可能となる。従って、ユーザ要求に応じた代理端末に関する変換鍵の生成と登録の処理自体をセキュアに行うことが可能となり、代理端末によるメッセージ閲覧を許容しつつも、暗号処理方法全体としてのセキュア度も向上できる。
【０１１０】
また、本実施形態の暗号処理方法において、前記サーバは、前記各端末のうちいずれかの端末から、前記変換鍵のうち該当端末と組みになった代理端末に関するものに関する抹消要求を受信し、当該抹消要求が示す前記端末と前記代理端末との組み合わせ情報をキーにして記憶装置で検索を実行し、当該検索で特定した変換鍵を記憶装置から削除する、としてもよい。
【０１１１】
これによれば、サーバにおいて、代理端末と当該代理端末によるメッセージ閲覧を許容していた当事者の端末との間に関して、不要となった変換鍵を確実に抹消し、サーバにおける不要な変換鍵の保持に伴う、ユーザ意向に沿わず、情報漏洩のリスクさえ招来する代理端末による通信の仲介を行ってしまうリスクを回避出来る。また、サーバでの変換鍵管理に係る使用リソースの無駄を省き、効率的な変換鍵管理を実現できる。
【０１１２】
また、本実施形態の暗号システムにおいて、端末の各組み合わせに対応した可換性関数たる変換鍵を格納した記憶装置と、所定の端末から、前記鍵で暗号化されたメッセージを受信し、前記所定の端末と、前記受信したメッセージが示す宛先の端末との組み合わせに関して格納している変換鍵を記憶装置にて特定し、該当変換鍵により、前記宛先の端末向けに、前記メッセージの再暗号化を実行し、当該再暗号化メッセージを、前記宛先の端末に送信する演算装置と、を備えるサーバを更に含むとしてもよい。
【０１１３】
これによれば、暗号システムにおいては、サーバによって端末間のセキュアな通信を効率的に仲介し、なおかつ、各端末での秘匿情報たる秘密鍵の管理数を最低限度に抑制可能となる。しかも、サーバ自体は仲介する端末からのメッセージを復号化しない構成となっており、サーバ側での情報漏洩のリスクも抑制される。
【０１１４】
また、本実施形態の暗号システムにおいて、前記サーバは、所定端末からの前記変換鍵の登録要求に応じて所定値を前記所定端末に返信し、前記所定値でマスク処理された前記所定端末の鍵の逆数を他端末の鍵で更にマスク処理された所定鍵を、前記他端末から受信し、当該受信した所定鍵に対し前記所定値に基づく交換法則を適用して、前記所定端末の鍵の逆数を前記他端末の鍵でマスク処理した変換鍵を計算し、当該変換鍵を記憶装置に格納するものである、としてもよい。
【０１１５】
これによれば、暗号システムにおいては、サーバが、通信の仲介対象である各端末に関して、端末ユーザの要求に応じた組み合わせ毎に変換鍵を保持することが可能となる。従って、通信を行う予定の無い端末間に関して、不要な変換鍵をサーバが保持することもなく、サーバでの変換鍵管理に係る使用リソースの無駄を省き、効率的な変換鍵管理を実現できる。
【０１１６】
また、本実施形態のサーバにおいて、前記演算装置は、所定端末からの前記変換鍵の登録要求に応じて所定値を前記所定端末に返信し、前記所定値でマスク処理された前記所定端末の鍵の逆数を他端末の鍵で更にマスク処理された所定鍵を、前記他端末から受信し、当該受信した所定鍵に対し前記所定値に基づく交換法則を適用して、前記所定端末の鍵の逆数を前記他端末の鍵でマスク処理した変換鍵を計算し、当該変換鍵を記憶装置に格納するものである、としてもよい。
【０１１７】
これによれば、ユーザ要求に応じた変換鍵の生成と登録の処理自体をセキュアに行うことが可能となり、暗号処理方法全体としてのセキュア度も向上できる。
【符号の説明】
【０１１８】
１  暗号処理システム
１０  利用者端末（端末）
２０  変換サーバ（サーバ）
３０  ネットワーク
１０１  記憶装置
１０２  プログラム
１０３  メモリ
１０４  演算装置
１０５  入力装置
１０６  出力装置
１０７  通信装置
１１０  ハッシュ関数プログラム
１２５  公開ＩＤ記憶部
１２６  鍵記憶部
２０１  記憶装置
２０２  プログラム
２０３  メモリ
２０４  演算装置
２０７  通信装置
２２５  変換鍵記憶部
２２６  再暗号文記憶部
【図１】
2015073238.tif 000003
【図２】
2015073238.tif 000004
【図３】
2015073238.tif 000005
【図４】
2015073238.tif 000006
【図５】
2015073238.tif 000007
【図６】
2015073238.tif 000008
【図７】
2015073238.tif 000009
【図８】
2015073238.tif 000010
【図９】
2015073238.tif 000011
【図１０】
2015073238.tif 000012
【図１１】
2015073238.tif 000013
【図１２】
2015073238.tif 000014