JP6936482B2 - 暗号システム、ユーザシステム、暗号方法、及び暗号プログラム - Google Patents

暗号システム、ユーザシステム、暗号方法、及び暗号プログラム Download PDF

Info

Publication number
JP6936482B2
JP6936482B2 JP2017217331A JP2017217331A JP6936482B2 JP 6936482 B2 JP6936482 B2 JP 6936482B2 JP 2017217331 A JP2017217331 A JP 2017217331A JP 2017217331 A JP2017217331 A JP 2017217331A JP 6936482 B2 JP6936482 B2 JP 6936482B2
Authority
JP
Japan
Prior art keywords
key
user terminal
attribute
user
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017217331A
Other languages
English (en)
Other versions
JP2019086744A (ja
Inventor
倫宏 大平
倫宏 大平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Metropolitan Industrial Technology Research Instititute (TIRI)
Original Assignee
Tokyo Metropolitan Industrial Technology Research Instititute (TIRI)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Metropolitan Industrial Technology Research Instititute (TIRI) filed Critical Tokyo Metropolitan Industrial Technology Research Instititute (TIRI)
Priority to JP2017217331A priority Critical patent/JP6936482B2/ja
Publication of JP2019086744A publication Critical patent/JP2019086744A/ja
Application granted granted Critical
Publication of JP6936482B2 publication Critical patent/JP6936482B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号システム、ユーザシステム、暗号方法、及び暗号プログラムに関する。
近年、電子ファイルの数及びサイズの増加に伴い、クラウドストレージサービスが普及している。クラウドストレージを利用するにあたり、個人情報及び機密情報を保護するために、電子ファイルに暗号化が施される。暗号方式として、属性ベース暗号が知られている(例えば、特許文献1、特許文献2、及び非特許文献1参照)。属性ベース暗号は、ユーザごとに複数の属性を付与し、ユーザの属性に基づいて設定された復号条件(ポリシー)を満たすユーザのみが暗号文を復号可能な暗号技術である。
属性ベース暗号では、全ての暗号文を復号可能なマスタ秘密鍵を管理する必要がある。多くのシステムでは、鍵発行機関がマスタ秘密鍵を管理している。このため、クラウド上のサーバ等を用いてシステムを構築する場合、サーバでマスタ秘密鍵を管理する必要があり、本来は秘密とすべき情報がサーバの管理者等には、公開されてしまうこととなる。このような問題に対応するために、マスタ秘密鍵の管理者権限を複数の鍵発行機関に分散して配置する方法が提案されている。例えば、非特許文献1には、複数の鍵発行機関が発行する秘密鍵を組み合わせることで、暗号化鍵及び復号鍵を生成することが記載されている。
特表2014−531850号公報 特開2017−126851号公報
Huang Lin,Zhenfu Cao,Xiaohui Liang,Jun Shao,"Secure Threshold Multi Authority Attribute Based Encryption without a Central Authority",Progress in Cryptology - INDOCRYPT 2008,pp 426−436
しかしながら、非特許文献1に記載のシステムにおいて、複数の鍵発行機関が結託した場合には、全ての暗号文を復号できることとなる。このため、本技術分野では、さらなる安全性の向上が望まれている。
本発明の一側面に係る暗号システムは、属性ベース暗号を用いたシステムである。この暗号システムは、鍵発行機関と、1以上の属性を含む第1属性を有する第1ユーザ端末及び第2ユーザ端末を含むユーザシステムと、を備える。鍵発行機関は、第1公開鍵を生成するとともに、第1公開鍵を公開する。第2ユーザ端末は、第2公開鍵を生成するとともに、第2公開鍵を公開する。第1ユーザ端末は、第1属性に応じた第1秘密鍵を鍵発行機関に要求するとともに、第1属性に応じた第2秘密鍵を第2ユーザ端末に要求する。鍵発行機関は、第1ユーザ端末からの要求に応じて、第1秘密鍵を生成して第1秘密鍵を第1ユーザ端末に配布する。第2ユーザ端末は、第1ユーザ端末からの要求に応じて、第2秘密鍵を生成して第2秘密鍵を第1ユーザ端末に配布する。第1ユーザ端末は、第1公開鍵及び第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成し、第1秘密鍵及び第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成する。
この暗号システムでは、第1ユーザ端末は、鍵発行機関によって生成された第1公開鍵とユーザシステム内の第2ユーザ端末によって生成された第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。第1ユーザ端末は、鍵発行機関によって生成された第1秘密鍵とユーザシステム内の第2ユーザ端末によって生成された第2秘密鍵とを用いて属性ベース暗号の復号用の第1復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内の第2ユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。
第2ユーザ端末は、1以上の属性を含む第2属性を有してもよい。第2ユーザ端末は、第2属性に応じた第3秘密鍵を鍵発行機関に要求するとともに、第2属性に応じた第4秘密鍵を生成してもよい。鍵発行機関は、第2ユーザ端末からの要求に応じて、第3秘密鍵を生成して第3秘密鍵を第2ユーザ端末に配布してもよい。第2ユーザ端末は、第1公開鍵及び第2公開鍵を用いて暗号化鍵を生成してもよく、第3秘密鍵及び第4秘密鍵を用いて属性ベース暗号の復号用の第2復号鍵を生成してもよい。この場合、第2ユーザ端末は、鍵発行機関によって生成された第1公開鍵と第2ユーザ端末自身が生成した第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。第2ユーザ端末は、鍵発行機関によって生成された第3秘密鍵と第2ユーザ端末自身が生成した第4秘密鍵とを用いて属性ベース暗号の復号用の第2復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内の第2ユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。
暗号システムは、別の鍵発行機関をさらに備えてもよい。第2ユーザ端末は、ユーザシステムで用いられる複数の属性のうちの1以上の属性を委譲属性の集合として別の鍵発行機関に委譲してもよい。第1ユーザ端末は、第1属性が委譲属性の集合に含まれる場合には、第2秘密鍵を別の鍵発行機関に要求してもよい。別の鍵発行機関は、第1ユーザ端末からの要求に応じて、第2秘密鍵を生成して第2秘密鍵を第1ユーザ端末に配布してもよい。この場合、第2ユーザ端末は、委譲属性に関する秘密鍵の生成及び配布を行う必要がなくなるので、第2ユーザ端末のユーザの負担を軽減することができる。
本発明の別の側面に係るユーザシステムは、1以上の属性を含む第1属性を有する第1ユーザ端末と第2ユーザ端末とを含み、属性ベース暗号を利用するシステムである。第1ユーザ端末は、外部の鍵発行機関によって生成された第1公開鍵と第2ユーザ端末によって生成された第2公開鍵とを取得して、第1公開鍵及び第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。第1ユーザ端末は、第1属性に応じた第1秘密鍵を鍵発行機関に要求するとともに、第1属性に応じた第2秘密鍵を第2ユーザ端末に要求する。第1ユーザ端末は、第1秘密鍵を鍵発行機関から取得し、第2秘密鍵を第2ユーザ端末から取得し、第1秘密鍵及び第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成する。
このユーザシステムでは、第1ユーザ端末は、外部の鍵発行機関によって生成された第1公開鍵とユーザシステム内の第2ユーザ端末によって生成された第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。第1ユーザ端末は、外部の鍵発行機関から取得した第1秘密鍵とユーザシステム内の第2ユーザ端末から取得した第2秘密鍵とを用いて属性ベース暗号の復号用の第1復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内の第2ユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。
第2ユーザ端末は、1以上の属性を含む第2属性を有してもよい。第2ユーザ端末は、第2属性に応じた第3秘密鍵を鍵発行機関に要求するとともに、第2属性に応じた第4秘密鍵を生成してもよい。第2ユーザ端末は、第1公開鍵及び第2公開鍵を用いて暗号化鍵を生成してもよい。第2ユーザ端末は、第3秘密鍵を鍵発行機関から取得して、第3秘密鍵及び第4秘密鍵を用いて属性ベース暗号の復号用の第2復号鍵を生成してもよい。この場合、第2ユーザ端末は、外部の鍵発行機関によって生成された第1公開鍵と第2ユーザ端末自身によって生成された第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。また、第2ユーザ端末は、外部の鍵発行機関から取得した第3秘密鍵と第2ユーザ端末自身が生成した第4秘密鍵とを用いて属性ベース暗号の復号用の第2復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内の第2ユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。
第2ユーザ端末は、ユーザシステムで用いられる複数の属性のうちの1以上の属性を委譲属性の集合として別の鍵発行機関に委譲してもよい。第1ユーザ端末は、第1属性が委譲属性の集合に含まれる場合には、第2秘密鍵を別の鍵発行機関に要求してもよい。この場合、第2ユーザ端末は、委譲属性に関する秘密鍵の生成及び配布を行う必要がなくなるので、第2ユーザ端末のユーザの負担を軽減することができる。
本発明のさらに別の側面に係る暗号方法は、1以上の属性を含む第1属性を有する第1ユーザ端末と第2ユーザ端末とを含み、属性ベース暗号を利用するユーザシステムにおいて、第1ユーザ端末が行う暗号方法である。この暗号方法は、外部の鍵発行機関によって生成された第1公開鍵と第2ユーザ端末によって生成された第2公開鍵とを取得するステップと、第1公開鍵及び第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成するステップと、第1属性に応じた第1秘密鍵を鍵発行機関に要求するとともに、第1属性に応じた第2秘密鍵を第2ユーザ端末に要求するステップと、第1秘密鍵を鍵発行機関から取得し、第2秘密鍵を第2ユーザ端末から取得するステップと、第1秘密鍵及び第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成するステップと、を備える。
この暗号方法では、第1ユーザ端末は、外部の鍵発行機関によって生成された第1公開鍵とユーザシステム内の第2ユーザ端末によって生成された第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。第1ユーザ端末は、外部の鍵発行機関から取得した第1秘密鍵とユーザシステム内の第2ユーザ端末から取得した第2秘密鍵とを用いて属性ベース暗号の復号用の第1復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内の第2ユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。
本発明のさらに別の側面に係る暗号プログラムは、コンピュータに、外部の鍵発行機関によって生成された第1公開鍵と、コンピュータとともにユーザシステムに属するユーザ端末によって生成された第2公開鍵と、を取得するステップと、第1公開鍵及び第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成するステップと、コンピュータの1以上の属性を含む第1属性に応じた第1秘密鍵を鍵発行機関に要求するとともに、第1属性に応じた第2秘密鍵をユーザ端末に要求するステップと、第1秘密鍵を鍵発行機関から取得し、第2秘密鍵をユーザ端末から取得するステップと、第1秘密鍵及び第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成するステップと、を実行させるための暗号プログラムである。
この暗号プログラムでは、コンピュータは、外部の鍵発行機関によって生成された第1公開鍵とユーザシステム内のユーザ端末によって生成された第2公開鍵とを用いて属性ベース暗号の暗号化用の暗号化鍵を生成する。コンピュータは、外部の鍵発行機関から取得した第1秘密鍵とユーザシステム内のユーザ端末から取得した第2秘密鍵とを用いて属性ベース暗号の復号用の第1復号鍵を生成する。このように、鍵発行機関としての役割をユーザシステム内のユーザ端末が担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。その結果、属性ベース暗号の安全性を向上させることが可能となる。
本発明によれば、属性ベース暗号の安全性を向上させることができる。
図1は、一実施形態に係る暗号システムの構成を示す図である。 図2は、属性ベース暗号で用いられるアクセス構造の一例を示す図である。 図3は、図1に示される暗号システムにおける初期設定処理を示すシーケンス図である。 図4は、図1に示される暗号システムにおける暗号化鍵生成処理を示すシーケンス図である。 図5は、図1に示される暗号システムにおける復号鍵生成処理を示すシーケンス図である。 図6は、図1に示される暗号システムにおける暗号化処理を示すシーケンス図である。 図7は、図1に示される暗号システムにおける復号処理を示すシーケンス図である。 図8は、図1に示される暗号システムにおける委譲処理を示すシーケンス図である。 図9は、図1に示される暗号システムにおける秘密鍵生成処理を示すシーケンス図である。
以下、図面を参照しながら本発明の実施形態が詳細に説明される。なお、図面の説明において同一要素には同一符号が付され、重複する説明は省略される。
図1は、一実施形態に係る暗号システムの構成を示す図である。図1に示されるように、暗号システム1は、属性ベース暗号を用いた暗号化及び復号を行うシステムである。属性ベース暗号は、ユーザの属性に基づいて設定された復号条件(ポリシー)を満たすユーザのみが暗号文を復号可能な暗号技術である。暗号システム1は、ユーザシステム10と、複数の鍵発行機関(本実施形態では、鍵発行機関20A〜20C)と、公開サーバ30と、クラウドストレージ40と、を備えている。ユーザシステム10と、鍵発行機関20A〜20Cと、公開サーバ30と、クラウドストレージ40とは、ネットワークNWによって互いに通信可能に接続されている。ネットワークNWは、有線及び無線のいずれで構成されてもよい。ネットワークNWの例としては、移動体通信網、インターネット、及びWAN(Wide Area Network)等が挙げられる。
ユーザシステム10は、属性ベース暗号を利用するユーザ側のシステムである。ユーザシステム10は、複数のユーザ端末(本実施形態では、ユーザ端末11A〜11C)を含む。ユーザ端末は、ユーザにより用いられる端末装置である。ユーザ端末の例としては、デスクトップPC(Personal Computer)、ノートPC、スマートフォン、及びタブレット端末等が挙げられる。ここでは、ユーザ端末11A〜11Cは、同一の組織に属する。ユーザ端末11A〜11Cは、LAN等によって互いに通信可能に接続され、不図示のゲートウェイ装置を介してネットワークNWに接続されている。なお、ユーザ端末11A〜11Cは、同一組織に属していなくてもよい。
ユーザ端末11A〜11Cは、物理的には、1又は複数のプロセッサ、RAM(Random Access Memory)及びROM(Read Only Memory)等の主記憶装置、ハードディスク装置等の補助記憶装置、キーボード等の入力装置、ディスプレイ等の出力装置、並びに、データ送受信デバイスである通信モジュール等のハードウェアを備えるコンピュータとして構成され得る。ユーザ端末11A〜11Cの各機能は、主記憶装置等のハードウェアに1又は複数の所定のコンピュータプログラム(暗号プログラム)を読み込ませることにより、1又は複数のプロセッサの制御のもとで各ハードウェアを動作させるとともに、主記憶装置及び補助記憶装置におけるデータの読み出し及び書き込みを行うことで実現される。
ユーザUA〜UCのそれぞれは、1以上の属性(以下、「属性の組み合わせ」という。)を有する。ユーザUAはユーザ端末11A(第1ユーザ端末)を使用し、ユーザUBはユーザ端末11B(第2ユーザ端末)を使用し、ユーザUCはユーザ端末11Cを使用している。ユーザUA〜UCは、例えば、ユーザ端末11A〜11Cにおいて、属性ベース暗号のためのアプリケーションを用いて、属性ベース暗号でデータを暗号化し、暗号化されたデータ(以下、「暗号文」という。)をクラウドストレージ40に格納する。また、ユーザUA〜UCは、ユーザ端末11A〜11Cを用いて、クラウドストレージ40から暗号文を取得し、暗号文を復号する。ユーザ端末11A〜11Cの少なくとも1台は、鍵発行機関としての役割を担う。本実施形態では、ユーザ端末11Bが鍵発行機関としての役割を担っている。
鍵発行機関20A〜20Cは、属性ベース暗号の公開鍵及び秘密鍵を生成する。公開鍵は、全てのユーザ(ユーザ端末11A〜11C)に共通の鍵である。秘密鍵は、各ユーザ(ユーザ端末11A〜11C)に固有の鍵であって、ユーザの属性の組み合わせに応じて生成される。公開鍵及び秘密鍵の生成に関する詳細な説明は、後述する。鍵発行機関20A〜20Cは、ユーザシステム10の外部に設けられる。鍵発行機関20A〜20Cは、公開鍵を含む公開情報を公開サーバ30に送信する。なお、ユーザ端末11Bも、鍵発行機関20A〜20Cと同様の機能を有する。
公開サーバ30は、公開情報を公開するためのサーバ装置である。公開サーバ30は、鍵発行機関20A〜20Cのそれぞれから公開情報を受信し、公開情報を不図示の記憶装置に格納する。公開サーバ30は、暗号システム1に含まれる各機関からの要求に応じて、公開情報を各機関に送信する。
クラウドストレージ40は、オンラインストレージとも呼ばれ、ネットワークNW上でデータを共有するサービスである。クラウドストレージ40は、例えば、単一又は複数のファイルサーバを含む。クラウドストレージ40は、ユーザ端末11A〜11Cからデータを受信して、受信したデータを格納する。クラウドストレージ40は、ユーザ端末11A〜11Cからの要求に応じて、格納しているデータをユーザ端末11A〜11Cに送信する。クラウドストレージ40に代えて、ユーザシステム10内に設けられた記憶装置(ローカルストレージ)が用いられてもよい。
次に、図2を参照して、属性ベース暗号を説明する。図2は、属性ベース暗号で用いられるアクセス構造の一例を示す図である。図2に示されるアクセス構造は、ツリー形式で示されている。アクセス構造は、復号を許可する復号条件(ポリシー)を表す。ポリシーは、属性の論理和及び論理積で表される。図2では、{属性AT1∧(属性AT2∧属性AT3)}∨属性AT4の条件を満たすユーザが、暗号文を復号することができる。なお、「∨」は論理和を示し、「∧」は論理積を示す。各ユーザは、属性ベース暗号のためのアプリケーションを用いてデータを暗号化する際に、アクセス構造を指定する。
例えば、ユーザ端末11AのユーザUAが、開発部に所属し、海外支社を経験しており、プロジェクトPを担当しているとする。この場合、ユーザUAの属性は、「開発部」、「海外支社経験者」、及び「プロジェクトP担当者」である。ユーザ端末11BのユーザUBが、情報グループに所属し、IoT(Internet of Things)を担当しているとする。この場合、ユーザUBの属性は、「情報G」、及び「IoT」である。ユーザ端末11CのユーザUCが、総務課に所属しているとする。この場合、ユーザUCの属性は、「総務課」である。
図2のアクセス構造において、属性AT1が「開発部」であり、属性AT2が「海外支社経験者」であり、属性AT3が「プロジェクトP担当者」であり、属性AT4が「総務部」であると仮定する。この場合、ユーザUA及びユーザUCの属性の組み合わせはポリシーを満たすので、ユーザUA及びユーザUCは暗号文を復号することができる。一方、ユーザUBの属性の組み合わせはポリシーを満たさないので、ユーザUBは暗号文を復号することができない。
次に、図3〜図7を参照して、暗号システム1の動作例を説明する。図3は、図1に示される暗号システムにおける初期設定処理を示すシーケンス図である。図4は、図1に示される暗号システムにおける暗号化鍵生成処理を示すシーケンス図である。図5は、図1に示される暗号システムにおける復号鍵生成処理を示すシーケンス図である。図6は、図1に示される暗号システムにおける暗号化処理を示すシーケンス図である。図7は、図1に示される暗号システムにおける復号処理を示すシーケンス図である。
なお、説明の便宜上、ユーザについては、ユーザUA,UBのみを図示し、鍵発行機関については、鍵発行機関20A,20Bのみを図示する。また、ユーザ端末11Bが鍵発行機関としての役割を担っている。いずれのユーザ端末及び鍵発行機関が、暗号システム1における秘密鍵及び公開鍵の鍵発行機関となるかは、予め設定されている。又は、鍵発行機関20Aが、鍵発行機関となる機関を指定してもよい。
図3に示されるように、暗号システム1では、まず初期設定処理が行われる。具体的には、各ユーザは、利用属性の申請を行う。ここではユーザUA,UBのみを説明するが、他のユーザについても同様である。ユーザUAは、ユーザ端末11Aを用いて鍵発行機関20Aに利用属性の申請を行う(ステップS11)。同様に、ユーザUBは、ユーザ端末11Bを用いて鍵発行機関20Aに利用属性の申請を行う(ステップS11)。利用属性の申請には、ユーザの属性又はユーザが利用したい属性(属性の組み合わせ)と、ユーザを特定するための識別情報(ユーザ識別情報)と、が含まれる。ユーザ識別情報としては、ウェブページ等において予め登録されたログインID及びパスワードの組み合わせが用いられ得る。ユーザが使用するユーザ端末のIP(Internet Protocol)アドレスがユーザ識別情報として用いられてもよい。
続いて、鍵発行機関20Aは、各ユーザから利用属性の申請を受信すると、初期設定を行う(ステップS12)。ステップS12において、鍵発行機関20Aは、素数p1を位数とする生成元gからなる巡回群G1と、素数p2を位数とする生成元gからなる巡回群G2と、式(1)で表される双線形写像eを有する巡回群GTと、を決定する。巡回群G1は、素数p1を位数とする巡回群であり、乗算が定義された巡回群である。巡回群G2は、素数p2を位数とする巡回群であり、乗算が定義された巡回群である。巡回群GTは、加算及び乗算が定義された巡回群である。そして、鍵発行機関20Aは、式(1)を満たす双線形写像eを決定する。双線形写像eは、2つの引数を有し、e(・,・)で表される写像である。
Figure 0006936482
続いて、鍵発行機関20Aは、乱数b(b∈Zp1)をランダムに決定し、元g を計算する。
また、鍵発行機関20Aは、各ユーザから申請されたN個の属性に対して、巡回群G1から乱数h,h,・・・,h(h,h,・・・,h∈G1)をランダムに選択する。
そして、鍵発行機関20Aは、生成元g、生成元g、元g 、双線形写像e、乱数h,h,・・・,h、及び鍵発行機関(ここでは、鍵発行機関20A,20B及びユーザ端末11B)を特定するための識別情報(発行機関識別情報)を公開情報として公開するために、公開情報を公開サーバ30に送信する(ステップS13)。発行機関識別情報としては、例えば、鍵発行機関のIPアドレスが用いられる。そして、公開サーバ30は、不図示の記憶装置に公開情報を格納する(ステップS14)。
なお、鍵発行機関20Aは、全てのユーザから利用属性の申請を受け取った後にステップS12を実施しているが、ステップS12の実施タイミングはこれに限られない。例えば、鍵発行機関20Aは、ユーザから利用属性の申請を受け取る前に生成元g及び生成元gの選択、元g の計算、並びに双線形写像eの決定を行ってもよく、ユーザから利用属性の申請を受け取る前に生成元g、生成元g、元g 、双線形写像e、及び発行機関識別情報を公開サーバ30に送信してもよい。鍵発行機関20Aは、ユーザから新たな属性の申請を受け取ると、その属性に対応する乱数h(nは1〜Nの整数)を選択し、選択した乱数hを公開サーバ30に送信してもよい。また、各ユーザとユーザの属性の組み合わせとが対応付けられて、各ユーザとユーザの属性の組み合わせとの対応関係が鍵発行機関20Aにおいて管理されてもよい。鍵発行機関20Aは、各ユーザとユーザの属性の組み合わせとの対応関係を他の鍵発行機関に送信してもよい。
続いて、各ユーザ(ユーザ端末11A及びユーザ端末11B)と、複数の鍵発行機関のうち鍵発行機関20A以外の鍵発行機関(ここでは、鍵発行機関20B)とは、公開サーバ30から公開情報を取得する(ステップS15)。なお、暗号システム1内の各機関は、公開サーバ30のIPアドレスを予め取得している。
続いて、図4に示されるように、暗号システム1では、暗号化鍵生成処理が行われる。暗号化鍵生成処理では、まず、各鍵発行機関(ここでは、鍵発行機関20A,20B及びユーザ端末11B)が公開鍵PKを生成する(ステップS21)。なお、各鍵発行機関には番号j(jは1〜Ncの整数)が割り当てられている。総数Ncは、公開鍵PK及び秘密鍵SK を生成する鍵発行機関の総数である。ステップS21では、j番目の鍵発行機関は、乱数aを生成し、式(2)に示される計算を行って公開鍵PKを生成する。
Figure 0006936482
そして、各鍵発行機関は、公開鍵PKを公開するために公開鍵PKを公開サーバ30に送信する(ステップS22)。そして、公開サーバ30は、不図示の記憶装置に公開鍵PKを公開情報として格納する(ステップS23)。
続いて、暗号システム1内の各機関(ここでは、ユーザ端末11A,11B、及び鍵発行機関20A,20B)は、公開サーバ30からNc個の公開鍵PKを取得する(ステップS24)。そして、各機関は、Nc個の公開鍵PKを用いて属性ベース暗号の暗号化用の暗号化鍵PKを生成する(ステップS25)。具体的には、各機関は、式(3)に示されるように、各公開鍵PKを加算し、その加算結果e(g,gを計算する。
Figure 0006936482
そして、各機関は、式(4)に示されるように、公開情報と加算結果e(g,gとを属性ベース暗号の暗号化用の暗号化鍵PKとする。
Figure 0006936482
このように、暗号化鍵生成処理では、鍵発行機関20A,20Bは、公開鍵PK(第1公開鍵)を生成するとともに、公開鍵PKを公開する。同様に、ユーザ端末11Bは、公開鍵PK(第2公開鍵)を生成するとともに、公開鍵PKを公開する。ユーザ端末11Aは、鍵発行機関20A,20Bによって生成された公開鍵PKとユーザ端末11Bによって生成された公開鍵PKとを取得して、これらの公開鍵PKを用いて属性ベース暗号の暗号化用の暗号化鍵PKを生成する。
続いて、図5に示されるように、暗号システム1では、復号鍵生成処理が行われる。ここでは、ユーザ端末11Aが復号鍵を生成する場合を説明する。復号鍵生成処理では、まず、ユーザ端末11Aが各鍵発行機関(ここでは、鍵発行機関20A,20B及びユーザ端末11B)に秘密鍵を要求する(ステップS31)。このとき、ユーザ端末11Aは、ユーザUAの属性の組み合わせ(第1属性)を指定して、ユーザUAの属性の組み合わせに対応した秘密鍵を要求する。
そして、各鍵発行機関(ここでは、鍵発行機関20A,20B及びユーザ端末11B)は、ユーザ端末11Aから秘密鍵の要求を受け取ると、ユーザUAの属性の組み合わせに応じた秘密鍵を生成する(ステップS32)。このとき、各鍵発行機関は、指定されたユーザUAの属性の組み合わせにユーザUAに無関係な属性が含まれている場合には、指定されたユーザUAの属性の組み合わせを否決してもよい。
ステップS32では、まず、各鍵発行機関は、ユーザ端末11A(ユーザUA)に対して乱数s をランダムに決定して、式(5)に示される計算を行う。なお、乱数s はユーザごとに決定される値である。ユーザUAの属性(ユーザUAの属性の組み合わせに含まれる属性)の総数Xは、ユーザシステム10で用いられる属性の総数N以下である。なお、乱数huxは、ユーザUAのX個の属性のうちのx番目の属性に対応する乱数hである。
Figure 0006936482
続いて、各鍵発行機関は、式(6)に示される秘密鍵SK をユーザ端末11Aに送信(配布)する(ステップS33)。
Figure 0006936482
そして、ユーザ端末11Aは、Nc個の秘密鍵SK を用いて属性ベース暗号の復号用の復号鍵SKを生成する(ステップS34)。具体的には、ユーザ端末11Aは、式(7)及び式(8)に示されるように、Nc個の秘密鍵SK を要素ごとに加算し、その加算結果を復号鍵SKとする。なお、復号鍵SKには、X個の属性鍵(属性鍵Ku1〜KuX)が含まれる。
Figure 0006936482

Figure 0006936482
このように、復号鍵生成処理では、ユーザ端末11Aは、鍵発行機関20A,20BにユーザUAの属性の組み合わせに応じた秘密鍵SK (第1秘密鍵)を要求するとともに、ユーザ端末11BにユーザUAの属性の組み合わせに応じた秘密鍵SK (第2秘密鍵)を要求する。鍵発行機関20A,20Bは、ユーザ端末11Aからの要求に応じて、秘密鍵SK を生成して秘密鍵SK をユーザ端末11Aに配布する。同様に、ユーザ端末11Bは、ユーザ端末11Aからの要求に応じて、秘密鍵SK を生成して秘密鍵SK をユーザ端末11Aに配布する。ユーザ端末11Aは、鍵発行機関20A,20Bから秘密鍵SK を取得するとともに、ユーザ端末11Bから秘密鍵SK を取得する。そして、ユーザ端末11Aは、これらの秘密鍵SK を用いて属性ベース暗号の復号用の復号鍵SK(第1復号鍵)を生成する。
続いて、ユーザが属性ベース暗号を用いて暗号化を行う暗号化処理を説明する。ここでは、ユーザ端末11Aが暗号化を行う場合を説明する。図6に示されるように、暗号化処理では、まずユーザUAがユーザ端末11Aを用いて所望のデータMsgを暗号化する(ステップS41)。ユーザ端末11Aには、例えば、属性ベース暗号のための暗号アプリケーションが予めインストールされている。ユーザUAは、暗号アプリケーションにおいて、当該データを復号可能な属性の組み合わせ(アクセス構造)を指定する。図2の例では、「開発部」かつ「海外支社経験者」かつ「プロジェクトP担当者」の属性の組み合わせを有するユーザ、又は「総務課」の属性の組み合わせを有するユーザが復号できるように、アクセス構造の指定が行われる。なお、各ユーザは、任意のアクセス構造を指定でき、例えば、当該ユーザが復号できないアクセス構造を指定することもできる。
そして、ユーザ端末11Aは、線形秘密分散法を用いて、指定されたアクセス構造をl行m列の行列Mの形で表現する。なお、行の総数lは、アクセス構造に含まれる属性であって、重複している属性でも別個に計数した場合の属性の数と等しい。例えば、図2の例では、ポリシーを満たす行列の一例として、式(9)で示される行列Mが生成される。
Figure 0006936482
そして、ユーザ端末11Aは、行列Mに対応して、m個の要素を含むベクトルvをランダムに生成する。式(10)に示されるように、ベクトルvは、秘密情報sと、乱数z〜zと、を含む。
Figure 0006936482
そして、ユーザ端末11Aは、式(11)に示されるように、ベクトルvと、行列Mのi(iは1〜lの整数)行目の行Mと、を用いて値λを計算する。
Figure 0006936482
続いて、ユーザ端末11Aは、l個の乱数rをランダムに決定する。そして、ユーザ端末11Aは、式(12)に示されるように、値λと乱数rと暗号化鍵PKとを用いて暗号化対象のデータMsgを暗号化し、暗号文を生成する。なお、乱数hρ(i)は、i行目の属性に対応する乱数hである。
Figure 0006936482
そして、ユーザ端末11Aは、クラウドストレージ40に暗号文を送信する(ステップS42)。クラウドストレージ40は、ユーザ端末11Aから暗号文を受信すると、暗号文を不図示の記憶装置に格納する(ステップS43)。
続いて、ユーザが属性ベース暗号を用いて暗号文を復号する復号処理を説明する。ここでは、ユーザ端末11Aが復号を行う場合を説明する。図7に示されるように、復号処理では、まずユーザUAがユーザ端末11Aを用いて、クラウドストレージ40に暗号文の取得を要求する(ステップS51)。そして、クラウドストレージ40は、ユーザ端末11Aから暗号文の取得要求を受信すると、要求されている暗号文を不図示の記憶装置から読み出し、当該暗号文をユーザ端末11Aに送信する(ステップS52)。
続いて、ユーザ端末11Aは、クラウドストレージ40から暗号文を受信すると、ユーザUAの復号鍵SKを用いて復号を行う(ステップS53)。このとき、ユーザ端末11Aは、ユーザUAの属性の組み合わせが暗号文に設定されたポリシーを満たす場合には、式(13)を満たす値wを計算することができる。
Figure 0006936482
そして、ユーザ端末11Aは、式(14)に示されるように、値wとユーザUAの復号鍵SKとを用いて暗号文を復号し、元のデータMsgを得る。なお、属性鍵Kρ(i)は、行列M(アクセス構造)に含まれるl個の属性のうちのi行目の属性に対応する属性鍵Kuxである。
Figure 0006936482
このように、各ユーザは、自身の属性の組み合わせが暗号文に設定されたポリシーを満たす場合にのみ、ユーザの復号鍵を用いて当該暗号文の復号が可能となる。属性ベース暗号の安全性は、離散対数問題の困難性に起因している。例えば、一例を挙げると、生成元gと元g a1とから、乱数aを計算することが困難であるという性質である。この性質により、上記の属性ベース暗号は安全であるといえる。
次に、図8及び図9を参照して、暗号システム1の別の動作例を説明する。図8は、図1に示される暗号システムにおける委譲処理を示すシーケンス図である。図9は、図1に示される暗号システムにおける秘密鍵生成処理を示すシーケンス図である。委譲とは、鍵発行機関がN個の属性のうちの一部についての権限を他の機関に受け渡すことを意味する。なお、説明の便宜上、ユーザについては、ユーザUA,UBのみを図示し、鍵発行機関については、鍵発行機関20A,20B,20Cのみを図示する。また、ユーザ端末11Bが鍵発行機関としての役割を担っている。
初期設定処理において、ユーザ端末11B(ユーザUB)は、複数の鍵発行機関のうち、委譲先の鍵決定機関となることを承諾している鍵発行機関の中から委譲先の鍵発行機関を任意に選択する。そして、ユーザ端末11Bは、例えば、ステップS11において、利用属性の申請に加えて、委譲対象の属性である委譲属性と委譲先の鍵発行機関(鍵発行機関20C;別の鍵発行機関)の発行機関識別情報とを鍵発行機関20Aに通知する。鍵発行機関20Aは、ステップS13において、公開情報に委譲属性と委譲先の鍵発行機関の発行機関識別情報とを含めて公開サーバ30に送信する。これにより、委譲属性と委譲先の鍵発行機関とが暗号システム1内の各機関に事前に周知される。なお、ユーザ端末11Bは、複数の鍵発行機関に異なる委譲属性を委譲してもよい。委譲先の鍵発行機関は、秘密鍵SK 及び公開鍵PKを生成している鍵発行機関と重複してもよい。
ここでは、ユーザ端末11BがN個の属性の一部を鍵発行機関20Cに委譲する場合について説明する。まず、ユーザ端末11Bが委譲鍵を生成する(ステップS61)。ステップS61では、まず、ユーザ端末11Bは、乱数s をランダムに決定して、式(15)に示される計算を行う。委譲属性の総数Yは、ユーザシステム10で用いられる属性の総数N以下である。乱数hdyは、Y個の委譲属性のうちのy番目の属性に対応する乱数hである。
Figure 0006936482
そして、ユーザ端末11Bは、式(16)に示される委譲鍵DKを鍵発行機関20Cに送信(配布)する(ステップS62)。委譲鍵DKには、Y個の属性鍵(属性鍵Kd1 〜KdY )が含まれる。なお、委譲鍵DKからは、元の秘密鍵SK を判別することはできない。
Figure 0006936482
また、鍵発行機関20Cは、公開サーバ30から公開情報を取得する(ステップS63)。
続いて、図9に示されるように、暗号システム1では、復号鍵生成処理が行われる。ここでは、ユーザ端末11Aが復号を行う場合を説明する。復号鍵生成処理では、まず、ユーザ端末11Aが、ユーザUAの属性の組み合わせが委譲属性の集合に含まれるか否かを判定する(ステップS71)。ユーザUAの属性の組み合わせが委譲属性の集合に含まれないと判断された場合(ステップS71:NO)、図5に示される復号鍵生成処理が行われる。
一方、ユーザ端末11Aは、ユーザUAの属性の組み合わせが委譲属性の集合に含まれると判断した場合(ステップS71:YES)、各鍵発行機関に秘密鍵を要求する(ステップS72)。図5のステップS31と比較して、ユーザ端末11Bに代えて鍵発行機関20Cに秘密鍵を要求する点が異なる。そして、各鍵発行機関(ここでは、鍵発行機関20A〜20C)は、ユーザ端末11Aから秘密鍵の要求を受け取ると、ユーザUAの属性の組み合わせに応じた秘密鍵を生成する(ステップS73)。
ステップS73では、鍵発行機関20Cは、ユーザ端末11A(ユーザUA)に対して乱数s をランダムに決定して、式(17)に示される計算を行う。属性鍵Kdux は、ユーザUAのX個の属性のうちのx番目の属性に対応する属性鍵Kdy である。なお、鍵発行機関20A,20Bの秘密鍵生成処理は、ステップS32と同様であるので、説明を省略する。
Figure 0006936482
続いて、各鍵発行機関は、式(6)に示される秘密鍵SK をユーザ端末11Aに送信(配布)する(ステップS74)。そして、ユーザ端末11Aは、ステップS34と同様に、Nc個の秘密鍵SK を用いて属性ベース暗号の復号用の復号鍵SKを生成する(ステップS75)。
以上説明したように、暗号システム1、ユーザシステム10、ユーザ端末11Aが行う暗号方法、及びユーザ端末11Aに暗号方法を実行させる暗号プログラムでは、ユーザ端末11Aは、鍵発行機関20A,20Bによって生成された公開鍵PKと、ユーザシステム10内のユーザ端末11Bによって生成された公開鍵PKとを用いて属性ベース暗号の暗号化用の暗号化鍵PKを生成する。ユーザ端末11Aは、鍵発行機関20A,20Bによって生成された秘密鍵SK とユーザシステム10内のユーザ端末11Bによって生成された秘密鍵SK とを用いて属性ベース暗号の復号用の復号鍵SKを生成する。
ユーザ端末11Bが暗号化及び復号を行う場合も同様である。つまり、ユーザ端末11Bは、ユーザUBの属性の組み合わせ(第2属性)に応じた秘密鍵SK (第3秘密鍵)を鍵発行機関20A,20Bに要求するとともに、ユーザUBの属性の組み合わせに応じた秘密鍵SK (第4秘密鍵)を生成する。鍵発行機関20A,20Bは、ユーザ端末11Bからの要求に応じて、秘密鍵SK を生成して秘密鍵SK をユーザ端末11Bに配布する。ユーザ端末11Bは、公開鍵PKを用いて暗号化鍵PKを生成し、鍵発行機関20A,20Bから秘密鍵SK を取得して、鍵発行機関20A,20Bによって生成された秘密鍵SK とユーザ端末11B自身が生成した秘密鍵SK とを用いて属性ベース暗号の復号用の復号鍵SK(第2復号鍵)を生成する。
このように、鍵発行機関としての役割をユーザシステム10内のユーザ端末11Bが担うことにより、鍵発行機関が結託することによって暗号文が復号される可能性を低減することができる。つまり、ユーザUBが鍵の管理権限の一部を有しているので、ユーザシステム10以外の全ての鍵発行機関が結託した場合でも、暗号文を復号することはできない。その結果、属性ベース暗号の安全性を向上させることが可能となる。
ユーザ端末11Bは、ユーザシステム10で用いられる複数(N個)の属性のうちの1以上(Y個)の属性を委譲属性の集合として鍵発行機関20Cに委譲する。そして、ユーザ端末11Aは、ユーザUAの属性の組み合わせが委譲属性の集合に含まれる場合には、ユーザ端末11Bに代えて委譲先の鍵発行機関20Cに秘密鍵SK を要求する。鍵発行機関20Cは、ユーザ端末11Aからの要求に応じて、秘密鍵SK を生成して秘密鍵SK をユーザ端末11Aに配布する。このように、ユーザシステム10において機密性を保ちたい属性に対しては、ユーザ端末11B(ユーザUB)自身が鍵発行機関の役割を果たし、ユーザシステム10のユーザ(ユーザUA等)に対して鍵の生成及び配布を行う。また、ユーザ端末11BのユーザUBの負担を軽減するために、ユーザシステム10において機密性に拘らない属性、及び関係の無い属性等に対しては、ユーザ端末11Bは委譲鍵DKを作成し、鍵発行機関20Cに委譲属性に関する鍵の生成及び配布を委譲する。これにより、ユーザ端末11Bは、委譲属性に関する秘密鍵の生成及び配布を行う必要がなくなるので、ユーザ端末11BのユーザUBの負担を軽減することができる。一方、委譲属性以外の属性については、ユーザUBが鍵の管理権限の一部を有しているので、ユーザシステム10以外の全ての鍵発行機関が結託した場合でも、暗号文を復号することはできない。その結果、ユーザUBの負担を軽減しつつ、属性ベース暗号の安全性を向上させることが可能となる。
なお、本発明に係る暗号システム、ユーザシステム、暗号方法、及び暗号プログラムは上記実施形態に限定されない。
上記実施形態では、各ユーザが鍵発行機関20Aに利用属性の申請を行っているが、他の鍵発行機関に利用属性の申請を行ってもよい。例えば、ある組織のユーザが利用属性の申請を行う鍵発行機関と、別の組織のユーザが利用属性の申請を行う鍵発行機関とが異なる場合のように、2以上の鍵発行機関に利用属性の申請が行われることがある。このような場合、1つの鍵発行機関(例えば、鍵発行機関20A)がそれ以外の鍵発行機関に申請された属性を取りまとめてもよい。他の鍵発行機関は、自身に申請された利用属性について、鍵発行機関20Aに利用属性の申請を行う。鍵発行機関20Aは、上記実施形態と同様に初期設定を行う。
暗号システム1は、公開サーバ30を備えていなくてもよい。この場合、公開情報は、暗号システム1内の各機関に電子メール等によって直接配布される。
ユーザの属性は、所定の規則によって決定されてもよい。例えば、ユーザが会社員である場合には、所属部署、及び入社年度等の属性が管理されている。この場合、これらの属性を一括して、企業の管理部門において利用属性の申請が行われてもよく、各ユーザは利用属性の申請を行わなくてもよい。
ユーザシステム10は、1つの組織に属するユーザ端末だけでなく、異なる組織に属するユーザ端末を含んでもよい。この場合、同じ名称の属性が2以上の組織で利用される可能性がある。このため、各組織の属性が一意に識別可能なように属性名等が設定される。例えば、ユーザUAがE社に属しており、ユーザUBがF社に属しており、ユーザUA及びユーザUBが「総務課」の属性について利用属性の申請を行う場合、属性名を「総務課E社」、及び「総務課F社」として2つの属性が区別されるか、会社名の属性と「総務課」の属性とが論理積される。
また、ユーザ端末11Bが鍵発行機関20Cに委譲属性を委譲した場合、ユーザ端末11Aは、図5と同様、各鍵発行機関(図5の例では、鍵発行機関20A,20B及びユーザ端末11B)に秘密鍵を要求してもよい。そして、ユーザ端末11BがステップS71の処理を行い、ユーザUAの属性の組み合わせが委譲属性の集合に含まれないと判断された場合(ステップS71:NO)、図5に示される復号鍵生成処理が行われる。一方、ユーザ端末11Bは、ユーザUAの属性の組み合わせが委譲属性の集合に含まれると判断した場合(ステップS71:YES)、ユーザ端末11Aに委譲先の鍵発行機関20Cを通知し、ユーザ端末11Aは鍵発行機関20Cに秘密鍵を要求してもよい。
1…暗号システム、10…ユーザシステム、11A…ユーザ端末(第1ユーザ端末)、11B…ユーザ端末(第2ユーザ端末)、11C…ユーザ端末、20A…鍵発行機関、20B…鍵発行機関、20C…鍵発行機関(別の鍵発行機関)、30…公開サーバ、40…クラウドストレージ、NW…ネットワーク、UA…ユーザ、UB…ユーザ、UC…ユーザ。

Claims (8)

  1. 属性ベース暗号を用いた暗号システムであって、
    鍵発行機関と、
    1以上の属性を含む第1属性を有する第1ユーザ端末及び第2ユーザ端末を含むユーザシステムと、
    を備え、
    前記鍵発行機関は、第1公開鍵を生成するとともに、前記第1公開鍵を公開し、
    前記第2ユーザ端末は、第2公開鍵を生成するとともに、前記第2公開鍵を公開し、
    前記第1ユーザ端末は、前記第1属性に応じた第1秘密鍵を前記鍵発行機関に要求するとともに、前記第1属性に応じた第2秘密鍵を前記第2ユーザ端末に要求し、
    前記鍵発行機関は、前記第1ユーザ端末からの要求に応じて、前記第1秘密鍵を生成して前記第1秘密鍵を前記第1ユーザ端末に配布し、
    前記第2ユーザ端末は、前記第1ユーザ端末からの要求に応じて、前記第2秘密鍵を生成して前記第2秘密鍵を前記第1ユーザ端末に配布し、
    前記第1ユーザ端末は、前記第1公開鍵及び前記第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成し、前記第1秘密鍵及び前記第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成する、暗号システム。
  2. 前記第2ユーザ端末は、1以上の属性を含む第2属性を有し、
    前記第2ユーザ端末は、前記第2属性に応じた第3秘密鍵を前記鍵発行機関に要求するとともに、前記第2属性に応じた第4秘密鍵を生成し、
    前記鍵発行機関は、前記第2ユーザ端末からの要求に応じて、前記第3秘密鍵を生成して前記第3秘密鍵を前記第2ユーザ端末に配布し、
    前記第2ユーザ端末は、前記第1公開鍵及び前記第2公開鍵を用いて前記暗号化鍵を生成し、前記第3秘密鍵及び前記第4秘密鍵を用いて属性ベース暗号の復号用の第2復号鍵を生成する、請求項1に記載の暗号システム。
  3. 別の鍵発行機関をさらに備え、
    前記第2ユーザ端末は、前記ユーザシステムで用いられる複数の属性のうちの1以上の属性を委譲属性の集合として前記別の鍵発行機関に委譲し、
    前記第1ユーザ端末は、前記第1属性が前記委譲属性の集合に含まれる場合には、前記第2秘密鍵を前記別の鍵発行機関に要求し、
    前記別の鍵発行機関は、前記第1ユーザ端末からの要求に応じて、前記第2秘密鍵を生成して前記第2秘密鍵を前記第1ユーザ端末に配布する、請求項1又は請求項2に記載の暗号システム。
  4. 1以上の属性を含む第1属性を有する第1ユーザ端末と第2ユーザ端末とを含み、属性ベース暗号を利用するユーザシステムであって、
    前記第1ユーザ端末は、外部の鍵発行機関によって生成された第1公開鍵と前記第2ユーザ端末によって生成された第2公開鍵とを取得して、前記第1公開鍵及び前記第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成し、
    前記第1ユーザ端末は、前記第1属性に応じた第1秘密鍵を前記鍵発行機関に要求するとともに、前記第1属性に応じた第2秘密鍵を前記第2ユーザ端末に要求し、
    前記第1ユーザ端末は、前記第1秘密鍵を前記鍵発行機関から取得し、前記第2秘密鍵を前記第2ユーザ端末から取得し、前記第1秘密鍵及び前記第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成する、ユーザシステム。
  5. 前記第2ユーザ端末は、1以上の属性を含む第2属性を有し、
    前記第2ユーザ端末は、前記第2属性に応じた第3秘密鍵を前記鍵発行機関に要求するとともに、前記第2属性に応じた第4秘密鍵を生成し、
    前記第2ユーザ端末は、前記第1公開鍵及び前記第2公開鍵を用いて前記暗号化鍵を生成し、
    前記第2ユーザ端末は、前記第3秘密鍵を前記鍵発行機関から取得して、前記第3秘密鍵及び前記第4秘密鍵を用いて属性ベース暗号の復号用の第2復号鍵を生成する、請求項4に記載のユーザシステム。
  6. 前記第2ユーザ端末は、前記ユーザシステムで用いられる複数の属性のうちの1以上の属性を委譲属性の集合として別の鍵発行機関に委譲し、
    前記第1ユーザ端末は、前記第1属性が前記委譲属性の集合に含まれる場合には、前記第2秘密鍵を前記別の鍵発行機関に要求する、請求項4又は請求項5に記載のユーザシステム。
  7. 1以上の属性を含む第1属性を有する第1ユーザ端末と第2ユーザ端末とを含み、属性ベース暗号を利用するユーザシステムにおいて、前記第1ユーザ端末が行う暗号方法であって、
    外部の鍵発行機関によって生成された第1公開鍵と前記第2ユーザ端末によって生成された第2公開鍵とを取得するステップと、
    前記第1公開鍵及び前記第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成するステップと、
    前記第1属性に応じた第1秘密鍵を前記鍵発行機関に要求するとともに、前記第1属性に応じた第2秘密鍵を前記第2ユーザ端末に要求するステップと、
    前記第1秘密鍵を前記鍵発行機関から取得し、前記第2秘密鍵を前記第2ユーザ端末から取得するステップと、
    前記第1秘密鍵及び前記第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成するステップと、
    を備える暗号方法。
  8. コンピュータに、
    外部の鍵発行機関によって生成された第1公開鍵と、前記コンピュータとともにユーザシステムに属するユーザ端末によって生成された第2公開鍵と、を取得するステップと、
    前記第1公開鍵及び前記第2公開鍵を用いて属性ベース暗号の暗号化用の暗号化鍵を生成するステップと、
    前記コンピュータの1以上の属性を含む第1属性に応じた第1秘密鍵を前記鍵発行機関に要求するとともに、前記第1属性に応じた第2秘密鍵を前記ユーザ端末に要求するステップと、
    前記第1秘密鍵を前記鍵発行機関から取得し、前記第2秘密鍵を前記ユーザ端末から取得するステップと、
    前記第1秘密鍵及び前記第2秘密鍵を用いて属性ベース暗号の復号用の第1復号鍵を生成するステップと、
    を実行させるための暗号プログラム。
JP2017217331A 2017-11-10 2017-11-10 暗号システム、ユーザシステム、暗号方法、及び暗号プログラム Active JP6936482B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017217331A JP6936482B2 (ja) 2017-11-10 2017-11-10 暗号システム、ユーザシステム、暗号方法、及び暗号プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017217331A JP6936482B2 (ja) 2017-11-10 2017-11-10 暗号システム、ユーザシステム、暗号方法、及び暗号プログラム

Publications (2)

Publication Number Publication Date
JP2019086744A JP2019086744A (ja) 2019-06-06
JP6936482B2 true JP6936482B2 (ja) 2021-09-15

Family

ID=66762992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017217331A Active JP6936482B2 (ja) 2017-11-10 2017-11-10 暗号システム、ユーザシステム、暗号方法、及び暗号プログラム

Country Status (1)

Country Link
JP (1) JP6936482B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5618881B2 (ja) * 2011-03-25 2014-11-05 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
JP5841955B2 (ja) * 2013-01-21 2016-01-13 日本電信電話株式会社 関数型暗号システム及び方法

Also Published As

Publication number Publication date
JP2019086744A (ja) 2019-06-06

Similar Documents

Publication Publication Date Title
Hota et al. Capability-based cryptographic data access control in cloud computing
US10735186B2 (en) Revocable stream ciphers for upgrading encryption in a shared resource environment
CN113037484B (zh) 数据传输方法、装置、终端、服务器及存储介质
JP5047638B2 (ja) 暗号文復号権委譲システム
WO2015107641A1 (ja) 暗号システム、鍵生成装置、再暗号化装置及びユーザ端末
Tu et al. A secure, efficient and verifiable multimedia data sharing scheme in fog networking system
Li et al. Multi-user searchable encryption with a designated server
Ramachandran et al. Secure and efficient data forwarding in untrusted cloud environment
JP2018085681A (ja) 強化されたセキュリティを有する取引相互監視システム
WO2017141399A1 (ja) データ処理システム
JP2006279269A (ja) 情報管理装置、情報管理システム、ネットワークシステム、ユーザ端末、及びこれらのプログラム
Tiwari et al. A novel secure cloud storage architecture combining proof of retrievability and revocation
Cao et al. Analysis of one secure anticollusion data sharing scheme for dynamic groups in the cloud
KR20210020699A (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
JP6936482B2 (ja) 暗号システム、ユーザシステム、暗号方法、及び暗号プログラム
Dhal et al. RACC: An efficient and revocable fine grained access control model for cloud storage
Yasmin et al. Decentralized Entrance Power with Secret Endorsement of Data Stored in Clouds
Hojabri Ensuring data storage security in cloud computing with effect of kerberos
Liu et al. A secure and efficient data sharing framework with delegated capabilities in hybrid cloud
Prince et al. Rsa-dabe: A novel approach for secure health data sharing in ubiquitous computing environment
SATHEESH et al. A NOVEL HARDWARE PARAMETERS BASED CLOUD DATA ENCRYPTION AND DECRYPTION AGAINST UNAUTHORIZED USERS.
Ullah et al. QuSigS: A quantum Signcryption scheme to recover key escrow problem and key revocation problem in cloud computing
JP2018107625A (ja) データ配信システム、データ生成装置、仲介装置、データ配信方法、及びプログラム
Dabhade et al. Data security in cloud using aggregate key and Diffie-Hellman algorithm
JP2018142922A (ja) データ流通システム及びデータ流通方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210810

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210820

R150 Certificate of patent or registration of utility model

Ref document number: 6936482

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150