【文献】
林 卓也,準同型暗号を用いた秘密計算とその応用,システム/制御/情報,日本,一般社団法人システム制御情報学会,第63巻 第2号,第22頁−第28頁
【文献】
一色 寿幸、肥後 春菜、森 健吾、尾花 賢、大木 哲史,ヒルクライミング攻撃に耐性を持つ効率的な秘匿生体認証方式,2017年 暗号と情報セキュリティシンポジウム(SCIS2017)予稿集 [USB] 2017年 暗号と情報セキュリティシンポジウム概要集,日本,社団法人電子情報通信学会,2017年 1月24日,第1頁−第7頁
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下、図面を参照して本開示の実施の形態について説明する。なお、以下の記載及び図面は、説明の明確化のため、適宜、省略及び簡略化がなされている。また、以下の各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。また、以下で示す具体的な数値等は、本開示の理解を容易とするための例示にすぎず、これに限定されるものではない。
【0015】
<実施の形態>
最初に、
図1を参照して、本実施の形態に係る電話会議システム1の構成について説明する。
図1は、本実施の形態に係る電話会議システム1の構成例を示す図である。
図1に示されるように、本実施の形態に係る電話会議システム1は、複数台の電話端末10−1〜10−N(Nは2以上の自然数)、及び、会議装置20を備えている。なお、以下の図面において、電話端末10−1〜10−Nは電話端末#n(n=1,・・・,N)と表記することがある。また、以下、どの電話端末10−1〜10−Nであるかを特定しない場合は、電話端末10と呼称することがある。
【0016】
各電話端末10は、電話会議に参加する端末である。各電話端末10は、準同型暗号を用いて話者の音声データを暗号化し、暗号化した音声データを会議装置20に送信する。
ここで、準同型暗号について、簡単に説明する。
準同型暗号は、2つの暗号文Enc(m1),Enc(m2)が与えられた場合に、平文や秘密鍵を用いることなく、Enc(m1+m2)やEnc(m1×m2)を計算できる性質を持つ暗号方式である。
【0017】
直感的に言えば、もしEncが加法に関して準同型性を有するものであれば、Enc(3)とEnc(2)からEnc(5)を計算でき、また、Encが乗法に関して準同型性を有するものであれば、Enc(3)とEnc(2)からEnc(6)を計算できる。
【0018】
本実施の形態においては、準同型暗号は、加法に関して準同型性を有する暗号であれば良い。そのため、準同型性暗号としては、加法のみが可能な加法準同型暗号、及び、加法と乗法の双方が可能な完全準同型暗号のいずれも適用可能である。また、加法準同型暗号の例としては、楕円ElGamel暗号を用いた加法準同型暗号が挙げられる。
【0019】
会議装置20は、各電話端末10からの音声データをミキシングする。ここで、各電話端末10は、話者の音声データを、準同型暗号を用いて暗号化している。そのため、会議装置20は、各電話端末10からの音声データを、暗号化されたままで、加算すること、すなわち、加算によりミキシングすることが可能となる。
【0020】
会議装置20は、暗号化されたままでミキシングした音声データを、各電話端末10に送信する。
各電話端末10は、暗号化されたままでミキシングされた音声データを、スピーカー等から音声出力する直前に復号する。
【0021】
したがって、本実施の形態においては、電話端末10と会議装置20間の経路上や会議装置20では、全て音声データが暗号化されたままとなる。よって、電話会議の秘匿性の向上を図ることができる。
【0022】
続いて、
図2を参照して、本実施の形態に係る電話端末10の構成について説明する。
図2は、本実施の形態に係る電話端末10の構成例を示すブロック図である。
図2に示されるように、本実施の形態に係る電話端末10は、マイク11、符号化部12、暗号化部13、通信部14、復号部15、音声処理部16、及びスピーカー17を備えている。
【0023】
マイク11は、話者の音声を集音する。
符号化部12は、マイク11により集音された話者の音声データを符号化し、符号化音声データを生成する。符号化部12は、例えば、符号化方式として、PCM(Pulse Code Modulation)方式を用いることが可能である。
【0024】
PCM方式は、アナログ信号を標本化(サンプリング)及び量子化し、得られた信号の大きさを整数データとし、それを一組のパルス列として出力する符号化方式である。
電話会議に用いるアナログの音声データをPCM方式で符号化する場合、例えば、下記のような形式で音声データの符号化を行うことが考えられる。
・サンプリング周波数:8kHz
・量子化ビット:8bit
よって、サンプリング周波数×量子化ビット=8(kHz)×8(bit)=64(kbps)となる。
【0025】
暗号化部13は、符号化部12により符号化された話者の符号化音声データを、準同型暗号を用いて暗号化し、暗号化音声データを生成する。
通信部14は、暗号化部13により暗号化された話者の暗号化音声データを会議装置20に送信する。
【0026】
また、通信部14は、会議装置20から、暗号化されたままでミキシングされた暗号化音声データを受信する。
復号部15は、暗号化されたままでミキシングされた暗号化音声データを符号化音声データに復号(すなわち、暗号化の復号)する。
【0027】
音声処理部16は、復号部15により復号された符号化音声データを音声データに復号(すなわち、符号化の復号)する処理、ボリュームを調整する処理等の音声処理を行う。
スピーカー17は、音声処理部16により音声処理された音声データを音声出力する。なお、スピーカー17の代わりに、音声出力を行う別の機器を設けても良い。別の機器は、例えば、ハンドセット、イヤホン、ヘッドホン等が考えられる。
【0028】
続いて、
図3を参照して、本実施の形態に係る会議装置20の構成について説明する。
図3は、本実施の形態に係る会議装置20の構成例を示すブロック図である。
図3に示されるように、本実施の形態に係る会議装置20は、通信部21、バッファ22、及びミキシング部23を備えている。
【0029】
通信部21は、各電話端末10から、暗号化された暗号化音声データを受信する。
バッファ22は、各電話端末10からの暗号化された暗号化音声データを一時的に格納する。
ミキシング部23は、各電話端末10からの暗号化音声データを、暗号化されたままで、加算によりミキシングする。
通信部21は、ミキシング部23により、暗号化されたままでミキシングされた暗号化音声データを、各電話端末10に送信する。
【0030】
続いて、
図4を参照して、本実施の形態に係る電話端末10を実現するコンピュータ30のハードウェア構成について説明する。
図4は、本実施の形態に係る電話端末10を実現するコンピュータ30のハードウェア構成例を示すブロック図である。
【0031】
図4に示されるように、本実施の形態に係る電話端末10は、コンピュータ30で実現することができる。コンピュータ30は、プロセッサ31、メモリ32、ストレージ33、入出力インタフェース(入出力I/F)34、及び通信インタフェース(通信I/F)35等を備えている。プロセッサ31、メモリ32、ストレージ33、入出力インタフェース34、及び通信インタフェース35は、相互にデータを送受信するためのデータ伝送路で接続されている。
【0032】
プロセッサ31は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の演算処理装置である。メモリ32は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリである。ストレージ33は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はメモリカード等の記憶装置である。また、ストレージ33は、RAMやROM等のメモリであっても良い。
【0033】
ストレージ33は、電話端末10が備える各構成要素(符号化部12、暗号化部13、通信部14、復号部15、及び音声処理部16等)の機能を実現するプログラムを記憶している。プロセッサ31は、これら各プログラムを実行することで、電話端末10が備える各構成要素の機能をそれぞれ実現する。ここで、プロセッサ31は、上記各プログラムを実行する際、これらのプログラムをメモリ32上に読み出してから実行しても良いし、メモリ32上に読み出さずに実行しても良い。
【0034】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータ(コンピュータ30を含む)に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Compact Disc-Read Only Memory)、CD−R(CD-Recordable)、CD−R/W(CD-ReWritable)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されても良い。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0035】
入出力インタフェース34は、電話端末10が備えるマイク11及びスピーカー17が接続される他、表示装置や入力装置等が接続される。
【0036】
通信インタフェース35は、外部の装置との間でデータを送受信する。例えば、通信インタフェース35は、有線ネットワーク又は無線ネットワークを介して外部装置と通信する。
【0037】
なお、会議装置20も、
図4に示されるコンピュータ30で実現することができる。
例えば、会議装置20をコンピュータ30で実現する場合、ストレージ33は、会議装置20が備える各構成要素(通信部21及びミキシング部23等)の機能を実現するプログラムを記憶する。また、メモリ32やストレージ33は、バッファ22の役割も果たす。
【0038】
以下、
図5を参照して、本実施の形態に係る電話会議システム1の動作について説明する。
図5は、本実施の形態に係る電話会議システム1の動作例を説明するシーケンス図である。なお、
図5は、3台の電話端末10−1〜10−3が電話会議に参加する場合の動作例を示している。
【0039】
図5に示されるように、電話端末10−1は、話者の音声データを、例えば、PCM方式で符号化し、符号化した符号化音声データD1を、準同型暗号を用いて暗号化し、暗号化した暗号化音声データEnc(D1)を会議装置20に順次送信する(ステップS101)。このとき、会議装置20で音声がミキシングされる際に桁あふれが起きないようにするため、電話端末10−1は、量子化ビット数が予め8bitに設定されている場合でも、8bitよりも少ない量子化ビット数(例えば、6bitや7bit)で量子化を行うことが望ましい。なお、符号化の際の量子化ビット数等のパラメータは、会議参加者数やノイズ等の外部条件に応じて、電話会議に参加する電話端末10間で予め調整しておくことが望ましい。
【0040】
同様に、電話端末10−2は、暗号化音声データEnc(D2)を会議装置20に順次送信し(ステップS102)、また、電話端末10−3は、暗号化音声データEnc(D3)を会議装置20に順次送信する(ステップS103)。
【0041】
会議装置20は、電話会議に参加中の3台の電話端末10−1〜10−3から、暗号化音声データEnc(D1)〜Enc(D3)を順次受信する。
ここで、電話会議を成立させるためには、複数台の電話端末10から同じタイミングで発せられた音声の音声データを加算して、1つの音声データにする必要がある。例えば、電話端末10−1向けの音声データとしては、電話端末10−1以外の電話端末10−2,10−3から同じタイミングで発せられた音声の音声データを加算して、1つの音声データにする必要がある。
【0042】
そこで、会議装置20は、電話端末10−1向けの暗号化音声データとして、電話端末10−1以外の電話端末10−2,10−3からの暗号化音声データEnc(D2),Enc(D3)を、暗号化されたままで、加算によりミキシングして、暗号化音声データEnc(D2+D3)を生成する。
同様に、会議装置20は、電話端末10−2向けの暗号化音声データとして、暗号化音声データEnc(D1+D3)を生成し、また、電話端末10−3向けの暗号化音声データとして、暗号化音声データEnc(D1+D2)を生成する(ステップS104)。
【0043】
続いて、会議装置20は、電話端末10−3向けの暗号化音声データEnc(D1+D2)を電話端末10−3に送信し(ステップS105)、電話端末10−3は、暗号化音声データEnc(D1+D2)を復号し(ステップS106)、復号した音声データDec(Enc(D1+D2))を得る。この音声データDec(Enc(D1+D2))は、符号化音声データであるため、以降、音声データに復号され、ボリュームが調整される等の音声処理が行われた上で、スピーカー17から音声出力される。
【0044】
同様に、会議装置20は、電話端末10−2向けの暗号化音声データEnc(D1+D3)を電話端末10−2に送信し(ステップS107)、電話端末10−2は、暗号化音声データEnc(D1+D3)を復号し(ステップS108)、復号した音声データDec(Enc(D1+D3))を得る。
【0045】
また、会議装置20は、電話端末10−1向けの暗号化音声データEnc(D2+D3)を電話端末10−1に送信し(ステップS109)、電話端末10−1は、暗号化音声データEnc(D2+D3)を復号し(ステップS110)、復号した音声データDec(Enc(D2+D3))を得る。
以降、電話会議が終了するまで、上記の動作が繰り返し行われる。
【0046】
続いて以下では、本実施の形態に係る電話会議システム1の動作として、加法準同型暗号として、楕円ElGamel暗号を用いる場合の動作について、より具体的に説明する。ここでは、
図5と同様に、3台の電話端末10−1〜10−3が電話会議に参加する場合の動作例について説明する。
【0047】
楕円曲線には、点Pをn倍した値を求めることは容易であるが、n倍された点nPからnだけを求めることは難しいという性質がある。
つまり、楕円曲線には、下記の性質がある。
n,P→Q=nP:容易
Q=nP→n,P:困難
本例では、楕円曲線の上記の性質を利用する。
【0048】
まず、電話端末10−1は、話者の音声データを符号化した符号化音声データD1を、楕円ElGamel暗号を用いて暗号化する。
このとき、電話端末10−1は、符号化音声データD1に対して乱数r1を選択し、選択した乱数r1と公開鍵(P,Q)とを用いて、符号化音声データD1を暗号化し、以下の数式(1)で表される暗号化音声データEnc(D1)を生成する。
Enc(D1)=(r1P,D1+r1Q)・・・(1)
ここで、楕円曲線の性質により、他人はr1Pからr1を求めることができない。
電話端末10−1は、暗号化音声データEnc(D1)を順次生成し、会議装置20に順次送信する。
【0049】
同様に、電話端末10−2は、暗号化音声データEnc(D2)を会議装置20に順次送信し、また、電話端末10−3は、暗号化音声データEnc(D3)を会議装置20に順次送信する。
【0050】
会議装置20は、電話会議に参加中の3台の電話端末10−1〜10−3から、暗号化音声データEnc(D1)〜Enc(D3)を順次受信する。
ここで、電話会議を成立させるためには、複数台の電話端末10から同じタイミングで発せられた音声の音声データを加算して、1つの音声データにする必要がある。例えば、電話端末10−3向けの音声データとしては、電話端末10−3以外の電話端末10−1,10−2から同じタイミングで発せられた音声の音声データを加算して、1つの音声データにする必要がある。
【0051】
ここで、Enc(D1),Enc(D2)は、それぞれ、数式(2),(3)のように表される。
Enc(D1)=(r1P,D1+r1Q)・・・(2)
Enc(D2)=(r2P,D2+r2Q)・・・(3)
【0052】
ここで、Enc(D1)及びEnc(D2)を成分ごとに加算すると、以下の数式(4)が成立する。
Enc(D1)+Enc(D2)=((r1+r2)P,D1+D2+(r1+r2)Q)・・・(4)
【0053】
ここで、r’=r1+r2とすると、数式(4)は、以下の数式(5)のように表される。
Enc(D1)+Enc(D2)=(r’P,D1+D2+r’Q)・・・(5)
【0054】
つまり、数式(5)は、(D1+D2)を暗号化したものと同じ形となり、以下の数式(6)が成立する。
Enc(D1)+Enc(D2)=Enc(D1+D2)・・・(6)
【0055】
会議装置20は、上記で生成した電話端末10−3向けの暗号化音声データEnc(D1+D2)を、電話端末10−3に送信する。
同様に、会議装置20は、電話端末10−2向けの暗号化音声データEnc(D1+D3)を生成して、電話端末10−2に送信し、また、電話端末10−1向けの暗号化音声データEnc(D2+D3)を生成して、電話端末10−1に送信する。
【0056】
暗号化音声データEnc(D1+D2)を受信した電話端末10−3は、暗号化音声データEnc(D1+D2)を復号する。
例えば、一般的な暗号文c=(C1,C2)を、秘密鍵xを用いて復号すると、以下の数式(7)が成立する。
Dec(c)=C2−xC1・・・(7)
なお、秘密鍵xは、電話会議に参加する電話端末10が保持するものであり、セキュリティ確保という観点では、電話会議のたびに異なる秘密鍵を使用することが望ましい。
また、公開鍵(P,Q)と秘密鍵xとの関係式として、以下の数式(8)が成立する。
Q=xP・・・(8)
【0057】
ここで、Enc(D1+D2)=Enc(D)とすると、Enc(D)は、以下の数式(9)のように表される。
Enc(D)=(rP,D+rQ)・・・(9)
Enc(D)を、秘密鍵x及び公開鍵(P,Q)を用いて復号すると、以下の数式(10)が成立する。
Dec(Enc(D))=(D+rQ)−x(rP)=D+r(xP)−xrP=D・・・(10)
【0058】
電話端末10−3は、上記で得られた符号化音声データD(=D1+D2)を、音声データに復号し、ボリュームを調整する等の音声処理を行った上で、スピーカー17から音声出力する。
同様に、電話端末10−2は、暗号化音声データEnc(D1+D3)を復号して、音声出力し、また、電話端末10−1は、暗号化音声データEnc(D2+D3)を復号して、音声出力する。
以降、電話会議が終了するまで、上記の動作が繰り返し行われる。
【0059】
上述したように本実施の形態によれば、各電話端末10は、話者の音声データを、準同型暗号を用いて暗号化し、暗号化した音声データを会議装置20に送信する。そのため、会議装置20は、各電話端末10からの音声データを、暗号化したまま、ミキシングすることが可能となる。そこで、会議装置20は、各電話端末10からの音声データを、暗号化したまま、ミキシングし、ミキシングした音声データを各電話端末10に送信する。各電話端末10は、会議装置20からのミキシングされた音声データを復号する。
【0060】
したがって、電話端末10と会議装置20間の経路上や会議装置20では、全て音声データが暗号化されたままとなる。よって、電話端末10と会議装置20間の経路上や会議装置20で音声データを復号することなく、電話会議が実現でき、これにより、電話会議の秘匿性の向上を図ることができる。
【0061】
<実施の形態の概念>
続いて、
図6を参照して、上述の実施の形態を概念的に示した電話会議システム1Aの構成について説明する。
図6は、上述の実施の形態を概念的に示した電話会議システム1Aの構成例を示す図である。
【0062】
図6に示されるように、電話会議システム1Aは、複数台の電話端末40−1〜40−N、及び、会議装置50を備えている。以下、どの電話端末40−1〜40−Nであるかを特定しない場合は、電話端末40と呼称することがある。
【0063】
各電話端末40は、電話会議に参加する端末である。電話端末40は、
図1に示した電話端末10に対応する。
電話端末40−1は、暗号化部41、通信部42、及び、復号部43を備えている。
【0064】
暗号化部41は、準同型暗号を用いて話者の音声データを暗号化する。暗号化部41は、
図2に示した暗号化部13に対応する。
通信部42は、暗号化部41により暗号化された音声データを会議装置50に送信すると共に、会議装置50から、各電話端末40からの音声データが暗号化されたままミキシングされた音声データを受信する。通信部42は、
図2に示した通信部14に対応する。
復号部43は、会議装置50からのミキシングされた音声データを復号する。復号部43は、
図2に示した復号部15に対応する。
なお、電話端末40−2〜40−Nは、電話端末40−1と同様の構成を備えている。
【0065】
会議装置50は、
図1に示した会議装置20に対応する。
会議装置50は、通信部51及びミキシング部52を備えている。
通信部51は、各電話端末40から、準同型暗号を用いて暗号化された話者の音声データを受信する。通信部51は、
図3に示した通信部21に対応する。
ミキシング部52は、各電話端末40からの音声データを、暗号化したままミキシングする。ミキシング部52は、
図3に示したミキシング部23に対応する。
通信部51は、ミキシング部52によりミキシングされた音声データを各電話端末40に送信する。
【0066】
以上、実施の形態を参照して本開示を説明したが、本開示は上記の実施の形態に限定されるものではない。本開示の構成や詳細には、本開示のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0067】
例えば、上記の実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
電話会議に参加する複数の各電話端末から、準同型暗号を用いて暗号化された話者の音声データを受信する通信部と、
各前記電話端末からの音声データを、暗号化したままミキシングするミキシング部と、を備え、
前記通信部は、前記ミキシング部によりミキシングされた音声データを各前記電話端末に送信する、
会議装置。
(付記2)
前記ミキシング部は、各前記電話端末からの音声データを、暗号化したまま、加算によりミキシングする、
付記1に記載の会議装置。
(付記3)
前記準同型暗号は、加法準同型暗号又は完全準同型暗号である、
付記1又は2に記載の会議装置。
(付記4)
前記準同型暗号は、楕円ElGamel暗号を用いた加法準同型暗号である、
付記1又は2に記載の会議装置。
(付記5)
電話会議に参加する複数の電話端末と、会議装置と、を備える電話会議システムの制御方法であって、
各前記電話端末が、準同型暗号を用いて話者の音声データを暗号化し、暗号化した音声データを前記会議装置に送信するステップと、
前記会議装置が、各前記電話端末からの音声データを、暗号化したままミキシングし、ミキシングした音声データを各前記電話端末に送信するステップと、
各前記電話端末が、前記会議装置からのミキシングされた音声データを復号するステップと、
を含む、制御方法。
(付記6)
電話端末の制御方法であって、
準同型暗号を用いて話者の音声データを暗号化するステップと、
前記暗号化された音声データを会議装置に送信すると共に、前記会議装置から、電話会議に参加する各電話端末からの音声データが暗号化されたままミキシングされた音声データを受信するステップと、
前記会議装置からのミキシングされた音声データを復号するステップと、
を含む、制御方法。
(付記7)
会議装置の制御方法であって、
電話会議に参加する複数の各電話端末から、準同型暗号を用いて暗号化された話者の音声データを受信するステップと、
各前記電話端末からの音声データを、暗号化したままミキシングするステップと、
前記ミキシングされた音声データを各前記電話端末に送信するステップと、
を含む、制御方法。
(付記8)
コンピュータに、
電話会議に参加する複数の各電話端末から、準同型暗号を用いて暗号化された話者の音声データを受信する手順と、
各前記電話端末からの音声データを、暗号化したままミキシングする手順と、
前記ミキシングされた音声データを各前記電話端末に送信する手順と、
を実行させるためのプログラム。
【解決手段】本開示に係る電話会議システム(1A)は、電話会議に参加する複数の電話端末(40)と、会議装置(50)と、を備える。各電話端末(40)は、準同型暗号を用いて話者の音声データを暗号化し、暗号化した音声データを会議装置(50)に送信する。会議装置(50)は、各電話端末(40)からの音声データを、暗号化したままミキシングし、ミキシングした音声データを各電話端末(40)に送信する。各電話端末(40)は、会議装置(50)からのミキシングされた音声データを復号する。