特許第6965832号(P6965832)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許6965832投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム
<>
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000002
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000003
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000004
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000005
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000006
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000007
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000008
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000009
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000010
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000011
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000012
  • 特許6965832-投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6965832
(24)【登録日】2021年10月25日
(45)【発行日】2021年11月10日
(54)【発明の名称】投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム
(51)【国際特許分類】
   H04L 9/30 20060101AFI20211028BHJP
   G06Q 50/10 20120101ALI20211028BHJP
【FI】
   H04L9/00 663Z
   G06Q50/10
【請求項の数】7
【全頁数】17
(21)【出願番号】特願2018-102629(P2018-102629)
(22)【出願日】2018年5月29日
(65)【公開番号】特開2019-208140(P2019-208140A)
(43)【公開日】2019年12月5日
【審査請求日】2020年8月19日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】金城 皓羽
(72)【発明者】
【氏名】奥田 哲矢
(72)【発明者】
【氏名】菊池 亮
【審査官】 松平 英
(56)【参考文献】
【文献】 特表2010−509808(JP,A)
【文献】 米国特許出願公開第2010/0185863(US,A1)
【文献】 瀧本 克真, 外3名著,秘密分散法と属性ベース暗号を用いたコンテンツ保護法,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2013年07月11日,第113巻, 第138号,pp.199-204.
【文献】 奥 雅和, 外3名著,秘密分散法と属性ベース暗号を組み合わせたアクセス制御可能なデータ管理システム,コンピュータセキュリティシンポジウム2016(CSS2016),日本,一般社団法人情報処理学会,2016年10月04日,第2016巻, 第2号,pp.433-438.
【文献】 YONEYAMA,Kazuki et al.,Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction,ProvSec 2016,2016年10月13日,pp.207-226.,https://link.springer.com/chapter/10.1007/978-3-319-47422-9_12,[retrieved on 14 June 2019]
(58)【調査した分野】(Int.Cl.,DB名)
G06F12/14
19/00
21/00−21/88
G06Q10/00−10/10
30/00−30/08
50/00−50/20
50/26−99/00
G09C 1/00−5/00
H04K 1/00−3/00
H04L 9/00−9/38
(57)【特許請求の範囲】
【請求項1】
投票中継サーバと複数のクライアント端末とを含む投票システムであって、
前記投票中継サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、
各クライアント端末が、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信し、
前記投票中継サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、
各クライアント端末は、前記投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行する
ことを特徴とする投票システム。
【請求項2】
投票中継サーバと複数のクライアント端末とを含む投票システムにおける投票中継サーバであって、
秘密情報を分散させたデータである複数の票情報を生成する生成手段と、
票情報を各クライアント端末に送信する送信手段と、
所定の条件を満たす場合に復号できるように票情報を暗号化することにより得られた投票情報を、各クライアント端末から受信する受信手段と、を備え、
前記送信手段は、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信する
ことを特徴とする投票中継サーバ。
【請求項3】
投票中継サーバと複数のクライアント端末とを含む投票システムにおけるクライアント端末であって、
秘密情報を分散させたデータである複数の票情報のうちの1つの票情報を前記投票中継サーバから受信する受信手段と、
所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信する送信手段と、
各クライアント端末から送信された投票情報からなる投票情報群を前記投票中継サーバから受信し、当該投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行する処理手段と
を備えることを特徴とするクライアント端末。
【請求項4】
投票中継サーバと複数のクライアント端末とを含む投票システムにより実行される投票方法であって、
前記投票中継サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、
各クライアント端末が、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信し、
前記投票中継サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、
各クライアント端末は、前記投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行する
ことを特徴とする投票方法。
【請求項5】
広告配信サーバと複数のクライアント端末とを含む広告配信システムであって、
前記広告配信サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、
各クライアント端末が、広告の配信許否に関する所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記広告配信サーバに送信し、
前記広告配信サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、
各クライアント端末は、前記投票情報群から復号される票情報の数が所定閾値を超える場合に、前記秘密情報を取得し、当該秘密情報に基づいて、広告配信のための共有鍵を更新する
ことを特徴とする広告配信システム。
【請求項6】
コンピュータを、請求項2に記載の投票中継サーバにおける各手段として機能させるためのプログラム。
【請求項7】
コンピュータを、請求項3に記載のクライアント端末における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号通信技術に関するものである。
【背景技術】
【0002】
近年、インターネット広告として、アドネットワークが注目されている。アドネットワークは、広告主とユーザ端末との間に広告配信用のサーバが介在しており、広告出稿におけるコストの削減及びターゲティング等の効率的な広告出稿を可能にしている。
【0003】
一方、暗号通信技術では、DMKD(非特許文献1を参照)等の手法を用いたEnd to End暗号化が注目されている。アドネットワークのようなサーバが仲介する通信において、ユーザエンドで暗号化が施されていることへの需要は急速に高まっている。
【0004】
更に、端末紛失時等に利用される、特定の端末を通信グループから排除する暗号通信技術としては、共有鍵の再配布を行う手法が一般的であり、例えば排他的鍵共有方法(特許文献1を参照)がある。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献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)
【特許文献】
【0006】
【特許文献1】特開2000-196581号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
アドネットワークには、子供向けのサイトに不適切なコンテンツを含む広告等を配信する広告主(ここでは不正な広告主と呼ぶ)が存在することがある。アドネットワークのような多対多通信における不正な広告主を排除する手段として、上述した排他的鍵共有方式等が考えられる。
【0008】
しかし、今後End to End暗号化をアドネットワークが要求した際に、この手法はサーバ側に報告者、除外対象者がわかる点で課題になりうる。不正な広告主の排除において、サーバ側に情報を秘匿したまま、不正な広告主の排除を制御することは容易ではない。なお、上記のような、サーバ側に情報を秘匿したまま通信の参加者を排除するという課題は、アドネットワークに限らずに存在し得るものである。
【0009】
本発明は、上記の点に鑑みてなされたものであり、サーバを介するEnd to Endの暗号化通信において、サーバ側に情報を秘匿したまま参加者を排除することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
開示の技術によれば、投票中継サーバと複数のクライアント端末とを含む投票システムであって、
前記投票中継サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、
各クライアント端末が、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信し、
前記投票中継サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、
各クライアント端末は、前記投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行する
ことを特徴とする投票システムが提供される。
【発明の効果】
【0011】
開示の技術によれば、サーバを介するEnd to Endの暗号化通信において、サーバ側に情報を秘匿したまま参加者を排除することを可能とする技術が提供される。
【図面の簡単な説明】
【0012】
図1】第1の実施の形態における投票システムの構成例を示す図である。
図2】第1の実施の形態における投票中継サーバ10の構成例を示す図である。
図3】第1の実施の形態におけるクライアント端末20−iの構成例を示す図である。
図4】第1の実施の形態における秘匿サーバ30の構成例を示す図である。
図5】装置のハードウェア構成例を示す図である。
図6】適用例を示す図である。
図7】第1の実施の形態における処理手順の一例を説明するためのシーケンス図である。
図8】第2の実施の形態における投票システムの構成例を示す図である。
図9】第2の実施の形態における投票中継サーバ10の構成例を示す図である。
図10】第2の実施の形態におけるクライアント端末20−iの構成例を示す図である。
図11】適用例を示す図である。
図12】第2の実施の形態における処理手順の一例を説明するためのシーケンス図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態として、第1の実施の形態と第2の実施の形態を説明する。
【0014】
(第1の実施の形態)
まず、図面に基づいて第1の実施の形態を説明する。
【0015】
<システム構成>
図1は、第1の実施の形態における投票システム1の構成例を示す図である。図1に示すように、投票システム1は、投票中継サーバ10、クライアント端末20−1及び20−2等の2以上のクライアント端末群20、及び秘匿サーバ30等を含む。
【0016】
投票中継サーバ10とクライアント端末群20、及び秘匿サーバ30とクライアント端末群20はネットワークを介して接続される。また、投票中継サーバ10とクライアント端末群20との間では公開鍵基盤等によって認証がなされており、また、秘匿サーバ30とクライアント端末群20との間も公開鍵基盤等によって認証がなされているものとする。
【0017】
投票中継サーバ10は、投票を要求するクライアント端末群20に票情報を送信し、クライアント端末群20から投票情報を受信し、それらを送信する装置である。
【0018】
クライアント端末群20における各クライアント端末20−iは、投票中継サーバ10及び秘匿サーバ30によって、投票サービスを受けることのできる装置である。
【0019】
秘匿サーバ30は、投票を要求するクライアント端末群20に事前共有鍵及びユーザ鍵を送信する装置である。
【0020】
<装置構成>
図2は、投票中継サーバ10の構成を示す図である。図2に示すとおり、投票中継サーバ10は、入力部11、出力部12、及び票情報生成部13を有する。
【0021】
入力部11は、個々のクライアント端末から投票情報を受信し、入力する。出力部12は、票情報を送信するとともに、個々のクライアント端末から受信した投票情報群をクライアント端末群20にブロードキャストで送信する。票情報生成部13は、閾値tの秘密分散法により票情報を生成する。
【0022】
図3は、クライアント端末20−iの構成を示す図である。図3に示すとおり、クライアント端末20−iは、入力部21−i、出力部22−i、記憶部23−i、投票情報生成部24−i、及び更新鍵生成部25−iを有する。クライアント端末群20における各クライアント端末は同様の構成を備える。
【0023】
入力部21−iは、秘匿サーバ30から事前共有鍵とユーザ鍵を受信し、入力する。また、入力部21−iは、投票中継サーバから票情報、投票情報群を受信し、入力する。出力部22−iは、投票情報を投票中継サーバ10に送信する。記憶部23−iは、事前共有鍵及びユーザ鍵を格納する。投票情報生成部24−iは、票情報から投票情報を生成する。更新鍵生成部25−iは、投票中継サーバ10から受信する投票情報群に基づいて事前共有鍵の更新を行う。
【0024】
図4は、秘匿サーバ30の構成を示す図である。図4に示すとおり、秘匿サーバ30は、入力部31、出力部32、ユーザ鍵生成部33、及び事前共有鍵生成部34を有する。
【0025】
入力部31は、鍵生成に必要な情報等を入力する。出力部32は、事前共有鍵とユーザ鍵を送信する。ユーザ鍵生成部33はユーザ鍵を生成し、事前共有鍵生成部34は事前共有鍵を生成する。
【0026】
上述した各装置(投票中継サーバ10、クライアント端末20−i、秘匿サーバ30のそれぞれ)は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。
【0027】
すなわち、当該装置は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0028】
図5は、本実施の形態における上記コンピュータのハードウェア構成例を示す図である。図5のコンピュータは、それぞれバスBで相互に接続されているドライブ装置150、補助記憶装置152、メモリ装置153、CPU154、インタフェース装置155、表示装置156、及び入力装置157等を有する。
【0029】
当該コンピュータでの処理を実現するプログラムは、例えば、CD−ROM又はメモリカード等の記録媒体151によって提供される。プログラムを記憶した記録媒体151がドライブ装置150にセットされると、プログラムが記録媒体151からドライブ装置150を介して補助記憶装置152にインストールされる。但し、プログラムのインストールは必ずしも記録媒体151より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置152は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0030】
メモリ装置153は、プログラムの起動指示があった場合に、補助記憶装置152からプログラムを読み出して格納する。CPU154は、メモリ装置153に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置155は、ネットワークに接続するためのインタフェースとして用いられる。表示装置156はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置157はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
【0031】
なお、各装置が上記のようなコンピュータとプログラムで実現可能である点は、第2の実施の形態でも同様である。
【0032】
<適用例>
本実施の形態における投票システム1の適用先は特に限定されない。投票により参加者を排除することを利用するシステムであればどのような分野のものにも適用可能である。
【0033】
投票システム1の適用先の一例として、アドネットワークがある。前述したとおり、アドネットワークは、広告主とユーザ端末との間に広告配信用のサーバ(アドサーバと呼ぶ)が介在しており、広告主が広告をアドサーバに入稿することで、アドネットワーク傘下のメディア(Webサイト)に出稿することができる。なお、ここではアドネットワークを広告配信システムと呼ぶ。
【0034】
図6は、投票システム1を広告配信システムに適用した場合における当該広告配信システムの構成例を示す図である。図6に示すように、アドサーバ10Aが、投票中継サーバの機能を含むように構成される。アドサーバ10Aを広告配信サーバ10Aと称しても良い。クライアント端末群20は、広告主の端末である広告配信端末、及び、広告主により提供される広告を閲覧するユーザの端末を含む。図6では、一例として、クライアント端末20−1は広告配信端末Aであるとする。なお、広告配信端末の数は1つに限られず複数であってもよい。なお、広告を閲覧するユーザは、クライアント端末でメディア(Webサイト)にアクセスし広告を閲覧するが、図6は、本発明に関わる装置として、アドサーバ10A、クライアント端末群20、及び秘匿サーバ30を示している。
【0035】
<システムの動作例>
以下、第1の実施の形態の投票システム1において実行される処理手順について説明する。以下の投票システム1の処理手順の説明において、一例として、広告配信システムでの動作例を適宜説明する。
【0036】
図7は、第1の実施の形態における処理手順の一例を説明するためのシーケンス図である。この例において、クライアント端末の総数はnとする。図7では、図示の便宜上、クライアント端末群20におけるクライアント端末20−iのみを示している。クライアント端末20−i以外のクライアント端末についても、クライアント端末20−iにおける処理と同様の処理が行われる。
【0037】
図7に示す例では、ステップS101〜S104が実行される場合の例を示しているが、事前にステップS101〜S104が実行されていれば、投票システム1はS105〜S111のみを実行すればよい。
【0038】
ステップS101において、秘匿サーバ30の事前共有鍵生成部34は事前共有鍵SKを生成する。
【0039】
ステップS102において、秘匿サーバ30のユーザ鍵生成部33はユーザ鍵{uskを生成する。ユーザ鍵の生成には属性ベース暗号アルゴリズムABE={Setup,Der,AEnc,ADec}、例えば(Vipul Goyal, Omkant Pandey, Amit Sahai, Brent Waters, Attribute-Based Encryption for Fine-Grained Access Control of Encrypted Data, CCS(2006))を使用する。
【0040】
ユーザ鍵は、各クライアント端末に対して生成されるものであり、クライアント端末20−iに対するユーザ鍵をuskと表す。本実施の形態では、n個のクライアント端末が存在するので、n個のユーザ鍵が生成される。
【0041】
ステップS103において、秘匿サーバ30はクライアント端末20−iへ事前共有鍵SK及びユーザ鍵uskを暗号化通信により送信する。
【0042】
ステップS104において、クライアント端末20−iは、事前共有鍵SKとユーザ鍵uskを記憶部23−iに格納する。
【0043】
なお、広告配信システムの例において、事前共有鍵SKは、例えば、広告主のクライアント端末(広告配信端末)と広告を閲覧するユーザのクライアント端末との間で共有される共有鍵であり、当該共有鍵SKを有する広告主のみが広告を出稿でき、かつ、当該共有鍵SKを有するユーザのみが広告を閲覧できる。従って、例えば、クライアント端末20−1(広告配信端末A)以外のクライアント端末群における事前共有鍵SKが別の共有鍵に更新され、クライアント端末20−1(広告配信端末A)の事前共有鍵SKが更新されない場合、クライアント端末20−1(広告配信端末A)は、広告の出稿から排除されることになる。つまり、この場合、広告配信端末Aから配信される不正な(望ましくない)広告が排除されることになる。
【0044】
ステップS105において、投票中継サーバ10の票情報生成部13は、秘密値f及び票情報{xを生成する。{xはfの分散データであり、生成方法は例えば(Adi Shamir, How to Share a Secret, Communications of the ACM, 1979)を使用する。また、秘密分散の閾値はtとする。なお本願で使用する秘密分散は閾値秘密分散である。票情報は、例えば、クライアント端末の個数であるn個生成される。クライアント端末20−iに送られる票情報をxと表す。
【0045】
ステップS106において、投票中継サーバ10はクライアント端末20−iへ票情報xを暗号化通信により送信する。
【0046】
ステップS107において、クライアント端末20−iの投票情報生成部24−iは、投票情報c=AEnc(P,x)を生成する。つまり、前述した属性ベース暗号アルゴリズムを用いて、票情報xをアクセス構造(アクセス権)に基づき暗号化する。暗号化した情報が投票情報cである。アクセス構造Pはxを復号許可するクライアント端末の指定を行う。投票情報c=AEnc(P,x)を生成する処理は、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成することの例である。
【0047】
本実施の形態で使用している属性ベース暗号方式では、票情報xを、ある条件(属性)に合致するクライアント端末のみが復号できるように暗号化できる。その条件の指定が、アクセス構造Pに該当する。
【0048】
広告配信システムの例において、アクセス構造Pは、例えば、広告主毎に広告の配信を許可するか否かを示す情報に相当する。この場合、広告の配信を許可された広告主の広告配信端末(クライアント端末)のみが投票情報cを復号できる。例えば、広告配信端末Aは、当該広告配信端末Aが配信する広告を許可した投票情報cのみを復号できる。なお、本例では、広告主ではない閲覧側のクライアント端末は、全ての投票情報cを復号できるものとする。よって、広告主ではない閲覧側のクライアント端末は、SKの更新を行うことができる。
【0049】
ステップS108において、クライアント端末20−iは、投票情報cを投票中継サーバ10に送信する。
【0050】
ステップS109において、投票中継サーバ10はクライアント端末20−iにクライアント端末群20の投票情報全て{cを送信する。これによりクライアント端末群20における各クライアント端末が、全クライアント端末の投票情報(c1,.,c.., c)を取得する。
【0051】
ステップS110において、クライアント端末20−iの更新鍵生成部25−iは、S109で受信した各投票情報から票情報を復元x←ADec(usk,c)する。ただし、前述したように、クライアント端末20−iにおいて復号許可されていない場合は正しく復号できない。つまり、前述した広告配信システムの例において、広告配信端末Aは、全クライアント端末の投票情報(c1,.,c.., c)のうち、広告配信端末Aの広告の配信を許可する投票情報のみを正しく復号できる。
【0052】
次に、クライアント端末20−iの更新鍵生成部25−iは、得られた票情報{xから秘密値f´を計算する。このとき、正しく得られた票情報の総数がtを超えた場合のみ、秘密値f´は投票中継サーバ10の発行した秘密fと一致する。クライアント端末20−iの更新鍵生成部25−iは、秘密値fが正しく得られた場合(つまり、正しく得られた票情報の総数がtを超えた場合)、記憶部23−iに格納した事前共有鍵SKと、当該秘密値fとを入力として、鍵導出関数KDFから更新鍵SK←KDF(SK,f)を発行する。なお、正しく得られた票情報の総数がtを超えたことを把握することは、投票結果を得ることに相当し、更新鍵SK←KDF(SK,f)を発行することは、投票結果に基づく処理を実行することの例である。仮に、正しく得られた票情報の総数がtを超えない場合でも、そのことを把握することも投票結果を得ることに相当し、鍵を更新しないことも投票結果に基づく処理を実行することの例である。
【0053】
ステップS111において、クライアント端末20−iの更新鍵生成部25−iは、記憶部23−iにある事前共有鍵SKを更新鍵SKに更新する。
【0054】
広告配信システムの例において、広告配信端末Aは、広告の配信を許可したクライアント端末の数がtより大きければ、t個より多くの票情報を正しく復号できるので、更新鍵SKを得ることができる。これにより、広告の配信を継続できる。
【0055】
逆に、広告の配信を許可したクライアント端末がt個以下であれば、広告配信端末Aは、tより多い票情報を正しく復号できないので、更新鍵SKを得ることはできず、事前共有鍵SKは更新されない。よって、広告の配信から排除される。
【0056】
(第2の実施の形態)
次に、図面に基づいて第2の実施の形態を説明する。
【0057】
<システム構成>
図8は、第2の実施の形態における投票システム2の構成例を示す図である。
【0058】
図8に示すように、投票システム2は、投票中継サーバ10、クライアント端末20−1及び20−2等の2以上のクライアント端末群20等を含む。投票中継サーバ10とクライアント端末群20はネットワークを介して接続される。また、投票中継サーバ10とクライアント端末群20は公開鍵基盤等によって認証がなされているものとする。
【0059】
投票中継サーバ10は、投票を要求するクライアント端末群20に事前共有鍵情報、ユーザ鍵及び票情報を送信し、クライアント端末群20から投票情報を受信し、それらを送信する装置である。
【0060】
クライアント端末群20における各クライアント端末20−iは、投票中継サーバ10によって、投票サービスを受けることのできる装置である。
【0061】
<装置構成>
図9は、投票中継サーバ10の構成を示す図である。図9に示すように、投票中継サーバ10は、入力部11、出力部12、票情報生成部13、ユーザ鍵生成部14、事前共有鍵情報生成部15を有する。
【0062】
入力部11は、個々のクライアント端末から暗号化された投票情報を受信し、入力する。出力部12は、票情報を送信するとともに、個々のクライアント端末から受信した投票情報群をクライアント端末群20にブロードキャストで送信する。また、出力部12は、事前共有鍵情報とユーザ鍵を送信する。票情報生成部13は、閾値tの秘密分散法により票情報を生成する。ユーザ鍵生成部14はユーザ鍵を生成し、事前共有鍵情報生成部15は事前共有鍵情報を生成する。
【0063】
図10は、クライアント端末20−iの構成を示す図である。図10に示すように、クライアント端末20−iは、入力部21−i、出力部22−i、記憶部23−i、投票情報生成部24−i、更新鍵生成部25−i、事前共有鍵生成部26−iを有する。
【0064】
入力部21−iは、投票中継サーバ10から事前共有鍵情報とユーザ鍵を受信し、入力する。また、入力部21−iは、投票中継サーバ10から票情報、投票情報群を受信し、入力する。出力部22−iは、投票情報を投票中継サーバ10に送信する。記憶部23−iは、事前共有鍵情報、事前共有鍵、及びユーザ鍵を格納する。投票情報生成部24−iは、票情報から投票情報を生成する。更新鍵生成部25−iは、投票中継サーバ10から受信する投票情報群に基づいて事前共有鍵の更新を行う。事前共有鍵生成部26−iは、事前共有鍵情報から事前共有鍵を生成する。
【0065】
<適用例>
本実施の形態における投票システム2の適用先は特に限定されない。投票により参加者を排除することを利用するシステムであればどのような分野のものにも適用可能である。
【0066】
第1の実施の形態と同様、投票システム2の適用先の一例として、アドネットワーク(広告配信システム)がある。
【0067】
図11は、投票システム2を広告配信システムに適用した場合における当該広告配信システムの構成例を示す図である。図11に示すように、アドサーバ10Aが、投票中継サーバの機能を含むように構成される。アドサーバ10Aを広告配信サーバ10Aと称しても良い。クライアント端末群20は、広告主の端末である広告配信端末、及び、広告主により提供される広告を閲覧するユーザの端末を含む。図11では、一例として、クライアント端末20−1は広告配信端末Aであるとする。なお、広告配信端末の数は1つに限られず複数であってもよい。なお、広告を閲覧するユーザは、クライアント端末でメディア(Webサイト)にアクセスし広告を閲覧するが、図11は、本発明に関わる装置として、アドサーバ10A、及びクライアント端末群20を示している。
【0068】
<システムの動作例>
以下、第2の実施の形態の投票システム2において実行される処理手順について説明する。以下の投票システム1の処理手順の説明において、一例として、広告配信システムでの動作例を適宜説明する。
【0069】
図12は、第2の実施の形態における処理手順の一例を説明するためのシーケンス図である。この例において、クライアント端末の端末の総数はn(nは2以上の整数)とする。図12では、図示の便宜上、クライアント端末群20におけるクライアント端末20−iのみを示している。クライアント端末20−i以外のクライアント端末についても、クライアント端末20−iにおける処理と同様の処理が行われる。
【0070】
図12に示す例では、ステップS201〜S204が実行される場合の例を示しているが、事前にステップS201〜S204が実行されていれば、投票システム2はS205〜S211のみを実行すればよい。
【0071】
ステップS201において、投票中継サーバ10の事前共有鍵情報生成部15は事前共有鍵情報initを生成する。
【0072】
ステップS202において、投票中継サーバ10のユーザ鍵生成部14はユーザ鍵{uskを生成する。第1の実施の形態と同様に、ユーザ鍵の生成には属性ベース暗号アルゴリズムABE={Setup,Der,AEnc,ADec}を使用する。
【0073】
ユーザ鍵は、各クライアント端末に対して生成されるものであり、クライアント端末20−iに対するユーザ鍵をuskと表す。本実施の形態では、n個のクライアント端末が存在するので、n個のユーザ鍵が生成される。
【0074】
ステップS203において、投票中継サーバ10はクライアント端末20−iへ事前共有鍵情報init及びユーザ鍵uskを暗号化通信により送信する。
【0075】
ステップS204において、クライアント端末20−iの事前共有鍵生成部20−iは、事前共有鍵情報initを入力として、多者鍵配布関数MKDから投票中継サーバ10に秘匿したまま事前共有鍵SKを生成する。多者鍵配布には例えば(Kazuki Yoneyama, Reo Yoshida, Yuto Kawahara, Tetsutaro Kobayashi, Hitoshi Fuji, Tomohide Yamamoto, Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction, ProvSec (2016))を使用する。生成された事前共有鍵SKと、ユーザ鍵uskを記憶部23−iに格納する。広告配信システムの例における、事前共有鍵SKの役割は第1の実施の形態で説明したとおりである。
【0076】
ステップS205において、投票中継サーバ10の票情報生成部13は、秘密値f及び票情報{xを生成する。{xはfの分散データである。秘密分散の閾値はtとする。票情報は、例えば、クライアント端末の個数であるn個生成される。クライアント端末20−iに送られる票情報をxと表す。
【0077】
ステップS206において、投票中継サーバ10はクライアント端末20−iへ票情報xを暗号化通信により送信する。
【0078】
ステップS207において、クライアント端末20−iの投票情報生成部24−iは、投票情報c=AEnc(P,x)を生成する。アクセス構造Pはxを復号許可するクライアント端末の指定を行う。投票情報c=AEnc(P,x)を生成する処理は、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成することの例である。広告配信システムの例におけるアクセス構造Pは、第1の実施の形態で説明したとおりである。
【0079】
ステップS208において、クライアント端末20−iは投票情報cを事前共有鍵SKを用いて暗号化Enc(SK,c)し、投票中継サーバ10に送信する。ただし、Encは共通鍵暗号方式による暗号化である。
【0080】
ステップS209において、投票中継サーバ10はクライアント端末20−iに対し、クライアント端末群20の暗号化投票情報全て{Enc(SK,c)}を送信する。これによりクライアント端末群20における各クライアント端末が、全クライアント端末の投票情報(Enc(SK,c),., Enc(SK,c).., Enc(SK,c))を取得する。
【0081】
ステップS210において、クライアント端末20−iの更新鍵生成部25−iは、S209で受信した各投票情報をSKを用いて復号するとともに、復号した各投票情報から票情報を復元x←ADec(usk,c)する。ただし、クライアント端末20−iにおいて復号許可されていない場合は正しく復号できない。
【0082】
次に、クライアント端末20−iの更新鍵生成部25−iは、得られた票情報{xから秘密値f´を計算する。このとき、正しく得られた票情報の総数がtを超えた場合のみ、秘密値f´は投票中継サーバ10の発行した秘密値fと一致する。クライアント端末20−iの更新鍵生成部25−iは、秘密値fが正しく得られた場合(つまり、正しく得られた票情報の総数がtを超えた場合)、記憶部23−iに格納した事前共有鍵SKと、当該秘密値fを入力として、鍵導出関数KDFから更新鍵SK←KDF(SK,f)を発行する。なお、正しく得られた票情報の総数がtを超えたことを把握することは、投票結果を得ることに相当し、更新鍵SK←KDF(SK,f)を発行することは、投票結果に基づく処理を実行することの例である。仮に、正しく得られた票情報の総数がtを超えない場合でも、そのことを把握することは投票結果を得ることに相当し、鍵を更新しないことも投票結果に基づく処理を実行することの例である。
【0083】
ステップS211において、クライアント端末20−iの更新鍵生成部25−iは、記憶部23−iにある事前共有鍵SKを更新鍵SKに更新する。広告配信システムでの例は第1の実施の形態と同様である。
【0084】
(実施の形態のまとめ)
以上、説明したように、本実施の形態によれば、投票中継サーバと複数のクライアント端末とを含む投票システムであって、前記投票中継サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、各クライアント端末が、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信し、前記投票中継サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、各クライアント端末は、前記投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行することを特徴とする投票システムが提供される。
【0085】
また、本実施の形態によれば、投票中継サーバと複数のクライアント端末とを含む投票システムにおける投票中継サーバであって、秘密情報を分散させたデータである複数の票情報を生成する生成手段と、票情報を各クライアント端末に送信する送信手段と、所定の条件を満たす場合に復号できるように票情報を暗号化することにより得られた投票情報を、各クライアント端末から受信する受信手段と、を備え、前記送信手段は、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信することを特徴とする投票中継サーバが提供される。
【0086】
票情報生成部13は生成手段の例であり、出力部12は送信手段の例であり、入力部11は受信手段の例である。
【0087】
また、本実施の形態によれば、投票中継サーバと複数のクライアント端末とを含む投票システムにおけるクライアント端末であって、秘密情報を分散させたデータである複数の票情報のうちの1つの票情報を前記投票中継サーバから受信する受信手段と、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信する送信手段と、各クライアント端末から送信された投票情報からなる投票情報群を前記投票中継サーバから受信し、当該投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行する処理手段とを備えることを特徴とするクライアント端末が提供される。
【0088】
入力部21−iは受信手段の例である。投票情報生成部24−iと出力部22−iは送信手段の例であり、更新鍵生成部25−iと入力部21−iは処理手段の例である。
【0089】
また、本実施の形態によれば、投票中継サーバと複数のクライアント端末とを含む投票システムにより実行される投票方法であって、前記投票中継サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、各クライアント端末が、所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記投票中継サーバに送信し、前記投票中継サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、各クライアント端末は、前記投票情報群から復号される票情報の数により投票結果を把握し、当該投票結果に基づく処理を実行することを特徴とする投票方法が提供される。
【0090】
また、本実施の形態によれば、広告配信サーバと複数のクライアント端末とを含む広告配信システムであって、前記広告配信サーバが、秘密情報を分散させたデータである複数の票情報を生成し、票情報を各クライアント端末に送信し、各クライアント端末が、広告の配信許否に関する所定の条件を満たす場合に復号できるように票情報を暗号化することにより投票情報を生成し、当該投票情報を前記広告配信サーバに送信し、前記広告配信サーバは、各クライアント端末から受信した投票情報からなる投票情報群を各クライアント端末に送信し、各クライアント端末は、前記投票情報群から復号される票情報の数が所定閾値を超える場合に、前記秘密情報を取得し、当該秘密情報に基づいて、広告配信のための共有鍵を更新することを特徴とする広告配信システムが提供される。
【0091】
また、本実施の形態によれば、コンピュータを、投票中継サーバにおける各手段として機能させるためのプログラム、及び、コンピュータを、クライアント端末における各手段として機能させるためのプログラムが提供される。
【0092】
以上説明した技術により、サーバを介するEnd to Endの暗号化通信において、サーバ側に情報を秘匿したまま参加者を排除することが可能となる。
【0093】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0094】
1、2 投票システム
10 投票中継サーバ
10A アドサーバ
20 クライアント端末群
20−1〜20−n クライアント端末
30 秘匿サーバ
11〜15 投票中継サーバの構成部
21−i〜26−i クライアント端末20−iの構成部
31〜34 秘匿サーバの構成部
S101〜S111 投票システム1のステップ
S201〜S211 投票システム2のステップ
150 ドライブ装置
151 記録媒体
152 補助記憶装置
153 メモリ装置
154 CPU
155 インターフェース装置
156 表示装置
157 入力装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12