(57)【要約】【課題】従来よりも計算量が少ない暗号技術を提供する。【解決手段】暗号システムは、基準情報と範囲情報とを含む暗号化条件に基づいて暗号対象となるデータを暗号化した暗号化データと暗号化条件とを含む暗号情報を出力する暗号化部１１を含む暗号化装置１と、暗号化条件に対応する情報である属性情報を取得する属性情報取得部２１と、暗号情報に含まれる暗号化条件の基準情報及び範囲情報により定まる範囲内に取得した属性情報が含まれるか判断する判断部２２と、範囲内に取得した属性情報が含まれると判断された場合には暗号情報に含まれる暗号化条件に基づいて暗号情報に含まれる暗号化データを復号する復号部２３とを含む復号装置２と、を備えている。【選択図】図１
2018067859.tif 000002
【特許請求の範囲】
【請求項１】
基準情報と範囲情報とを含む暗号化条件に基づいて暗号対象となるデータを暗号化した暗号化データと上記暗号化条件とを含む暗号情報を出力する暗号化部を含む暗号化装置と、
上記暗号化条件に対応する情報である属性情報を取得する属性情報取得部と、上記暗号情報に含まれる暗号化条件の基準情報及び範囲情報により定まる範囲内に上記取得した属性情報が含まれるか判断する判断部と、上記範囲内に上記取得した属性情報が含まれると判断された場合には上記暗号情報に含まれる上記暗号化条件に基づいて上記暗号情報に含まれる暗号化データを復号する復号部とを含む復号装置と、
を含む暗号システム。
【請求項２】
暗号化装置の暗号化部が、基準情報と範囲情報とを含む暗号化条件に基づいて暗号対象となるデータを暗号化した暗号化データと上記暗号化条件とを含む暗号情報を出力する暗号化ステップと、
復号装置の属性情報取得部が、上記暗号化条件に対応する情報である属性情報を取得する属性情報取得ステップと、
復号装置の判断部が、上記暗号情報に含まれる暗号化条件の基準情報及び範囲情報により定まる範囲内に上記取得した属性情報が含まれるか判断する判断ステップと、
復号装置の復号部が、上記範囲内に上記取得した属性情報が含まれると判断された場合には上記暗号情報に含まれる上記暗号化条件に基づいて上記暗号情報に含まれる暗号化データを復号する復号ステップと、
を含む暗号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データの暗号化技術及び復号技術に関する。
【背景技術】
【０００２】
公開鍵暗号の発展技術である関数型暗号は、暗号化時に復号できる人やグループなどの条件を一般的な論理式(ＡＮＤ条件，ＯＲ条件)で指定できるという特徴を持つ。関数型暗号を用いることにより、属性情報が付いたデータを暗号化したままクラウドで管理し、各利用者は自分に設定されたアクセス条件を満たす属性情報のデータだけを復号できるというシステムを実現できる（例えば、非特許文献１参照。）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】日経エレクトロニクス，日経ＢＰ社，2012.7.23号，p.87-95
【発明の概要】
【発明が解決しようとする課題】
【０００４】
関数型暗号では、文字列や数値の一致によって、条件の合否が判定される。このため、ある一定の数値又は文字列の範囲を条件として指定したい場合には、範囲にあるすべての文字列又は数値をＯＲ条件として指定する必要があり、また、大小比較を行う場合には比較する数値をビット表現してビットごとに条件判定を行っていた。このため、計算量が膨大となる可能性があった。
【０００５】
この発明は、従来よりも計算量が少ない暗号システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明の一態様による暗号システムは、基準情報と範囲情報とを含む暗号化条件に基づいて暗号対象となるデータを暗号化した暗号化データと暗号化条件とを含む暗号情報を出力する暗号化部を含む暗号化装置と、暗号化条件に対応する情報である属性情報を取得する属性情報取得部と、暗号情報に含まれる暗号化条件の基準情報及び範囲情報により定まる範囲内に取得した属性情報が含まれるか判断する判断部と、範囲内に取得した属性情報が含まれると判断された場合には暗号情報に含まれる暗号化条件に基づいて暗号情報に含まれる暗号化データを復号する復号部とを含む復号装置と、を備えている。
【発明の効果】
【０００７】
基準情報及び範囲情報という２個の情報のみで範囲を指定することにより、従来よりも計算量を少なくすることができる。
【図面の簡単な説明】
【０００８】
【図１】暗号システムの例を説明するためのブロック図。
【図２】暗号方法の例を説明するための流れ図。
【図３】暗号化条件の例を説明するための図。
【図４】暗号化条件の例を説明するための図。
【発明を実施するための形態】
【０００９】
［実施形態］
以下、この発明の実施形態について説明する。
【００１０】
暗号システムは、図１に示すように、暗号化装置１及び復号装置２を例えば備えている。暗号化装置１は、暗号化部１１を例えば備えている。復号装置２は、属性情報取得部２１、判断部２２及び復号部２３を例えば備えている。
【００１１】
暗号方法は、暗号システムの各部が、図２及び以下に説明するステップＥ１、ステップＤ１からステップＤ３の処理により例えば実現される。
【００１２】
＜暗号化部１１＞
暗号化装置１の暗号化部１１は、基準情報と範囲情報を結合した情報を暗号化条件として、暗号対象となるデータを暗号化することにより暗号化データを生成する（ステップＥ１）。暗号対象となるデータは、例えば平文データである。そして、暗号化部１１は、暗号化データと暗号化条件とを含む暗号情報を出力する。
【００１３】
このようにして、暗号化部１１は、基準情報と範囲情報とを含む暗号化条件に基づいて暗号対象となるデータを暗号化した暗号化データと暗号化条件とを含む暗号情報として出力する。
【００１４】
以下、暗号化条件の例について説明する。暗号化条件が位置情報である場合の暗号化条件の例は、「N38.124343:W139.343200:CR10」である。暗号化条件「N38.124343:W139.343200:CR10」は、「N38.124343:W139.343200」という基準情報及び「CR10」という範囲情報から構成されている。「N38.124343:W139.343200」という基準情報の中の「N38.124343」は基準となる位置である基準位置の緯度を表しており、「W139.343200」は基準位置の経度を表している。「CR10」という範囲情報の中の「CR」は範囲を円で指定することを表しており、「10」は半径の長さR（図３参照）を表している。半径の長さRの単位は、km,m,cm等の所定の長さの単位である。半径の長さRの単位がmである場合には、暗号化条件「N38.124343:W139.343200:CR10」は、緯度「N38.124343」及び経度「W139.343200」の基準位置を中心とする半径10mの円の内部を意味する。
【００１５】
なお、範囲を正方形で指定する場合には、上記の例の「CR」の代わりに「SR」という記号を例えば用いることができる。この場合、「SR」に続く数値は、その正方形の一辺の半分の長さSを表すとする。一辺の半分の長さSの単位は、km,m,cm等の所定の長さの単位である。一辺の半分の長さSの単位がmである場合には、暗号化条件「N38.124343:W139.343200:SR10」は、緯度「N38.124343」及び経度「W139.343200」の基準位置を中心とする一辺の半分の長さが10mである正方形の内部を意味する。
【００１６】
暗号化条件が時刻情報である場合の暗号化条件の例は、「20160808 M+5」である。暗号化条件「20160808 M+5」は、「20160808」という基準情報及び「M+5」という範囲情報から構成されている。基準情報「20160808」は、基準時刻が２０１６年８月８日であることを表している。「M+5」という範囲情報の中の「M」は範囲情報に含まれる数値の単位が月であることを表しており、「+」は基準時刻から後を表すことを表している。暗号化条件「20160808 M+5」は、２０１６年８月８日から５か月を意味する。
【００１７】
範囲情報に含まれる数値の単位として、年、時間、分等の月以外の単位を用いてもよい。範囲情報に含まれる数値の単位として年、時間、分を表すために、それぞれ「Y」「H」「m」という記号を「M」の代わりに例えば用いることができる。また、基準時刻から前を表すために「-」という記号を「+」の代わりに用いることができ、基準時刻の前後を表すために「±」という記号を「+」の代わりに用いることができる。
【００１８】
暗号化条件として、位置情報及び時刻情報以外の情報を用いてもよい。例えば、復号装置２のネットワーク接続回数、電池残量、文字列等を用いてもよい。
【００１９】
暗号化条件としてネットワーク接続回数を用いた場合には、基準情報として基準となるネットワーク接続回数、範囲情報として「≦」や「≧」を指定することで、ある一定回数以上や一定回数以下の範囲を暗号化条件として指定することができる。
【００２０】
暗号化条件として電池残量を用いた場合には、基準情報として、基準となる電池残量、範囲情報として「≦」や「≧」を指定することで、ある一定量以上、以下の範囲を暗号化条件として指定することができる。
【００２１】
暗号化条件として文字列を用いた場合には、プログラムで判定可能な範囲情報であれば、ある一定の範囲の文字列を暗号化条件として指定可能である。具体的には、基準情報として特定の文字列(例えばabc)、範囲情報として、残り3文字は任意に指定可能(例えばXXX)と指定することにより、ある一定の語尾の異なる文字列の範囲を暗号化条件として指定可能となる。
【００２２】
なお、複数の暗号化条件をand,or等の論理結合子により結合させてもよい。例えば、「20160808 M+1 AND 1200 H+4」という暗号化条件は、２０１６年８月８日から１か月間であって、１２時から４時間の間という範囲を表している。「20160808 M+1 or 20161010 D±10」という暗号化条件は、２０１６年８月８日から１か月間、又は、２０１６年１０月１０日の前後１０日間という範囲を表している。
【００２３】
＜属性情報取得部２１＞
復号装置２は、例えば、ＰＣ、携帯電話、スマートフォン、タブレット端末等の情報携帯端末である。
【００２４】
復号装置２の属性情報取得部２１は、暗号化条件に対応する情報である属性情報を取得する（ステップＤ１）。取得した属性情報は、判断部２２に出力される。
【００２５】
例えば、暗号化条件が位置情報である場合には、属性情報取得部２１は、属性情報として復号装置２の現在位置を取得する。また、例えば、暗号化条件が時刻情報である場合には、属性情報取得部２１は、属性情報として現在時刻を取得する。
【００２６】
＜判断部２２＞
判断部２２は、受信した暗号情報に含まれる暗号化条件の基準情報及び範囲情報により定まる範囲内に属性情報取得部２１で取得した属性情報が含まれるか判断する（ステップＤ２）。判断結果は、復号部２３に出力される。また、暗号化条件の基準情報及び範囲情報により定まる範囲内に属性情報が含まれると判断された場合には、復号鍵の生成に利用される暗号化条件も、復号部２３に出力される。さらに、暗号化条件の基準情報及び範囲情報により定まる範囲内に属性情報が含まれないと判断された場合には、属性情報も、復号部２３に出力されてもよい。
【００２７】
例えば、暗号化条件が「N38.124343:W139.343200:CR10」である場合には、属性情報取得部２１により取得された復号装置２の現在位置が、緯度「N38.124343」及び経度「W139.343200」の位置を中心とする半径10mの円の内部に含まれるかどうかを判断する。
【００２８】
＜復号部２３＞
復号部２３は、暗号化条件の基準情報及び範囲情報により定まる範囲内に属性情報取得部２１で取得した属性情報が含まれると判断部２２において判断された場合には暗号情報に含まれる暗号化条件に基づいて暗号情報に含まれる暗号化データを復号する（ステップＤ３）。
【００２９】
暗号化条件の基準情報及び範囲情報により定まる範囲内に属性情報取得部２１で取得した属性情報が含まれると判断部２２において判断された場合には、復号部２３は、まず、暗号情報に含まれる暗号化条件に対応する復号鍵を取得する。復号部２３は、暗号情報に含まれる暗号化条件に対応する復号鍵が予め記憶されている場合には、暗号情報に含まれる暗号化条件に対応する復号鍵を読み込むことにより、復号鍵を取得する。
【００３０】
復号部２３は、復号装置２の外部にある復号鍵生成装置３（図１に破線で示す。）に復号鍵生成要求を行うことにより、復号鍵の取得を行ってもよい。例えば、復号装置２は、暗号化条件を含む復号鍵生成要求情報を復号鍵生成装置３に送信する。復号鍵生成要求情報を受信した復号鍵生成装置３は、復号鍵生成要求情報に含まれる暗号化条件に対応する復号鍵を生成し、生成した復号鍵を復号装置２に送信する。暗号化条件に対応する復号鍵の生成は、所定の復号鍵生成関数に、暗号化条件を入力した場合の出力値を計算し、その出力値を復号鍵とすることにより例えば行うことができる。
【００３１】
そして、復号部２３は、復号鍵を用いて、暗号化データを復号する。
【００３２】
このように、基準情報及び範囲情報という２個の情報のみで範囲を指定することにより、従来よりも計算量を少なくすることができる。
【００３３】
なお、暗号化条件の基準情報及び範囲情報により定まる範囲内に属性情報が含まれないと判断部２２において判断された場合には、復号部２３は、暗号化条件に代えて属性情報に基づいて暗号情報に含まれる暗号化データを復号することを試みてもよい。暗号化条件と属性情報とは異なる情報であるため、この場合は、暗号化データの復号を正しく行うことはできない。
【００３４】
[プログラム及び記録媒体]
暗号化装置１及び復号装置２における各処理をコンピュータによって実現する場合、暗号化装置１及び復号装置２が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、暗号化装置１及び復号装置２の処理がコンピュータ上で実現される。
【００３５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００３６】
また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００３７】
[変形例]
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【符号の説明】
【００３８】
１      暗号化装置
１１    暗号化部
２      復号装置
２１    属性情報取得部
２２    判断部
２３    復号部
３      復号鍵生成装置
【図１】
2018067859.tif 000003
【図２】
2018067859.tif 000004
【図３】
2018067859.tif 000005
【図４】
2018067859.tif 000006