(57)【要約】【課題】信頼できるユーザのみが復号可能な暗号方式によりデータを送付できる暗号化装置、復号装置、暗号化システム、暗号化方法及び暗号化プログラムを提供する。【解決手段】暗号化装置１０は、共通鍵暗号方式によりデータを暗号化し、第１暗号文を生成する第１暗号化部１１１と、共通鍵暗号方式で用いた秘密鍵を、基点データからの距離が閾値以内の認証データにより復号可能な暗号方式により暗号化し、第２暗号文を生成する第２暗号化部１１２と、を備える。【選択図】図１
2019041355.tif 000002
【特許請求の範囲】
【請求項１】
共通鍵暗号方式によりデータを暗号化し、第１暗号文を生成する第１暗号化部と、
前記共通鍵暗号方式で用いた秘密鍵を、基点データからの距離が閾値以内の認証データにより復号可能な暗号方式により暗号化し、第２暗号文を生成する第２暗号化部と、を備える暗号化装置。
【請求項２】
前記認証データは、前記データの提供先それぞれの信頼度が高いほど、前記基点データからの距離が短い値として割り当てられる請求項１に記載の暗号化装置。
【請求項３】
前記認証データは、ユーザＩＤであり、グループ内のユーザＩＤが他のグループのユーザＩＤに比べて、互いに距離の近い文字列として定義される請求項１に記載の暗号化装置。
【請求項４】
前記基点データは、前記データの提供元のユーザＩＤである請求項３に記載の暗号化装置。
【請求項５】
前記距離は、前記基点データと前記認証データとのハミング距離である請求項１から請求項４のいずれかに記載の暗号化装置。
【請求項６】
請求項１から請求項５のいずれかに記載の暗号化装置により生成された前記第１暗号文及び前記第２暗号文を受信する受信部と、
前記認証データにより前記第２暗号文を復号し、前記秘密鍵を取得する認証部と、
前記秘密鍵により前記第１暗号文を復号し、前記データを取得する復号部と、を備える復号装置。
【請求項７】
暗号化装置及び復号装置を有する暗号化システムであって、
前記暗号化装置は、
共通鍵暗号方式によりデータを暗号化し、第１暗号文を生成する第１暗号化部と、
前記共通鍵暗号方式で用いた秘密鍵を、基点データからの距離が閾値以内の認証データにより復号可能な暗号方式により暗号化し、第２暗号文を生成する第２暗号化部と、
前記第１暗号文及び前記第２暗号文を、前記復号装置へ送信する送信部と、を備え、
前記復号装置は、
前記第１暗号文及び前記第２暗号文を受信する受信部と、
前記認証データにより前記第２暗号文を復号し、前記秘密鍵を取得する認証部と、
前記秘密鍵により前記第１暗号文を復号し、前記データを取得する復号部と、を備える暗号化システム。
【請求項８】
共通鍵暗号方式によりデータを暗号化し、第１暗号文を生成する第１暗号化ステップと、
前記共通鍵暗号方式で用いた秘密鍵を、基点データからの距離が閾値以内の認証データにより復号可能な暗号方式により暗号化し、第２暗号文を生成する第２暗号化ステップと、をコンピュータが実行する暗号化方法。
【請求項９】
共通鍵暗号方式によりデータを暗号化し、第１暗号文を生成する第１暗号化ステップと、
前記共通鍵暗号方式で用いた秘密鍵を、基点データからの距離が閾値以内の認証データにより復号可能な暗号方式により暗号化し、第２暗号文を生成する第２暗号化ステップと、をコンピュータに実行させるための暗号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを暗号化して提供するシステムに関する。
【背景技術】
【０００２】
従来、ネットワークを介してコンテンツ等のデータを流通させる際には、データを暗号化し、さらに、このデータの暗号化に用いた鍵をユーザ毎に異なる鍵で暗号化して提供する手法が用いられている（例えば、特許文献１参照）。
この手法を用いることにより、データの漏洩を防止できると共に、サイズの大きなデータをユーザ毎の鍵で個別に暗号化する必要がなくなり、処理が効率化される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１３４４１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の暗号化の手法では、ユーザ毎に異なる鍵を管理し、復号のための鍵を、ユーザ毎に異なる暗号文により提供するため、データ提供先が複数の場合に処理負荷が高くなっていた。したがって、信頼するグループに対してデータを一斉に送付することが難しかった。
【０００５】
本発明は、信頼できるユーザのみが復号可能な暗号方式によりデータを送付できる暗号化装置、復号装置、暗号化システム、暗号化方法及び暗号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る暗号化装置は、共通鍵暗号方式によりデータを暗号化し、第１暗号文を生成する第１暗号化部と、前記共通鍵暗号方式で用いた秘密鍵を、基点データからの距離が閾値以内の認証データにより復号可能な暗号方式により暗号化し、第２暗号文を生成する第２暗号化部と、を備える。
【０００７】
前記認証データは、前記データの提供先それぞれの信頼度が高いほど、前記基点データからの距離が短い値として割り当てられてもよい。
【０００８】
前記認証データは、ユーザＩＤであり、グループ内のユーザＩＤが他のグループのユーザＩＤに比べて、互いに距離の近い文字列として定義されてもよい。
【０００９】
前記基点データは、前記データの提供元のユーザＩＤであってもよい。
【００１０】
前記距離は、前記基点データと前記認証データとのハミング距離であってもよい。
【００１１】
本発明に係る復号装置は、前記暗号化装置により生成された前記第１暗号文及び前記第２暗号文を受信する受信部と、前記認証データにより前記第２暗号文を復号し、前記秘密鍵を取得する認証部と、前記秘密鍵により前記第１暗号文を復号し、前記データを取得する復号部と、を備える。
【００１２】
本発明に係る暗号化システムは、暗号化装置及び復号装置を有する暗号化システムであって、前記暗号化装置は、共通鍵暗号方式によりデータを暗号化し、第１暗号文を生成する第１暗号化部と、前記共通鍵暗号方式で用いた秘密鍵を、基点データからの距離が閾値以内の認証データにより復号可能な暗号方式により暗号化し、第２暗号文を生成する第２暗号化部と、前記第１暗号文及び前記第２暗号文を、前記復号装置へ送信する送信部と、を備え、前記復号装置は、前記第１暗号文及び前記第２暗号文を受信する受信部と、前記認証データにより前記第２暗号文を復号し、前記秘密鍵を取得する認証部と、前記秘密鍵により前記第１暗号文を復号し、前記データを取得する復号部と、を備える。
【００１３】
本発明に係る暗号化方法は、共通鍵暗号方式によりデータを暗号化し、第１暗号文を生成する第１暗号化ステップと、前記共通鍵暗号方式で用いた秘密鍵を、基点データからの距離が閾値以内の認証データにより復号可能な暗号方式により暗号化し、第２暗号文を生成する第２暗号化ステップと、をコンピュータが実行する。
【００１４】
本発明に係る暗号化プログラムは、共通鍵暗号方式によりデータを暗号化し、第１暗号文を生成する第１暗号化ステップと、前記共通鍵暗号方式で用いた秘密鍵を、基点データからの距離が閾値以内の認証データにより復号可能な暗号方式により暗号化し、第２暗号文を生成する第２暗号化ステップと、をコンピュータに実行させるためのものである。
【発明の効果】
【００１５】
本発明によれば、信頼できるユーザのみが復号可能な暗号方式によりデータを送付できる。
【図面の簡単な説明】
【００１６】
【図１】実施形態に係る暗号化システムの機能構成を示す図である。
【図２】実施形態に係る暗号化方法を示す概略図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態の一例について説明する。
図１は、本実施形態に係る暗号化システム１の機能構成を示す図である。
暗号化システム１は、データ提供元である暗号化装置１０と、暗号化されたデータを受信し復号する復号装置２０とを備える。
なお、暗号化装置１０及び復号装置２０は、単一の端末装置として構成されてよい。この場合、複数の端末装置がそれぞれ、暗号化装置１０としてデータの提供元となり、指定した範囲の複数の端末装置へ向けて、暗号化データを提供する。
【００１８】
暗号化装置１０は、制御部１１と記憶部１２とを備えた情報処理装置（コンピュータ）である。制御部１１は、記憶部１２に記憶されたソフトウェア（暗号化プログラム）を実行することにより、第１暗号化部１１１、第２暗号化部１１２、及び送信部１１３として機能する。
【００１９】
第１暗号化部１１１は、提供するデータを、共通鍵暗号方式により暗号化し、第１暗号文を生成する。
第２暗号化部１１２は、第１暗号化部１１１が第１暗号文を生成する際に共通鍵暗号方式で用いた秘密鍵を、基点データからの距離が閾値以内の認証データを入力することで復号可能な閾値ベースの暗号方式により暗号化し、第２暗号文を生成する。
送信部１１３は、第１暗号文及び第２暗号文を、復号装置２０へ送信する。
【００２０】
ここで、基点は、暗号化装置１０のユーザにより設定され、認証データは、データの提供先それぞれの信頼度が高いほど、基点データからの距離が短い値として割り当てられる。基点データと認証データとの距離は、ビット列のハミング距離であってよい。
【００２１】
具体的には、認証データは、ユーザＩＤであり、グループ内のユーザＩＤが他のグループのユーザＩＤに比べて、互いに距離の近い文字列として定義される。
また、基点データは、データ提供元である暗号化装置１０のユーザＩＤであってもよい。
【００２２】
例えば、認証データにドメイン名が含まれる場合、同じドメインに属するユーザ（復号装置２０）は、互いに距離が近くなる。また、例えば、組織体系に基づくコードが認証データに含まれる場合、同一又は関係する組織の距離が近くなる。
【００２３】
認証データとなるユーザＩＤは、データ提供元であるユーザが信頼しているユーザから順に自身のユーザＩＤと類似したＩＤを決めて配布してもよい。
また、例えば、あるユーザがＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）等のグループに他のユーザを招待する際に、類似したＩＤを割り当ててもよい。これにより、友人等の信頼できるユーザとの間では、ユーザＩＤ（認証データ）の距離が近く設定される。また、「友人の友人」のように比較的近い間柄であれば、他人に比べてユーザＩＤ間の距離は近くなるため、全体として、ユーザ間の信頼度を反映したユーザＩＤの体系が構成される。
【００２４】
復号装置２０は、制御部２１と記憶部２２とを備えた情報処理装置（コンピュータ）である。制御部２１は、記憶部２２に記憶されたソフトウェア（復号プログラム）を実行することにより、受信部２１１、認証部２１２、及び復号部２１３として機能する。
【００２５】
受信部２１１は、暗号化装置１０により生成された第１暗号文及び第２暗号文を受信する。
認証部２１２は、認証データにより第２暗号文を復号し、第１暗号文を復号するための秘密鍵を取得する。このとき、認証データが基点データから閾値以内の距離にあれば、秘密鍵が正しく取り出される。
復号部２１３は、認証部２１２が取得した秘密鍵により第１暗号文を復号し、暗号化装置１０から提供されたデータを取得する。
【００２６】
図２は、本実施形態に係る暗号化方法を示す概略図である。
提供データは、秘密鍵を用いた共通鍵暗号方式により暗号化され、第１暗号文が生成される。
復号装置２０は、秘密鍵を用いなければ第１暗号文を復号できないため、この秘密鍵を復号装置２０へ安全に提供する必要がある。
【００２７】
秘密鍵は、第１暗号文を生成した共通鍵暗号方式とは別の、閾値ベースの暗号方式により暗号化され、第２暗号文が生成される。このとき、パラメータとして基点データ及び閾値が設定される。
閾値ベースの暗号方式は、ある入力（認証データ）と基点データとの距離が閾値以内であれば復号可能であるため、閾値以内の認証データを有する復号装置２０でのみ秘密鍵が取り出され、第１暗号文が復号される。
【００２８】
ここで、本実施形態に適用できる暗号方式を具体的に例示する。
秘密鍵を暗号化し第２暗号文を生成するためには、例えば、以下の文献Ａに示されたＦｕｚｚｙ  Ｉｄｅｎｔｉｔｙ−Ｂａｓｅｄ  Ｅｎｃｒｙｐｔｉｏｎが利用できる。
文献Ａ：  Ｓａｈａｉ，  Ａ．，  Ｗａｔｅｒｓ，  Ｂ．：  Ｆｕｚｚｙ  Ｉｄｅｎｔｉｔｙ−Ｂａｓｅｄ  Ｅｎｃｒｙｐｔｉｏｎ．  Ｉｎ：  Ｃｒａｍｅｒ，  Ｒ．  （ｅｄ．）  ＥＵＲＯＣＲＹＰＴ  ２００５．  ＬＮＣＳ，  ｖｏｌ．  ３４９４，  ｐｐ．  ４５７−４７３．  Ｓｐｒｉｎｇｅｒ，  Ｈｅｉｄｅｌｂｅｒｇ  （２００５）．
【００２９】
（手順１）  まず、暗号化の準備として、鍵生成機関がマスタ鍵ｔ，ｙと、生成元ｇに基づいて公開パラメータＴ，Ｙとを以下の式に従って生成する。
なお、Ｕはユーザ数の上限値であり、ｔ１，・・・ｔ｜Ｕ｜及びｙは、素数ｐを法とする剰余体Ｚｐからランダムに選択される値である。また、ｅ（ｇ，ｇ）は、双線形性を有するペアリング関数である。
【数１】
2019041355.tif 000003
【００３０】
（手順２）  各ユーザには、予め固有のＩＤが割り当てられる。なお、近い関係にあるユーザ間ほど、互いの距離が近いＩＤが割り当てられる。
【００３１】
（手順３）  データを暗号化して提供するユーザＡは、テンポラリに生成した暗号鍵Ｍを用いて、データを共通鍵暗号方式により暗号化する。
【００３２】
（手順４）  データを信頼度ｄ以上、すなわちｖビットのＩＤに対して、ハミング距離がｖ−ｄ以内のユーザが復号可能な暗号化を行う場合を考える。例えば、ＩＤが６ビットとすると、最も距離が遠いＩＤの組は、００００００及び１１１１１１であり、これらは６ビット異なるので、信頼度（一致するビット数）はｄ＝０、距離はｖ−ｄ＝６となる。
ユーザＡは、暗号鍵Ｍを以下の式に従って暗号化する。ただし、ｗ’は、信頼度ｄ以上（距離ｖ−ｄ以内）にある任意の点（ユーザＩＤ）として選択される。
なお、ｉは、剰余体Ｚｐの要素である。また、ｓは、剰余体Ｚｐの要素からランダムに選択される乱数である。
【数２】
2019041355.tif 000004
【００３３】
（手順５）  ユーザＡは、暗号化したデータ及び暗号化した暗号鍵Ｍを、暗号文として配布する。
【００３４】
（手順６）  暗号文を受信したユーザＢは、鍵生成機関に依頼して、復号するための秘密鍵を取得する。具体的には、ｑ（０）＝ｙとなるｄ−１次の多項式ｑをランダムに選択し、暗号文を復号するための秘密鍵Ｄが以下の式に従って計算される。
【数３】
2019041355.tif 000005
【００３５】
（手順７）  ユーザＢは、秘密鍵Ｄを用いて、以下の式に従って暗号鍵Ｍを復号する。
なお、Ｓは、Ｚｐの要素の集合である。また、Δｉ，Ｓは、ラグランジュ係数である。
【数４】
2019041355.tif 000006
【００３６】
（手順８）  ユーザＢは、復号した暗号鍵Ｍを用いて、暗号化されたデータを復号して取り出す。
【００３７】
この暗号方式によれば、エンティティ（ユーザ）間の信頼度が所定以上、すなわち、認証データ（例えば、ＩＤ）の距離が閾値以内であれば、ｄ個以上の正しい方程式が得られるため、暗号文を受信したユーザの復号装置２０は、連立方程式を求解して、暗号鍵Ｍを取り出すことができる。
【００３８】
本実施形態によれば、暗号化システム１は、データ提供先の信頼度を基点データから認証データまでの距離で定義し、この距離が閾値以内の認証データにより復号可能な暗号方式により共通鍵暗号方式の秘密鍵を暗号化して提供する。したがって、暗号化システムは、信頼できるユーザのみが復号可能な暗号方式によりデータを送付できる。
【００３９】
認証データは、信頼度が高いほど、基点データからの距離が短い値として割り当てられるため、暗号化装置１０は、暗号化の際のパラメータである閾値を選択することにより、復号可能な提供先の範囲を適切に設定できる。
【００４０】
認証データとしてグループ内のユーザＩＤ間の距離が近く設定されることにより、暗号化装置１０は、暗号化の際のパラメータである基点データ及び閾値を適宜決定することにより、復号可能なグループを適切に設定できる。
【００４１】
基点データをデータ提供元のユーザＩＤとすることにより、提供元に対する提供先の信頼度がユーザＩＤ間の距離で定義されるため、ユーザは、暗号化時に基点データを意識することなく、閾値を適宜選択することにより、復号可能な提供先の範囲を適切に設定できる。
【００４２】
基点データと認証データとの距離は、ビット列のハミング距離で定義されることにより、容易に算出される。このため、認証データの割り当ても容易となる。
【００４３】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００４４】
本実施形態では、秘密鍵を暗号化する閾値ベースの暗号方式として一例を示したが、これには限られず、例えば、生体認証等に用いられる復号時にエラーを許容する各種の暗号方式が適用可能である。
【００４５】
暗号化システム１による暗号化方法及び復号方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（コンピュータ）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【００４６】
１  暗号化システム
１０  暗号化装置
１１  制御部
１２  記憶部
２０  復号装置
２１  制御部
２２  記憶部
１１１  第１暗号化部
１１２  第２暗号化部
１１３  送信部
２１１  受信部
２１２  認証部
２１３  復号部
【図１】
2019041355.tif 000007
【図２】
2019041355.tif 000008