(57)【要約】      （修正有）【課題】文書の責任者向けに暗号化された文書のうち、決められた文書に対して担当者にアクセス許可を与えるサーバを提供する。【解決手段】暗号文記憶部７１は第１の公開鍵（責任者の公開鍵）と第１の乱数とを使用して暗号化された情報および暗号化された第１の乱数を記憶する。鍵受信部７４は、暗号化された情報を、第１の公開鍵に対応する第１の秘密鍵と暗号化された第１の乱数と第２の公開鍵（担当者の公開鍵）と第２の乱数とを使用して生成された、第２の公開鍵に対応する第２の秘密鍵で復号可能な情報に変換するための再暗号化鍵と、第２の公開鍵を使用して暗号化された第２の乱数とを責任者の通信端末より受信する。変換部７５は再暗号化鍵を使用して、暗号化された情報を第２の秘密鍵で復号可能な情報に変換し、記憶部７１に記憶された暗号化された情報および暗号化された第１の乱数を、変換した情報および暗号化された第２の乱数に置換する。【選択図】図７
2016225804.tif 000002
【特許請求の範囲】
【請求項１】
情報へのアクセスを制御する情報処理装置であって、
前記情報と第１の公開鍵と第１の乱数とを使用して暗号化された情報および第１の乱数を記憶する記憶部と、
前記暗号化された情報を、前記第１の公開鍵に対応する第１の秘密鍵と前記暗号化された第１の乱数と第２の公開鍵と第２の乱数とを使用して生成された該第２の公開鍵に対応する第２の秘密鍵で復号可能な情報に変換するための再暗号化鍵と、前記第２の公開鍵を使用して暗号化された前記第２の乱数とを受信する受信部と、
前記再暗号化鍵を使用して、前記暗号化された情報を前記第２の秘密鍵で復号可能な情報に変換し、前記記憶部に記憶された前記暗号化された情報および前記暗号化された第１の乱数を、変換した情報および前記暗号化された第２の乱数に置換する変換部とを含む、情報処理装置。
【請求項２】
前記第１の公開鍵を公開し、前記第１の秘密鍵を保持する第１の端末へ該第１の端末宛ての前記暗号化された情報がある旨を通知する通知部と、前記第１の端末からの前記暗号化された第１の乱数の取得要求を受けて、該暗号化された第１の乱数を該第１の端末へ送信する乱数送信部とを含む、請求項１に記載の情報処理装置。
【請求項３】
前記暗号化された情報および前記暗号化された第１の乱数には、前記情報の内容を記したラベルが付けられており、前記通知部は、前記ラベルを前記第１の端末へ送付する、請求項２に記載の情報処理装置。
【請求項４】
前記第２の公開鍵を公開し、前記第２の秘密鍵を保持する第２の端末へ該第２の端末宛ての前記変換した情報がある旨を通知する通知部と、前記第２の端末からの前記変換した情報の取得要求を受けて、前記変換した情報および前記暗号化された第２の乱数を該第２の端末へ送信する情報送信部とを含む、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
暗号化がElGamal暗号またはCramer-Shoup暗号を使用して実施される、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記暗号化された情報には、電子署名が付加される、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
請求項１〜６のいずれか１項に記載の情報処理装置と、第１の公開鍵を公開し、前記第１の秘密鍵を保持する第１の端末とを含み、前記第１の端末が、
前記情報処理装置から暗号化された第１の乱数を取得する乱数取得部と、
第２の乱数を発生させる乱数発生部と、
取得された前記暗号化された第１の乱数と、前記第１の秘密鍵と、前記第２の乱数と、第２の公開鍵とを使用して、前記第１の公開鍵で暗号化された情報を、前記第２の公開鍵に対応する第２の秘密鍵で復号可能な情報に変換するための再暗号化鍵と、前記第２の公開鍵により暗号化された第２の乱数とを生成する鍵生成部と、
前記再暗号化鍵と、前記暗号化された第２の乱数とを前記情報処理装置へ送信する鍵送信部とを含む、通信システム。
【請求項８】
前記通信システムは、第２の公開鍵を公開し、前記第２の秘密鍵を保持する第２の端末を含み、前記第２の端末が、
前記情報処理装置に対して、前記再暗号化鍵を使用して変換した情報の取得を要求する情報要求部と、
前記情報処理装置から前記変換した情報および前記暗号化された第２の乱数を受信する情報受信部と、
前記変換した情報を、前記暗号化された第２の乱数と前記第２の秘密鍵とを使用して復号する復号部とを含む、請求項７に記載の通信システム。
【請求項９】
前記通信システムは、第３の端末を含み、前記第３の端末が、
前記第１の乱数を発生させる乱数発生部と、
前記情報と前記第１の公開鍵と情報と前記第１の乱数とを使用して、暗号化された情報および暗号化された第１の乱数を生成する生成部と、
前記暗号化されたファイルおよび前記暗号化された第１の乱数を前記情報処理装置へ送信する情報送信部とを含む、請求項７または８に記載の通信システム。
【請求項１０】
前記生成部は、前記暗号化されたファイルに電子署名を付加する、請求項９に記載の通信システム。
【請求項１１】
情報へのアクセスを制御する情報処理装置により実行される情報処理方法であって、前記情報処理装置は、前記情報と第１の公開鍵と第１の乱数とを使用して暗号化された情報および第１の乱数を記憶する記憶部を含み、
前記暗号化された情報を、前記第１の公開鍵に対応する第１の秘密鍵と前記暗号化された第１の乱数と第２の公開鍵と第２の乱数とを使用して生成された該第２の公開鍵に対応する第２の秘密鍵で復号可能な情報に変換するための再暗号化鍵と、前記第２の公開鍵を使用して暗号化された前記第２の乱数とを受信するステップと、
前記再暗号化鍵を使用して、前記暗号化された情報を前記第２の秘密鍵で復号可能な情報に変換するステップと、
前記記憶部に記憶された前記暗号化された情報および前記暗号化された第１の乱数を、変換した情報および前記暗号化された第２の乱数に置換するステップとを含む、情報処理方法。
【請求項１２】
情報へのアクセスを制御する情報処理方法をコンピュータに実行させるためのプログラムであって、前記コンピュータは、前記情報と第１の公開鍵と第１の乱数とを使用して暗号化された情報および第１の乱数を記憶する記憶部を含み、
前記暗号化された情報を、前記第１の公開鍵に対応する第１の秘密鍵と前記暗号化された第１の乱数と第２の公開鍵と第２の乱数とを使用して生成された該第２の公開鍵に対応する第２の秘密鍵で復号可能な情報に変換するための再暗号化鍵と、前記第２の公開鍵を使用して暗号化された前記第２の乱数とを受信するステップと、
前記再暗号化鍵を使用して、前記暗号化された情報を前記第２の秘密鍵で復号可能な情報に変換するステップと、
前記記憶部に記憶された前記暗号化された情報および前記暗号化された第１の乱数を、変換した情報および前記暗号化された第２の乱数に置換するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報へのアクセスを制御する情報処理装置、その情報処理装置を含む通信システム、情報処理方法およびその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
既存の主要な公開鍵暗号化方式では、ある公開鍵で暗号化された情報、例えば文書を復号する場合、その公開鍵に対応した秘密鍵を使用しなければ復号することができない。このため、ある公開鍵で暗号化された文書を、別の公開鍵で暗号化された文書に変換するには、対応する秘密鍵で一度平文に戻した後、当該別の公開鍵で再び暗号化しなければならない。しかしながら、このような方法で再暗号化するのは、以下に示す危険性がある。
【０００３】
１つ目は、平文に戻ったタイミングで、その平文化ファイルが読み取られるという危険性である。２つ目は、再暗号化し、平文化ファイルを削除した後に、残っている痕跡データが読み取られるという危険性である。３つ目は、平文に戻す際に、暗号化された文書（暗号文）と秘密鍵とが読み取られるという危険性である。
【０００４】
このような問題に鑑み、代理人再暗号化方式と呼ばれる暗号処理方式が提案されている（例えば、特許文献１、非特許文献１、２参照）。この方式を、図１を参照して簡単に説明する。暗号文１０は、図１に示す元の利用者１１がもつ秘密鍵で復号することができるようになっている。これを、新しく復号を許される利用者１２が復号することができる暗号文１３に変換するため、元の暗号文１０と再暗号化鍵１４を代理人１５に与える。なお、ここでは利用者１０、１１、代理人１５として説明しているが、実際の処理を行うのは、利用者１１、１２が使用するコンピュータおよび代理人１５としてのサーバである。
【０００５】
再暗号化鍵１４は、元の利用者１１がもつ秘密鍵と新しく復号を許される利用者１２の公開鍵から生成される鍵で、この再暗号化鍵１４からは、暗号文を復号することができない。再暗号化鍵１４は、新しく復号を許された利用者１２が復号することができるように、鍵を変えるためだけのものである。
【０００６】
代理人１５が再暗号化鍵１４を使用して鍵を変える際、セキュリティ要件として満たさなければならない要件がいくつかある。その要件を、以下に列挙する。
（１）代理人１５は再暗号化鍵１４を使用して暗号文を復号することはできない。
（２）代理人１５は再暗号化鍵１４からどの利用者の秘密鍵も取得することができない。
（３）代理人１５は逆方向への再暗号化ができてはならない。
（４）再暗号化鍵１４を生成する際、元の利用者１１の秘密鍵と新しく復号を許される利用者１２の公開鍵以外の情報を必要としてはならない。これは、利便性のためである。
（５）鍵のサイズは利用者の数に応じて増加してはならない。これは、スケーラビリティのためである。
（６）再暗号化鍵１４には期限を付与しなければならない。これは、新しく復号を許される利用者１２が複数の者で、何らかの組織のメンバーである場合、メンバーがその組織から外れたことを考慮したものである。
（７）既存の再暗号化鍵１４から、許可されていないメンバーに対する再暗号化鍵を偽造することができてはならない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−２０２０１０号公報
【非特許文献】
【０００８】
【非特許文献１】Lihua Wang, Licheng Wang, Masahiro Mambo, Eiji Okamoto, ”Identity-Based Proxy Cryptosystems with Revocability and Hierarchical Confidentialities”, IEICE Trans. Fundamentals, Vol. E95-A, No.1, pp.70-88, Jan. 2012
【非特許文献２】王  立華、早稲田  篤志、野島  良、盛合  志帆、「PRINCESS:プロキシ再暗号化技術を活用したセキュアなストレージシステム Proxy Re-encryption with INd-Cca security in Encrypted file Storage System」、The 31th Symposium on Crypography and Information Security Kagoshima, Japan, Jan. 21-24, 2014
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の代理人暗号化方式では、外部から元の利用者１１へ送られてくる複数の暗号文がサーバ上に保存されている場合、元の利用者１１は、それらの暗号文の１つに対して利用者１２にアクセス許可を与えることができる。しかしながら、サーバ上の再暗号化鍵１４によって元の利用者１１へ送られてきた文書全てを、自分が復号できるように変換できるため、利用者１２が内部アタックによって、元の利用者１１の鍵で暗号化されているが自分にはアクセスを許可されていない他の文書をも入手し、復号できてしまうという問題があった。
【００１０】
そこで、決められた情報のみにアクセス許可を与えることができ、セキュリティを向上させることができる装置や方法等の提供が望まれていた。
【課題を解決するための手段】
【００１１】
上記の課題に鑑み、本発明によれば、情報へのアクセスを制御する情報処理装置であって、情報と第１の公開鍵と第１の乱数とを使用して暗号化された情報および第１の乱数を記憶する記憶部と、暗号化された情報を、第１の公開鍵に対応する第１の秘密鍵と暗号化された第１の乱数と第２の公開鍵と第２の乱数とを使用して生成された第２の公開鍵に対応する第２の秘密鍵で復号可能な情報に変換するための再暗号化鍵と、第２の公開鍵を使用して暗号化された第２の乱数とを受信する受信部と、再暗号化鍵を使用して、暗号化された情報を第２の秘密鍵で復号可能な情報に変換し、記憶部に記憶された暗号化された情報および暗号化された第１の乱数を、変換した情報および暗号化された第２の乱数に置換する変換部とを含む、情報処理装置が提供される。
【発明の効果】
【００１２】
本発明によれば、決められた情報のみにアクセス許可を与えることができ、セキュリティを向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】代理人暗号化方式を説明するためのシステム構成を示した図。
【図２】本発明の情報処理装置を含む通信システムで実施される処理の概略を説明する図。
【図３】通信システムの構成例を示した図。
【図４】情報処理装置のハードウェア構成を示した図。
【図５】送信元端末の機能ブロック図。
【図６】送信先端末の機能ブロック図。
【図７】サーバの機能ブロック図。
【図８】通信端末の機能ブロック図。
【図９】通信システムが行う処理の流れを示したフローチャート。
【図１０】デジタル署名による改竄防止を説明する図。
【発明を実施するための形態】
【００１４】
図２は、本発明の情報処理装置を含む通信システムで実施される処理の概略を説明する図である。情報処理装置は、ある公開鍵で暗号化された情報を、別の公開鍵で暗号化された形に変換する処理を実施する。このため、情報処理装置は、当該別の公開鍵に対応する秘密鍵を保持するユーザのみがアクセス可能となり、その情報へのアクセスを制御することができる。
【００１５】
通信システム内の送信元端末から送信された３つの情報は、全て情報処理装置としてのサーバ２０上に保存される。情報は、ファイルやフォルダ等とすることができる。以下、情報を文書ファイル（文書）として説明する。図２には、サーバ２０がもつ記憶装置のみがサーバ２０として示されている。３つの文書は、送信先端末２１を使用するユーザである責任者２２の公開鍵で暗号化されており、アクセス許可が責任者２２にのみ与えられている。
【００１６】
３つの文書の各々には、どういう内容の文書であるかを示す情報としてラベル２３が付加されている。例えば、文書の内容が新製品のカタログであれば、「製品カタログ」というラベルが付けられる。責任者２２は、サーバ２０上に保存されている自分宛の文書に付けられたラベル２３を読み、その文書がどの業務に関連するものであり、誰にアクセス許可を与えるかを決定する。例えば、責任者２２は、文書M1のラベル２３を読み、担当者Aの担当と判断したとする。責任者２２は、送信先端末２１を使用し、サーバ２０に対して文書M1を担当者Aにアクセス許可するように指示する。そして、責任者２２は、送信先端末２１を使用し、責任者２２の公開鍵で暗号化された文書M1を担当者Aの秘密鍵で復号することができるように変換（暗号理論でいう再暗号化）するための再暗号化鍵２４を生成し、それをサーバ２０に送信する。
【００１７】
サーバ２０は、送信先端末２１から送信された再暗号化鍵２４を使用して、責任者２２の公開鍵で暗号化された文書M1を、担当者Aの公開鍵で暗号化した文書M1に変換する。そして、保存された文書M1を変換した文書M1に置換する。置換した文書M1は、担当者Aにアクセス許可されたため、担当者Aは、自分が使用する通信端末２５からその文書M1にアクセスし、文書M1を担当者Aの秘密鍵を使用し復号して平文に戻し、文書M1を閲覧することができる。
【００１８】
従来の代理人暗号化方式では、送信元端末において、送信先の責任者２２の公開鍵と、平文の文書とを使用して暗号化し、それをサーバ２０に送信している。また、責任者２２は、責任者２２の秘密鍵と担当者Aの公開鍵とから再暗号化鍵２４を生成し、それをサーバ２０に送信し、担当者Aに文書M1へのアクセスを可能にさせている。これに対し、本発明では、送信元端末において、責任者２２の公開鍵および平文の文書のほか、乱数も使用して暗号化する。そして、送信先端末２１は、責任者２２の秘密鍵と乱数と担当者Aの公開鍵とを使用して再暗号化鍵２４を生成し、それをサーバ２０に送信し、その再暗号化鍵２４を使用して変換させる。
【００１９】
責任者宛の３つの文書は、異なる乱数で暗号化され、再暗号化鍵２４が、異なる乱数を使用して生成されるため、担当者Aは文書M1のみ解読することが可能で、他の２つの文書は解読することはできない。ちなみに、乱数が同じ場合、文書M1の平文と暗号化された文書M1との差分から他の文書M2、M3を解読することが可能である。ここでは３つの文書が同じ公開鍵を使用して暗号化するため、異なる乱数を使用しているが、３つの文書がそれぞれ異なる公開鍵を使用する場合は、同じ乱数を使用してもよい。
【００２０】
本発明の概略を説明したところで、以下にその詳細を説明する。まず、図３を参照して、通信システムの構成について説明する。通信システムは、ネットワーク３０に接続される、責任者に対して文書を送信する送信元端末３１と、送信元端末３１から送信された文書を受信し、保存する情報処理装置としてのサーバ３２と、責任者が使用する送信先となる送信先端末３３と、担当者Aが使用し、責任者によりアクセス許可される通信端末３４とを含んで構成される。なお、通信端末３４は、無線通信を行うアクセスポイント３５と呼ばれる中継装置を介してネットワーク３０に接続している。
【００２１】
ここでは、通信端末３４がアクセスポイント３５を介してネットワーク３０に接続する例を示しているが、通信端末３４は直接ネットワーク３０に接続されていてもよい。また、通信システムは、担当者Aだけに限らず、複数の担当者が使用する複数の通信端末３４を含むことができ、責任者は、複数の担当者の少なくとも一人にアクセス許可することができる。
【００２２】
ネットワーク３０は、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等のいずれのネットワークであってもよく、有線ネットワークおよび無線ネットワークのいずれであってもよい。また、ネットワーク３０は、１つのネットワークであってもよいし、ルータやプロキシサーバ等の中継装置を使用して接続された２以上のネットワークであってもよい。各端末やサーバは、ネットワーク３０を介して通信を行う際、TCP/IP等の適切な通信プロトコルを使用して通信を行うことができる。
【００２３】
送信元端末３１、送信先端末３３、通信端末３４はそれぞれ、文書を暗号化するために使用する公開鍵をネットワーク３０上や電子メール等により公開し、その公開鍵で暗号化された文書を復号するために使用する秘密鍵を保持し、外部へ漏洩しないように厳重に管理している。以下、各端末が公開し、保持する公開鍵および秘密鍵を、各端末を使用する者の公開鍵および秘密鍵として説明する。
【００２４】
送信元端末３１は、作成者（送信者）の指示により責任者へ送るための文書を作成し、自機が任意に発生させる乱数と、責任者の公開鍵とを使用し、作成した文書を暗号化し、その暗号化した文書を暗号文として、送信先端末３３にアクセスさせるためにサーバ３２へ送信する。作成する文書は、暗号化されていない平文であり、テキスト、表、図、画像、それらの組み合わせのいずれであってもよい。
【００２５】
暗号化は、RSA暗号、楕円曲線暗号、ElGamal暗号等の暗号方式を使用して実施することができる。ここでは、乱数を扱うことから、ElGamal暗号を使用することが好ましい。ElGamal暗号は、離散対数の計算は難しいが、その逆の過程である離散的なべき乗は容易という非対称な関係を利用した暗号方式である。離散対数は、素数pと定数qが与えられたとき、y=gx mod pをxから計算することは容易であるが、yからxを求めることは難しいというものである。gx mod pは、gxをpで除算して剰余を求める演算式である。このような関係を利用した暗号方式としては、ElGamal暗号のほか、ElGamal暗号より頑強性を有するハッシュ関数を利用したCramer-Shoup暗号等を挙げることができる。
【００２６】
暗号化について簡単に説明すると、例えば平文をDとし、乱数をRとして、公開鍵で暗号化すると、ElGamal暗号では(p1(D)、p2(R))という形の暗号文が作成される。すなわち、暗号化された平文と、暗号化された乱数とを含む暗号文である。通常、平文と同じ長さの乱数を発生させるので、nビットの平文は、暗号化すると、その２倍の2nビットの暗号文となる。
【００２７】
暗号化についてより具体的に説明すると、平文をDとし、乱数をr1とし、責任者の公開鍵をPaとすると、ElGamal暗号では、暗号文は、例えば(D×(Pa)r1,Pr1)というべき乗の形で作成される。暗号文中、Pr1は、責任者の公開鍵Paで乱数r1を暗号化したものである。
【００２８】
送信元端末３１は、このような暗号文をサーバ３２へ送信する。サーバ３２は、送信元端末３１から受信した暗号文を受信すると、サーバ３２が備える記憶装置に保存する。サーバ３２は、責任者宛の文書がある旨を送信先端末３３に通知することができる。責任者は、送信先端末３３を使用してその通知を受け、サーバ３２に保存されている自分宛の暗号文に付けられたラベルを参照し、どの担当者にその文書へのアクセスを許可するかを決定する。
【００２９】
責任者は、送信先端末３３を使用してサーバ３２に保存されている暗号文の暗号化された乱数、すなわちPr1を取得し、責任者の秘密鍵aと、暗号化された乱数Pr1と、決定した担当者（例えば担当者A）の公開鍵Pbと、新しく発生させた乱数r2とを使用して、担当者Aの秘密鍵bで復号可能な暗号文を生成させるための再暗号化鍵を作成する。この乱数r2は、乱数r1とは全く別のものである。
【００３０】
この例で言えば、再暗号化鍵は、例えば(Pb)r2/(Pr1)aとして算出することができる。また、乱数r2を担当者Aの公開鍵Pbを使用して暗号化し、Pr2を算出する。そして、責任者は、送信先端末３３を使用して、アクセスを許可する暗号文を指定するとともに再暗号化鍵(Pb)r2/(Pr1)aと暗号化された乱数Pr2とをサーバ３２へ送信する。
【００３１】
サーバ３２は、送信先端末３３から受信した情報に基づき、保存している暗号文の中から指定された暗号文(D×(Pa)r1,Pr1)を取り出し、受信した再暗号化鍵を使用してその暗号文を変換する。具体的には、暗号文のD×(Pa)r1に再暗号化鍵(Pb)r2/(Pr1)aを乗算し、D×(Pb)r2に変換し、D×(Pa)r1の部分をD×(Pb)r2に置換する。また、Pr1の部分をPr2に置換する。すると、暗号文は、(D×(Pb)r2, Pr2)となり、これが(D×(Pa)r1,Pr1)に代えて記憶装置に保存される。
【００３２】
サーバ３２は、通信端末３４に対してアクセス許可された暗号文がある旨を通知することができ、通信端末３４は、その通知を受けて、その暗号文をサーバ３２から読み出し、取得することができる。通信端末３４は、取得した暗号文からPr2を取得し、そのPr2と担当者Aの秘密鍵bとを使用して復号し、担当者Aは復号して得られた平文Dを読むことができる。
【００３３】
このような暗号方式は、ある組織の責任者が一括で暗号文を受け付け、それを組織内の各担当者に振り分け、処理させるような場合に利用することができる。また、管理者が自分の公開鍵で暗号化し、管理する文書を、特定の者にのみ閲覧可能にする場合にも利用することができる。なお、これらの利用の例は一例であり、本発明はこの利用例に限定されるものではない。この暗号方式は、乱数の利用により、暗号文と再暗号化鍵が一対一の関係になるため、責任者が決定した者以外にアクセス許可される危険性をなくすことができる。
【００３４】
通信システムが備える送信元端末３１、サーバ３２、送信先端末３３、通信端末３４は、PCやワークステーション等のコンピュータを使用することができ、各端末は、タブレット端末、スマートフォン、PDA(Personal Digital Assistant)等であってもよい。いずれの機器も同様の構成であるため、ここではサーバ３２についてのみ、そのハードウェア構成を、図４を参照して説明する。
【００３５】
サーバ３２は、ハードウェアとして、CPU４０、ROM４１、RAM４２、HDD４３、通信I/F４４を備える。CPU４０は、サーバ３２全体の制御を行う。ROM４１は、サーバ３２を起動するためのブートプログラムやHDD４３等を制御するファームウェアを格納する。RAM４２は、CPU４０に対して作業領域を提供する。HDD４３は、各端末との通信や再暗号化のための変換等を行うプログラム、そのプログラムに対して基本的な機能を提供するOS、暗号文等のファイル、各種の設定ファイルを格納する。通信I/F４４は、ネットワーク３０と接続し、ネットワーク３０を介した各端末との通信を制御する。これらは、バス４５を介して互いに情報等のやりとりを行うことができるようになっている。
【００３６】
図４では、記憶装置としてHDD４３を使用する例を示しているが、SSD(Solid State Drive)を使用してもよい。また、ハードウェアとして、入出力I/F、ディスプレイ等の表示装置、キーボードやマウス等の入力装置、外付けHDD等の外部記憶装置を接続し、制御するための外部記憶I/F等を備えていてもよい。
【００３７】
次に、各端末やサーバが有する機能について、図５〜図８を参照して説明する。図５は送信元端末３１、図６は送信先端末３３、図７はサーバ３２、図８は通信端末３４の機能ブロック図である。図５を参照すると、送信元端末３１は、その機能部として、文書作成部５０と、乱数発生部５１と、暗号文生成部５２と、暗号文送信部５３とを備える。これらの機能部は、送信元端末３１が備えるCPUがプログラムを実行し、また、通信I/Fにより実現される。
【００３８】
文書作成部５０は、文書の作成者が入力した文字等の情報を受け付けることにより文書を作成する。作成される文書は、まだ暗号化されていない平文である。乱数発生部５１は、ランダムに並ぶ数列を発生させる。乱数は、平文と同じ長さである。したがって、平文がnビットの長さであれば、乱数もnビットの長さである。乱数は、これに限られるものではないが、例えばC言語におけるrand関数を使用して発生させることができる。
【００３９】
暗号文生成部５２は、文書作成部５０が作成した文書と、乱数発生部５１が発生させた乱数と、ネットワーク３０上に公開された送信先である責任者の公開鍵とを使用し、文書および乱数を公開鍵で暗号化して上記の例で示したような暗号文を生成する。そして、暗号文生成部５２は、生成した暗号文にラベルを付ける。ラベルは必ずしも付ける必要はないが、責任者が暗号文を復号しなくても文書がどうような内容であるかを容易に把握することができることからラベルを付けるほうが望ましい。
【００４０】
暗号文送信部５３は、暗号文生成部５２が生成した暗号文をサーバ３２に送信する。暗号文送信部５３は、送信元端末３１に登録されているサーバ３２のIPアドレス等のアドレス情報を使用してアクセスし、暗号文を送信することができる。
【００４１】
図６を参照すると、送信先端末３３は、その機能部として、通知受付部６０と、乱数取得部６１と、乱数発生部６２と、鍵生成部６３と、鍵送信部６４とを備える。これらの機能部は、送信先端末が備えるCPUがプログラムを実行し、また、通信I/Fにより実現される。
【００４２】
通知受付部６０は、サーバ３２から責任者宛の暗号文を受信した旨の通知を受け付ける。このとき、暗号文に付されたラベルも同時に受け付けることができる。なお、通知受付部６０は必須のものではなく、送信先端末３３が定期的に責任者宛の暗号文があるかどうかを問い合わせる構成であってもよいし、定期的ではなく、責任者が任意に指示し、その指示を受けて問い合わせを行う構成であってもよい。責任者は、通知受付部６０が受け付けたラベルを参照して、文書へのアクセスを許可する通信端末３４を決定する。
【００４３】
乱数取得部６１は、通知を受けた暗号文に含まれる暗号化された乱数を要求し、サーバ３２からその暗号化された乱数を取得する。乱数取得部６１は、暗号文に付けられた文書名を識別情報として使用し、その文書名を指定して暗号化された乱数を要求することができる。文書名に限られるものではなく、ラベルに記載された事項等、暗号文を識別することができれば、いかなる情報を使用して上記の乱数を要求することができる。乱数発生部６２は、図５に示した送信元端末３１の乱数発生部５１と同様、乱数を任意に発生させる。
【００４４】
鍵生成部６３は、責任者が決定した通信端末３４を使用する担当者Aの公開鍵と、暗号化された乱数と、責任者の秘密鍵と、乱数発生部６２が発生させた乱数とを使用して、再暗号化鍵を生成する。また、鍵生成部６３は、乱数発生部６２が発生させた乱数を、担当者Aの公開鍵で暗号化する。鍵送信部６４は、通信端末３４を特定するための情報と、暗号文を特定するための情報と、再暗号化鍵とともに、担当者Aの公開鍵で暗号化された乱数をサーバ３２へ送信し、暗号文の再暗号化を要求し、通信端末３４への通知を指示する。ここでは、通知を指示しているが、再暗号化を要求するだけであってもよい。
【００４５】
通信端末３４を特定するための情報は、通信端末３４を識別する端末識別情報で、端末名、IPアドレス、MACアドレス等とすることができる。暗号文を特定するための情報は、暗号文を識別する情報で、文書名、ラベルに記載された事項等とすることができる。
【００４６】
図７を参照すると、サーバ３２は、その機能部として、暗号文受信部７０と、暗号文記憶部７１と、通知部７２と、乱数送信部７３と、鍵受信部７４と、変換部７５と、暗号文送信部７６とを備える。これらの機能部は、サーバ３２が備えるCPUがプログラムを実行し、また、HDDおよび通信I/Fにより実現される。
【００４７】
暗号文受信部７０は、送信元端末３１から送信された暗号文を受信する。暗号文記憶部７１は、暗号文受信部７０が受信した暗号文もしくは変換し、置換した暗号文を記憶する。また、暗号文記憶部７１は、再暗号化鍵を記憶することもできる。
【００４８】
通知部７２は、責任者宛の暗号文を受信した旨を送信先端末３３に通知する。また、通知部７２は、担当者A宛の暗号文があることを通信端末３４に対して通知する。なお、送信先端末３３や通信端末３４から問い合わせを受け付ける構成の場合は、通知部７２は備えていなくてもよい。
【００４９】
乱数送信部７３は、送信先端末３３からの要求を受けて、暗号文に含まれる暗号化された乱数を、当該送信先端末３３へ送信する。送信先端末３３への送信は、サーバ３２に登録されている送信先端末３３のIPアドレス等のアドレス情報を使用して行うことができる。これは、後述する通信端末３４への送信も同様である。鍵受信部７４は、送信先端末３３において生成された再暗号化鍵および担当者Aの公開鍵で暗号化された乱数を受信する。このとき、鍵受信部７４は、上記の通信端末３４を特定するための情報、暗号文を特定するための情報も受信する。
【００５０】
変換部７５は、鍵受信部７４が受信した暗号文を特定するための情報から、暗号文記憶部７１に記憶されている暗号文の中から暗号文を特定し、通信端末３４を特定するための情報から、ネットワーク３０に接続された通信端末の中から通信端末３４を特定する。そして、変換部７５は、再暗号化鍵を使用して、特定した暗号文の中の暗号化された文書の部分を、担当者Aの秘密鍵で復号可能な暗号化された文書の部分に変換する。また、暗号化された乱数の部分も、受信した担当者Aの公開鍵で暗号化された乱数に置換する。変換部７５は、このようにして、暗号文記憶部７１に記憶させた暗号文を変換した暗号文と置換する。
【００５１】
暗号文送信部７６は、通信端末３４からの要求を受けて、暗号文記憶部７１に記憶された暗号文のうち該当する変換後の暗号文を当該通信端末３４へ送信する。
【００５２】
図８を参照すると、通信端末３４は、その機能部として、通知受付部８０と、暗号文要求部８１と、暗号文受信部８２と、復号部８３とを備える。これらの機能部は、通信端末３４が備えるCPUがプログラムを実行し、また、通信I/Fにより実現される。
【００５３】
通知受付部８０は、サーバ３２からの通知を受け付ける。この通知は、担当者A宛の暗号文があるという通知である。なお、通知受付部８０に代えて、サーバ３２に対してアクセス許可された暗号文があるかどうかの問い合わせを行う構成を採用してもよい。暗号文要求部８１は、その通知を受けて、サーバ３２に対して暗号文を要求する。暗号文の要求は、通信端末３４に登録されているサーバ３２のIPアドレス等のアドレス情報を使用して行うことができる。
【００５４】
サーバ３２では、その要求を受けると、該当する暗号文を暗号文記憶部７１の中から検索し、検索した暗号文を通信端末３４へ送信する。暗号文受信部８２は、サーバ３２が送信したその暗号文を受信する。復号部８３は、通信端末３４が厳重に管理している秘密鍵を使用し、受信した暗号文を復号する。通信端末３４は、復号した文書を対応するアプリケーションを起動して開き、画面に表示することができる。
【００５５】
これまで、各端末やサーバが備える機能、それぞれが実行する処理の内容に説明してきた。個々の処理が、通信システムにおいてどの時点で行われ、どのような関係を有しているかについて、図９に示す通信システムの全体の処理の流れを示したフローチャートを参照して説明する。図９では、破線による仕切りを設けて、各端末およびサーバによる処理を区別して示している。
【００５６】
ステップ９００から処理を開始し、ステップ９０１では、送信元端末３１が送信先である責任者へ送信する文書を、その責任者の公開鍵と送信元端末３１が発生させた乱数とを使用して暗号化する。ステップ９０２では、暗号化された文書と暗号化された乱数とを含む暗号文をサーバ３２に送信する。
【００５７】
ステップ９０３では、サーバ３２が暗号文を受信し、暗号文記憶部７１に記憶する。ステップ９０４では、サーバ３２が責任者宛の暗号文がある旨を送信先端末３３に通知する。このとき、ラベルも一緒に送付する。ステップ９０５では、責任者が暗号文に付けられたラベルを参照し、責任者が通信端末を選択する等して、アクセスを許可する通信端末３４を決定する。ステップ９０６では、送信先端末３３がサーバ３２に対してその暗号文に含まれる暗号化された乱数を要求する。ステップ９０７では、これに応答して、サーバ３２がその乱数を送信先端末３３へ送信する。
【００５８】
ステップ９０８では、送信先端末３３が、乱数を発生させ、決定した通信端末３４の公開鍵と、取得した暗号化された乱数と、責任者の秘密鍵と、発生させた乱数とを使用して再暗号化鍵を生成する。このとき、アクセス許可する通信端末３４を使用する担当者Aの公開鍵で、発生させた乱数を暗号化する。ステップ９０９では、再暗号化鍵を暗号化された乱数とともにサーバ３２へ送信する。
【００５９】
ステップ９１０では、サーバ３２が再暗号化鍵および暗号化された乱数を使用して、担当者Aの秘密鍵で復号可能な暗号文に変換する。ステップ９１１では、元の暗号文をこの変換した暗号文に置換する。ステップ９１２では、サーバ３２が通信端末３４に対して暗号文があることを通知する。
【００６０】
ステップ９１３では、通信端末３４が暗号文を要求し、ステップ９１４でサーバ３２が要求を受けた暗号文を通信端末３４に送信する。ステップ９１５では、通信端末３４が受信した暗号文を、担当者Aの秘密鍵で復号し、復号した文書を表示する等して、ステップ９１６でこの処理を終了する。
【００６１】
通信システムは、利用者１２がサーバ３２へ内部アタックを行って利用者１１の鍵で暗号化された他の文書へ不正アクセスを行っても、同じ責任者宛の他の暗号文は乱数が異なるため、担当者Aが復号可能な暗号文に変換することはできない。このため、担当者Aは、当該他の暗号文の文書を読むことはできない。したがって、この通信システムは、特定の文書のみにアクセス許可を与えることができ、その結果、セキュリティを向上させることができる。
【００６２】
本発明の方式を使用すれば、このようなサービスを利用するためにパスワードによるログインや生体認証等を行うことはあっても、一度きりで済み、アクセス許可の変更に関しては再暗号化鍵を変えるのみで済む。このため、アクセス許可の変更のたびにログインを繰り返す必要がなくなり、作業を軽減することができる。また、ログインの繰り返しがなく、処理も簡単であるため、サーバ３２の動作を軽くすることができる。しかも、再暗号化鍵からは第三者が暗号文を復元することができず、いずれの秘密鍵も得ることができず、逆方向への再暗号化もできず、他の社員へアクセス許可するための再暗号化鍵を偽造することもできないので、非常にセキュアな方法である。
【００６３】
これまでに説明してきた方法では、決められた文書のみにアクセス許可を与えることはできるが、サーバ３２がアタックされ、乗っ取られた場合、アクセス許可された文書が改竄されたものであるか否かを確認することはできない。すなわち、サーバ３２上で勝手に文書を作り、その文書を通信端末３４の公開鍵で暗号化し、それを再暗号化した文書とした場合、通信端末３４ではそれが改竄された文書であるかどうかは分からない。任意の乱数を発生させ、その乱数を使用して暗号文を作れば、正しい再暗号化鍵で変換された暗号文と同様の暗号文を作れるからである。
【００６４】
そこで、送信元端末３１では、文書を暗号化して送信する送信者が、暗号化された文書に送信者の電子署名（デジタル署名）を付けて暗号文を送信することができる。デジタル署名は、暗号化された署名情報で、文書の送信者を証明し、その文書が改竄されていないことを保証する情報である。
【００６５】
これらを使用した処理について、図１０を参照して詳細に説明する。図１０では、送信先端末３３とサーバ３２とが１つの機器（管理端末９０）として示されている。送信元端末３１は、送信元端末３１を使用する送信者Sである署名者の検証鍵を含む電子証明書αと、管理端末９０を使用する責任者Aの公開鍵aと、署名者の署名鍵sと、文書Mとを使用し、暗号文{C(a,M),α,D(s,M)}を作成する。暗号文には、暗号化された文書の部分Cと、電子署名の部分Dが含まれている。ここでは、説明を簡単にするために乱数については触れないが、本発明においては、当然にして、乱数を含めて暗号化されるものである。
【００６６】
送信元端末３１は、作成した暗号文を管理端末９０へ送信する。管理端末９０では、上記と同様の処理により再暗号化鍵および暗号化された乱数により各通信端末３４を使用する各担当者の秘密鍵で復号可能な暗号文に変換し、置換して、各通信端末３４の要求に応じて各通信端末３４へ送信する。
【００６７】
図１０では、例えば暗号文{C(a,M1),α1,D(s,M1)}は、管理端末９０を使用する責任者Aにより担当者B、Cが処理を担当すべきと決定する。すると、管理端末９０は、暗号文に含まれる公開鍵aを、再暗号化鍵により担当者B、Cの公開鍵b、cと置換し、暗号文{C(b,M1),α1,D(s,M1)}、{C(c,M1),α1,D(s,M1)}に変換する。そして、これらの暗号文を担当者B、Cが使用する通信端末B、Cへ送信する。
【００６８】
例えば、担当者Bが使用する通信端末Bでは、暗号文{C(b,M1),α1,D(s,M1)}を受け取ると、通信端末Bは、暗号文内の電子証明書α1に含まれる検証鍵を使用して、デジタル署名を復号する。デジタル署名は、ハッシュ関数を使用して平文から算出したハッシュ値を署名者の署名鍵で暗号化したものである。このため、デジタル署名の復号によりハッシュ値を得ることができる。
【００６９】
また、通信端末Bは、担当者Bの秘密鍵を使用して、暗号化された文書を復号し、文書M1を取得する。通信端末Bは、文書M1に対してハッシュ関数を適用してハッシュ値を算出する。そして、通信端末Bは、算出したハッシュ値と、上記で得られたハッシュ値とを比較して、一致するかどうかを確認する。一致する場合は、改竄されていないことを、一致しない場合は、改竄されたことを表示することができる。ハッシュ関数は、一方向関数で、例えばSHA-1やMD5等を用いることができる。
【００７０】
このようにデジタル署名を付けて暗号文を送ることで、アクセス許可された担当者は、その文書が改竄されたものであるかどうかを確認することができる。
【００７１】
これまで本発明の情報処理装置、通信システム、情報処理方法について詳細に説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態や、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、上記の情報処理方法をコンピュータに実行させるためのプログラム、そのプログラムが記録された記録媒体、そのプログラムを保持し、ダウンロード要求に応じてそのプログラムを提供する外部機器等も提供することができるものである。
【符号の説明】
【００７２】
１０、１３…暗号文、１１、１２…利用者、１４…再暗号化鍵、１５…代理人、２０…サーバ、２１…送信先端末、２２…責任者、２３…ラベル、２４…再暗号化鍵、２５…通信端末、３０…ネットワーク、３１…送信元端末、３２…サーバ、３３…送信先端末、３４…通信端末、３５…アクセスポイント、４０…CPU、４１…ROM、４２…RAM、４３…HDD、４４…通信I/F、４５…バス、５０…文書作成部、５１…乱数発生部、５２…暗号文生成部、５３…暗号文送信部、６０…通知受付部、６１…乱数取得部、６２…乱数発生部、６３…鍵生成部、６４…鍵送信部、７０…暗号文受信部、７１…暗号文記憶部、７２…通知部、７３…乱数発生部、７４…鍵受信部、７５…変換部、７６…暗号文送信部、８０…通知受付部、８１…暗号文要求部、８２…暗号文受信部、８３…復号部、９０…管理端末
【図１】
2016225804.tif 000003
【図２】
2016225804.tif 000004
【図３】
2016225804.tif 000005
【図４】
2016225804.tif 000006
【図５】
2016225804.tif 000007
【図６】
2016225804.tif 000008
【図７】
2016225804.tif 000009
【図８】
2016225804.tif 000010
【図９】
2016225804.tif 000011
【図１０】
2016225804.tif 000012