(57)【要約】  鍵生成システムは、第ｎ＋１ユーザ端末２ｎ＋１の公開鍵及び第ｎ＋１ユーザ端末２ｎ＋１を識別するための情報を用いて鍵情報をCertificate less Encryptionの所定の暗号化関数により暗号化することにより暗号文を得る代表ユーザ端末２ｐと、第ｎ＋１ユーザ端末２ｎ＋１を追加するときに第ｎ＋１ユーザ端末２ｎ＋１に暗号文を送信するサーバ装置３と、第ｎ＋１ユーザ端末２ｎ＋１の全体秘密鍵及び第ｎ＋１ユーザ端末２ｎ＋１を識別するための情報を用いて、暗号文を所定の復号関数で復号することにより鍵情報を得る第ｎ＋１ユーザ端末２ｎ＋１と、を備えている。
2018207653.tif 000002
【特許請求の範囲】
【請求項１】
Certificate less Encryptionにおける第ｎ＋１ユーザ端末の公開鍵及び第ｎ＋１ユーザ端末を識別するための情報を用いて鍵情報をCertificate less Encryptionの所定の暗号化関数により暗号化することにより暗号文を得て、得られた暗号文をサーバ装置に送信する上記代表ユーザ端末と、
上記第ｎ＋１ユーザ端末を追加するときに上記第ｎ＋１ユーザ端末に上記暗号文を送信するサーバ装置と、
Certificate less Encryptionにおける第ｎ＋１ユーザ端末の全体秘密鍵及び上記第ｎ＋１ユーザ端末を識別するための情報を用いて、上記暗号文をCertificate less Encryptionの所定の復号関数で復号することにより鍵情報を得る上記第ｎ＋１ユーザ端末と、
を含む鍵配送システム。
【請求項２】
請求項１の鍵配送システムの代表ユーザ端末。
【請求項３】
請求項１の鍵配送システムのサーバ装置。
【請求項４】
請求項１の鍵配送システムの第ｎ＋１ユーザ端末であるユーザ端末。
【請求項５】
上記代表ユーザ端末が、Certificate less Encryptionにおける第ｎ＋１ユーザ端末の公開鍵及び第ｎ＋１ユーザ端末を識別するための情報を用いて鍵情報をCertificate less Encryptionの所定の暗号化関数により暗号化することにより暗号文を得て、得られた暗号文をサーバ装置に送信するステップと、
サーバ装置が、上記第ｎ＋１ユーザ端末を追加するときに上記第ｎ＋１ユーザ端末に上記暗号文を送信するステップと、
第ｎ＋１ユーザ端末が、Certificate less Encryptionにおける第ｎ＋１ユーザ端末の全体秘密鍵及び上記第ｎ＋１ユーザ端末を識別するための情報を用いて、上記暗号文をCertificate less Encryptionの所定の復号関数で復号することにより鍵情報を得るステップと、
を含む鍵配送方法。
【請求項６】
請求項２の代表ユーザ端末、請求項３のサーバ装置又は請求項４のユーザ端末の各部としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報セキュリティ技術に関する。
【背景技術】
【０００２】
VoIP(Voice over Internet Protocol)、WebRTC(Web Real-Time Communication)、メッセージング等のアプリケーションがインターネットを通じて提供されており、認証に基づく通信やシステムの機密性確保が重要となっている。【０００３】
多くのユーザがインターネットを通じて上記のアプリケーションによるサービスを利用するため、多人数で通信やシステムを利用できることが重要であり、一般にTLS(Transport Layer Security)が用いられている。【０００４】
また、従来は、上記のサービスで用いられる鍵の配送に例えば非特許文献１の技術を用いることが提案されている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Kazuki Yoneyama, Reo Yoshida, Yuto Kawahara, Tetsutaro Kobayashi, Hitoshi Fuji, Tomohide Yamamoto, “Multi-cast Key Distribution: Scalable, Dynamic and Provably Secure Construction”, International Conference on Provable Security ProvSec 2016: Provable Security pp 207-226
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の非特許文献１の技術では、新たに追加されるユーザ端末に鍵を配送するjoinフェーズの際に、新たに追加されるユーザ端末のみならず、既にセッションに参加しているユーザ端末とサーバ装置との間で計算が必要であった。【０００７】
この発明の目的は、joinフェーズの際に既にセッションに参加しているユーザ端末とサーバ装置との間で計算が不要な鍵配送システム及び方法、代表ユーザ端末、サーバ装置、ユーザ端末並びにプログラムを提供することである。
【課題を解決するための手段】
【０００８】
この発明の一態様による鍵配送システムは、Certificate less Encryptionにおける第ｎ＋１ユーザ端末の公開鍵及び第ｎ＋１ユーザ端末を識別するための情報を用いて鍵情報をCertificate less Encryptionの所定の暗号化関数により暗号化することにより暗号文を得て、得られた暗号文をサーバ装置に送信する代表ユーザ端末と、第ｎ＋１ユーザ端末を追加するときに第ｎ＋１ユーザ端末に暗号文を送信するサーバ装置と、Certificate less Encryptionにおける第ｎ＋１ユーザ端末の全体秘密鍵及び第ｎ＋１ユーザ端末を識別するための情報を用いて、暗号文をCertificate less Encryptionの所定の復号関数で復号することにより鍵情報を得る第ｎ＋１ユーザ端末と、を備えている。
【発明の効果】
【０００９】
joinフェーズの際に既にセッションに参加しているユーザ端末とサーバ装置との間で計算が不要となる。
【図面の簡単な説明】
【００１０】
【図１】鍵配送システムの例を示すブロック図。
【図２】鍵配送方法の例を示す流れ図。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、この発明の一実施形態について説明する。
【００１２】
図１に示すように、鍵配送システムは、鍵生成装置１と、ユーザ端末２と、サーバ装置３とを例えば備えている。
【００１３】
ユーザ端末２は、第１ユーザ端末２１から第ｎ＋１ユーザ端末２ｎ＋１により例えば構成されている。第１ユーザ端末２１から第ｎユーザ端末２ｎの中の何れか１個のユーザ端末が、代表ユーザ端末２ｐとして予め選択されているとする。第ｎ＋１ユーザ端末２ｎ＋１は、第１ユーザ端末２１から第ｎユーザ端末２ｎにより既に構成されているセッションに参加しようとする端末のことである。
【００１４】
鍵配送方法は、鍵配送システムの各部が、図２及び以下に示すステップＳ１からステップＳ４の各処理を行うことにより例えば実現される。
【００１５】
ステップ１の処理は、以下のステップＳ１１からステップＳ１５の処理により例えば実現される。
【００１６】
まず、鍵生成装置１は、(Params,msk)←CLSetup(1κ)の処理を行う（ステップＳ１１）。すなわち、鍵生成装置１は、Certificate less Encryptionにおける所定のセットアップ関数CLSetupにより、公開パラメータParams及びマスターシークレットキーmskを生成する。κは、セキュリティパラメータである。
【００１７】
鍵生成装置１は、pskn+1←CLDer(Params,msk,Un+1)の処理を行う（ステップＳ１２）。すなわち、鍵生成装置１は、マスターシークレットキーmsk及び第ｎ＋１ユーザ端末２ｎ＋１を識別するための情報Un+1を用いて、公開パラメータParamsにより定まる、Certificate less Encryptionにおける所定の部分秘密鍵生成関数CLDerにより、第ｎ＋１ユーザ端末２ｎ＋１の部分秘密鍵pskn+1を生成し、第ｎ＋１ユーザ端末２ｎ＋１に送信する。
【００１８】
第ｎ＋１ユーザ端末２ｎ＋１は、svn+1←SetSV(Params,Un+1)の処理を行う（ステップＳ１３）。すなわち、第ｎ＋１ユーザ端末２ｎ＋１は、第ｎ＋１ユーザ端末２ｎ＋１を識別するための情報Un+1を用いて、公開パラメータParamsにより定まる、Certificate less Encryptionにおける所定の秘密情報生成関数SetSVにより、第ｎ＋１ユーザ端末２ｎ＋１の秘密情報svn+1を生成する。
【００１９】
第ｎ＋１ユーザ端末２ｎ＋１は、cskn+1←SetSK(Params,pskn+1,svn+1)の処理を行う（ステップＳ１４）。すなわち、第ｎ＋１ユーザ端末２ｎ＋１は、第ｎ＋１ユーザ端末２ｎ＋１のpskn+1及び第ｎ＋１ユーザ端末２ｎ＋１の秘密情報svn+1を用いて、公開パラメータParamsにより定まる、Certificate less Encryptionにおける所定の全体秘密鍵生成関数SetSKにより、第ｎ＋１ユーザ端末２ｎ＋１の全体秘密鍵cskn+1を生成する。
【００２０】
第ｎ＋１ユーザ端末２ｎ＋１は、cpkn+1←SetPK(Params,svn+1)の処理を行う（ステップＳ１５）。すなわち、第ｎ＋１ユーザ端末２ｎ＋１は、第ｎ＋１ユーザ端末２ｎ＋１の秘密情報svn+1を用いて、公開パラメータParamsにより定まる、Certificate less Encryptionにおける所定の公開鍵生成関数SetPKにより、第ｎ＋１ユーザ端末２ｎ＋１の公開鍵cpkn+1を生成し、代表ユーザ端末２ｐに送信する。
【００２１】
代表ユーザ端末２ｐは、CT←CLEnc(Params,cpkn+1,Un+1,SK)の処理を行う。すなわち、第ｎ＋１ユーザ端末の公開鍵cpkn+1及び第ｎ＋１ユーザ端末２ｎ＋１を識別するための情報Un+1を用いて鍵情報SKを、公開パラメータParamsにより定まる、Certificate less Encryptionの所定の暗号化関数CLEncにより暗号化することにより暗号文CTを得て、得られた暗号文CTをサーバ装置３に送信する（ステップＳ２）。
【００２２】
鍵情報SKは、セッション鍵等の鍵情報である。鍵情報SK自体が鍵として用いられてもよいし、鍵情報SKに基づいて別の鍵情報が生成され、その別の鍵情報が鍵として用いられてもよい。
【００２３】
ステップＳ１及びステップＳ２の処理は、セッションに参加する可能性がある各ユーザ端末について行われる。すなわち、Nを２以上の整数として、セッションに参加する可能性があるユーザ端末がN台ある場合には、これらのN台のユーザ端末のそれぞれを第ｎ＋１ユーザ端末２ｎ＋１として上記のステップＳ１及びステップＳ２の処理が行われる。
【００２４】
また、ステップＳ１及びステップＳ２の処理は、以下のステップＳ３及びステップＳ４から構成されるいわゆるjoinフェーズの処理の前に行われるとする。以下のステップＳ３及びステップＳ４では、第ｎ＋１ユーザ端末２ｎ＋１が、第１ユーザ端末２１から第ｎユーザ端末２ｎにより既に構成されているセッションに追加されるとする。
【００２５】
サーバ装置３は、所定のサービスのセッションに第ｎ＋１ユーザ端末２ｎ＋１を追加するときに第ｎ＋１ユーザ端末２ｎ＋１に暗号文CTを送信する（ステップＳ３）。この暗号文は、ステップＳ２の処理で生成された、第ｎ＋１ユーザ端末２ｎ＋１に対応する暗号文CTである。
【００２６】
第ｎ＋１ユーザ端末２ｎ＋１は、SK←CLDec(Params,cskn+1,CT)の処理を行う（ステップＳ４）。すなわち、第ｎ＋１ユーザ端末２ｎ＋１は、第ｎ＋１ユーザ端末２ｎ＋１の全体秘密鍵cskn+1を用いて、暗号文CTを、公開パラメータParamsにより定まる、Certificate less Encryptionの所定の復号関数CLDecで復号することにより鍵情報SKを得る。
【００２７】
このように、Certificate less Encryptionを用いて、鍵情報に関する暗号文を事前に計算しサーバ装置２に予め預けておき、joinフェーズの際に、追加される第ｎ＋１ユーザ端末２ｎ＋１にその暗号文を渡すことで、安全性を落とすことなく、追加される第ｎ＋１ユーザ端末２ｎ＋１に鍵情報を渡すことができる。
【００２８】
また、その際、joinフェーズの際に既にセッションに参加しているユーザ端末とサーバ装置との間で計算が不要となる。このため、高速なセッション参加が可能となる。
【００２９】
上記の鍵配送システムは、例えば、(1)２地点通話や電話会議に用いられるVoIP通話の鍵配送、(2)WebRTCの中のDTLSを代替し、ブラウザやスマートフォンでのWeb会議やWeb電話の暗号化通信の鍵配送、(3)メッセージングアプリの復号鍵の共有のための鍵配送に用いることができる。
【００３０】
［プログラム及び記録媒体］
例えば、鍵生成装置１、代表ユーザ端末２ｐ、第ｎ＋１ユーザ端末２ｎ＋１及びサーバ装置３の各部における処理をコンピュータによって実現する場合、これらの端末及び装置の各部が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各部の処理がコンピュータ上で実現される。
【００３１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００３２】
また、各部の処理は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理の少なくとも一部をハードウェア的に実現することとしてもよい。
【００３３】
［変形例］
上記の実施形態では、鍵生成装置１及びサーバ装置３が互いに異なる装置として記述されているが、鍵生成装置１及びサーバ装置３は同じ装置であってもよい。例えば、サーバ装置３に鍵生成装置１が含まれていてもよい。
【００３４】
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００３５】
［安全性］
Certificate less Encryptionの安全性の定義は次の２つのケースに分離できる。定義１：攻撃者は、公開鍵を置き換え可能だが、全体秘密鍵を入手することができない。定義２：攻撃者、全体秘密鍵を入手することができるが、公開鍵を置き換えることができない。定義２は、KGC（Key Generation Center、上記実施形態では鍵生成装置１）が悪意のあるモデルになる。
【００３６】
上記の実施形態では、Certificate less Encryptionは、鍵情報SKを、joinユーザであるＵｎ＋１に、サーバ装置３を経由して、渡すために用いられている。サーバ装置３は、全体秘密鍵をKGCとして渡している。もし、サーバ装置３がセミオネストであると仮定するなら、Certificate less Encryptionは定義２の安全性からサーバ装置へは、いかなる鍵情報に関連する情報もわからない。また、定義１から、公開鍵を置き換えることのできる攻撃者は、鍵情報に関するいかなる情報も入手することができない。
【図１】
2018207653.tif 000003
【図２】
2018207653.tif 000004
【手続補正書】
【提出日】令和1年9月9日(2019.9.9)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
［安全性］
Certificate less Encryptionの安全性の定義は次の２つのケースに分離できる。定義１：攻撃者は、公開鍵を置き換え可能だが、全体秘密鍵を入手することができない。定義２：攻撃者は、全体秘密鍵を入手することができるが、公開鍵を置き換えることができない。定義２は、KGC（Key Generation Center、上記実施形態では鍵生成装置１）が悪意のあるモデルになる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
上記の実施形態では、Certificate less Encryptionは、鍵情報SKを、joinユーザである第n+1ユーザ端末２ｎ＋１に、サーバ装置３を経由して、渡すために用いられている。サーバ装置３は、全体秘密鍵をKGCとして渡している。もし、サーバ装置３がセミオネストであると仮定するなら、Certificate less Encryptionは定義２の安全性からサーバ装置は、いかなる鍵情報に関連する情報もわからない。また、定義１から、公開鍵を置き換えることのできる攻撃者は、鍵情報に関するいかなる情報も入手することができない。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Certificate less Encryptionにおける第ｎ＋１ユーザ端末の公開鍵及び第ｎ＋１ユーザ端末を識別するための情報を用いて鍵情報をCertificate less Encryptionの所定の暗号化関数により暗号化することにより暗号文を得て、得られた暗号文をサーバ装置に送信する上記代表ユーザ端末と、
上記第ｎ＋１ユーザ端末を追加するときに上記第ｎ＋１ユーザ端末に上記暗号文を送信するサーバ装置と、
Certificate less Encryptionにおける第ｎ＋１ユーザ端末の全体秘密鍵及び上記第ｎ＋１ユーザ端末を識別するための情報を用いて、上記暗号文をCertificate less Encryptionの所定の復号関数で復号することにより鍵情報を得る上記第ｎ＋１ユーザ端末と、
を含む鍵配送システム。
【請求項２】
請求項１の鍵配送システムの代表ユーザ端末。
【請求項３】
請求項１の鍵配送システムのサーバ装置。
【請求項４】
請求項１の鍵配送システムの第ｎ＋１ユーザ端末であるユーザ端末。
【請求項５】
代表ユーザ端末が、Certificate less Encryptionにおける第ｎ＋１ユーザ端末の公開鍵及び第ｎ＋１ユーザ端末を識別するための情報を用いて鍵情報をCertificate less Encryptionの所定の暗号化関数により暗号化することにより暗号文を得て、得られた暗号文をサーバ装置に送信するステップと、
サーバ装置が、上記第ｎ＋１ユーザ端末を追加するときに上記第ｎ＋１ユーザ端末に上記暗号文を送信するステップと、
第ｎ＋１ユーザ端末が、Certificate less Encryptionにおける第ｎ＋１ユーザ端末の全体秘密鍵及び上記第ｎ＋１ユーザ端末を識別するための情報を用いて、上記暗号文をCertificate less Encryptionの所定の復号関数で復号することにより鍵情報を得るステップと、
を含む鍵配送方法。
【請求項６】
請求項２の代表ユーザ端末、請求項３のサーバ装置又は請求項４のユーザ端末の各部としてコンピュータを機能させるためのプログラム。
【国際調査報告】
2018207653.tif 000005
2018207653.tif 000006
2018207653.tif 000007
2018207653.tif 000008