(57)【要約】【課題】蓄積型のデータ流通において、データ生成装置が生成したデータを、データ利用装置が受信するまで、仲介装置で復号することなくEnd-Endで暗号化する。【解決手段】前記データ生成装置が、前記データ生成装置の公開鍵を用いてデータを暗号化し、暗号化されたデータを前記仲介装置に送信し、前記仲介装置が、前記データ利用装置からデータ要求を受信し、前記暗号化されたデータを前記データ利用装置において復号できるように再暗号化するための再暗号化鍵の生成要求を、前記データ生成装置に送信し、前記データ生成装置が、前記再暗号化鍵を生成し、当該再暗号化鍵を前記仲介装置に送信し、前記仲介装置が、前記データ生成装置から前記再暗号化鍵を受信し、当該再暗号化鍵を用いて前記暗号化されたデータを再暗号化し、前記再暗号化されたデータを前記データ利用装置に送信し、前記データ利用装置が、前記再暗号化されたデータを復号する。【選択図】図６
2018107625.tif 000002
【特許請求の範囲】
【請求項１】
データ生成装置、仲介装置、及びデータ利用装置を備えるデータ配信システムであって、
前記データ生成装置は、
前記データ生成装置の公開鍵を用いてデータを暗号化し、暗号化されたデータを前記仲介装置に送信する暗号化データ送信手段と、
前記暗号化されたデータを前記データ利用装置において復号できるように再暗号化するための再暗号化鍵の生成要求を、前記仲介装置から受信し、当該再暗号化鍵を生成する再暗号化鍵生成手段と、
前記再暗号化鍵を前記仲介装置に送信する再暗号化鍵送信手段と、を備え、
前記仲介装置は、
前記暗号化されたデータを蓄積するストレージと、
前記データ利用装置からデータ要求を受信し、前記再暗号化鍵の生成要求を前記データ生成装置に送信する生成要求送信手段と、
前記データ生成装置から前記再暗号化鍵を受信し、当該再暗号化鍵を用いて前記暗号化されたデータを再暗号化する再暗号化手段と、
前記再暗号化されたデータを前記データ利用装置に送信する再暗号化データ送信手段と、を備え、
前記データ利用装置は、
前記データ要求を前記仲介装置に送信する送信手段と、
前記再暗号化されたデータを復号する復号手段と、を備える
ことを特徴とするデータ配信システム。
【請求項２】
前記再暗号化鍵の生成要求に、前記データ利用装置の公開鍵が含まれ、前記データ生成装置における再暗号化鍵生成手段は、前記データ利用装置の公開鍵と、前記データ生成装置の秘密鍵を用いて前記再暗号化鍵を生成し、
前記データ利用装置の復号手段は、当該データ利用装置の秘密鍵を用いて前記再暗号化されたデータを復号する
ことを特徴とする請求項１に記載のデータ配信システム。
【請求項３】
データ生成装置、仲介装置、及びデータ利用装置を備えるデータ配信システムにおける前記データ生成装置であって、
前記データ生成装置の公開鍵を用いてデータを暗号化し、暗号化されたデータを前記仲介装置に送信する暗号化データ送信手段と、
前記暗号化されたデータを前記データ利用装置において復号できるように再暗号化するための再暗号化鍵の生成要求を、前記仲介装置から受信し、当該再暗号化鍵を生成する再暗号化鍵生成手段と、
前記再暗号化鍵を前記仲介装置に送信する再暗号化鍵送信手段と
を備えることを特徴とするデータ生成装置。
【請求項４】
コンピュータを、請求項３に記載のデータ生成装置における各手段として機能させるためのプログラム。
【請求項５】
データ生成装置、仲介装置、及びデータ利用装置を備えるデータ配信システムにおける前記仲介装置であって、
前記データ生成装置の公開鍵を用いて暗号化されたデータを蓄積するストレージと、
前記データ利用装置からデータ要求を受信し、前記暗号化されたデータを前記データ利用装置において復号できるように再暗号化するための再暗号化鍵の生成要求を、前記データ生成装置に送信する生成要求送信手段と、
前記データ生成装置から前記再暗号化鍵を受信し、当該再暗号化鍵を用いて前記暗号化されたデータを再暗号化する再暗号化手段と、
前記再暗号化されたデータを前記データ利用装置に送信する再暗号化データ送信手段と
を備えることを特徴とする仲介装置。
【請求項６】
コンピュータを、請求項５に記載の仲介装置における各手段として機能させるためのプログラム。
【請求項７】
データ生成装置、仲介装置、及びデータ利用装置を備えるデータ配信システムにおいて実行されるデータ配信方法であって、
前記データ生成装置が、前記データ生成装置の公開鍵を用いてデータを暗号化し、暗号化されたデータを前記仲介装置に送信するステップと、
前記仲介装置が、前記データ利用装置からデータ要求を受信し、前記暗号化されたデータを前記データ利用装置において復号できるように再暗号化するための再暗号化鍵の生成要求を、前記データ生成装置に送信するステップと、
前記データ生成装置が、前記再暗号化鍵を生成し、当該再暗号化鍵を前記仲介装置に送信するステップと、
前記仲介装置が、前記データ生成装置から前記再暗号化鍵を受信し、当該再暗号化鍵を用いて前記暗号化されたデータを再暗号化し、前記再暗号化されたデータを前記データ利用装置に送信するステップと、
前記データ利用装置が、前記再暗号化されたデータを復号するステップと
を備えることを特徴とするデータ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュアなデータ配信を実現するネットワーク技術に関連するものである。
【背景技術】
【０００２】
IoT（Internet of Things）の登場により、センサなどのIoTデバイスが収集した大量のデータを、適切な利用者に配信するデータ流通への需要が高まってきている。また、IoTデバイスが収集したデータの中には、データそのものの価値が極めて高いものや、ウェアラブルデバイスが収集する生体情報などのように、プライバシーに機微なデータも増加しており、これらのデータが流通の過程で漏洩したり窃取されたりしないような、セキュアなデータ流通の実現が望まれている。
【０００３】
一方、従来のインターネット通信におけるセキュリティ対策としては、Webアクセス等で利用されているTLS（Transport Layer Security，非特許文献１）がある。TLSでは、サーバとクライアントが通信する際に暗号化セッションを確立し、暗号化セッションごとに通信内容を暗号化することで、通信経路上での情報漏洩や情報窃取を防止することができる。ところが、サーバ上に保存されているデータ自体は暗号化されていない平文であるため、サーバへの侵入やマルウェアの感染といった攻撃に対してデータを保護することはできない。また、IoTのデータ流通は、IoTデバイスやデータの保持者（以下、データ生成装置）が、データの利用者（以下、データ利用装置）に対して直接データを提供するモデルだけではなく、クラウド等（以下、仲介装置）に一旦データを蓄積し、そのデータを利用したいデータ利用装置が必要に応じて取得するという、蓄積型のデータ流通モデルも広まると考えられている。このような蓄積型のデータ流通モデルでは、データ生成装置〜仲介装置、仲介装置〜データ利用装置の２段階の通信が必要となり、TLSを適用するだけでは、仲介装置のストレージ上でデータが保護されないという問題がある。具体的には、クラウドやストレージへのサイバー攻撃でデータが漏洩するリスクがあったり、仲介装置に対してデータ内容を開示したくないという要望に応えられないといった問題がある。
【０００４】
ところで、従来の公開鍵暗号方式よりも高機能な暗号技術として、プロキシ暗号（代理人再暗号，非特許文献２）が注目されている。プロキシ暗号は、受信者Aの公開鍵で暗号化した暗号文を、受信者Bが復号できるように、暗号文のまま再暗号化する暗号技術である。プロキシ暗号を用いることで、蓄積されたデータを復号せずとも、データ利用装置に応じた暗号文を生成することが可能となる。なお、プロキシ暗号はさまざまな方式が提案されているが、例えば、非特許文献３に開示された方式がある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】"The Transport Layer Security (TLS) Protocol Version 1.2", IETF RFC5246, URL: https://www.ietf.org/rfc/rfc5246.txt
【非特許文献２】光成滋生，"クラウドを支えるこれからの暗号技術"，第９章「プロキシ暗号」，秀和システム，ISBN: 978-4-7980-4413-2, 2015年
【非特許文献３】Giuseppe Ateniese, Kevin Fu, Matthew Green, and Susan Hohen-berger, "Improved proxy re-encryption schemes with applications to secure distributed storage," ACM Trans. Inf. Syst. Secur., Vol. 9, No. 1, pp. 1{30, February 2006. https://eprint.iacr.org/2005/028/
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、プロキシ暗号を利用することで、暗号文のままデータを蓄積することができるようになる。しかし、通常のプロキシ暗号は、本来の受信者Aが、受信者Bに対して復号する権限を委譲するという考え方で構成されているため、データ生成装置が暗号化する段階で、本来の受信者（データ利用装置）を決める必要がある。ところが、IoTの蓄積型データ流通においては、データが生成された段階で、そのデータを誰が利用するのかはわからないことが多く、このモデルをそのまま蓄積型のデータ流通に適用することができない。
【０００７】
本発明は上記の点に鑑みてなされたものであり、仲介装置にデータを蓄積し、データの利用要求に応じてデータを配信する蓄積型のデータ流通において、データ生成装置が生成したデータを、データを利用するデータ利用装置が受信するまで、仲介装置で復号することなくEnd-Endで暗号化することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
開示の技術によれば、データ生成装置、仲介装置、及びデータ利用装置を備えるデータ配信システムであって、
前記データ生成装置は、
前記データ生成装置の公開鍵を用いてデータを暗号化し、暗号化されたデータを前記仲介装置に送信する暗号化データ送信手段と、
前記暗号化されたデータを前記データ利用装置において復号できるように再暗号化するための再暗号化鍵の生成要求を、前記仲介装置から受信し、当該再暗号化鍵を生成する再暗号化鍵生成手段と、
前記再暗号化鍵を前記仲介装置に送信する再暗号化鍵送信手段と、を備え、
前記仲介装置は、
前記暗号化されたデータを蓄積するストレージと、
前記データ利用装置からデータ要求を受信し、前記再暗号化鍵の生成要求を前記データ生成装置に送信する生成要求送信手段と、
前記データ生成装置から前記再暗号化鍵を受信し、当該再暗号化鍵を用いて前記暗号化されたデータを再暗号化する再暗号化手段と、
前記再暗号化されたデータを前記データ利用装置に送信する再暗号化データ送信手段と、を備え、
前記データ利用装置は、
前記データ要求を前記仲介装置に送信する送信手段と、
前記再暗号化されたデータを復号する復号手段と、を備える
ことを特徴とするデータ配信システムが提供される。
【発明の効果】
【０００９】
開示の技術によれば、仲介装置にデータを蓄積し、データの利用要求に応じてデータを配信する蓄積型のデータ流通において、データ生成装置が生成したデータを、データを利用するデータ利用装置が受信するまで、仲介装置で復号することなくEnd-Endで暗号化することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態におけるデータ配信システムの全体構成例を示す図である。
【図２】データ生成装置１００の構成例を示す図である。
【図３】仲介装置２００の構成例を示す図である。
【図４】データ利用装置３００の構成例を示す図である。
【図５】各装置のハードウェア構成例を示す図である。
【図６】データ配信システムにおける処理のシーケンス例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施の形態（本実施の形態）を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００１２】
（本実施の形態の概要）
前述した課題を解決するために、本実施の形態では、データ生成装置が自らの公開鍵でデータを暗号化して仲介装置に送信し、仲介装置は、データ利用装置からのデータ取得のリクエストに応じて、データを再暗号化する方式を採用する。また、再暗号化鍵の生成には、暗号文を生成した者の秘密鍵（データ生成装置の秘密鍵）と、最終的に復号する者（データ利用装置）の公開鍵が必要となる。
【００１３】
仲介装置がデータ生成装置の秘密鍵を保持すると、暗号文を復号できてしまうため、本実施の形態では、再暗号化鍵の生成を、仲介装置からデータ生成装置に依頼するモデルを採用する。これにより、仲介装置に対してデータの内容を秘匿したまま、データ生成装置からデータ利用装置までEnd-Endで暗号化でき、真にセキュアなデータ流通が実現できる。以下、本実施の形態を詳細に説明する。
【００１４】
（システム構成）
図１に、本実施の形態におけるデータ配信システムの全体構成例を示す。図１に示すように、本実施の形態におけるデータ配信システムは、データを生成するデータ生成装置１００、データ流通を仲介する仲介装置２００、及び、データを利用するデータ利用装置３００を有し、データ生成装置１００と仲介装置２００との間、及び仲介装置２００とデータ利用装置３００との間はそれぞれ通信が可能なようにネットワークで接続される。図１には、例として、データ生成装置１００、仲介装置２００、及び、データ利用装置３００がそれぞれ１つずつ示されているが、それぞれが複数であってもよい。
【００１５】
図１の構成例では、データ生成装置１００は、IoTデバイス等を用いて、データを取得・生成し、そのデータをデータ利用者に提供するサービスを実施するIoT事業者等により提供される装置であることを想定している。データ生成装置１００が上記IoTデバイスであってもよい。
【００１６】
仲介装置２００は、大量のデータを蓄積・流通できるインフラを持つクラウド事業者やネットワーク事業者により提供される装置であることを想定している。また、データ利用装置３００は、データ生成装置１００のデータを利用してサービスを提供するサービス事業者等により提供される装置であることを想定する。
【００１７】
例えば、データ生成装置１００は、自動車のセンサデータを収集できる自動車メーカーにより提供される装置、仲介装置２００は、クラウドとネットワークを持つネットワーク事業者により提供される装置、データ利用装置３００は、自動車のセンサデータを用いてビジネスをする保険会社やディーラーにより提供される装置、といったユースケースが考えられる。
【００１８】
図１には、データの流れの概要も図示している。図示のとおり、データ生成装置１００がデータを生成したら、そのデータを暗号化して、仲介装置２００に送信する。仲介装置２００は暗号化された状態でデータを蓄積しておき、データ利用者からのリクエストに応じて、データ利用装置３００が復号できる形に再暗号化を実施して、再暗号化したデータをデータ利用装置３００に送信する。データ利用装置３００は、データを復号して利用する。
【００１９】
以下、各装置の構成例を詳細に説明する。
【００２０】
（データ生成装置１１０）
図２に、データ生成装置１００の構成例を示す。図２に示すように、データ生成装置１００は、データ生成・暗号化機能部１１０と、再暗号化鍵生成機能部１２０を有する。
【００２１】
データ生成・暗号化機能部１１０は、データを生成し、そのデータを暗号化したうえで、仲介装置２００にデータを送る役割を果たす。図２に示すとおり、このデータ生成・暗号化機能部１１０は、データ生成機能部１１１、鍵生成機能部１１２、暗号化機能部１１３、データ送信機能部１１４を有する。
【００２２】
データ生成機能部１１１は、暗号化対象となるデータ本体を生成する機能を有し、IoTデバイス等の外部装置から入力されたデータを、データ流通に適した形式に整形する処理を実施する。鍵生成機能部１１２は、プロキシ暗号に利用する公開鍵Apと秘密鍵Asを生成する。暗号化機能部１１３は、データ生成機能部１１１の出力となるデータ（平文）と、鍵生成機能部１１２で生成された公開鍵Apとを入力し、公開鍵Apでデータ（平文）を暗号化する処理を実施する。データ送信機能部１１４は、暗号化されたデータ（データ（暗号文））を仲介装置２００へ送信する。
【００２３】
図２に示すとおり、再暗号化鍵生成機能部１２０は、再暗号化鍵要求受付機能部１２１、再暗号化鍵生成機能部１２２、認証機能部１２３、ユーザ管理DB１２４を有する。
【００２４】
再暗号化鍵要求受付機能部１２１は、仲介装置２００からの再暗号化鍵生成要求（データ利用装置３００の公開鍵Bpを含む）を受け付け、再暗号化鍵生成機能部１２２に対して再暗号化鍵の生成を要求する。このとき、再暗号化鍵生成要求に含まれるデータ利用装置の公開鍵Bpを一緒に渡す。
【００２５】
再暗号化鍵生成機能部１２２は、再暗号化鍵要求受付機能部１２１から受信したデータ利用装置３００の公開鍵Bpと、鍵生成機能部１１２から受け取った自身（データ生成装置１００）の秘密鍵Asとを入力し、再暗号化鍵S（A→B）を生成する。このとき、再暗号化鍵生成機能部１２２は、認証機能部１２３に対して、公開鍵Bpを保持するデータ利用装置３００に対して、秘密鍵Bsで復号できる形でデータを渡してよいかを確認する。
【００２６】
認証機能部１２３は、ユーザ管理DB１２４に問い合わせ、公開鍵Bpを保持するユーザ（データ利用装置３００を保持するユーザ）が、該当データを閲覧する権限があるかをチェックする。ユーザ管理DB１２４は、ユーザの一覧とそれぞれの公開鍵、および、各ユーザがどのデータを閲覧する権限があるかの情報を保持している。
【００２７】
（仲介装置２００）
図３に、仲介装置２００の構成例を示す。図３に示すように、仲介装置２００は、データ受信機能部２０１、ストレージ２０２、データ要求受付機能部２０３、再暗号化鍵要求機能部２０４、再暗号化機能部２０５、データ要求応答機能部２０６を有する。
【００２８】
データ受信機能部２０１は、データ生成装置１００からデータ（暗号文）を受信し、ストレージ２０２に保存する処理を実施する。ストレージ２０２はデータ（暗号文）を蓄積する装置である。
【００２９】
データ要求受付機能部２０３は、データ利用装置３００からのデータ要求を受け付け、データ要求に含まれるデータ利用装置３００の公開鍵Bpを再暗号化鍵要求機能部２０４に渡して、再暗号化鍵の取得を依頼する。再暗号化鍵要求機能部２０４は、データ生成装置１００に対して、再暗号化鍵の生成要求を送る。このとき、データ利用装置３００の公開鍵Bpも一緒に送る。再暗号化機能部２０５は、再暗号化鍵生成要求の応答として受信した再暗号化鍵S（A→B）と、データ利用装置３００から要求のあったデータ（暗号文）を入力とし、データの再暗号化を実施する。データ要求応答機能部２０６は、データ利用装置３００に対して、再暗号化したデータ（データ（再暗号文））を送る。
【００３０】
（データ利用装置３００）
図４に、データ利用装置３００の構成例を示す。データ利用装置３００は、鍵生成機能部３０１、データ要求機能部３０２、データ受信機能部３０３、復号機能部３０４を有する。
【００３１】
鍵生成機能部３０１は、プロキシ暗号に利用する公開鍵Bp及び秘密鍵Bsを生成する。データ要求機能部３０２は、データ利用装置３００が取得したいデータを、仲介装置２００に要求する。このとき、自身の公開鍵Bpも一緒に送信する。データ受信機能部３０３は、仲介装置２００から再暗号化されたデータ（データ（再暗号文））を受信し、復号機能部３０４へ受け渡す。復号機能部３０４は、鍵生成機能部３０１が生成した秘密鍵Bsとデータ（再暗号文）を入力し、データ（平文）を復号する処理を実施する。
【００３２】
（ハードウェア構成例）
本実施の形態に係るデータ生成装置１００、仲介装置２００、データ利用装置３００はいずれも、例えば、１つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、各装置が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ、ハードディスクなどのハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【００３３】
図５は、当該装置（データ生成装置１００、仲介装置２００、データ利用装置３００に共通）をコンピュータで実現する場合における当該装置のハードウェア構成例を示す図である。図５に示す装置は、それぞれバスＢで相互に接続されているドライブ装置１５０、補助記憶装置１５２、メモリ装置１５３、ＣＰＵ１５４、インタフェース装置１５５、表示装置１５６、及び入力装置１５７等を有する。
【００３４】
当該装置での処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体１５１によって提供される。プログラムを記憶した記録媒体１５１がドライブ装置１５０にセットされると、プログラムが記録媒体１５１からドライブ装置１５０を介して補助記憶装置１５２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１５１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１５２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００３５】
メモリ装置１５３は、プログラムの起動指示があった場合に、補助記憶装置１５２からプログラムを読み出して格納する。ＣＰＵ１５４（プロセッサ）は、メモリ装置１５３に格納されたプログラムに従って当該装置に係る機能を実現する。インタフェース装置１５５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１５６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１５７はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
【００３６】
（動作例）
図６は、本実施の形態に係るデータ配信システムの動作例を説明するためのシーケンス図である。
【００３７】
＜事前準備＞
まず、事前準備として、データ生成装置１００の鍵生成機能部１１２が、データ生成装置１００における公開鍵Apと秘密鍵Asを生成し（ステップＳ１１）、データ利用装置３００の鍵生成機能部３０１が、データ利用装置３００における公開鍵Bpと秘密鍵Bsを生成する（ステップＳ１２）。
【００３８】
＜データを生成してから仲介装置２００に蓄積されるまでの手順＞
データ生成装置１００にデータが入力されると（ステップＳ２１）、データ生成装置１００において、データ生成機能部１１１がデータを整形するとともに、暗号化機能部１１３がそのデータを暗号化する（ステップＳ２２）。このとき、ステップＳ１１で生成した公開鍵Apを用いて暗号化する。データ生成装置１００のデータ送信機能部１１４は、暗号化されたデータ（暗号文）を仲介装置２００へ送信する（ステップＳ２３）。
【００３９】
仲介装置２００のデータ受信機能部２０１がデータ（暗号文）を受信し、暗号文のままデータをストレージ２０２に蓄積する（ステップＳ２４）。
【００４０】
＜データ利用装置３００からの要求に応じて、データを取得、利用するまでの手順＞
データ利用装置３００のデータ要求機能部３０２は、取得したいデータのID（データの名前やURL等、データを特定できる情報であれば何でもよい）と、ステップＳ１２で生成した公開鍵Bpとを、データ取得要求に含めて仲介装置２００に送信する（ステップＳ３１）。
【００４１】
仲介装置２００のデータ要求受付機能部２０３は、データ取得要求から公開鍵Bpを取り出し、再暗号化鍵要求機能部２０４により、公開鍵Bpを再暗号化鍵生成要求に含めてデータ生成装置１００に送信する（ステップＳ３２）。
【００４２】
データ生成装置１００において、再暗号化鍵要求受付機能部１２１が再暗号化鍵生成要求に含まれる公開鍵Bpを再暗号化鍵生成機能部１２２に渡し、再暗号化鍵生成機能部１２２は、公開鍵Bpと、ステップＳ１１で生成されたデータ生成装置１００の秘密鍵Asとを用いて、再暗号化鍵S（A→B）を生成する（ステップＳ３３）。
【００４３】
再暗号化鍵要求受付機能部１２１は、再暗号化鍵S（A→B）を再暗号化鍵生成応答として仲介装置２００に返信する（ステップＳ３４）。
【００４４】
仲介装置２００において、再暗号化鍵要求機能部２０４が再暗号化鍵S（A→B）を再暗号化機能部２０５に渡す。再暗号化機能部２０５は、ストレージ２０２からデータIDに該当するデータ（暗号文）を取り出し、データ生成装置１００から受信した再暗号化鍵S（A→B）を用いて再暗号化を実施する（ステップＳ３５）。
【００４５】
そして、データ要求応答機能部２０６が、再暗号化したデータを、データ応答としてデータ利用装置３００に返信する（ステップＳ３６）。データ利用装置３００は、データ受信機能部３０３により受信したデータ（再暗号文）を、復号機能部３０４により、ステップＳ１２で生成した秘密鍵Bsを用いて復号し、最終的にデータ（平文）を取得する（ステップＳ３７）。
【００４６】
（実施の形態のまとめ、効果）
本実施の形態における技術により、仲介装置２００にデータを蓄積し、データの利用要求に応じてデータを配信する蓄積型のデータ流通において、データ生成装置１００が生成したデータを、データを利用するデータ利用装置３００が受信するまで、仲介装置２００で復号することなくEnd-Endで暗号化することができる。これにより、仲介装置２００へのサイバー攻撃や内部犯罪等によるデータの漏洩や窃取を防止することができ、極めて安全にデータを流通させることができる。
【００４７】
また、仲介装置２００が存在する３者のモデルが実現できることにより、安全な蓄積型のデータ流通を、仲介装置２００を運用する事業者がサービスとして提供することができる。
【００４８】
すなわち、本実施の形態では、下記のようにして、本来は受信者Aに対して暗号化された暗号文を、受信者Bが復号できるように、受信者Aが受信者Bに復号する権利を委譲する目的で構成されているプロキシ暗号を、仲介者を含む３者のモデルに機能分担することで、安全な蓄積型のデータ流通を実現している。
【００４９】
データ生成装置１００が、データ利用装置３００（受信者）の公開鍵ではなく、自らの公開鍵を用いてデータを暗号化し、仲介装置２００に蓄積及び配送を委託する。再暗号化処理は仲介装置２００が実施するが、再暗号化鍵の生成については、仲介装置２００を経由してデータ生成装置１００に依頼するモデルとすることで、仲介装置２００は原理的に暗号化及び再暗号化されたデータを復号できなくなる。これにより、データ生成装置１００、仲介装置２００、データ利用装置３００を保持する各事業者にとって、以下のようなメリットが生まれる。
【００５０】
データ生成装置１００を保持する事業者（IoT事業者等）は、安全なデータの蓄積・配送を、仲介装置２００を保持する事業者に委託することができる。また、再暗号化鍵の生成機能のみを提供すればよく、計算負荷の高い再暗号化機能を仲介装置２００に任せることができ、計算機リソースを削減することができる。
【００５１】
クラウド事業者やネットワーク事業者等、大量のストレージと大容量のネットワークを保持する事業者が、仲介装置２００を保持することで、データ生成装置１００を保持する事業者に対して、End-Endで暗号化された安全なデータ流通サービスを提供することができる。
【００５２】
データ利用装置３００を保持する事業者（データを活用してサービスを提供するサービス事業者等）は、復号機能のみを保持すればよいうえに、データ取得要求等のやりとりを仲介装置を保持する事業者とだけ実施すれば良いため、容易に安全なデータ流通サービスを受けることができる。
【００５３】
以上、説明したとおり、本実施の形態により、データ生成装置、仲介装置、及びデータ利用装置を備えるデータ配信システムであって、
前記データ生成装置は、
前記データ生成装置の公開鍵を用いてデータを暗号化し、暗号化されたデータを前記仲介装置に送信する暗号化データ送信手段と、
前記暗号化されたデータを前記データ利用装置において復号できるように再暗号化するための再暗号化鍵の生成要求を、前記仲介装置から受信し、当該再暗号化鍵を生成する再暗号化鍵生成手段と、
前記再暗号化鍵を前記仲介装置に送信する再暗号化鍵送信手段と、を備え、
前記仲介装置は、
前記暗号化されたデータを蓄積するストレージと、
前記データ利用装置からデータ要求を受信し、前記再暗号化鍵の生成要求を前記データ生成装置に送信する生成要求送信手段と、
前記データ生成装置から前記再暗号化鍵を受信し、当該再暗号化鍵を用いて前記暗号化されたデータを再暗号化する再暗号化手段と、
前記再暗号化されたデータを前記データ利用装置に送信する再暗号化データ送信手段と、を備え、
前記データ利用装置は、
前記データ要求を前記仲介装置に送信する送信手段と、
前記再暗号化されたデータを復号する復号手段と、を備える
ことを特徴とするデータ配信システムが提供される。
【００５４】
実施の形態におけるデータ送信機能部１１４は、暗号化データ送信手段の例であり、再暗号化鍵要求受付機能部１２１及び再暗号化鍵生成機能部１２２は、再暗号化鍵生成手段の例であり、再暗号化鍵要求受付機能部１２１は、再暗号化鍵送信手段の例である。
【００５５】
また、データ要求受付機能部２０３及び再暗号化鍵要求機能部２０４は、生成要求送信手段の例であり、再暗号化鍵要求機能部２０４及び再暗号化機能部２０５は、再暗号化手段の例であり、データ要求応答機能部２０６は、再暗号化データ送信手段の例である。
【００５６】
また、データ要求機能部３０２は、送信手段の例であり、復号機能部３０４は、復号手段の例である。
【００５７】
前記再暗号化鍵の生成要求に、前記データ利用装置の公開鍵が含まれ、前記データ生成装置における再暗号化鍵生成手段は、前記データ利用装置の公開鍵と、前記データ生成装置の秘密鍵を用いて前記再暗号化鍵を生成し、前記データ利用装置の復号手段は、当該データ利用装置の秘密鍵を用いて前記再暗号化されたデータを復号することとしてもよい。
【００５８】
また、本実施の形態により、データ生成装置、仲介装置、及びデータ利用装置を備えるデータ配信システムにおける前記データ生成装置であって、
前記データ生成装置の公開鍵を用いてデータを暗号化し、暗号化されたデータを前記仲介装置に送信する暗号化データ送信手段と、
前記暗号化されたデータを前記データ利用装置において復号できるように再暗号化するための再暗号化鍵の生成要求を、前記仲介装置から受信し、当該再暗号化鍵を生成する再暗号化鍵生成手段と、
前記再暗号化鍵を前記仲介装置に送信する再暗号化鍵送信手段と
を備えることを特徴とするデータ生成装置が提供される。
【００５９】
また、本実施の形態により、データ生成装置、仲介装置、及びデータ利用装置を備えるデータ配信システムにおける前記仲介装置であって、
前記データ生成装置の公開鍵を用いて暗号化されたデータを蓄積するストレージと、
前記データ利用装置からデータ要求を受信し、前記暗号化されたデータを前記データ利用装置において復号できるように再暗号化するための再暗号化鍵の生成要求を、前記データ生成装置に送信する生成要求送信手段と、
前記データ生成装置から前記再暗号化鍵を受信し、当該再暗号化鍵を用いて前記暗号化されたデータを再暗号化する再暗号化手段と、
前記再暗号化されたデータを前記データ利用装置に送信する再暗号化データ送信手段と
を備えることを特徴とする仲介装置が提供される。
【００６０】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６１】
１００  データ生成装置
１１０  データ生成・暗号化機能部
１１１  データ生成機能部
１１２  鍵生成機能部
１１３  暗号化機能部
１１４  データ送信機能部
１２０  再暗号化鍵生成機能部
１２１  再暗号化鍵要求受付機能部
１２２  再暗号化鍵生成機能部
１２３  認証機能部
１２４  ユーザ管理DB
２００  仲介装置
２０１  データ受信機能部
２０２  ストレージ
２０３  データ要求受付機能部
２０４  再暗号化鍵要求機能部
２０５  再暗号化機能部
２０６  データ要求応答機能部
３００  データ利用装置
３０１  鍵生成機能部
３０２  データ要求機能部
３０３  データ受信機能部
３０４  復号機能部
１５０  ドライブ装置
１５１  記録媒体
１５２  補助記憶装置
１５３  メモリ装置
１５４  ＣＰＵ
１５５  インタフェース装置
１５６  表示装置
１５７  入力装置
【図１】
2018107625.tif 000003
【図２】
2018107625.tif 000004
【図３】
2018107625.tif 000005
【図４】
2018107625.tif 000006
【図５】
2018107625.tif 000007
【図６】
2018107625.tif 000008