(57)【要約】【課題】データの送信元の負荷の増加を抑制しつつ安全なデータ流通を実現すること。【解決手段】データを送信するデータ送信装置と、鍵暗号化装置とを含むデータ流通システムにおいて、前記データ送信装置は、前記データを第１の暗号方式に係る暗号鍵で暗号化する第１の暗号化部と、暗号化された前記データを送信する第１の送信部とを有し、前記鍵暗号化装置は、前記暗号鍵を前記データ送信装置との間で共有する共有部と、前記暗号鍵を前記第１の暗号方式よりも計算量が多い第２の暗号方式を用いて暗号化する第２の暗号化部と、暗号化された前記暗号鍵を送信する第２の送信部とを有する。【選択図】図１
2018142922.tif 000002
【特許請求の範囲】
【請求項１】
データを送信するデータ送信装置と、鍵暗号化装置とを含むデータ流通システムであって、
前記データ送信装置は、
前記データを第１の暗号方式に係る暗号鍵で暗号化する第１の暗号化部と、
暗号化された前記データを送信する第１の送信部とを有し、
前記鍵暗号化装置は、
前記暗号鍵を前記データ送信装置との間で共有する共有部と、
前記暗号鍵を前記第１の暗号方式よりも計算量が多い第２の暗号方式を用いて暗号化する第２の暗号化部と、
暗号化された前記暗号鍵を送信する第２の送信部とを有する、
ことを特徴とするデータ流通システム。
【請求項２】
前記第１の暗号方式は、共通鍵暗号方式であり、
前記第２の暗号方式は、高機能暗号方式である、
ことを特徴とする請求項１記載のデータ流通システム。
【請求項３】
前記第２の暗号化部は、高機能暗号用の公開鍵を用いて前記暗号鍵を暗号化する、
ことを特徴とする請求項２記載のデータ流通システム。
【請求項４】
前記第２の暗号方式に、プロキシ暗号を利用する、
ことを特徴とする請求項２又は３記載のデータ流通システム。
【請求項５】
データを送信するデータ送信装置と、鍵暗号化装置とが実行するデータ流通方法であって、
前記データ送信装置が、
前記データを第１の暗号方式に係る暗号鍵で暗号化する第１の暗号化手順と、
暗号化された前記データを送信する第１の送信手順とを実行し、
前記鍵暗号化装置が、
前記暗号鍵を前記データ送信装置との間で共有する共有手順と、
前記暗号鍵を前記第１の暗号方式よりも計算量が多い第２の暗号方式を用いて暗号化する第２の暗号化手順と、
暗号化された前記暗号鍵を送信する第２の送信手順とを実行する、
ことを特徴とするデータ流通方法。
【請求項６】
前記第１の暗号方式は、共通鍵暗号方式であり、
前記第２の暗号方式は、高機能暗号方式である、
ことを特徴とする請求項５記載のデータ流通方法。
【請求項７】
前記第２の暗号化手順は、高機能暗号用の公開鍵を用いて前記暗号鍵を暗号化する、
ことを特徴とする請求項６記載のデータ流通方法。
【請求項８】
前記第２の暗号方式に、プロキシ暗号を利用する、
ことを特徴とする請求項６又は７記載のデータ流通方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ流通システム及びデータ流通方法に関する。
【背景技術】
【０００２】
ＩｏＴ（Internet of Things）の普及により、データを安全に流通させる需要が高まってきている。ビッグデータの活用などに見られるように、ＩｏＴデバイスから収集したデータは、特定の目的だけでなく、さまざまなサービスに利用されることが期待されている。したがって、ＩｏＴデバイスから収集したデータが、そのデータを利用したい複数のサービス事業者に安全に配信されることが必要となる。ＩｏＴデバイスから収集したデータの中には、データ自体の機密性が高いものや、プライバシーに機微なものも多く、安全に流通させるためには、暗号化技術によりこれらのデータを保護する必要がある。
【０００３】
このような目的に適した暗号方式として、プロキシ暗号（ＰＲＥ：Proxy Re-Encryption）やインテリジェント暗号といった高度な暗号技術（高機能暗号技術）が登場してきている。プロキシ暗号（非特許文献１）は、受信者Ａが復号できる形で暗号化した暗号文を復号することなく、受信者Ｂが復号できるように変換（再暗号化）できる暗号方式であり、クラウド等に保存した暗号化データを、取得要求に応じて再暗号化して送信するといった利用方法が考えられる。
【０００４】
また、インテリジェント暗号（非特許文献２）は、平文を暗号化する際に復号条件を組み込むことができ、その復号条件を満たす復号鍵を持つ人だけが復号できるという暗号方式である。データを利用できる事業者をグルーピングし、データ毎にどのグループが利用できるかを指定して暗号化することで、データの利用制限をかけることができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】光成滋生，"クラウドを支えるこれからの暗号技術"，第９章「プロキシ暗号」，秀和システム，ISBN: 978-4-7980-4413-2, 2015年
【非特許文献２】富士仁他，"クラウド時代における情報の保護と利活用の両立を実現する暗号技術"，NTT技術ジャーナル 2012年8月号 p.18〜p．21，URL: http://www.ntt.co.jp/journal/1208/files/jn201208018.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、プロキシ暗号やインテリジェント暗号といった高機能暗号は、従来の公開鍵暗号方式や共通鍵暗号方式と比べると計算量が多く、処理負荷が高いという特徴がある。そのため、一般的に計算能力が限られているＩｏＴデバイスに高機能暗号を搭載すると、計算時間の増大、消費電力の増大による電池寿命の減少といった課題があり、現状ではＩｏＴデバイスへの搭載は困難である。
【０００７】
また、ＰＣやスマートフォンでは、計算能力の観点では問題はないが、高機能暗号は、現状ではＯＳの基本機能として搭載されておらず、独自のライブラリやアプリケーションを必要とするため、これらをインストールする必要がある。
【０００８】
データの安全な流通を考えると、データが生成された時点で暗号化し、流通の過程では暗号化された状態を保ち、データを利用する時点で復号される方式が望ましい。しかし、上記の課題により、現状ではＩｏＴデバイス等にこれらの高機能暗号のように負荷の高い計算処理を実装することは困難である。
【０００９】
本発明は、上記の点に鑑みてなされたものであって、データの送信元の負荷の増加を抑制しつつ安全なデータ流通を実現することを目的とする。
【課題を解決するための手段】
【００１０】
そこで上記課題を解決するため、データを送信するデータ送信装置と、鍵暗号化装置とを含むデータ流通システムにおいて、前記データ送信装置は、前記データを第１の暗号方式に係る暗号鍵で暗号化する第１の暗号化部と、暗号化された前記データを送信する第１の送信部とを有し、前記鍵暗号化装置は、前記暗号鍵を前記データ送信装置との間で共有する共有部と、前記暗号鍵を前記第１の暗号方式よりも計算量が多い第２の暗号方式を用いて暗号化する第２の暗号化部と、暗号化された前記暗号鍵を送信する第２の送信部とを有する。
【発明の効果】
【００１１】
データの送信元の負荷の増加を抑制しつつ安全なデータ流通を実現することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態におけるデータ流通システムの構成例を示す図である。
【図２】本発明の実施の形態における各装置のハードウェア構成例を示す図である。
【図３】本発明の実施の形態におけるデータ生成装置１０の機能構成例を示す図である。
【図４】本発明の実施の形態におけるデータ管理装置２０の機能構成例を示す図である。
【図５】本発明の実施の形態における鍵管理装置３０の機能構成例を示す図である。
【図６】本発明の実施の形態におけるデータ利用装置４０の機能構成例を示す図である。
【図７】データ流通システムにおいて実行される処理手順の一例を説明するためのシーケンス図である。
【図８】データ流通システムにおいて実行される処理手順の一例を説明するためのシーケンス図である。
【図９】本発明の実施の形態の概要を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、暗号化したデータ本体（暗号文）の流通と、データを復号するための鍵の流通を分離する方式を採用する。
【００１４】
プロキシ暗号やインテリジェント暗号といった高機能暗号では、ハイブリッド暗号方式を採用することが一般的である。ハイブリッド暗号方式では、データ量が多いデータ本体の暗号化には、比較的処理が軽い共通鍵暗号方式を採用し、データ本体を暗号化した共通鍵を、高機能暗号によって暗号化するという２段階の暗号化を実施する。そのうえで、暗号文（暗号化されたデータ本体）と、暗号化された共通鍵とをセットで配送することで、実質的に高機能暗号でデータ全体を暗号化したのと同等の安全性と機能を実現する。
【００１５】
一方、本実施の形態では、データを暗号化した暗号文と、データの暗号化に用いた共通鍵を高機能暗号で暗号化した鍵との流通を分離する。具体的には、計算能力の制約が厳しいＩｏＴデバイス等では相対的に計算量に少ない共通鍵暗号方式によるデータの暗号化のみを実施し、ネットワークやクラウド上にある計算能力の高いサーバ等のコンピュータで相対的に計算量の多い高機能暗号による共通鍵の暗号化を実施することで、Ｅｎｄ−Ｅｎｄでのデータの暗号化を実現する。
【００１６】
本実施の形態では、データ本体の暗号化にはＡＥＳ（Advanced Encryption Standard）等の一般に利用されている共通鍵暗号方式を利用し、共通鍵を暗号化する高機能暗号としてプロキシ暗号を利用する例について説明する。但し、共通鍵暗号方式はＡＥＳに限定されるものでなく、どんな暗号化方式でも適用可能である。また、高機能暗号も、プロキシ暗号に限定されるものではなく、ハイブリッド暗号を前提とした暗号化技術であれば、インテリジェント暗号等の他の暗号技術を適用することも可能である。
【００１７】
図１は、本発明の実施の形態におけるデータ流通システムの構成例を示す図である。図１において、データ流通システムは、データ生成装置１０、データ管理装置２０、鍵管理装置３０及びデータ利用装置４０等を含む。
【００１８】
データ生成装置１０は、ＩｏＴデバイス等であり、データを生成すると共に、生成したデータを暗号化して、送信先のデータ利用装置４０へ送信する装置である。
【００１９】
データ管理装置２０は、データの暗号化に用いられる共通鍵を暗号化すると共に、暗号化された共通鍵の再暗号化に利用される再暗号化鍵を生成する１以上のコンピュータである。
【００２０】
鍵管理装置３０は、データ管理装置によって暗号化された共通鍵を鍵ＤＢに記憶し、データ利用装置４０からの要求に応じて、データ管理装置２０によって生成される再暗号化鍵を用いて当該共通鍵を再暗号化してデータ利用装置４０に返送する１以上のコンピュータである。
【００２１】
データ利用装置４０は、暗号化されたデータを受信すると共に、再暗号化された共通鍵を受信し、当該共通鍵を復号した上で、復号された共通鍵を用いてデータを復号して利用する装置である。
【００２２】
データ生成装置１０と、データ管理装置２０及びデータ利用装置４０とは、ネットワークを介して接続される。但し、データ生成装置１０とデータ利用装置４０との間には、クラウドストレージ等が介在してもよい。データ管理装置２０と鍵管理装置３０とは、ネットワークを介して接続される。鍵管理装置３０とデータ利用装置４０とは、ネットワークを介して接続される。
【００２３】
なお、データ生成装置１０及びデータ管理装置２０は、同一の組織が運用するか、相互に信頼関係のある組織がそれぞれを運用するものとする。また、鍵管理装置３０は、データ生成装置１０及びデータ管理装置２０とは別の組織が運用し、鍵管理装置３０ではデータ本体を復号できる共通鍵を入手できない（復号できない）ようにすることで、データ内容をＥｎｄ−Ｅｎｄで秘匿できるようにする。
【００２４】
図２は、本発明の実施の形態における各装置のハードウェア構成例を示す図である。図１の各装置（データ生成装置１０、データ管理装置２０、鍵管理装置３０、データ利用装置４０）は、それぞれバスＢで相互に接続されている補助記憶装置５０１、メモリ装置５０２、ＣＰＵ５０３、及びインタフェース装置５０４等を有する。
【００２５】
各装置での処理を実現するプログラムは、補助記憶装置５０１にインストールされる。補助記憶装置５０１は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２６】
メモリ装置５０２は、プログラムの起動指示があった場合に、補助記憶装置５０１からプログラムを読み出して格納する。ＣＰＵ５０３は、メモリ装置５０２に格納されたプログラムに従って各装置に係る機能を実行する。インタフェース装置５０４は、ネットワークに接続するためのインタフェースとして用いられる。
【００２７】
図３は、本発明の実施の形態におけるデータ生成装置１０の機能構成例を示す図である。図３において、データ生成装置１０は、データ生成部１１、共通鍵交換部１２、共通鍵暗号化部１３及びデータ送信部１４等を含む。これら各部は、データ生成装置１０にインストールされた１以上のプログラムが、データ生成装置１０のＣＰＵに実行させる処理により実現される。
【００２８】
データ生成部１１は、送信対象のデータ（以下、「平文Ｍ」という。）を生成する。例えば、データ生成装置１０がＩｏＴデバイスであれば、データ生成部１１は、センサデータなどを取得する機能に相当する。
【００２９】
共通鍵交換部１２は、平文Ｍを暗号化するための共通鍵Ｋｃを、データ管理装置２０との間で交換する。共通鍵Ｋｃの交換には、データ管理装置２０との間に確立された安全な通信路（ＴＬＳ（Transport Layer Security）セッション等）が利用されてもよいし、安全な通信路が存在しない場合には、ＤＨ（Diffie-Helleman）鍵交換が利用されてもよい。第三者に共通鍵Ｋｃを知られないのであれば、これら以外の方法が利用されてもよい。
【００３０】
共通鍵暗号化部１３は、平文Ｍ及び共通鍵Ｋｃが入力されると、共通鍵Ｋｃによって平文Ｍを共通鍵暗号方式によって暗号化して暗号文Ｃを出力する。代表的な共通鍵暗号方式として、インターネットでも広く普及しているＡＥＳ（Advanced Encryption Standard）があるが、これ以外が利用されてもよい。
【００３１】
データ送信部１４は、暗号文Ｃをデータ利用装置４０へ送信する。データの送信方法はアプリケーションに依存する。直接データ利用装置４０へ送信されてもよいし、Ｗｅｂサーバやクラウドストレージ等を介した蓄積型のデータ流通方式が採用されてもよい。最終的にデータ利用装置４０が暗号文Ｃを受信できるのであれば、データ送信方法に制限はない。
【００３２】
図４は、本発明の実施の形態におけるデータ管理装置２０の機能構成例を示す図である。図４において、データ管理装置２０は、再暗号化鍵処理部２１及び共通鍵処理部２２等を含む。これら各部は、データ管理装置２０にインストールされた１以上のプログラムが、データ管理装置２０のＣＰＵに実行させる処理により実現される。
【００３３】
再暗号化鍵処理部２１は、共通鍵Ｋｃを再暗号化するための再暗号化鍵を鍵管理装置３０に提供するための処理を実行する。再暗号化鍵処理部２１は、再暗号化鍵要求受付部２１１及び再暗号化鍵生成部２１２等を含む。
【００３４】
再暗号化鍵要求受付部２１１は、鍵管理装置３０からの再暗号化鍵要求を受け付けると共に、当該再暗号化鍵要求に応じて生成される再暗号化鍵を鍵管理装置３０へ返送する。
【００３５】
再暗号化鍵生成部２１２は、後述されるＰＲＥ鍵生成部２２２によって生成されるＰＲＥ秘密鍵Ｋｓ（Ａ）と、鍵管理装置３０からの再暗号化鍵要求に含まれている、データ利用装置４０のＰＲＥ公開鍵Ｋｐ（Ｂ）とを用いて、再暗号化鍵Ｓ（Ａ−＞Ｂ）を生成する。
【００３６】
なお、再暗号化鍵処理部２１は、高機能暗号にプロキシ暗号（ＰＲＥ）を適用した場合に必要となる機能部である。したがって、他の高機能暗号が利用される場合、再暗号化鍵処理部２１は、不要、又は別の構成によって置換されてもよい。
【００３７】
また、本実施の形態においては、データ管理装置２０及びデータ利用装置４０それぞれのＰＲＥ公開鍵・秘密鍵のペアが必要となる。それぞれの装置のペアを判別しやすいように、以下、データ管理装置２０のＰＲＥ公開鍵・秘密鍵ペアをＫｐ（Ａ）・Ｋｓ（Ａ）と表記し、データ利用装置４０のＰＲＥ公開鍵・秘密鍵ペアをＫｐ（Ｂ）・Ｋｓ（Ｂ）と表記する。
【００３８】
一方、共通鍵処理部２２は、データ生成装置１０がデータの暗号化に利用する共通鍵Ｋｃを、高機能暗号（本実施の形態ではプロキシ暗号）を用いて暗号化して、鍵管理装置３０に送信するための処理を実行する。共通鍵処理部２２は、共通鍵交換部２２１、ＰＲＥ鍵生成部２２２、ＰＲＥ暗号化部２２３及び鍵送信部２２４等を含む。
【００３９】
共通鍵交換部２２１は、データ生成装置１０との間で共通鍵Ｋｃを交換して共通鍵Ｋｃを共有する。
【００４０】
ＰＲＥ鍵生成部２２２は、データ管理装置２０がプロキシ暗号で利用するＰＲＥ公開鍵Ｋｐ（Ａ）、ＰＲＥ秘密鍵Ｋｓ（Ａ）のペアを生成する。
【００４１】
ＰＲＥ暗号化部２２３は、共通鍵Ｋｃ及びＰＲＥ公開鍵Ｋｐ（Ａ）が入力されると、共通鍵ＫｃをＰＲＥ公開鍵Ｋｐ（Ａ）によって暗号化した結果である共通鍵Ｃ（Ｋｃ）を出力する。
【００４２】
鍵送信部２２４は、共通鍵Ｃ（Ｋｃ）を鍵管理装置３０へ送信する。なお、ＰＲＥ鍵生成部２２２及びＰＲＥ暗号化部２２３は、他の高機能暗号方式を利用した場合には、当該他の高機能暗号方式に対応した鍵生成機能、暗号化機能に置き換えることができる。
【００４３】
図５は、本発明の実施の形態における鍵管理装置３０の機能構成例を示す図である。鍵管理装置３０は、データ管理装置２０から受信した共通鍵Ｃ（Ｋｃ）を保管するとともに、データ利用装置４０からの要求に応じて、データ利用装置４０が復号できる形で、暗号化された共通鍵Ｃ（Ｋｃ）を送信する。図５において、鍵管理装置３０は、鍵登録部３１、鍵要求受付部３２、再暗号化鍵要求部３３及び再暗号化部３４等を含む。これら各部は、鍵管理装置３０にインストールされた１以上のプログラムが、鍵管理装置３０のＣＰＵに実行させる処理により実現される。鍵管理装置３０は、また、鍵ＤＢ３５を利用する。鍵ＤＢ３５は、例えば、鍵管理装置３０の補助記憶装置、又は鍵管理装置３０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００４４】
鍵登録部３１は、データ管理装置２０から共通鍵Ｃ（Ｋｃ）を受信し、共通鍵Ｃ（Ｋｃ）を鍵ＤＢ３５に登録する。鍵ＤＢ３５は、共通鍵Ｃ（Ｋｃ）を、暗号化されたまま（復号せずに）記憶しておくデータベースである。
【００４５】
鍵要求受付部３２は、データ利用装置４０からの鍵要求を受け付けると、当該鍵要求に含まれている、データ利用装置４０のＰＲＥ公開鍵Ｋｐ（Ｂ）を再暗号化鍵要求部３３に通知し、再暗号化鍵要求部３３から応答される、再暗号化された共通鍵Ｃ（Ｋｃ，Ｂ）をデータ利用装置４０へ返送する。なお、Ｃ（Ｋｃ，Ｂ）という表記は、Ｂ（本実施の形態ではデータ利用装置４０）が復号できる形で再暗号化された共通鍵Ｋｃを意味する。
【００４６】
再暗号化鍵要求部３３は、データ利用装置４０のＰＲＥ公開鍵Ｋｐ（Ｂ）を含む再暗号化鍵要求をデータ管理装置２０に送信し、データ管理装置２０から返送される再暗号化鍵Ｓ（Ａ−＞Ｂ）を受信する。
【００４７】
再暗号化部３４は、鍵ＤＢ３５に記憶されている共通鍵Ｃ（Ｋｃ）、及び再暗号化鍵Ｓ（Ａ−＞Ｂ）が入力されると、共通鍵Ｃ（Ｋｃ）が再暗号化鍵Ｓ（Ａ−＞Ｂ）によって再暗号化された共通鍵Ｃ（Ｋｃ，Ｂ）を出力する。
【００４８】
なお、再暗号化に関わる機能部（再暗号化鍵要求部３３、再暗号化部３４）は、高機能暗号にプロキシ暗号を利用した場合に特有の機能であり、他の高機能暗号を利用した場合には、これらは不要、又は当該他の高機能暗号化の方式に対応した機能に置換される。
【００４９】
図６は、本発明の実施の形態におけるデータ利用装置４０の機能構成例を示す図である。図６において、データ利用装置４０は、データ受信部４１、ＰＲＥ鍵生成部４２、鍵要求部４３、ＰＲＥ復号部４４及び共通鍵復号部４５等を含む。これら各部は、データ利用装置４０にインストールされた１以上のプログラムが、データ利用装置４０のＣＰＵに実行させる処理により実現される。
【００５０】
データ受信部４１は、データ生成装置１０によって生成され、共通鍵Ｋｃで暗号化された暗号文Ｃを受信する。データの流通方法は、前述の通りアプリケーション依存であり、データ生成装置１０が生成した暗号文Ｃを適切に受信できるのであれば、どのような流通方法が利用されてもよい。
【００５１】
ＰＲＥ鍵生成部４２は、プロキシ暗号で利用するＰＲＥ公開鍵Ｋｐ（Ｂ）、ＰＲＥ秘密鍵Ｋｓ（Ｂ）のペアを生成する。ＰＲＥ鍵生成部４２の機能は、データ管理装置２０のＰＲＥ鍵生成部４２と同じである。
【００５２】
鍵要求部４３は、暗号文Ｃを復号するための（暗号化された）共通鍵Ｃ（Ｋｃ）を要求する鍵要求を、鍵管理装置３０に送信し、当該鍵要求に応じて返送される、再暗号化された共通鍵Ｃ（Ｋｃ，Ｂ）を受信する。鍵要求にはＰＲＥ公開鍵Ｋｐ（Ｂ）が含まれる。
【００５３】
ＰＲＥ復号部４４は、再暗号化された共通鍵Ｃ（Ｋｃ，Ｂ）及びＰＲＥ秘密鍵Ｋｓ（Ｂ）が入力されると、共通鍵Ｃ（Ｋｃ，Ｂ）がＰＲＥ秘密鍵Ｋｓ（Ｂ）によって復号された結果である共通鍵Ｋｃを出力する。
【００５４】
共通鍵復号部４５は、ＰＲＥ復号部４４によって復号された共通鍵Ｋｃによって暗号文Ｃを復号する。
【００５５】
以下、データ流通システムにおいて実行される処理手順について説明する。図７及び図８は、データ流通システムにおいて実行される処理手順の一例を説明するためのシーケンス図である。
【００５６】
まず、データ管理装置２０のＰＲＥ鍵生成部２２２は、ＰＲＥ秘密鍵、ＰＲＥ暗号鍵のペア（Ｋｓ（Ａ）、Ｋｐ（Ａ））を生成する（Ｓ１１）。また、データ利用装置４０のＰＲＥ鍵生成部４２も、ＰＲＥ秘密鍵、ＰＲＥ暗号鍵のペア（Ｋｓ（Ｂ）、Ｋｐ（Ｂ））を生成する（Ｓ１２）。なお、ＰＲＥ秘密鍵をＫｓと表記し、ＰＲＥ公開鍵をＫｐと表記する。また、Ｋｓ又はＫｐに続く括弧内のＡ又はＢは、鍵の所有者の識別子を示す。Ａは、データ管理装置２０を示し、Ｂは、データ利用装置４０を示す。
【００５７】
続いて、データ生成装置１０の共通鍵交換部１２とデータ管理装置２０の共通鍵交換部２２１との間で共通鍵Ｋｃが共有される（Ｓ２１）。前述の通り、共通鍵Ｋｃの共有方法は、第三者に共通鍵Ｋｃが知られないのであれば、どのような方式が利用されてもよい。
【００５８】
共通鍵Ｋｃが共有されると、データ管理装置２０のＰＲＥ暗号化部２２３は、Ｓ１１で生成したＰＲＥ公開鍵Ｋｐ（Ａ）を用いて、共通鍵Ｋｃを暗号化して共通鍵Ｃ（Ｋｃ）を生成する（Ｓ２２）。続いて、鍵送信部２２４は、共通鍵Ｃ（Ｋｃ）を鍵管理装置３０へ送信する（Ｓ２３）。鍵管理装置３０の鍵登録部３１は、共通鍵Ｃ（Ｋｃ）を受信すると、共通鍵Ｃ（Ｋｃ）を復号せずに鍵ＤＢ３５に登録する（Ｓ２４）。
【００５９】
ここまでの準備ができたら、データ生成装置１０の共通鍵暗号化部１３は、データ生成部１１が生成したデータ（平文Ｍ）を、ステップＳ２１においてデータ管理装置２０との間で共有された共通鍵Ｋｃによって暗号化して暗号文Ｃを生成する（Ｓ３１）。続いて、データ送信部１４は、暗号文Ｃをデータ利用装置４０へ送信する（Ｓ３２）。データ利用装置４０のデータ受信部４１は、当該暗号文Ｃを受信する。
【００６０】
データ利用装置４０の鍵要求部４３は、暗号文Ｃが受信されると、復号に必要な鍵を取得するために、鍵要求を鍵管理装置３０へ送信する（図８：Ｓ４１）。当該鍵要求にはＰＲＥ公開鍵Ｋｐ（Ｂ）が含まれる。ＰＲＥ公開鍵Ｋｐ（Ｂ）は、再暗号化鍵Ｓ（Ａ−＞Ｂ）の生成に必要だからである。
【００６１】
鍵管理装置３０の鍵要求受付部３２が当該鍵要求を受信すると、再暗号化鍵要求部３３は、当該鍵要求に含まれているＰＲＥ公開鍵Ｋｐ（Ｂ）を含む、再暗号化鍵要求をデータ管理装置２０に送信する（Ｓ４２）。
【００６２】
データ管理装置２０の再暗号化鍵要求受付部２１１が当該再暗号化鍵要求を受信すると、再暗号化鍵生成部２１２は、当該再暗号化鍵要求に含まれているＰＲＥ公開鍵Ｋｐ（Ｂ）と、データ管理装置２０のＰＲＥ秘密鍵Ｋｓ（Ａ）とに基づいて、再暗号化鍵Ｓ（Ａ−＞Ｂ）を生成する（Ｓ４３）。再暗号化鍵要求受付部２１１は、当該再暗号化鍵Ｓ（Ａ−＞Ｂ）を鍵管理装置３０に返送する（Ｓ４４）。
【００６３】
鍵管理装置３０の再暗号化鍵要求部３３が当該再暗号化鍵Ｓ（Ａ−＞Ｂ）を受信すると、再暗号化部３４は、鍵ＤＢ３５に記憶されている共通鍵Ｃ（Ｋｃ）を、当該再暗号化鍵Ｓ（Ａ−＞Ｂ）を用いて、データ利用装置４０が復号できる形（Ｃ（Ｋｃ，Ｂ））に再暗号化する（Ｓ４５）。続いて、鍵要求受付部３２は、再暗号化された共通鍵Ｃ（Ｋｃ，Ｂ）を、データ利用装置４０に送信する（Ｓ４６）。
【００６４】
データ利用装置４０の鍵要求部４３が、再暗号化された共通鍵Ｃ（Ｋｃ，Ｂ）を受信すると、ＰＲＥ復号部４４は、ＰＲＥ秘密鍵Ｋｓ（Ｂ）を用いて共通鍵Ｃ（Ｋｃ，Ｂ）を共通鍵Ｋｃに復号する（Ｓ４７）。続いて、共通鍵復号部４５は、共通鍵Ｋｃを用いて暗号文Ｃをデータ（平文Ｍ）に復号する（Ｓ４８）。
【００６５】
上述したように、本実施の形態では、計算能力の低いＩｏＴデバイス等のデータ生成装置１０が、データ本体を処理負荷の低い共通鍵暗号方式で暗号化する一方で、データ管理装置２０が、共通鍵自体を高機能暗号により暗号化して、データ本体と鍵を別々に流通させる。
【００６６】
したがって、ＩｏＴデバイス等のデータ生成装置１０が、プロキシ暗号やインテリジェント暗号といった処理負荷の高い高機能暗号の機能を持たなくても、データ生成からデータ利用までの全過程において、Ｅｎｄ−Ｅｎｄでデータが暗号化された状態を保つことができ、安全なデータ流通を実現することができる。
【００６７】
また、データ流通の過程では、データ本体の復号に必要な共通鍵Ｋｃをプロキシ暗号等の高機能暗号を用いて流通させることで、柔軟かつ高度なデータ流通を実現することができる。
【００６８】
つまり、本実施の形態を適用することにより、データ生成装置１０が計算能力の低いデバイスであっても、高機能暗号の機能を利用した安全かつ高度なデータ流通を実現することができる。すなわち、データの送信元の負荷の増加を抑制しつつ安全なデータ流通を実現することができる。
【００６９】
なお、本実施の形態では、データ管理装置２０と鍵管理装置３０とが分離している例について説明したが、データ管理装置２０と鍵管理装置３０とは、１つの装置に統合されてもよい（同じコンピュータを用いて実現されてもよい。）。
【００７０】
但し、データ管理装置２０と鍵管理装置３０とを分離することで、共通鍵の流通をデータ管理装置２０の運用者とは別の事業者に委託することができる。この際、データ利用装置４０が多数であれば、各データ利用装置４０への共通鍵の配信を複数の鍵管理装置３０によって分担することで、共通鍵の流通におけるデータ管理装置２０の負荷を軽減することができる。すなわち、各鍵管理装置３０は、再暗号化鍵Ｃ（Ｋｃ，Ｂ）をキャッシュしておけば、データ利用装置４０からの鍵要求に応じて、データ管理装置２０へ再暗号化鍵要求が送信される頻度を低下させることができるからである。
【００７１】
なお、本実施の形態では、高機能暗号としてプロキシ暗号を用いる例について説明したが、他の高機能暗号の適用可能性も考慮すると、要するに図９に示されるような構成が実現されればよい。
【００７２】
図９は、本発明の実施の形態の概要を示す図である。図９において、データ管理装置２０は、高機能暗号用の公開鍵を用いて、共通鍵Ｋｃを高機能暗号によって暗号化する。暗号化された共通鍵Ｋｃは、鍵ＤＢ３５に記憶され、データ利用装置４０へ提供される。データ利用装置４０は、高機能暗号用の秘密鍵を用いて、暗号化された共通鍵Ｋｃを復号し、復号した共通鍵Ｋｃを用いて、データ生成装置１０から受信される暗号文を復号する。
【００７３】
なお、本実施の形態において、データ生成装置１０は、データ送信装置の一例である。データ管理装置２０及び鍵管理装置３０は、鍵暗号化装置の一例である。共通鍵暗号方式は、第１の暗号方式の一例である。高機能暗号方式は、第１の暗号方式よりも計算量が多い第２の暗号方式の一例である。共通鍵暗号化部１３は、第１の暗号化部の一例である。データ送信部１４は、第１の送信部の一例である。共通鍵交換部２２１は、共有部の一例である。ＰＲＥ暗号化部２２３は、第２の暗号化部の一例である。鍵送信部２２４又は鍵要求受付部３２は、第２の送信部の一例である。
【００７４】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００７５】
１０          データ生成装置
１１          データ生成部
１２          共通鍵交換部
１３          共通鍵暗号化部
１４          データ送信部
２０          データ管理装置
２１          再暗号化鍵処理部
２２          共通鍵処理部
３０          鍵管理装置
３１          鍵登録部
３２          鍵要求受付部
３３          再暗号化鍵要求部
３４          再暗号化部
３５          鍵ＤＢ
４０          データ利用装置
４１          データ受信部
４２          ＰＲＥ鍵生成部
４３          鍵要求部
４４          ＰＲＥ復号部
４５          共通鍵復号部
２１１        再暗号化鍵要求受付部
２１２        再暗号化鍵生成部
２２１        共通鍵交換部
２２２        ＰＲＥ鍵生成部
２２３        ＰＲＥ暗号化部
２２４        鍵送信部
５０１        補助記憶装置
５０２        メモリ装置
５０３        ＣＰＵ
５０４        インタフェース装置
Ｂ            バス
【図１】
2018142922.tif 000003
【図２】
2018142922.tif 000004
【図３】
2018142922.tif 000005
【図４】
2018142922.tif 000006
【図５】
2018142922.tif 000007
【図６】
2018142922.tif 000008
【図７】
2018142922.tif 000009
【図８】
2018142922.tif 000010
【図９】
2018142922.tif 000011