(57)【要約】【課題】復号用の秘密鍵の管理及び専用ソフトウェアのインストールを必要としないＥｎｄ−ｔｏ−Ｅｎｄ暗号化を実現する。【解決手段】暗号化システムは、第１サーバと第２サーバを含み、第１サーバは、準同型の性質を有する暗号化方式における公開鍵で第１データが暗号化された第１暗号化データと、乱数に基づいて生成された一時鍵が該公開鍵で暗号化された第２暗号化データと、を保持し、第１暗号化データと第２暗号化データとを暗号化状態のまま演算して、第１データと一時鍵との演算結果が該公開鍵で暗号化された第３暗号化データを生成し、第３暗号化データを第２サーバに送信し、第２サーバは、該公開鍵に対応する秘密鍵を保持し、第３暗号化データを該秘密鍵で復号して該演算結果を取得し、該演算結果を、該一時鍵を保持する端末に送信する。【選択図】図１
2020127084.tif 000002
【特許請求の範囲】
【請求項１】
暗号化システムであって、
第１サーバと第２サーバとを含み、
前記第１サーバは、
準同型の性質を有する暗号化方式における公開鍵で第１データが暗号化された第１暗号化データと、
乱数に基づいて生成された一時鍵が前記公開鍵で暗号化された第２暗号化データと、を保持し、
前記第１暗号化データと前記第２暗号化データとを暗号化状態のまま演算することにより、前記第１データと前記一時鍵とを演算した演算結果が前記公開鍵で暗号化された第３暗号化データを生成し、
前記第３暗号化データを前記第２サーバに送信し、
前記第２サーバは、
前記公開鍵に対応する秘密鍵を保持し、
前記第３暗号化データを前記秘密鍵で復号して、前記演算結果を取得し、
前記演算結果を、前記一時鍵を保持する端末に送信する、暗号化システム。
【請求項２】
請求項１に記載の暗号化システムであって、
前記第１データは、乱数に基づいて生成された乱数鍵であり、
前記第２暗号化データは、平文が前記乱数鍵で暗号化された第４暗号化データを含み、
前記第１サーバは、前記第４暗号化データを前記第２サーバに送信し、
前記第２サーバは、前記第４暗号化データを前記端末に送信する、暗号化システム。
【請求項３】
請求項２に記載の暗号化システムであって、
前記第２サーバは、
前記演算結果と前記一時鍵とから、前記乱数鍵を取得することと、
前記乱数鍵を用いて前記第４暗号化データを復号して、前記第１データを取得することと、を含む処理を実行することを示す指示を前記端末に送信する、暗号化システム。
【請求項４】
請求項３に記載の暗号化システムであって、
前記指示に含まれる処理は、前記乱数鍵の取得後に前記一時鍵を消去することを含む、暗号化システム。
【請求項５】
請求項１に記載の暗号化システムであって、
前記第２サーバは、前記演算結果と前記一時鍵とから、前記第１データを取得することを示す指示を前記端末に送信する、暗号化システム。
【請求項６】
請求項５に記載の暗号化システムであって、
前記指示に含まれる処理は、前記第１データの取得後に前記一時鍵を消去することを含む、暗号化システム。
【請求項７】
請求項１に記載の暗号化システムであって、
第３サーバに接続され、
前記第３サーバは、前記第２サーバから前記第１サーバへの通信を監視する、暗号化システム。
【請求項８】
請求項７に記載の暗号化システムであって、
前記第３サーバは、前記第１サーバが前記第１暗号化データを前記第２サーバに送信しているかを監視する、暗号化システム。
【請求項９】
請求項７に記載の暗号化システムであって、
前記第３サーバは、前記第２サーバが前記秘密鍵を前記第１サーバに送信しているかを監視する、暗号化システム。
【請求項１０】
暗号化システムによる暗号化方法であって、
前記暗号化システムは、第１サーバと第２サーバとを含み、
前記第１サーバは、
準同型の性質を有する暗号化方式における公開鍵で第１データが暗号化された第１暗号化データと、
乱数に基づいて生成された一時鍵が前記公開鍵で暗号化された第２暗号化データと、を保持し、
前記第２サーバは、前記公開鍵に対応する秘密鍵を保持し、
前記暗号化方法は、
前記第１サーバが、前記第１暗号化データと前記第２暗号化データとを暗号化状態のまま演算することにより、前記第１データと前記一時鍵とを演算した演算結果が前記公開鍵で暗号化された第３暗号化データを生成し、
前記第１サーバが、前記第３暗号化データを前記第２サーバに送信し、
前記第２サーバが、前記第３暗号化データを前記秘密鍵で復号して、前記演算結果を取得し、
前記第２サーバが、前記演算結果を、前記一時鍵を保持する端末に送信する、暗号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化システム及び暗号化方法に関する。
【背景技術】
【０００２】
従来、ある利用者宛ての暗号化データを、送信途中で、別の利用者の秘密鍵で復号可能な暗号化データに、復号させることなく変換させるプロキシ再暗号化と呼ばれる技術が知られている。
【０００３】
本技術分野の背景技術として、国際公開第２０１２/１４７８６９号（特許文献１）がある。この公報には、「実施形態の再暗号化鍵生成装置は、第１ユーザ装置の第１公開鍵により平文データを暗号化して得られた暗号文データを復号せずに再暗号化して、第２ユーザ装置の第２秘密鍵により復号可能な再暗号文データを得るための再暗号化鍵を生成する。前記再暗号化鍵生成装置は、第１記憶手段、第２記憶手段、第１乱数生成手段及び再暗号化鍵生成手段を備えている。前記第１記憶手段は、前記第１公開鍵に対応する第１秘密鍵を記憶する。第２記憶手段は、前記第２秘密鍵に対応する第２公開鍵を記憶する。前記第１乱数生成手段は、第１乱数を生成する。前記再暗号化鍵生成手段は、前記第１秘密鍵、前記第２公開鍵及び前記第１乱数に基づいて、前記再暗号化鍵を生成する。」と記載されている（要約参照）。
【０００４】
このプロキシ再暗号化技術を用いることにより、送信者から受信者までのＥｎｄ−ｔｏ−Ｅｎｄで暗号化されたデータを、予め指定された受信者だけでなく、許可された複数の別利用者にも安全に閲覧させることができるようになる。近年、このプロキシ再暗号化技術は、クラウド上のデータを、より安全に共有させる技術として注目されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１２/１４７８６９号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来技術では、Ｅｎｄ−ｔｏ−Ｅｎｄで暗号化されたデータを復号するためには、復号用の秘密鍵が必要であり、暗号化データを閲覧する利用者は、常に自身の秘密鍵を安全に管理しなければならない。
【０００７】
一般に暗号化システムにおいて、秘密鍵を安全に管理しなければ、システム全体の安全性を保つことが困難になる。それ故、秘密鍵は、パーソナルコンピューター等の端末装置のファイルシステム等に、直に保管するのではなく、ＩＣカード等のセキュリティディバイスで安全に管理することが望ましい。
【０００８】
しかし、秘密鍵をＩＣカード等のセキュリティディバイスで安全に管理する場合、セキュリティディバイスと連携しながら復号処理をする為の専用ソフトウェアが必要となり、単純にＷｅｂページ閲覧ソフト（以後、ブラウザと称する）のみで暗号化データを閲覧することはできなかった。
【０００９】
そこで、本発明の一態様は、復号用の秘密鍵の管理及び専用ソフトウェアのインストールを必要としないＥｎｄ−ｔｏ−Ｅｎｄ暗号化を実現する、ことを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決する本発明の一態様は、以下の構成を採用する。暗号化システムは、第１サーバと第２サーバとを含み、前記第１サーバは、準同型の性質を有する暗号化方式における公開鍵で第１データが暗号化された第１暗号化データと、乱数に基づいて生成された一時鍵が前記公開鍵で暗号化された第２暗号化データと、を保持し、前記第１暗号化データと前記第２暗号化データとを暗号化状態のまま演算することにより、前記第１データと前記一時鍵とを演算した演算結果が前記公開鍵で暗号化された第３暗号化データを生成し、前記第３暗号化データを前記第２サーバに送信し、前記第２サーバは、前記公開鍵に対応する秘密鍵を保持し、前記第３暗号化データを前記秘密鍵で復号して、前記演算結果を取得し、前記演算結果を、前記一時鍵を保持する端末に送信する、暗号化システム。
【発明の効果】
【００１１】
本発明の一態様によれば、復号用の秘密鍵の管理及び専用ソフトウェアのインストールを必要としないＥｎｄ−ｔｏ−Ｅｎｄ暗号化を実現することができる。
【００１２】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】実施例１における暗号化システムの全体構成例を示すブロック図である。
【図２】実施例１における計算機の構成例を示すブロック図である。
【図３】実施例１における暗号化データの登録処理の一例を示すシーケンス図である。
【図４】実施例１における再暗号化処理の一例を示すシーケンス図である。
【図５】実施例１における再暗号化処理の一例を示すシーケンス図である。
【図６】実施例１における再暗号化データの復号処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態の匿名化サーバは、数値で示される準識別子の一般化階層を、匿名化前後の当該準識別子の統計指標間の乖離を小さくするよう作成する。匿名化サーバは、当該一般化階層を用いて当該準識別子に含まれる値を匿名化することにより、匿名化によるデータ品質の劣化を抑制することができる。
【実施例１】
【００１５】
＜システム構成＞
図１は、暗号化システムの全体構成例を示すブロック図である。示す暗号化システム１は、例えば、暗号文管理サーバ１０、秘密鍵管理サーバ２０、１以上の登録者端末３０、及び１以上の閲覧者端末４０を含み、これらはインターネット等のネットワーク７０を介して接続されている。
【００１６】
また、暗号化システム１は、ネットワーク７０を介して監視サーバ５０及び認証サーバ６０に接続されている。なお、監視サーバ５０及び認証サーバ６０が、暗号化システム１に含まれていてもよい。
【００１７】
暗号文管理サーバ１０は、暗号化データを保管及び管理する。秘密鍵管理サーバ２０は、加法準同型公開鍵暗号方式の鍵ペア（公開鍵ｐｋおよび秘密鍵ｓｋ）を生成し、当該秘密鍵ｓｋを安全に管理する。登録者端末３０は、暗号化データを暗号文管理サーバ１０に登録する。閲覧者端末４０は、変換された再暗号化データを閲覧する。
【００１８】
暗号文管理サーバ１０は、例えば、送受信部１０１、認証部１０２、及び演算処理部１０３を有する。また、暗号文管理サーバ１０は、例えば、暗号化データ１０４を保持する。送受信部１０１は、暗号化データ１０４等を他の装置に対して送信、又は他の装置から受信する。
【００１９】
認証部１０２は、外部の認証サーバ６０での認証結果を確認して認証結果を引き継ぐ。演算処理部１０３は、暗号化データ１０４を加法準同型の性質を利用して暗号化状態のまま演算処理する。暗号化データ１０４は、閲覧者端末４０に利用者が閲覧する平文を含むデータが暗号化されたデータである。
【００２０】
秘密鍵管理サーバ２０は、例えば、送受信部２０１、認証部２０２、及び鍵ペア生成部２０３を有する。送受信部２０１は、データ等を他の装置に対して送信したり、他の装置から受信したりする。具体的には、例えば、送受信部２０１は、暗号文管理サーバ１０による処理結果等を暗号文管理サーバ１０から受信する。
【００２１】
認証部２０２は、外部の認証サーバ６０による認証結果を確認して認証結果を引き継ぐ。鍵ペア生成部２０３は、加法準同型公開鍵暗号方式の鍵ペア（公開鍵ｐｋ２０５及び秘密鍵ｓｋ２０６）を生成する。復号処理部２０４は、加法準同型公開鍵暗号方式で暗号化されたデータを復号する。
【００２２】
登録者端末３０は、対象データ（平文）を暗号化し、当該暗号化データを暗号文管理サーバ１０に送信するブラウザ３０１を含む。閲覧者端末４０は、再暗号化データを復号して、対象データ（平文）を閲覧するブラウザ４０１を含む。
【００２３】
監視サーバ５０は、例えば、暗号文管理サーバ１０と秘密鍵管理サーバ２０との間の通信を監視する。認証サーバ６０は、例えば、閲覧者端末４０の認証を行う。
【００２４】
図１に示す暗号文管理サーバ１０、秘密鍵管理サーバ２０、登録者端末３０、閲覧者端末４０、監視サーバ５０、及び認証サーバ６０は、例えば、図２に示される計算機により実現できる。
【００２５】
図２は、計算機の構成例を示すブロック図である。計算機８０は、例えば、通信装置８０１、入力装置８０２、メモリ８０３、補助記憶装置８０４、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０５、及び出力装置８０６を含み、これらはバス８０７等の内部通信線で互いに接続されている。
【００２６】
ＣＰＵ８０５は、プロセッサを含み、メモリ８０３に格納されたプログラムを実行する。メモリ８０３は、不揮発性の記憶素子であるＲＯＭ及び揮発性の記憶素子であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【００２７】
補助記憶装置８０４は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置であり、ＣＰＵ８０５が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置８０４から読み出されて、メモリ８０３にロードされて、ＣＰＵ８０５によって実行される。
【００２８】
計算機８０は、入力インターフェース及び出力インターフェースを有してもよい。入力インターフェースは、キーボードやマウスなどの入力装置８０２が接続され、オペレータからの入力を受けるインターフェースである。出力インターフェースは、液晶表示装置や有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ装置やプリンタなどの出力装置８０６が接続され、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。
【００２９】
通信装置８０１は、所定のプロトコルに従って、ネットワーク７０を介して、他の装置との通信を制御するネットワークインターフェース装置である。例えば、暗号文管理サーバ１０の送受信部１０１、及び秘密鍵管理サーバ２０の送受信部２０１は、それぞれ通信装置５０１によって実現される。また、例えば、登録者端末３０のブラウザ３０１のデータ送受信機能、及び閲覧者端末４０のブラウザ４０１のデータ送受信機能は、それぞれ通信装置５０１によって実現される。
【００３０】
ＣＰＵ８０５が実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワーク７０を介して計算機８０に提供され、非一時的記憶媒体である不揮発性の補助記憶装置８０４に格納される。このため、計算機８０は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【００３１】
暗号化システム１に含まれる各装置は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【００３２】
例えば、暗号文管理サーバ１０の認証部１０２、及び演算処理部１０３は、暗号文管理サーバ１０のＣＰＵ８０５が実行するプログラムにより実現される。具体的には、例えば、暗号文管理サーバ１０のＣＰＵ８０５は、暗号文管理サーバ１０のメモリ８０３にロードされた認証プログラムに従って動作することで、認証部１０２として機能し、暗号文管理サーバ１０のメモリ８０３にロードされた演算処理プログラムに従って動作することで、演算処理部１０３として機能する。
【００３３】
秘密鍵管理サーバ２０における機能部（送受信部２０１、認証部２０２、鍵ペア生成部２０３、及び復号処理部２０４）、登録者端末３０の機能部（ブラウザ３０１）、閲覧者端末４０の機能部（ブラウザ４０１）、監視サーバ５０における機能部、及び認証サーバ６０の機能部と、プログラムと、の関係も同様である。
【００３４】
また、例えば、暗号化データ１０４は、暗号文管理サーバ１０のメモリ８０３又は補助記憶装置８０４に格納されている。同様に、例えば、公開鍵ｐｋ２０５及び秘密鍵ｓｋ２０６は、秘密鍵管理サーバ２０のメモリ８０３又は補助記憶装置８０４に格納されている。
【００３５】
なお、本実施形態において、暗号化システム１に含まれる各装置が使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
【００３６】
＜処理手順例＞
図３は、暗号化データの登録処理の一例を示すシーケンス図である。まず、秘密鍵管理サーバ２０の鍵ペア生成部２０３は、加法準同型公開鍵暗号方式の鍵ペア（公開鍵ｐｋ２０５及び秘密鍵ｓｋ２０６）を生成する（Ｓ１０）。
【００３７】
加法準同型公開鍵暗号方式とは、例えば、Ｐａｉｌｌｉｅｒ暗号に代表される暗号化方式であって、暗号化状態のまま、中身の対象データ（平文）の加法演算を行うことができる暗号化方式である。即ち、ＥＮＣｐｋ（）を公開鍵ｐｋによる暗号化関数、ＤＥＣｓｋ（）を秘密鍵ｓｋによる復号関数とすると、加法準同型公開鍵暗号方式では、平文ｍ１、ｍ２に対して、ＥＮＣｐｋ（ｍ１）・ＥＮＣｐｋ（ｍ２）＝ＥＮＣｐｋ（ｍ１＋ｍ２）が成り立つ。
【００３８】
従って、ＤＥＣｓｋ（ＥＮＣｐｋ（ｍ１）・ＥＮＣｐｋ（ｍ２））＝ＤＥＣｓｋ（ＥＮＣｐｋ（ｍ１＋ｍ２））＝ｍ１＋ｍ２となる。尚、記号“・”は演算処理を表し、加法準同型公開鍵暗号方式の種類によって意味する演算処理が異なる。Ｐａｉｌｌｉｅｒ暗号では、記号“・”は、乗法演算の“×”を意味する。
【００３９】
本実施形態では、加法準同型公開鍵暗号方式としてｐａｉｌｌｉｅｒ暗号を例にとって説明するが、加法準同型の性質を有する安全な公開鍵暗号方式であれば、適用可能である。また、加法準同型ではなく、ＲＳＡ暗号等の乗法準同型の性質を有する公開鍵暗号方式が用いられてもよい。
【００４０】
鍵ペア生成部２０３は、ステップＳ１０で生成した秘密鍵ｓｋ２０６を、秘密鍵管理サーバ２０のメモリ８０３及び／又は補助記憶装置８０４に格納し、秘密鍵ｓｋ２０６は安全に管理される。また、鍵ペア生成部２０３は、ステップＳ１０で生成された公開鍵ｐｋ２０５を、登録者端末３０及び閲覧者端末４０に対して公開する。
【００４１】
登録者端末３０のブラウザ３０１は、暗号化対象データであるメッセージｍを暗号文管理サーバ１０に預ける際、乱数を発生させることにより、鍵ｋ（＝乱数）を生成する（Ｓ２０）。そして登録者端末３０のブラウザ３０１は、メッセージｍを鍵ｋでＡＥＳ暗号に代表される共通鍵暗号化方式を用いて暗号化する（Ｓ２１）。
【００４２】
なお、ここでは、ＡＥＳｋ（）を鍵ｋによる共通鍵暗号化方式の暗号化関数、ＡＥＳｋ−１（）を鍵ｋによる共通鍵暗号化方式の復号関数とし、ステップＳ２１での共通鍵暗号化方式による暗号化データをＣ1＝ＡＥＳｋ（ｍ）と記す。本実施形態では、共通鍵暗号化方式としてＡＥＳ暗号を例にとって説明するが、一般にインターネット等で利用される安全な共通鍵暗号方式であれば、適用可能である。
【００４３】
次に登録者端末３０のブラウザ３０１は、鍵ｋを公開鍵ｐｋ２０５で加法準同型公開鍵暗号方式を用いて暗号化する（Ｓ２２）。なお、この暗号化データをＣ２＝ＥＮＣｐｋ（ｋ）と記す。
【００４４】
そして登録者端末３０のブラウザ３０１は、暗号化データＣ1と暗号化データＣ２を連結した登録用の暗号化データＣ＝Ｃ２｜｜Ｃ１を生成し（Ｓ２３）、送受信部１０１は、当該登録用の暗号化データＣを前記暗号文管理サーバ１０に送信する（Ｓ２４）。
【００４５】
なお、記号“｜｜”は、データの連結を意味し、ブラウザ３０１は、カンマ等のセパレータを挿入することによりＣ２とＣ１を連結したり、固定のデータ長を定義してＣ２の最後尾にセパレータを挿入することなく直接Ｃ１を配置したり、必要に応じて各々のデータを切り離せる状態で連結する。このようにＣ２とＣ１は切り離せる状態で連結されているため、Ｃ２とＣ１が個別に管理されている状態と等価である。
【００４６】
続いて、暗号文管理サーバ１０は、登録用の暗号化データＣ＝Ｃ２｜｜Ｃ１をメモリ８０３及び／又は補助記憶装置８０４内に暗号化データ１０４として、保管及び管理する（Ｓ３０）。
【００４７】
図４及び図５は、再暗号化処理の一例を示すシーケンス図である。再暗号化処理は、例えば、閲覧者端末４０による閲覧依頼処理と、暗号文管理サーバ１０による演算処理と、秘密鍵管理サーバ２０による演算処理を含む。なお、本実施形態では、閲覧者端末４０は、外部の認証サーバ６０で別途認証され、暗号化データＣへの閲覧権限の情報が認証サーバ６０より付与されているとする。
【００４８】
まず、閲覧者端末４０のブラウザ４０１は、乱数を発生させることにより、使い捨て一時鍵ｔ（＝乱数）を生成する（Ｓ４０）。そして、ブラウザ４０１は、当該使い捨て一時鍵ｔを前記公開鍵ｐｋ２０５で加法準同形公開鍵暗号方式を用いて暗号化する（４１）。なお、この時の暗号化データをＣ３＝ＥＮＣｐｋ（ｔ）と記載し、Ｃ３を暗号化一時鍵と称する。
【００４９】
次に、閲覧者端末４０のブラウザ４０１は、使い捨て一時鍵ｔを閲覧者端末４０内のメモリ８０３及び／又は補助記憶装置８０４に保存する（Ｓ４２）。そして、ブラウザ４０１は、暗号化一時鍵Ｃ３を暗号文管理サーバ１０に送信する（Ｓ４３）。
【００５０】
暗号文管理サーバ１０の送受信部１０１は、ステップＳ４３で送信された暗号化一時鍵Ｃ３を受信する（Ｓ５０）。暗号文管理サーバ１０の認証部１０２は、外部の認証サーバ６０で別途付与された閲覧者端末４０の暗号化データＣに対する閲覧権限を確認する（Ｓ５１）。認証部１０２は、閲覧が認められないと判定した場合（Ｓ５１：権限なし）、暗号化一時鍵Ｃ３を破棄する（Ｓ５２）。
【００５１】
閲覧が認められたと認証部１０２が判定した場合（Ｓ５１：権限あり）、演算処理部１０３は、登録されている暗号化データＣ＝Ｃ２｜｜Ｃ１から、前半部分のＣ２を取り出し、Ｃ２と暗号化一時鍵Ｃ３とを掛け合わせることにより、以下の加法準同型の計算を行う（Ｓ５３）。ここで、Ｃ２と暗号化一時鍵Ｃ３との積をＣ４と記載すると、加法準同型性からＣ４＝Ｃ２・Ｃ３＝Ｃ３＝ＥＮＣｐｋ（ｋ）・ＥＮＣｐｋ（ｔ）＝ＥＮＣｐｋ（ｋ＋ｔ）である。
【００５２】
次に暗号文管理サーバ１０の演算処理部１０３は、登録されている暗号化データＣ＝Ｃ２｜｜Ｃ１から、後半部分のＣ１を取り出し、ステップＳ５３で計算したＣ４と連結した暗号化データＣ’＝Ｃ４｜｜Ｃ１を生成する（Ｓ５４）。なお、Ｃ’の生成におけるＣ４とＣ１の連結方法は、例えば、Ｃの生成におけるＣ２とＣ１の連結方法と同様である。送受信部１０１は、暗号化データＣ’＝Ｃ４｜｜Ｃ１を、秘密鍵管理サーバ２０に送信する（Ｓ５５）。
【００５３】
秘密鍵管理サーバ２０の送受信部１０１は、ステップＳ５５で送信された暗号化データＣ’＝Ｃ４｜｜Ｃ１を受信する（Ｓ６０）。復号処理部２０４は、暗号化データＣ’＝Ｃ４｜｜Ｃ１から、前半部分のＣ４を取り出し、秘密鍵管理サーバ２０のメモリ８０３又は補助記憶装置８０４に管理してある秘密鍵ｓｋ２０６を使って、Ｃ４を復号する（Ｓ６１）。この時、Ｃ４の復号値ｄは、加法順同型の性質より、ｄ＝ＤＥＣｓｋ（Ｃ４）＝ＤＥＣｓｋ（ＥＮＣｐｋ（ｋ＋ｔ））＝ｋ＋ｔであり、即ちｄは平文ｋと平文ｄの和である。
【００５４】
そして秘密鍵管理サーバ２０の復号処理部２０４は、暗号化データＣ＝Ｃ４｜｜Ｃ１から、後半部分のＣ１を取り出し、ステップＳ６１で復号したｄと連結した再暗号化データＣ”＝ｄ｜｜Ｃ１を生成する（Ｓ６２）。なお、Ｃ”の生成におけるｄとＣ１の連結方法は、例えば、Ｃの生成におけるＣ２とＣ１の連結方法と同様である。送受信部２０１は、演算処理が完了した旨を暗号文管理サーバ１０に通知する（Ｓ６３）。
【００５５】
処理完了通知を受信した暗号文管理サーバ１０の送受信部１０１は、閲覧者端末４０に対して、秘密鍵管理サーバ２０へとリダイレクトさせ（Ｓ５６）、閲覧者端末４０は、秘密鍵管理サーバ２０にアクセスする。
【００５６】
リダイレクト先の秘密鍵管理サーバ２０の認証部２０２は、外部の認証サーバ６０で別途付与された閲覧者端末４０の暗号化データＣに対する閲覧権限を、認証部２０２にて確認する（Ｓ６４）。
【００５７】
認証部２０２は閲覧が認められないと判定した場合（Ｓ６４：権限なし）、処理を終了する（Ｓ６５）。認証部２０２が、閲覧が認められると判定した場合（Ｓ６４権限あり）、秘密鍵管理サーバ２０の送受信部２０１は、再暗号化データＣ”＝ｄ｜｜Ｃ１を閲覧者端末４０に送信する（Ｓ６６）。閲覧者端末４０のブラウザ４０１は、ステップＳ６６で送信された再暗号化データＣ”を受信し（Ｓ７０）、図６の処理へと遷移する。
【００５８】
なお、送受信部２０１は、ステップＳ６６において、後述するステップＳ７１〜ステップＳ７３の処理を実行するよう閲覧者端末４０に指示してもよい。このとき、ステップＳ７１〜ステップＳ７３における具体的な処理内容を送受信部２０１が閲覧者端末４０に指示してもよいし、閲覧者端末４０が当該処理内容を予め記憶し、送受信部２０１は当該処理の実行することのみを閲覧者端末４０に指示してもよい（即ち当該処理の開始トリガを閲覧者端末４０に与えるのみでもよい）。
【００５９】
図６は、再暗号化データの復号処理の一例を示すシーケンス図である。図５で示した通り、閲覧者端末４０のブラウザ４０１は、ステップＳ６６で送信された再暗号化データＣ”＝ｄ｜｜Ｃ１を取得する（Ｓ７０）。ブラウザ４０１は、ステップＳ４２で保存していた使い捨て一時鍵ｔを、保存先から取得し（Ｓ７１）、再暗号化データＣ”＝ｄ｜｜Ｃ１の前半部分ｄから減ずることで、鍵ｋ＝ｄ−ｔを計算する（Ｓ７２）。
【００６０】
そしてブラウザ４０１は、再暗号化データＣ”＝ｄ｜｜Ｃ１の後半部分Ｃ１を、ステップＳ７２で計算した鍵ｋで、共通鍵暗号化方式を用いて復号する（Ｓ７３）。このとき、復号値は、ＡＥＳｋ−１（Ｃ１）＝ＡＥＳｋ−１（ＡＥＳｋ（ｍ））＝ｍとなり、平文であるメッセージｍが得られる。メッセージｍを復号した閲覧者端末４０のブラウザ４０１は、使い捨て一時ｔを消去する（Ｓ７４）。なお、閲覧者端４０のブラウザ４０１は、鍵ｋステップＳ７３の処理より後に鍵を併せて削除してもよく、また登録者端末３０のブラウザ３０１は、ステップＳ２１より後に鍵ｋを削除してもよい。
【００６１】
本実施例によれば、暗号文管理サーバ１０及び秘密鍵管理サーバ２０は、暗号化されたメッセージｍや暗号化された使い捨て一時鍵ｔ等のように暗号化データしか扱っていない。さらに、前述した各処理も暗号化状態のまま実施される為、暗号文管理サーバ１０及び秘密鍵管理サーバ２０は、平文データを一切保持していない。即ちＥｎｄ−ｔｏ−Ｅｎｄ暗号化が実現されている。
【００６２】
また、使い捨て一時鍵ｔは、動的に生成され、閲覧者端末４０のみが知っている値である。従って、使い捨て一時鍵ｔの値を知っている閲覧者端末４０のみが再暗号化データを復号することができる。
【００６３】
また、本実施例によれば、閲覧者端末４０は、使い捨て一時鍵ｔのみを扱い、永続的な安全管理を必要とする所謂秘密鍵を用いていない。また、本実施例の閲覧者端末４０の処理は、使い捨て一時鍵ｔを用いた簡単な処理だけで実現できる為、専用ソフトウェアを予めインストールしなくても、スクリプト言語等による処理だけで、ブラウザ４０１のみで実装することができる。
【００６４】
また、再暗号化処理を行う暗号文管理サーバ１０及び秘密鍵管理サーバ２０では、再暗号化鍵の登録及び管理が不要なため、再暗号化鍵の生成コスト、及び再暗号化鍵の管理に要するディスク容量や管理コスト等を削減することができる。
【００６５】
本実施形態において実現されるＥｎｄ−ｔｏ−Ｅｎｄ暗号化方式は、前述したように秘密鍵を用いずに、容易にＥｎｄ−ｔｏ−Ｅｎｄの暗号化を実現する方式である。従って、本実施形態の暗号化方式は、省庁及び自治体と国民との間でマイナポータルを介してデータの送受信を行う様な公共システムや、顧客と加盟店とを繋ぐクレジットカード処理システムの様な金融システム、更にはＷｅｂメールサービスに代表されるようなコミュニケーションツールなど、複数の利用者がクラウドサーバ等を介してデータ送受信するシステムに適用が可能である。
【００６６】
なお、本実施形態では、暗号化データを管理している暗号文管理サーバ１０と、加法準同型暗号の秘密鍵を管理している秘密鍵管理サーバ２０が結託すると、登録用暗号化データＣ＝Ｃ２｜｜Ｃ１のＣ２から秘密鍵管理サーバ２０の秘密鍵ｓｋ２０６で復号すると鍵ｋが取り出せて、鍵ｋでＣ１を復号すると平文ｍを取得することができてしまう。
【００６７】
従って、そのような結託攻撃を防止するために、監視サーバ５０は、暗号文管理サーバ１０と秘密鍵管理サーバ２０との間における不必要な通信及び不必要な処理が無いことを監視及び監査する。監視サーバ５０は、不必要な通信及び不必要な処理を検知した場合、例えば、登録者端末３０及び／又は閲覧者端末４０に不必要な通信及び不必要な処理を検知したことを通知する。
【００６８】
具体的には、例えば、前述した処理における秘密鍵管理サーバ２０から暗号文管理サーバ１０への通信は、公開鍵ｐｋの配布及び処理完了通知しかないため、監視サーバ５０はこれらの通信を除いた秘密鍵管理サーバ２０から暗号文管理サーバ１０への通信がされていないかを監視する。
【００６９】
特に秘密鍵ｓｋが秘密鍵管理サーバ２０から暗号文管理サーバ１０へ送信されると、暗号文管理サーバ１０はＣ２を秘密鍵ｓｋで復号することにより鍵ｋを取得でき、Ｃ１を鍵ｋで復号することによりメッセージｍを取得できてしまう。従って、監視サーバ５０は、秘密鍵ｓｋが秘密鍵管理サーバ２０から暗号文管理サーバ１０へ送信されていないかを監視する必要がある。
【００７０】
また、暗号文管理サーバ１０から秘密鍵管理サーバ２０へＣ２が送信されると、秘密鍵管理サーバ２０はＣ２を自身が管理する秘密鍵ｓｋで復号することにより鍵ｋを取得でき、Ｃ４に含まれるＣ１を鍵ｋで復号することによりメッセージｍを取得できてしまう。従って、監視サーバ５０は、秘密鍵管理サーバ２０から暗号文管理サーバ１０へＣ２が送信されていないかを監視する必要がある。
【００７１】
また、本実施例において、暗号文管理サーバ１０及び秘密鍵管理サーバ２０は、暗号化された鍵ｋを扱うが、暗号化されていない鍵ｋを扱うことがなく、さらに閲覧者端末４０は鍵ｋを復号化することができるため、鍵ｋ自体を平文のメッセージとして扱うこともできる。この場合、前述した処理においてメッセージｍを利用しなくてもよいため、ステップＳ２１及びステップＳ７３の処理を実行せず、さらにＣ＝Ｃ２、Ｃ’＝Ｃ４、Ｃ”＝ｄとしてもよい。
【００７２】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００７３】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【００７４】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００７５】
１  暗号化システム、１０  暗号文管理サーバ、２０  秘密鍵管理サーバ、３０  登録者端末、４０  閲覧者端末、５０  監視サーバ、６０  認証サーバ、１０３  演算処理機能、１０４  暗号化データ、２０３  鍵ペア生成機能、２０４  復号処理機能、２０５  公開鍵ｐｋ、２０６  秘密鍵ｓｋ、３０１  ブラウザ、４０１  ブラウザ、８０３  メモリ、８０４  記憶装置、８０５  ＣＰＵ
【図１】
2020127084.tif 000003
【図２】
2020127084.tif 000004
【図３】
2020127084.tif 000005
【図４】
2020127084.tif 000006
【図５】
2020127084.tif 000007
【図６】
2020127084.tif 000008