(57)【要約】【課題】サーバを介するＥｎｄ  ｔｏ  Ｅｎｄの暗号化通信において、サーバ側に情報を秘匿したまま参加者を排除することを可能とする技術を提供することを目的とする。【解決手段】投票中継サーバと複数のクライアント端末とを含む投票システムにおいて、前記投票中継サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、各クライアント端末が、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信し、前記投票中継サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、各クライアント端末は、前記投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行する。【選択図】図１
2019208140.tif 000002
【特許請求の範囲】
【請求項１】
投票中継サーバと複数のクライアント端末とを含む投票システムであって、
前記投票中継サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、
各クライアント端末が、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信し、
前記投票中継サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、
各クライアント端末は、前記投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行する
ことを特徴とする投票システム。
【請求項２】
投票中継サーバと複数のクライアント端末とを含む投票システムにおける投票中継サーバであって、
秘密情報を分散させたデータである複数の票情報を生成する生成手段と、
票情報を各クライアント端末に送信する送信手段と、
所定の条件を満たす場合に復号できるように票情報を暗号化することにより得られた投票情報を、各クライアント端末から受信する受信手段と、を備え、
前記送信手段は、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信する
ことを特徴とする投票中継サーバ。
【請求項３】
投票中継サーバと複数のクライアント端末とを含む投票システムにおけるクライアント端末であって、
秘密情報を分散させたデータである複数の票情報のうちの１つの票情報を前記投票中継サーバから受信する受信手段と、
所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信する送信手段と、
各クライアント端末から送信された投票情報からなる投票情報群を前記投票中継サーバから受信し、当該投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行する処理手段と
を備えることを特徴とするクライアント端末。
【請求項４】
投票中継サーバと複数のクライアント端末とを含む投票システムにより実行される投票方法であって、
前記投票中継サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、
各クライアント端末が、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信し、
前記投票中継サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、
各クライアント端末は、前記投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行する
ことを特徴とする投票方法。
【請求項５】
広告配信サーバと複数のクライアント端末とを含む広告配信システムであって、
前記広告配信サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、
各クライアント端末が、広告の配信許否に関する所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記広告配信サーバに送信し、
前記広告配信サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、
各クライアント端末は、前記投票情報群から復号される票情報の数が所定閾値を超える場合に、前記秘密情報を取得し、当該秘密情報に基づいて、広告配信のための共有鍵を更新する
ことを特徴とする広告配信システム。
【請求項６】
コンピュータを、請求項２に記載の投票中継サーバにおける各手段として機能させるためのプログラム。
【請求項７】
コンピュータを、請求項３に記載のクライアント端末における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号通信技術に関するものである。
【背景技術】
【０００２】
近年、インターネット広告として、アドネットワークが注目されている。アドネットワークは、広告主とユーザ端末との間に広告配信用のサーバが介在しており、広告出稿におけるコストの削減及びターゲティング等の効率的な広告出稿を可能にしている。
【０００３】
一方、暗号通信技術では、ＤＭＫＤ（非特許文献１を参照）等の手法を用いたＥｎｄ  ｔｏ  Ｅｎｄ暗号化が注目されている。アドネットワークのようなサーバが仲介する通信において、ユーザエンドで暗号化が施されていることへの需要は急速に高まっている。
【０００４】
更に、端末紛失時等に利用される、特定の端末を通信グループから排除する暗号通信技術としては、共有鍵の再配布を行う手法が一般的であり、例えば排他的鍵共有方法（特許文献１を参照）がある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Kazuki Yoneyama, Reo Yoshida, Yuto Kawahara, Tetsutaro Kobayashi, Hitoshi Fuji, Tomohide Yamamoto, Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction, ProvSec (2016)
【特許文献】
【０００６】
【特許文献１】特開2000-196581号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
アドネットワークには、子供向けのサイトに不適切なコンテンツを含む広告等を配信する広告主（ここでは不正な広告主と呼ぶ）が存在することがある。アドネットワークのような多対多通信における不正な広告主を排除する手段として、上述した排他的鍵共有方式等が考えられる。
【０００８】
しかし、今後Ｅｎｄ  ｔｏ  Ｅｎｄ暗号化をアドネットワークが要求した際に、この手法はサーバ側に報告者、除外対象者がわかる点で課題になりうる。不正な広告主の排除において、サーバ側に情報を秘匿したまま、不正な広告主の排除を制御することは容易ではない。なお、上記のような、サーバ側に情報を秘匿したまま通信の参加者を排除するという課題は、アドネットワークに限らずに存在し得るものである。
【０００９】
本発明は、上記の点に鑑みてなされたものであり、サーバを介するＥｎｄ  ｔｏ  Ｅｎｄの暗号化通信において、サーバ側に情報を秘匿したまま参加者を排除することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
開示の技術によれば、投票中継サーバと複数のクライアント端末とを含む投票システムであって、
前記投票中継サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、
各クライアント端末が、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信し、
前記投票中継サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、
各クライアント端末は、前記投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行する
ことを特徴とする投票システムが提供される。
【発明の効果】
【００１１】
開示の技術によれば、サーバを介するＥｎｄ  ｔｏ  Ｅｎｄの暗号化通信において、サーバ側に情報を秘匿したまま参加者を排除することを可能とする技術が提供される。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態における投票システムの構成例を示す図である。
【図２】第１の実施の形態における投票中継サーバ１０の構成例を示す図である。
【図３】第１の実施の形態におけるクライアント端末２０−ｉの構成例を示す図である。
【図４】第１の実施の形態における秘匿サーバ３０の構成例を示す図である。
【図５】装置のハードウェア構成例を示す図である。
【図６】適用例を示す図である。
【図７】第１の実施の形態における処理手順の一例を説明するためのシーケンス図である。
【図８】第２の実施の形態における投票システムの構成例を示す図である。
【図９】第２の実施の形態における投票中継サーバ１０の構成例を示す図である。
【図１０】第２の実施の形態におけるクライアント端末２０−ｉの構成例を示す図である。
【図１１】適用例を示す図である。
【図１２】第２の実施の形態における処理手順の一例を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態として、第１の実施の形態と第２の実施の形態を説明する。
【００１４】
（第１の実施の形態）
まず、図面に基づいて第１の実施の形態を説明する。
【００１５】
＜システム構成＞
図１は、第１の実施の形態における投票システム１の構成例を示す図である。図１に示すように、投票システム１は、投票中継サーバ１０、クライアント端末２０−１及び２０−２等の２以上のクライアント端末群２０、及び秘匿サーバ３０等を含む。
【００１６】
投票中継サーバ１０とクライアント端末群２０、及び秘匿サーバ３０とクライアント端末群２０はネットワークを介して接続される。また、投票中継サーバ１０とクライアント端末群２０との間では公開鍵基盤等によって認証がなされており、また、秘匿サーバ３０とクライアント端末群２０との間も公開鍵基盤等によって認証がなされているものとする。
【００１７】
投票中継サーバ１０は、投票を要求するクライアント端末群２０に票情報を送信し、クライアント端末群２０から投票情報を受信し、それらを送信する装置である。
【００１８】
クライアント端末群２０における各クライアント端末２０−ｉは、投票中継サーバ１０及び秘匿サーバ３０によって、投票サービスを受けることのできる装置である。
【００１９】
秘匿サーバ３０は、投票を要求するクライアント端末群２０に事前共有鍵及びユーザ鍵を送信する装置である。
【００２０】
＜装置構成＞
図２は、投票中継サーバ１０の構成を示す図である。図２に示すとおり、投票中継サーバ１０は、入力部１１、出力部１２、及び票情報生成部１３を有する。
【００２１】
入力部１１は、個々のクライアント端末から投票情報を受信し、入力する。出力部１２は、票情報を送信するとともに、個々のクライアント端末から受信した投票情報群をクライアント端末群２０にブロードキャストで送信する。票情報生成部１３は、閾値ｔの秘密分散法により票情報を生成する。
【００２２】
図３は、クライアント端末２０−ｉの構成を示す図である。図３に示すとおり、クライアント端末２０−ｉは、入力部２１−ｉ、出力部２２−ｉ、記憶部２３−ｉ、投票情報生成部２４−ｉ、及び更新鍵生成部２５−ｉを有する。クライアント端末群２０における各クライアント端末は同様の構成を備える。
【００２３】
入力部２１−ｉは、秘匿サーバ３０から事前共有鍵とユーザ鍵を受信し、入力する。また、入力部２１−ｉは、投票中継サーバから票情報、投票情報群を受信し、入力する。出力部２２−ｉは、投票情報を投票中継サーバ１０に送信する。記憶部２３−ｉは、事前共有鍵及びユーザ鍵を格納する。投票情報生成部２４−ｉは、票情報から投票情報を生成する。更新鍵生成部２５−ｉは、投票中継サーバ１０から受信する投票情報群に基づいて事前共有鍵の更新を行う。
【００２４】
図４は、秘匿サーバ３０の構成を示す図である。図４に示すとおり、秘匿サーバ３０は、入力部３１、出力部３２、ユーザ鍵生成部３３、及び事前共有鍵生成部３４を有する。
【００２５】
入力部３１は、鍵生成に必要な情報等を入力する。出力部３２は、事前共有鍵とユーザ鍵を送信する。ユーザ鍵生成部３３はユーザ鍵を生成し、事前共有鍵生成部３４は事前共有鍵を生成する。
【００２６】
上述した各装置（投票中継サーバ１０、クライアント端末２０−ｉ、秘匿サーバ３０のそれぞれ）は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。
【００２７】
すなわち、当該装置は、コンピュータに内蔵されるＣＰＵやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【００２８】
図５は、本実施の形態における上記コンピュータのハードウェア構成例を示す図である。図５のコンピュータは、それぞれバスＢで相互に接続されているドライブ装置１５０、補助記憶装置１５２、メモリ装置１５３、ＣＰＵ１５４、インタフェース装置１５５、表示装置１５６、及び入力装置１５７等を有する。
【００２９】
当該コンピュータでの処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体１５１によって提供される。プログラムを記憶した記録媒体１５１がドライブ装置１５０にセットされると、プログラムが記録媒体１５１からドライブ装置１５０を介して補助記憶装置１５２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１５１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１５２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００３０】
メモリ装置１５３は、プログラムの起動指示があった場合に、補助記憶装置１５２からプログラムを読み出して格納する。ＣＰＵ１５４は、メモリ装置１５３に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置１５５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１５６はプログラムによるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）等を表示する。入力装置１５７はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
【００３１】
なお、各装置が上記のようなコンピュータとプログラムで実現可能である点は、第２の実施の形態でも同様である。
【００３２】
＜適用例＞
本実施の形態における投票システム１の適用先は特に限定されない。投票により参加者を排除することを利用するシステムであればどのような分野のものにも適用可能である。
【００３３】
投票システム１の適用先の一例として、アドネットワークがある。前述したとおり、アドネットワークは、広告主とユーザ端末との間に広告配信用のサーバ（アドサーバと呼ぶ）が介在しており、広告主が広告をアドサーバに入稿することで、アドネットワーク傘下のメディア（Ｗｅｂサイト）に出稿することができる。なお、ここではアドネットワークを広告配信システムと呼ぶ。
【００３４】
図６は、投票システム１を広告配信システムに適用した場合における当該広告配信システムの構成例を示す図である。図６に示すように、アドサーバ１０Ａが、投票中継サーバの機能を含むように構成される。アドサーバ１０Ａを広告配信サーバ１０Ａと称しても良い。クライアント端末群２０は、広告主の端末である広告配信端末、及び、広告主により提供される広告を閲覧するユーザの端末を含む。図６では、一例として、クライアント端末２０−１は広告配信端末Ａであるとする。なお、広告配信端末の数は１つに限られず複数であってもよい。なお、広告を閲覧するユーザは、クライアント端末でメディア（Ｗｅｂサイト）にアクセスし広告を閲覧するが、図６は、本発明に関わる装置として、アドサーバ１０Ａ、クライアント端末群２０、及び秘匿サーバ３０を示している。
【００３５】
＜システムの動作例＞
以下、第１の実施の形態の投票システム１において実行される処理手順について説明する。以下の投票システム１の処理手順の説明において、一例として、広告配信システムでの動作例を適宜説明する。
【００３６】
図７は、第１の実施の形態における処理手順の一例を説明するためのシーケンス図である。この例において、クライアント端末の総数はｎとする。図７では、図示の便宜上、クライアント端末群２０におけるクライアント端末２０−ｉのみを示している。クライアント端末２０−ｉ以外のクライアント端末についても、クライアント端末２０−ｉにおける処理と同様の処理が行われる。
【００３７】
図７に示す例では、ステップＳ１０１〜Ｓ１０４が実行される場合の例を示しているが、事前にステップＳ１０１〜Ｓ１０４が実行されていれば、投票システム１はＳ１０５〜Ｓ１１１のみを実行すればよい。
【００３８】
ステップＳ１０１において、秘匿サーバ３０の事前共有鍵生成部３４は事前共有鍵ＳＫを生成する。
【００３９】
ステップＳ１０２において、秘匿サーバ３０のユーザ鍵生成部３３はユーザ鍵｛ｕｓｋｋ｝ｋを生成する。ユーザ鍵の生成には属性ベース暗号アルゴリズムＡＢＥ＝｛Ｓｅｔｕｐ，Ｄｅｒ，ＡＥｎｃ，ＡＤｅｃ｝、例えば（Vipul Goyal, Omkant Pandey, Amit Sahai, Brent Waters, Attribute-Based Encryption for Fine-Grained Access Control of Encrypted Data, CCS(2006)）を使用する。
【００４０】
ユーザ鍵は、各クライアント端末に対して生成されるものであり、クライアント端末２０−ｉに対するユーザ鍵をｕｓｋｉと表す。本実施の形態では、ｎ個のクライアント端末が存在するので、ｎ個のユーザ鍵が生成される。
【００４１】
ステップＳ１０３において、秘匿サーバ３０はクライアント端末２０−ｉへ事前共有鍵ＳＫ及びユーザ鍵ｕｓｋｉを暗号化通信により送信する。
【００４２】
ステップＳ１０４において、クライアント端末２０−ｉは、事前共有鍵ＳＫとユーザ鍵ｕｓｋｉを記憶部２３−ｉに格納する。
【００４３】
なお、広告配信システムの例において、事前共有鍵ＳＫは、例えば、広告主のクライアント端末（広告配信端末）と広告を閲覧するユーザのクライアント端末との間で共有される共有鍵であり、当該共有鍵ＳＫを有する広告主のみが広告を出稿でき、かつ、当該共有鍵ＳＫを有するユーザのみが広告を閲覧できる。従って、例えば、クライアント端末２０−１（広告配信端末Ａ）以外のクライアント端末群における事前共有鍵ＳＫが別の共有鍵に更新され、クライアント端末２０−１（広告配信端末Ａ）の事前共有鍵ＳＫが更新されない場合、クライアント端末２０−１（広告配信端末Ａ）は、広告の出稿から排除されることになる。つまり、この場合、広告配信端末Ａから配信される不正な（望ましくない）広告が排除されることになる。
【００４４】
ステップＳ１０５において、投票中継サーバ１０の票情報生成部１３は、秘密値ｆ及び票情報｛ｘｋ｝ｋを生成する。｛ｘｋ｝ｋはｆの分散データであり、生成方法は例えば（Adi Shamir, How to Share a Secret, Communications of the ACM, 1979）を使用する。また、秘密分散の閾値はｔとする。なお本願で使用する秘密分散は閾値秘密分散である。票情報は、例えば、クライアント端末の個数であるｎ個生成される。クライアント端末２０−ｉに送られる票情報をｘｉと表す。
【００４５】
ステップＳ１０６において、投票中継サーバ１０はクライアント端末２０−ｉへ票情報ｘｉを暗号化通信により送信する。
【００４６】
ステップＳ１０７において、クライアント端末２０−ｉの投票情報生成部２４−ｉは、投票情報ｃｉ＝ＡＥｎｃ（Ｐｉ，ｘｉ）を生成する。つまり、前述した属性ベース暗号アルゴリズムを用いて、票情報ｘｉをアクセス構造（アクセス権）に基づき暗号化する。暗号化した情報が投票情報ｃｉである。アクセス構造Ｐｉはｘｉを復号許可するクライアント端末の指定を行う。投票情報ｃｉ＝ＡＥｎｃ（Ｐｉ，ｘｉ）を生成する処理は、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成することの例である。
【００４７】
本実施の形態で使用している属性ベース暗号方式では、票情報ｘｉを、ある条件（属性）に合致するクライアント端末のみが復号できるように暗号化できる。その条件の指定が、アクセス構造Ｐｉに該当する。
【００４８】
広告配信システムの例において、アクセス構造Ｐｉは、例えば、広告主毎に広告の配信を許可するか否かを示す情報に相当する。この場合、広告の配信を許可された広告主の広告配信端末（クライアント端末）のみが投票情報ｃｉを復号できる。例えば、広告配信端末Ａは、当該広告配信端末Ａが配信する広告を許可した投票情報ｃｉのみを復号できる。なお、本例では、広告主ではない閲覧側のクライアント端末は、全ての投票情報ｃｉを復号できるものとする。よって、広告主ではない閲覧側のクライアント端末は、ＳＫの更新を行うことができる。
【００４９】
ステップＳ１０８において、クライアント端末２０−ｉは、投票情報ｃｉを投票中継サーバ１０に送信する。
【００５０】
ステップＳ１０９において、投票中継サーバ１０はクライアント端末２０−ｉにクライアント端末群２０の投票情報全て｛ｃｋ｝ｋを送信する。これによりクライアント端末群２０における各クライアント端末が、全クライアント端末の投票情報（ｃ1，．,ｃｉ．．, ｃｎ）を取得する。
【００５１】
ステップＳ１１０において、クライアント端末２０−ｉの更新鍵生成部２５−ｉは、Ｓ１０９で受信した各投票情報から票情報を復元ｘｋ←ＡＤｅｃ（ｕｓｋｉ，ｃｋ）する。ただし、前述したように、クライアント端末２０−ｉにおいて復号許可されていない場合は正しく復号できない。つまり、前述した広告配信システムの例において、広告配信端末Ａは、全クライアント端末の投票情報（ｃ1，．,ｃｉ．．, ｃｎ）のうち、広告配信端末Ａの広告の配信を許可する投票情報のみを正しく復号できる。
【００５２】
次に、クライアント端末２０−ｉの更新鍵生成部２５−ｉは、得られた票情報｛ｘｋ｝ｋから秘密値ｆ´を計算する。このとき、正しく得られた票情報の総数がｔを超えた場合のみ、秘密値ｆ´は投票中継サーバ１０の発行した秘密ｆと一致する。クライアント端末２０−ｉの更新鍵生成部２５−ｉは、秘密値ｆが正しく得られた場合（つまり、正しく得られた票情報の総数がｔを超えた場合）、記憶部２３−ｉに格納した事前共有鍵ＳＫと、当該秘密値ｆとを入力として、鍵導出関数ＫＤＦから更新鍵ＳＫ１←ＫＤＦ（ＳＫ，ｆ）を発行する。なお、正しく得られた票情報の総数がｔを超えたことを把握することは、投票結果を得ることに相当し、更新鍵ＳＫ１←ＫＤＦ（ＳＫ，ｆ）を発行することは、投票結果に基づく処理を実行することの例である。仮に、正しく得られた票情報の総数がｔを超えない場合でも、そのことを把握することも投票結果を得ることに相当し、鍵を更新しないことも投票結果に基づく処理を実行することの例である。
【００５３】
ステップＳ１１１において、クライアント端末２０−ｉの更新鍵生成部２５−ｉは、記憶部２３−ｉにある事前共有鍵ＳＫを更新鍵ＳＫ１に更新する。
【００５４】
広告配信システムの例において、広告配信端末Ａは、広告の配信を許可したクライアント端末の数がｔより大きければ、ｔ個より多くの票情報を正しく復号できるので、更新鍵ＳＫ１を得ることができる。これにより、広告の配信を継続できる。
【００５５】
逆に、広告の配信を許可したクライアント端末がｔ個以下であれば、広告配信端末Ａは、ｔより多い票情報を正しく復号できないので、更新鍵ＳＫ１を得ることはできず、事前共有鍵ＳＫは更新されない。よって、広告の配信から排除される。
【００５６】
（第２の実施の形態）
次に、図面に基づいて第２の実施の形態を説明する。
【００５７】
＜システム構成＞
図８は、第２の実施の形態における投票システム２の構成例を示す図である。
【００５８】
図８に示すように、投票システム２は、投票中継サーバ１０、クライアント端末２０−１及び２０−２等の２以上のクライアント端末群２０等を含む。投票中継サーバ１０とクライアント端末群２０はネットワークを介して接続される。また、投票中継サーバ１０とクライアント端末群２０は公開鍵基盤等によって認証がなされているものとする。
【００５９】
投票中継サーバ１０は、投票を要求するクライアント端末群２０に事前共有鍵情報、ユーザ鍵及び票情報を送信し、クライアント端末群２０から投票情報を受信し、それらを送信する装置である。
【００６０】
クライアント端末群２０における各クライアント端末２０−ｉは、投票中継サーバ１０によって、投票サービスを受けることのできる装置である。
【００６１】
＜装置構成＞
図９は、投票中継サーバ１０の構成を示す図である。図９に示すように、投票中継サーバ１０は、入力部１１、出力部１２、票情報生成部１３、ユーザ鍵生成部１４、事前共有鍵情報生成部１５を有する。
【００６２】
入力部１１は、個々のクライアント端末から暗号化された投票情報を受信し、入力する。出力部１２は、票情報を送信するとともに、個々のクライアント端末から受信した投票情報群をクライアント端末群２０にブロードキャストで送信する。また、出力部１２は、事前共有鍵情報とユーザ鍵を送信する。票情報生成部１３は、閾値ｔの秘密分散法により票情報を生成する。ユーザ鍵生成部１４はユーザ鍵を生成し、事前共有鍵情報生成部１５は事前共有鍵情報を生成する。
【００６３】
図１０は、クライアント端末２０−ｉの構成を示す図である。図１０に示すように、クライアント端末２０−ｉは、入力部２１−ｉ、出力部２２−ｉ、記憶部２３−ｉ、投票情報生成部２４−ｉ、更新鍵生成部２５−ｉ、事前共有鍵生成部２６−ｉを有する。
【００６４】
入力部２１−ｉは、投票中継サーバ１０から事前共有鍵情報とユーザ鍵を受信し、入力する。また、入力部２１−ｉは、投票中継サーバ１０から票情報、投票情報群を受信し、入力する。出力部２２−ｉは、投票情報を投票中継サーバ１０に送信する。記憶部２３−ｉは、事前共有鍵情報、事前共有鍵、及びユーザ鍵を格納する。投票情報生成部２４−ｉは、票情報から投票情報を生成する。更新鍵生成部２５−ｉは、投票中継サーバ１０から受信する投票情報群に基づいて事前共有鍵の更新を行う。事前共有鍵生成部２６−ｉは、事前共有鍵情報から事前共有鍵を生成する。
【００６５】
＜適用例＞
本実施の形態における投票システム２の適用先は特に限定されない。投票により参加者を排除することを利用するシステムであればどのような分野のものにも適用可能である。
【００６６】
第１の実施の形態と同様、投票システム２の適用先の一例として、アドネットワーク（広告配信システム）がある。
【００６７】
図１１は、投票システム２を広告配信システムに適用した場合における当該広告配信システムの構成例を示す図である。図１１に示すように、アドサーバ１０Ａが、投票中継サーバの機能を含むように構成される。アドサーバ１０Ａを広告配信サーバ１０Ａと称しても良い。クライアント端末群２０は、広告主の端末である広告配信端末、及び、広告主により提供される広告を閲覧するユーザの端末を含む。図１１では、一例として、クライアント端末２０−１は広告配信端末Ａであるとする。なお、広告配信端末の数は１つに限られず複数であってもよい。なお、広告を閲覧するユーザは、クライアント端末でメディア（Ｗｅｂサイト）にアクセスし広告を閲覧するが、図１１は、本発明に関わる装置として、アドサーバ１０Ａ、及びクライアント端末群２０を示している。
【００６８】
＜システムの動作例＞
以下、第２の実施の形態の投票システム２において実行される処理手順について説明する。以下の投票システム１の処理手順の説明において、一例として、広告配信システムでの動作例を適宜説明する。
【００６９】
図１２は、第２の実施の形態における処理手順の一例を説明するためのシーケンス図である。この例において、クライアント端末の端末の総数はｎ（ｎは２以上の整数）とする。図１２では、図示の便宜上、クライアント端末群２０におけるクライアント端末２０−ｉのみを示している。クライアント端末２０−ｉ以外のクライアント端末についても、クライアント端末２０−ｉにおける処理と同様の処理が行われる。
【００７０】
図１２に示す例では、ステップＳ２０１〜Ｓ２０４が実行される場合の例を示しているが、事前にステップＳ２０１〜Ｓ２０４が実行されていれば、投票システム２はＳ２０５〜Ｓ２１１のみを実行すればよい。
【００７１】
ステップＳ２０１において、投票中継サーバ１０の事前共有鍵情報生成部１５は事前共有鍵情報ｉｎｉｔを生成する。
【００７２】
ステップＳ２０２において、投票中継サーバ１０のユーザ鍵生成部１４はユーザ鍵｛ｕｓｋｋ｝ｋを生成する。第１の実施の形態と同様に、ユーザ鍵の生成には属性ベース暗号アルゴリズムＡＢＥ＝｛Ｓｅｔｕｐ，Ｄｅｒ，ＡＥｎｃ，ＡＤｅｃ｝を使用する。
【００７３】
ユーザ鍵は、各クライアント端末に対して生成されるものであり、クライアント端末２０−ｉに対するユーザ鍵をｕｓｋｉと表す。本実施の形態では、ｎ個のクライアント端末が存在するので、ｎ個のユーザ鍵が生成される。
【００７４】
ステップＳ２０３において、投票中継サーバ１０はクライアント端末２０−ｉへ事前共有鍵情報ｉｎｉｔ及びユーザ鍵ｕｓｋｉを暗号化通信により送信する。
【００７５】
ステップＳ２０４において、クライアント端末２０−ｉの事前共有鍵生成部２０−ｉは、事前共有鍵情報ｉｎｉｔを入力として、多者鍵配布関数ＭＫＤから投票中継サーバ１０に秘匿したまま事前共有鍵ＳＫを生成する。多者鍵配布には例えば（Kazuki Yoneyama, Reo Yoshida, Yuto Kawahara, Tetsutaro Kobayashi, Hitoshi Fuji, Tomohide Yamamoto, Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction, ProvSec (2016)）を使用する。生成された事前共有鍵ＳＫと、ユーザ鍵ｕｓｋｉを記憶部２３−ｉに格納する。広告配信システムの例における、事前共有鍵ＳＫの役割は第１の実施の形態で説明したとおりである。
【００７６】
ステップＳ２０５において、投票中継サーバ１０の票情報生成部１３は、秘密値ｆ及び票情報｛ｘｋ｝ｋを生成する。｛ｘｋ｝ｋはｆの分散データである。秘密分散の閾値はｔとする。票情報は、例えば、クライアント端末の個数であるｎ個生成される。クライアント端末２０−ｉに送られる票情報をｘｉと表す。
【００７７】
ステップＳ２０６において、投票中継サーバ１０はクライアント端末２０−ｉへ票情報ｘｉを暗号化通信により送信する。
【００７８】
ステップＳ２０７において、クライアント端末２０−ｉの投票情報生成部２４−ｉは、投票情報ｃｉ＝ＡＥｎｃ（Ｐｉ，ｘｉ）を生成する。アクセス構造Ｐｉはｘｉを復号許可するクライアント端末の指定を行う。投票情報ｃｉ＝ＡＥｎｃ（Ｐｉ，ｘｉ）を生成する処理は、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成することの例である。広告配信システムの例におけるアクセス構造Ｐｉは、第１の実施の形態で説明したとおりである。
【００７９】
ステップＳ２０８において、クライアント端末２０−ｉは投票情報ｃｉを事前共有鍵ＳＫを用いて暗号化Ｅｎｃ（ＳＫ，ｃｉ）し、投票中継サーバ１０に送信する。ただし、Ｅｎｃは共通鍵暗号方式による暗号化である。
【００８０】
ステップＳ２０９において、投票中継サーバ１０はクライアント端末２０−ｉに対し、クライアント端末群２０の暗号化投票情報全て｛Ｅｎｃ（ＳＫ，ｃｋ）｝ｋを送信する。これによりクライアント端末群２０における各クライアント端末が、全クライアント端末の投票情報（Ｅｎｃ（ＳＫ，ｃ１），．, Ｅｎｃ（ＳＫ，ｃｉ）．．, Ｅｎｃ（ＳＫ，ｃｎ））を取得する。
【００８１】
ステップＳ２１０において、クライアント端末２０−ｉの更新鍵生成部２５−ｉは、Ｓ２０９で受信した各投票情報をＳＫを用いて復号するとともに、復号した各投票情報から票情報を復元ｘｋ←ＡＤｅｃ（ｕｓｋｉ，ｃｋ）する。ただし、クライアント端末２０−ｉにおいて復号許可されていない場合は正しく復号できない。
【００８２】
次に、クライアント端末２０−ｉの更新鍵生成部２５−ｉは、得られた票情報｛ｘｋ｝ｋから秘密値ｆ´を計算する。このとき、正しく得られた票情報の総数がｔを超えた場合のみ、秘密値ｆ´は投票中継サーバ１０の発行した秘密値ｆと一致する。クライアント端末２０−ｉの更新鍵生成部２５−ｉは、秘密値ｆが正しく得られた場合（つまり、正しく得られた票情報の総数がｔを超えた場合）、記憶部２３−ｉに格納した事前共有鍵ＳＫと、当該秘密値ｆを入力として、鍵導出関数ＫＤＦから更新鍵ＳＫ１←ＫＤＦ（ＳＫ，ｆ）を発行する。なお、正しく得られた票情報の総数がｔを超えたことを把握することは、投票結果を得ることに相当し、更新鍵ＳＫ１←ＫＤＦ（ＳＫ，ｆ）を発行することは、投票結果に基づく処理を実行することの例である。仮に、正しく得られた票情報の総数がｔを超えない場合でも、そのことを把握することは投票結果を得ることに相当し、鍵を更新しないことも投票結果に基づく処理を実行することの例である。
【００８３】
ステップＳ２１１において、クライアント端末２０−ｉの更新鍵生成部２５−ｉは、記憶部２３−ｉにある事前共有鍵ＳＫを更新鍵ＳＫ１に更新する。広告配信システムでの例は第１の実施の形態と同様である。
【００８４】
（実施の形態のまとめ）
以上、説明したように、本実施の形態によれば、投票中継サーバと複数のクライアント端末とを含む投票システムであって、前記投票中継サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、各クライアント端末が、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信し、前記投票中継サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、各クライアント端末は、前記投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行することを特徴とする投票システムが提供される。
【００８５】
また、本実施の形態によれば、投票中継サーバと複数のクライアント端末とを含む投票システムにおける投票中継サーバであって、秘密情報を分散させたデータである複数の票情報を生成する生成手段と、票情報を各クライアント端末に送信する送信手段と、所定の条件を満たす場合に復号できるように票情報を暗号化することにより得られた投票情報を、各クライアント端末から受信する受信手段と、を備え、前記送信手段は、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信することを特徴とする投票中継サーバが提供される。
【００８６】
票情報生成部１３は生成手段の例であり、出力部１２は送信手段の例であり、入力部１１は受信手段の例である。
【００８７】
また、本実施の形態によれば、投票中継サーバと複数のクライアント端末とを含む投票システムにおけるクライアント端末であって、秘密情報を分散させたデータである複数の票情報のうちの１つの票情報を前記投票中継サーバから受信する受信手段と、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信する送信手段と、各クライアント端末から送信された投票情報からなる投票情報群を前記投票中継サーバから受信し、当該投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行する処理手段とを備えることを特徴とするクライアント端末が提供される。
【００８８】
入力部２１−ｉは受信手段の例である。投票情報生成部２４−ｉと出力部２２−ｉは送信手段の例であり、更新鍵生成部２５−ｉと入力部２１−ｉは処理手段の例である。
【００８９】
また、本実施の形態によれば、投票中継サーバと複数のクライアント端末とを含む投票システムにより実行される投票方法であって、前記投票中継サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、各クライアント端末が、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信し、前記投票中継サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、各クライアント端末は、前記投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行することを特徴とする投票方法が提供される。
【００９０】
また、本実施の形態によれば、広告配信サーバと複数のクライアント端末とを含む広告配信システムであって、前記広告配信サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、各クライアント端末が、広告の配信許否に関する所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記広告配信サーバに送信し、前記広告配信サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、各クライアント端末は、前記投票情報群から復号される票情報の数が所定閾値を超える場合に、前記秘密情報を取得し、当該秘密情報に基づいて、広告配信のための共有鍵を更新することを特徴とする広告配信システムが提供される。
【００９１】
また、本実施の形態によれば、コンピュータを、投票中継サーバにおける各手段として機能させるためのプログラム、及び、コンピュータを、クライアント端末における各手段として機能させるためのプログラムが提供される。
【００９２】
以上説明した技術により、サーバを介するＥｎｄ  ｔｏ  Ｅｎｄの暗号化通信において、サーバ側に情報を秘匿したまま参加者を排除することが可能となる。
【００９３】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００９４】
１、２  投票システム
１０  投票中継サーバ
１０Ａ  アドサーバ
２０  クライアント端末群
２０−１〜２０−ｎ  クライアント端末
３０  秘匿サーバ
１１〜１５  投票中継サーバの構成部
２１−ｉ〜２６−ｉ  クライアント端末２０−ｉの構成部
３１〜３４  秘匿サーバの構成部
Ｓ１０１〜Ｓ１１１  投票システム１のステップ
Ｓ２０１〜Ｓ２１１  投票システム２のステップ
１５０  ドライブ装置
１５１  記録媒体
１５２  補助記憶装置
１５３  メモリ装置
１５４  ＣＰＵ
１５５  インターフェース装置
１５６  表示装置
１５７  入力装置
【図１】
2019208140.tif 000003
【図２】
2019208140.tif 000004
【図３】
2019208140.tif 000005
【図４】
2019208140.tif 000006
【図５】
2019208140.tif 000007
【図６】
2019208140.tif 000008
【図７】
2019208140.tif 000009
【図８】
2019208140.tif 000010
【図９】
2019208140.tif 000011
【図１０】
2019208140.tif 000012
【図１１】
2019208140.tif 000013
【図１２】
2019208140.tif 000014