JP5959667B2 - データ復号装置、属性ベース暗号システム、乱数要素除去装置、データ復号方法およびデータ復号プログラム - Google Patents

データ復号装置、属性ベース暗号システム、乱数要素除去装置、データ復号方法およびデータ復号プログラム Download PDF

Info

Publication number
JP5959667B2
JP5959667B2 JP2014557328A JP2014557328A JP5959667B2 JP 5959667 B2 JP5959667 B2 JP 5959667B2 JP 2014557328 A JP2014557328 A JP 2014557328A JP 2014557328 A JP2014557328 A JP 2014557328A JP 5959667 B2 JP5959667 B2 JP 5959667B2
Authority
JP
Japan
Prior art keywords
common key
mask
random number
key
unit
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
JP2014557328A
Other languages
English (en)
Other versions
JPWO2014112182A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5959667B2 publication Critical patent/JP5959667B2/ja
Publication of JPWO2014112182A1 publication Critical patent/JPWO2014112182A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Description

本発明は、例えば、属性ベース暗号方式を用いたデータ復号装置、属性ベース暗号システム、乱数要素除去装置、ランダム化秘密鍵生成装置、データ復号方法およびデータ復号プログラムに関するものである。
近年、属性ベース暗号または関数型暗号といったアクセス制御機能と暗号機能とが融合した新しい暗号が提案されている(例えば、非特許文献1や非特許文献2)。
これは、復号可能な利用者の属性を指定してデータを暗号化することにより、指定した属性を持った利用者のみが暗号化されたデータを復号できるようにするものである。
この属性ベース暗号方式には、鍵生成サーバ、およびデータを暗号化または復号する利用者が存在する。
鍵生成サーバは、利用者の属性を管理し、さらに利用者の要望に応じて利用者の属性を埋め込んだ秘密鍵を生成し、生成した秘密鍵を利用者に送付する。
例えば、鍵生成サーバは、A部のB課に所属する田中さんに対して、3つの属性「A部、B課、田中」を埋め込んだ秘密鍵を生成する。
データを暗号化する利用者は、復号可能な利用者が有するべき属性の条件を、ANDまたはORなどの論理演算子を用いた論理式で指定する。
例えば、A部に所属する人が復号可能な利用者である場合、データを暗号化する利用者は、条件式「A部」を指定する。また、A部もしくはB部に所属する人が復号可能な利用者である場合、データを暗号化する利用者は、条件式「A部 OR B部」を指定する。
この場合、A部に所属する田中さんは、どちらの条件式を用いて暗号化されたデータであっても、復号することが可能である。田中さんの属性「A部」は、条件式「A部」と条件式「A部 OR B部」とのどちらとも合致するためである。
一方、B部に所属する佐藤さんは、条件式「A部 OR B部」を用いて暗号化されたデータを復号することはできるが、条件式「A部」を用いて暗号化されたデータを復号することはできない。佐藤さんの属性「B部」は、条件式「A部 OR B部」には合致するが、条件式「A部」には合致しないためである。
また、C部に所属する鈴木さんは、どちらの条件式を用いて暗号化されたデータであっても、復号することはできない。鈴木さんの属性「C部」は、条件式「A部」と条件式「A部 OR B部」とのどちらとも合致しないためである。
しかし、このような属性ベース暗号は、高機能であるため、復号処理に時間がかかるというデメリットがある。
これは、復号処理の際に、条件式を改ざんされないための秘密分散をデコードするデコード処理と、複雑な演算であるペアリング演算と、を実行するためである。
そのため、組み込み機器またはICカードなど、処理速度が遅くて記憶容量が少ない端末機器を使って復号処理を行うことは困難である。
そこで、復号処理を他の装置に委譲する復号委譲方式が提案されている。
例えば、非特許文献3は、属性ベース暗号のアルゴリズム(非特許文献2参照)に対して復号委譲の仕組みを追加することによって、秘密分散のデコードまたはペアリング演算をプロキシで実行し、復号処理の最後に行う乱数除去のみを組み込み機器またはICカードなどの端末機器で実行することを提案している。これにより、計算能力が低い端末機器を使用して暗号化データを復号する場合であっても、復号処理を短時間で実行することができる。
しかし、非特許文献3が提案する方式は、攻撃者に制約を設けた状況(Selective−secure)でしか安全性が確保されず、攻撃者に制約を設けない状況(Adaptive−secure)では安全性が確保できない、という課題がある。
本発明は、例えば、属性ベース暗号方式の復号処理を複数の段階に分けて実行することによって、暗号化データの安全性を高めることができるようにすることを目的とする。
本発明のデータ復号装置は、
属性を表す属性値を用いて属性ベース暗号方式で生成される利用者秘密鍵に乱数要素を含めたランダム化秘密鍵を用いて、前記属性値を含んだ属性条件式を用いて暗号化された共通鍵である暗号化共通鍵を復号処理することにより、前記乱数要素を含んだランダム化マスク共通鍵を生成する共通鍵部分復号部と、
前記共通鍵部分復号部によって生成された前記ランダム化マスク共通鍵から前記乱数要素を除去したマスク共通鍵を取得するマスク共通鍵取得部と、
前記マスク共通鍵取得部によって取得された前記マスク共通鍵を用いて共通鍵を生成するマスク除去部と、
前記マスク除去部によって生成された前記共通鍵を用いて、前記共通鍵を用いて暗号化されている対象データを復号するデータ復号部とを備える。
本発明によれば、例えば、属性ベース暗号方式の復号処理を複数の段階に分けて実行することによって、暗号化データの安全性を高めることができる。
実施の形態1における属性ベース暗号システム100の構成図である。 実施の形態1における鍵生成サーバ200の機能構成図である。 実施の形態1におけるアクセス端末300の機能構成図である。 実施の形態1におけるICカード400の機能構成図である。 実施の形態1における属性ベース暗号システム100の処理概要を示すフローチャートである。 実施の形態1における初期設定処理(S100)を示すフローチャートである。 実施の形態1における利用者属性テーブル291の一例を示す図である。 実施の形態1におけるr−利用者秘密鍵発行処理(S200)を示すフローチャートである。 実施の形態1におけるr−利用者秘密鍵生成処理(S220)を示すフローチャートである。 施の形態1におけるデータ暗号化処理(S300)を示すフローチャートである。 実施の形態1におけるKEM鍵暗号化処理(S340)を示すフローチャートである。 実施の形態1におけるデータ復号処理(S400)を示すフローチャートである。 実施の形態1における乱数要素除去処理(S450)を示すフローチャートである。 実施の形態1におけるアクセス端末300のハードウェア資源の一例を示す図である。 実施の形態2における鍵生成サーバ200の機能構成図である。 実施の形態2におけるICカード400の機能構成図である。 実施の形態2における属性ベース暗号システム100の処理概要を示すフローチャートである。 実施の形態2における利用者秘密鍵発行処理(S200B)を示すフローチャートである。 実施の形態2における利用者秘密鍵生成処理(S220B)を示すフローチャートである。 実施の形態2におけるデータ復号処理(S400B)を示すフローチャートである。 実施の形態2におけるr−利用者秘密鍵取得処理(S420B)を示すフローチャートである。 実施の形態3における鍵生成サーバ200の機能構成図である。 実施の形態3におけるアクセス端末300の機能構成図である。 実施の形態3における属性ベース暗号システム100の処理概要を示すフローチャートである。 実施の形態3におけるr−利用者秘密鍵生成処理(S200C)を示すフローチャートである。 実施の形態3におけるデータ復号処理(S400C)を示すフローチャートである。
実施の形態1.
属性ベース暗号システムの復号処理の一部をICカードに委譲する形態について説明する。
図1は、実施の形態1における属性ベース暗号システム100の構成図である。
実施の形態1における属性ベース暗号システム100の構成について、図1に基づいて説明する。
属性ベース暗号システム100は、属性ベース暗号方式(非特許文献1参照)でデータを暗号化または復号するシステムである。
属性ベース暗号方式とは、データにアクセスするためのアクセス権限が与えられる利用者が有する属性に関する条件式を用いてデータを暗号化することによって、条件式を満たす属性を有する利用者だけがデータを復号できる暗号方式である。属性ベース暗号方式は「関数型暗号方式」とも呼ばれる。
属性ベース暗号システム100は、1つの鍵生成サーバ200(ランダム化秘密鍵生成装置の一例)と、1つ以上のアクセス端末300(データ復号装置の一例)と、利用者毎のICカード400(乱数要素除去装置の一例)と、1つのファイルサーバ190とを備える。ICはIntegrated Circuitの略である。
但し、属性ベース暗号システム100はその他の構成を備えても構わないし、各構成の数は1つまたは複数であっても構わない。
鍵生成サーバ200とアクセス端末300とファイルサーバ190とは、社内のローカルエリアネットワーク(以下、社内LAN101という)に接続されている。社内LAN101はルータまたは専用線などを経由する複雑な通信路であっても構わない。
但し、これらの構成が社内LAN101以外のネットワーク(例えば、インターネット)に接続されていても構わない。
鍵生成サーバ200は、データを暗復号するために用いる公開パラメータと、乱数を用いてランダム化した利用者秘密鍵と、利用者秘密鍵をランダム化するために用いる乱数に関する値(以下、マスク値という)とを生成する装置である。装置はコンピュータともいう。
アクセス端末300は、鍵生成サーバ200によって生成された公開パラメータ212を用いてデータを暗号化する装置(例えば、パーソナルコンピュータ)である。また、アクセス端末300は、暗号化されたデータをICカード400と共に復号する装置である。
ICカード400は、鍵生成サーバ200によって生成された利用者秘密鍵とマスク値とを記憶する装置である。また、ICカード400は、暗号化されたデータをアクセス端末300と共に復号する装置である。
ファイルサーバ190は、暗号化されたデータを記憶する装置である。例えば、ファイルサーバ190は、Windows OS(Windowsは登録商標)が搭載された市販のファイルサーバである。
図2は、実施の形態1における鍵生成サーバ200の機能構成図である。
実施の形態1における鍵生成サーバ200の機能構成について、図2に基づいて説明する。
鍵生成サーバ200は、マスター秘密鍵生成部210と、r−利用者秘密鍵生成部220と、r−利用者秘密鍵書込み部230と、サーバ通信部280と、サーバ記憶部290とを備える。
マスター秘密鍵生成部210は、公開パラメータ212に設定する鍵長201と、利用者が有する属性の種類の数(以下、属性数202という)とを用いて、マスター秘密鍵211と公開パラメータ212とを生成する。
r−利用者秘密鍵生成部220は、マスター秘密鍵211と公開パラメータ212と利用者が有する属性を表す属性値を含んだ情報(以下、利用者属性情報292という)とを用いて、r−利用者秘密鍵221とマスク値222とを生成する。r−利用者秘密鍵221は乱数を用いてランダム化された利用者秘密鍵であり、マスク値222は利用者秘密鍵をランダム化するために用いられる乱数に関する値である。
r−利用者秘密鍵書込み部230は、r−利用者秘密鍵221とマスク値222とをICカード400に書き込む。
サーバ通信部280は、鍵生成サーバ200で使用するデータを通信する。
例えば、サーバ通信部280は、公開パラメータ212をアクセス端末300に送信する。
サーバ記憶部290は、鍵生成サーバ200で使用するデータを記憶する。
例えば、サーバ記憶部290は、マスター秘密鍵211と、公開パラメータ212と利用者属性テーブル291とを記憶する。
利用者属性テーブル291は、利用者別に利用者属性情報292を含むテーブルである。
図3は、実施の形態1におけるアクセス端末300の機能構成図である。
実施の形態1におけるアクセス端末300の機能構成について、図3に基づいて説明する。
アクセス端末300(データ復号装置の一例)は、データ暗号化部310と、KEM鍵部分復号部320(共通鍵部分復号部の一例)と、乱数要素除去依頼部330(マスク共通鍵取得部の一例)と、マスク除去部340と、データ復号部350と、端末通信部380と、端末記憶部390とを備える。
データ暗号化部310は、データにアクセスするためのアクセス権限が与えられる利用者が有する属性に関する条件式(以下、属性条件式302という)と公開パラメータ212とを用いて、暗号化する対象である対象データ301を暗号化し、暗号化データ311を生成する。暗号化データ311は、暗号化した対象データ301である暗号化データ本体312と、対象データ301を暗号化するために用いる共通鍵(以下、KEM鍵341という)を暗号化した暗号化KEM鍵313とを含む。KEMはKey Encapsulation Mechanismの略である。
KEM鍵部分復号部320は、公開パラメータ212とr−利用者秘密鍵221とを用いて、暗号化KEM鍵313を部分的に復号する。以下、部分的に復号された暗号化KEM鍵313を「r−KEM鍵マスク値321」という。
乱数要素除去依頼部330は、r−KEM鍵マスク値321に含まれる乱数要素の除去をICカード400に対して依頼し、乱数要素が除去されたr−KEM鍵マスク値321(以下、KEM鍵マスク値411という)をICカード400から取得する。
マスク除去部340は、KEM鍵マスク値411を用いてKEM鍵341を算出する。
データ復号部350は、KEM鍵341を用いて暗号化データ本体312を対象データ301に復号する。
端末通信部380は、アクセス端末300で使用するデータを通信する。
例えば、端末通信部380は、鍵生成サーバ200から公開パラメータ212を受信し、ファイルサーバ190に暗号化データ311を送信する。また、端末通信部380は、ファイルサーバ190から暗号化データ311を受信する。
端末記憶部390は、アクセス端末300で使用するデータを記憶する。
例えば、端末記憶部390は、暗号化データ311と、公開パラメータ212とを記憶する。
図4は、実施の形態1におけるICカード400の機能構成図である。
実施の形態1におけるICカード400の機能構成について、図4に基づいて説明する。
ICカード400は、乱数要素除去部410と、カード通信部480と、カード記憶部490とを備える。
乱数要素除去部410は、マスク値222を用いてr−KEM鍵マスク値321から乱数要素を除去することによって、KEM鍵マスク値411を算出する。
カード通信部480は、ICカード400で使用するデータを通信する。
例えば、カード通信部480は、鍵生成サーバ200からr−利用者秘密鍵221とマスク値222とを受信する。また、カード通信部480は、アクセス端末300からr−KEM鍵マスク値321を受信し、KEM鍵マスク値411とr−利用者秘密鍵221とをアクセス端末300に送信する。
カード記憶部490は、ICカード400で使用するデータを記憶する。
例えば、カード記憶部490は、r−利用者秘密鍵221と、マスク値222とを記憶する。
図5は、実施の形態1における属性ベース暗号システム100の処理概要を示すフローチャートである。
実施の形態1における属性ベース暗号システム100の処理概要について、図5に基づいて説明する。
S100において、鍵生成サーバ200は公開パラメータ212を生成する。
初期設定処理(S100)の詳細について別途説明する。
S100の後、処理はS200に進む。
S200において、鍵生成サーバ200は、r−利用者秘密鍵221とマスク値222とをICカード400に書き込む。
利用者秘密鍵発行処理(S200)の詳細について別途説明する。
S200の後、処理はS300に進む。
S300において、アクセス端末300は、公開パラメータ212を用いて対象データ301を暗号化する。
データ暗号化処理(S300)の詳細について別途説明する。
S300の後、処理はS400に進む。
S400において、アクセス端末300およびICカード400は暗号化データ311を復号する。
データ復号処理(S400)の詳細について別途説明する。
S400の後、属性ベース暗号システム100の処理は終了する。
次に、属性ベース暗号システム100の各処理(図5のS100からS400)の詳細について説明する。
図6は、実施の形態1における初期設定処理(S100)を示すフローチャートである。
実施の形態1における初期設定処理(S100)について、図6に基づいて説明する。
S110において、管理者は、暗号の強度に関するパラメータである鍵長201と、利用者が有する属性の種類の数を示す属性数202とを鍵生成サーバ200に入力する。
例えば、管理者は、128ビットまたは256ビットなどのビット数を鍵長201として入力する。
例えば、管理者は、利用者属性テーブル291(図7参照)に含まれる属性の種類の数「5」を属性数202として入力する。
そして、マスター秘密鍵生成部210は、鍵生成サーバ200に入力された鍵長201と属性数202とを取得する。
S110の後、処理はS120に進む。
図7は、実施の形態1における利用者属性テーブル291の一例を示す図である。
実施の形態1における利用者属性テーブル291について、図7に基づいて説明する。
利用者属性テーブル291は、利用者別に利用者が有する属性を表す属性値を含んだデータである。
例えば、利用者属性テーブル291は、利用者ID、店名、部名、課名、役職および氏名を対応付ける。
利用者IDは、利用者を識別する識別子を示す。
店名は、利用者が勤務する店の名称を示す。
部名は、利用者が所属する部の名称を示す。
課名は、利用者が所属する課の名称を示す。
役職は、利用者の役職の名称を示す。
氏名は、利用者の氏名を示す。
これらの項目「店名、部名、課名、役職、氏名」は利用者が有する属性の種類の一例であり、これらの項目に設定されている値は属性値の一例である。
例えば、利用者ID「User0001」で識別される利用者の属性値は「本社、A部、B課、課長、田中」である。
管理者は、図7に示すような利用者属性テーブル291を生成し、生成した利用者属性テーブル291を鍵生成サーバ200に予め記憶しておくものとする。
但し、利用者属性テーブル291は初期設定処理(S100)の前後または処理中に生成および記憶されても構わない。
また、利用者属性テーブル291に設定される属性値は、利用者の現在の属性値と、利用者の過去の属性値と、その両方の属性値とのいずれであっても構わない。
図6に戻り、初期設定処理(S100)の説明を続ける。
S120において、マスター秘密鍵生成部210は、鍵長201と属性数202とを用いて属性ベース暗号方式のマスター秘密鍵生成アルゴリズム(セットアップアルゴリズムともいう)を実行することにより、公開パラメータ212とマスター秘密鍵211とを生成する。
また、マスター秘密鍵生成部210は、公開パラメータ212とマスター秘密鍵211とをサーバ記憶部290に記憶する。
以下に、公開パラメータpkおよびマスター秘密鍵skを生成するための式(1−1)から式(1−8)を示す。
公開パラメータpkは式(1−7)で表すことができ、マスター秘密鍵skは式(1−8)で表すことができる。
以下の式で用いている符号の意味は次の通りである。但し、「^」は上付きを意味し、「_」は下付きを意味する(以下同様)。例えば、「1^λ」は「1λ」を意味し、「n_1」は「n」を意味する。
「pk」は公開パラメータ212である。
「sk」はマスター秘密鍵211である。
「1^λ」は鍵長201である。
「d」は属性数202である。
「param」は楕円曲線のパラメータである。
「g_ob」はB_tとB_t^*とのペアの集合を計算するアルゴリズムである。
「R←」(矢印の上に文字Rを付した符号)はランダムに値を取得することを意味する。
その他の符号の意味については非特許文献1の7.1章を参照のこと。
Figure 0005959667
なお、上記の式(1−1)から式(1−8)は、非特許文献1の7.1章に示されている式と同様の式である。
S120の後、処理はS130に進む。
S130において、サーバ通信部280は、公開パラメータ212を各アクセス端末300に送信する。
そして、各アクセス端末300は、公開パラメータ212を受信し、受信した公開パラメータ212を端末記憶部390に記憶する。
但し、各アクセス端末300は、サーバ通信部280から公開パラメータ212を受信する方法以外の方法で公開パラメータ212を取得しても構わない。
また、各アクセス端末300は、S130以外のタイミングで公開パラメータ212を取得しても構わない。
S130の後、初期設定処理(S100)は終了する。
上記の式(1−1)から(1−8)におけるn_1からn_dまでのそれぞれの値が「2」である場合を例にして以降の説明を行う。
図8は、実施の形態1におけるr−利用者秘密鍵発行処理(S200)を示すフローチャートである。
実施の形態1におけるr−利用者秘密鍵発行処理(S200)について、図8に基づいて説明する。
S210において、管理者は、利用者を識別する利用者IDを鍵生成サーバ200に入力する。例えば、管理者は利用者ID「User0001」を入力する。
r−利用者秘密鍵生成部220は、鍵生成サーバ200に入力された利用者IDを取得する。例えば、r−利用者秘密鍵生成部220は利用者ID「User0001」を取得する。
r−利用者秘密鍵生成部220は、取得した利用者IDに対応付けられた属性値を利用者属性テーブル291(図7参照)から取得する。例えば、r−利用者秘密鍵生成部220は、利用者ID「User0001」に対応付けられた属性値「本社」「A部」「B課」「課長」「田中」を取得する。
ここで、利用者属性テーブル291から取得した属性値を示す情報を利用者属性情報292という。
S210の後、処理はS220に進む。
S220において、r−利用者秘密鍵生成部220は、利用者属性情報292を用いてr−利用者秘密鍵221とマスク値222とを生成する。
r−利用者秘密鍵生成処理(S220)について別途説明する。
S220の後、処理はS230に進む。
S230において、管理者は、アクセス端末300にカードリーダライタ(以下、カードR/Wと記す)を接続し、S210で入力した利用者IDで識別される利用者用のICカード400をカードR/Wに接続する。
r−利用者秘密鍵書込み部230は、カードR/Wを介して、ICカード400にr−利用者秘密鍵221とマスク値222とを書き込む。
管理者は、S210で入力した利用者IDで識別される利用者にICカード400を配布する。
S230の後、利用者秘密鍵発行処理(S200)は終了する。
なお、利用者秘密鍵発行処理(S200)は、利用者にICカード400を発行するとき、または、利用者の属性が変わったときに実行する。
図9は、実施の形態1におけるr−利用者秘密鍵生成処理(S220)を示すフローチャートである。
実施の形態1におけるr−利用者秘密鍵生成処理(S220)について、図9に基づいて説明する。
S221において、r−利用者秘密鍵生成部220は、利用者属性情報292を用いて属性集合Γを生成する。
属性集合Γを表す式(2)を以下に示す。
Figure 0005959667
例えば、利用者属性情報292に5つの属性値「本社、A部、B課、課長、田中」が含まれる場合、属性集合Γ_田中は以下の式(3)で表すことができる。
Figure 0005959667
S221の後、処理はS222に進む。
S222において、r−利用者秘密鍵生成部220は、属性集合Γを用いて利用者秘密鍵sk_Γを生成する。
以下に、利用者秘密鍵sk_Γを生成するための式(4−1)から式(4−5)を示す。利用者秘密鍵sk_Γは式(4−5)で表すことができる。
以下の式で用いている符号の意味は次の通りである。
「F_q」は0からq−1までの整数の集合を表す有限体である。
「q」は前記の式(1−1)における「param」に含まれる群位数である。
「U←」(矢印の上に文字Uを付した符号)はランダムに値を取得することを意味する。但し、各値が取得される確率は同じである。
その他の符号の意味については非特許文献1の7.1章を参照のこと。
Figure 0005959667
なお、上記の式(4−1)から式(4−5)は、非特許文献1の7.1章に示されている式と同様の式である。
例えば、前記の式(3)で示した属性集合Γ_田中を用いた場合、利用者秘密鍵sk_田中は以下の式(5−1)から式(5−5)を計算することによって生成することができる。
Figure 0005959667
S222の後、処理はS223に進む。
S223において、r−利用者秘密鍵生成部220は乱数rを生成する。
S223の後、処理はS224に進む。
S224において、r−利用者秘密鍵生成部220は、乱数rを用いてマスク値maskを生成する。マスク値maskは乱数rの逆元である。
S224の後、処理はS225に進む。
以下に、乱数rを生成するための式(6−1)と、マスク値maskを生成するための式(6−2)を示す。
Figure 0005959667
S225において、r−利用者秘密鍵生成部220は、乱数rを用いて利用者秘密鍵sk_Γをランダム化することにより、r−利用者秘密鍵sk_Γ−を生成する。
「sk_Γ−」の末尾の「−」は「sk」に付ける上線を意味する。また、上線は乱数rを用いたランダム化(乱数rの乗算)を意味する。
以下に、r−利用者秘密鍵sk_Γ−を生成するための式(7−1)から式(7−3)を示す。r−利用者秘密鍵sk_Γ−は式(7−3)で表すことができる。
Figure 0005959667
例えば、前記の式(3)で示した利用者秘密鍵sk_田中をランダム化した場合、ランダム化したr−利用者秘密鍵sk_田中−は以下の式(8−1)から式(8−3)を計算することによって生成することができる。「sk_田中−」の末尾の「−」は「sk」に付ける上線を意味する。
Figure 0005959667
S225の後、r−利用者秘密鍵生成処理(S220)は終了する。
図10は、実施の形態1におけるデータ暗号化処理(S300)を示すフローチャートである。
実施の形態1におけるデータ暗号化処理(S300)について、図10に基づいて説明する。
S310において、対象データ301を提供する提供者は、提供する対象データ301と、属性値を含んだ属性条件式302とをアクセス端末300に入力する。例えば、A部またはB部に所属する利用者に対して対象データ301を提供する場合、提供者は、属性条件式302として論理式「A部 OR B部」を入力する。
そして、データ暗号化部310は、アクセス端末300に入力された対象データ301とアクセス端末300とを取得する。
S310の後、処理はS320に進む。
S320において、データ暗号化部310は、公開パラメータ212に含まれる鍵長201に基づいてKEM鍵341を生成する。例えば、鍵長201が256ビットである場合、データ暗号化部310は256ビットのランダムなビット列をKEM鍵341として生成する。
以下に、KEM鍵K_KEMを生成するための式(9−1)から式(9−3)を示す。KEM鍵K_KEMは式(9−3)で表すことができる。符号の意味は次の通りである。
「g_T」は、公開パラメータpk(前記の式(1−1)参照)に含まれる楕円曲線パラメータparamの基底である。
「key_L」は、鍵長201の値(例えば、256ビット)である。
「KDF(m,key_L)」は、入力値m(乱数種)を用いてビット長key_Lの鍵(乱数)を算出する鍵導出関数(例えば、ISO−18033で定義されたKDF1)である。
Figure 0005959667
S320の後、処理はS330に進む。
S330において、データ暗号化部310は、KEM鍵341を共通鍵として用いて共通鍵暗号方式(例えば、AES)で対象データ301を暗号化することにより、暗号化データ本体312を生成する。
S330の後、処理はS340に進む。
S340において、データ暗号化部310は、属性条件式302を用いてKEM鍵341を暗号化することにより、暗号化KEM鍵313を生成する。
図11は、実施の形態1におけるKEM鍵暗号化処理(S340)を示すフローチャートである。
実施の形態1におけるKEM鍵暗号化処理(S340)について、図11に基づいて説明する。
S341において、データ暗号化部310は、属性条件式302を用いてアクセス構造Sを生成する。
以下に、アクセス構造Sを生成するための式(10−1)から式(10−2)を示す。アクセス構造Sは式(10−2)で表すことができる。符号の意味は次の通りである。
「S」は属性条件式302を表すアクセス構造である。
「M」は、例えば、一般的に知られたSpan Programで算出される値である。
「ρ」は、写像によって得られる値である。
Figure 0005959667
例えば、属性条件式302が「A部 OR B部」である場合、アクセス構造S=(M,ρ)の「M」は式(11−1)で表し、「ρ」は式(11−2)で表すことができる。
Figure 0005959667
S341の後、処理はS342に進む。
S342において、データ暗号化部310は、アクセス構造Sを用いてKEM鍵341を暗号化することにより、暗号化KEM鍵313を生成する。
以下に、暗号化KEM鍵ct_Sを生成するための式(12−1)から式(12−8)を示す。暗号化KEM鍵ct_Sは式(12−8)で表すことができる。
Figure 0005959667
なお、上記の式(12−1)から式(12−8)は、非特許文献1の7.1章に示されている式と同様の式である。
図10に戻り、データ暗号化処理(S300)の説明を続ける。
S340の後、処理はS350に進む。
S350において、データ暗号化部310は、暗号化データ本体312と暗号化KEM鍵313とを含んだ暗号化データ311を生成する。
そして、端末通信部380は暗号化データ311をファイルサーバ190に送信し、ファイルサーバ190は暗号化データ311を記憶する。
S350の後、データ暗号化処理(S300)は終了する。
図12は、実施の形態1におけるデータ復号処理(S400)を示すフローチャートである。
実施の形態1におけるデータ復号処理(S400)について、図12に基づいて説明する。
S410において、利用者は、暗号化データ311のファイル名をアクセス端末300に入力する。
そして、端末通信部380は、アクセス端末300に入力されたファイル名の暗号化データ311をファイルサーバ190から取得する。
S410の後、処理はS420に進む。
S420において、利用者は、アクセス端末300にカードR/Wを接続し、ICカード400をカードR/Wに接続する。
KEM鍵部分復号部320は、カードR/Wを介してICカード400からr−利用者秘密鍵221を取得する。
S420の後、処理はS430に進む。
S430において、KEM鍵部分復号部320は、暗号化データ311から暗号化KEM鍵313を取得し、r−利用者秘密鍵221を用いて暗号化KEM鍵313を復号処理する。r−利用者秘密鍵221を用いて復号した暗号化KEM鍵313がr−KEM鍵マスク値321である。
但し、利用者の属性が属性条件式302を満たさない場合、KEM鍵部分復号部320は、暗号化KEM鍵313を復号しない。
なお、KEM鍵部分復号部320は、r−利用者秘密鍵221に含まれる属性集合Γと暗号化KEM鍵313に含まれるアクセス構造Sとを比較し、比較結果に基づいて利用者の属性が属性条件式302を満たすか否かを判定する。利用者の属性が属性条件式302を満たすか否かを判定する判定方法は、従来の属性ベース暗号方式(例えば、非特許文献1が開示する方式)と同様である。
以下に、暗号化KEM鍵ct_S(前記の式(12−8)参照)をr−利用者秘密鍵sk_Γ−(前記の式(7−3)参照)を用いて復号処理するための式(13−1)から式(13−3)を示す。
復号によって得られるr−KEM鍵マスク値K−は式(13−3)で表すことができる。「K−」はKに上線を付した符号である。
なお、符号の意味は次の通りである。
「M_i」は、アクセス構造Sに含まれるMのi番目の行である。
「e」は、ペアリング写像を意味する。
Figure 0005959667
なお、上記の式(13−1)から式(13−3)は、非特許文献1の7.1章に示されている式の一部を変更した式である。
S430の後、処理はS440に進む。
S440において、乱数要素除去依頼部330は、r−KEM鍵マスク値321をカードR/Wを介してICカード400に送信することにより、r−KEM鍵マスク値321に含まれる乱数要素の除去を依頼する。乱数要素を除去したr−KEM鍵マスク値321がKEM鍵マスク値411である。
S440の後、処理はS450に進む。
S450において、ICカード400は、r−KEM鍵マスク値321をアクセス端末300から受信し、r−KEM鍵マスク値321から乱数要素を除去し、KEM鍵マスク値411をアクセス端末300に送信する。
図13は、実施の形態1における乱数要素除去処理(S450)を示すフローチャートである。
実施の形態1における乱数要素除去処理(S450)について、図13に基づいて説明する。
S451において、カード通信部480は、カードR/Wを介してアクセス端末300からr−KEM鍵マスク値321を受信する。
S451の後、処理はS452に進む。
S452において、乱数要素除去部410は、カード記憶部490からマスク値222(乱数要素の逆元)を取得し、マスク値222を用いてr−KEM鍵マスク値321から乱数rに関する乱数要素を除去する。これにより、KEM鍵マスク値411が生成される。
KEM鍵マスク値Kは以下の式(14)で表すことができる。符号の意味は次の通りである。
「K−^mask」は、マスク値maskを用いてr−KEM鍵マスク値K−から乱数要素を除去することを意味する。
Figure 0005959667
S452の後、処理はS453に進む。
S453において、カード通信部480は、カードR/Wを介してアクセス端末300にKEM鍵マスク値411を送信する。
S453の後、乱数要素除去処理(S450)は終了する。
図12に戻り、データ復号処理(S400)の説明を続ける。
乱数要素除去処理(S450)の後、処理はS460に進む。
S460において、乱数要素除去依頼部330は、KEM鍵マスク値411をカードR/Wを介してICカード400から受信する。
S460の後、処理はS470に進む。
S470において、マスク除去部340は、KEM鍵マスク値411と暗号化KEM鍵313とを用いて、KEM鍵341を生成する。
以下に、KEM鍵K_KEMを生成するための式(15−1)から式(15−2)を示す。KEM鍵K_KEMは式(15−2)で表すことができる。
なお、c_{d+1}は暗号化KEM鍵ct_S(上記の式(12−8)参照)に含まれる要素である。
Figure 0005959667
S470の後、処理はS480に進む。
S480において、データ復号部350は、暗号化データ311から暗号化データ本体312を取得し、KEM鍵341を共通鍵として用いて共通鍵暗号方式で暗号化データ本体312を対象データ301に復号する。
そして、データ復号部350は対象データ301を出力する。例えば、データ復号部350は対象データ301をディスプレイに表示する。
S480により、データ復号処理(S400)は終了する。
図14は、実施の形態1におけるアクセス端末300のハードウェア資源の一例を示す図である。
図14において、アクセス端末300(コンピュータの一例)は、CPU901(Central Processing Unit)を備えている。CPU901は、バス902を介してROM903、RAM904、通信ボード905(通信装置)、ディスプレイ911(表示装置)、キーボード912、マウス913、ドライブ914、磁気ディスク装置920などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ914は、FD(Flexible Disk)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
ROM903、RAM904、磁気ディスク装置920およびドライブ914は記憶装置の一例である。キーボード912、マウス913および通信ボード905は入力装置の一例である。ディスプレイ911および通信ボード905は出力装置の一例である。
通信ボード905は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群922、ファイル群923が記憶されている。
プログラム群922には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラム(例えば、データ復号プログラム)は、CPU901により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
ファイル群923には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
フローチャートなどに基づいて説明する実施の形態の処理はCPU901、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
なお、鍵生成サーバ200はアクセス端末300と同様にハードウェアを備え、ICカード400はCPU901、記憶装置および通信装置に相当するハードウェアであるICチップを備える。
実施の形態1において、特に、図9のS225で説明したr−利用者秘密鍵sk_Γ−に関する式(7−1)から式(7−3)が特徴である。
また、図12のS430で説明したr−KEM鍵マスク値K−に関する式(13−1)から式(13−3)と、図13のS452で説明したKEM鍵マスク値Kに関する式(14)と、図12のS470で説明したKEM鍵K_KEMに関する式(15−1)(15−2)とが特徴である。
実施の形態1において、利用者秘密鍵sk_Γの一部の要素だけをランダム化しても構わない。利用者秘密鍵sk_Γの一部の要素だけをランダム化する方法については実施の形態2で説明する。
実施の形態1は、以下のように応用しても構わない。
(1)属性ベース暗号システム100において、ランダム化利用者秘密鍵およびマスク値を格納したICカードを利用者に配布しなくても構わない。
例えば、ランダム化利用者秘密鍵およびマスク値を格納したSDカード(登録商標、以下同様)(SD:Secure Digital)またはその他のメモリカードを利用者に配布しても良い。また、ランダム化利用者秘密鍵およびマスク値はネットワーク経由でアクセス端末に配布し、アクセス端末のハードディスクに保管するようにしても良い。
(2)また、ランダム化利用者秘密鍵とマスク値とを別々に配布するようにしても良い。
例えば、マスク値はICカードに保管して配布し、ランダム化利用者秘密鍵はネットワーク経由でアクセス端末に配布しても良い。
他に、ランダム化利用者秘密鍵をネットワーク経由で配布して暗号化KEM鍵の部分復号を行った後に、マスク値を同じくネットワーク経由でアクセス端末に配布するようにしても良い。この場合、ランダム化利用者秘密鍵とマスク値とが同時にアクセス端末に存在しないため、安全性を担保することができる。
(3)また、ランダム化利用者秘密鍵とマスク値とICカード内で生成するようにしても良い。
この場合、鍵生成サーバは利用者秘密鍵をICカードに書き込み、ICカードがマスク値を生成し、利用者秘密鍵のランダム化を行う(実施の形態2を参照)。
(4)S342で生成したg_T^ζをKEM鍵の種mとして用いてKEM鍵を生成するようにしても良い。この場合、種m=g_T^ζを生成した後に、KEM鍵を生成することとなる。また、復号処理時の式(15−1)は「m=K」になる。
(5)複数の部または課に所属する利用者に対して複数の利用者秘密鍵を割り当てるようにしても良い。
(6)利用者属性情報は、鍵生成サーバとは別個の装置で管理するようにしても良い。
例えば、鍵生成サーバは、Windows(登録商標)のActive Directoryなどで管理している人事情報を利用者属性情報として利用しても良い。
(7)公開パラメータはICカードに格納するようにしても良い。また、アクセス端末は、公開パラメータを利用する度に、ネットワーク経由で鍵生成サーバから公開パラメータを取得するようにしても良い。
(8)データを属性ベース暗号方式で直接に暗号化することが可能であれば、データは共通鍵暗号方式で暗号化しなくても良い。
(9)本実施の形態ではICカードの演算を最小限に留めることを意図した構成とした。しかし、攻撃者が、r−KEM鍵マスク値K−の代わりにでたらめな数値を選択して乱数要素除去処理(S450)を実行し、ICカードに秘密に保持されているマスク値を推測する攻撃を行う可能性がある。
この攻撃からマスク値を保護するため、ICカードを以下のような構成にしてもよい。
(9−1)ICカード(の乱数要素除去部410)は、r−KEM鍵マスク値K−から乱数要素を除去してKEM鍵マスク値Kを算出する際に、与えられたr−KEM鍵マスク値K−が所定の位数qを持つ値である否か、すなわち、r−KEM鍵マスク値K−が正しい値であるか否かを確認するようにしても良い。位数qは式(4−1)などで使用している値である(以下同様)。
ICカードは、r−KEM鍵マスク値K−が正しい値である場合にKEM鍵マスク値を算出し、r−KEM鍵マスク値K−が正しい値でない場合にはKEM鍵マスク値を算出しない。
これは、r−KEM鍵マスク値K−をq乗して、その結果が単位元1になるかどうかを確認することで実現できる。
r−KEM鍵マスク値K−をq乗した値が単位元1であればr−KEM鍵マスク値K−は正しい値であり、r−KEM鍵マスク値K−をq乗した値が単位元1でなければr−KEM鍵マスク値K−は正しい値でない。
(9−2)限定的な確認で良いのであれば、事前にICカード内に拒否する値が設定された拒否リストを記憶しておき、拒否リストに設定されている値とr−KEM鍵マスク値K−とを比較するようにしても良い。
拒否リストに設定されている値と異なるr−KEM鍵マスク値K−は正しい値であり、拒否リストに設定されている値と同じr−KEM鍵マスク値K−は正しい値でない。
(9−3)また、前述の(9−1)または(9−2)の確認を行うと処理時間がかかるため、簡便にはICカードがr−KEM鍵マスク値K−から乱数要素を除去するために利用するパラメータを、前記攻撃を受けにくいパラメータに限定すれば良い。
例えば、一般的には、有限体F_{p^k}の乗法群が、属性ベース暗号方式のペアリング写像を行うためのパラメータとして使われる。有限体F_{p^k}は楕円曲線F_pの値をペアリング写像した値の集合であり、有限体F_{p^k}の乗法群は0から位数{p^k}−1までの整数の集合である。「k」は埋め込み次数と呼ばれる。
この有限体F_{p^k}の乗法群の位数p^k−1がq×2×hに因数分解されたとする。hは素数の場合もあれば、合成数の場合もある。この時、合成数hを素因数分解して得られる複数の素因数p_hのうち離散対数問題が容易に解けるような小さい素因数(所定の素因数閾値より小さい素因数)の積が位数qより小さくなるパラメータをICカードのパラメータとして使用すると良い。合成数hの小さい素因数p_hの積が位数qより大きくなるパラメータを使用すると、離散対数問題が解かれてしまうからである。
例えば、合成数hがh=3×5×7×Pに素因数分解されるものとする。3、5および7は素因数閾値より小さい素因数であり、Pは素因数閾値より大きい素因数である。小さい素因数の積「105(=3×5×7)」が位数qより小さい場合、位数p^k−1がq×2×hに分解される有限体F_{p^k}の乗法群はICカードのパラメータとして適している。
但し、理想的には、数h自身が素数であれば良い。
実施の形態1により、例えば、以下のような効果を奏することができる。
(1)非特許文献1に記載の岡本−高島暗号方式のアルゴリズムを元にして、攻撃者に制約を設けない状況(Adaptive−secure)で、復号委譲が可能な属性ベース暗号システムを実現することができる。但し、実施の形態1は、岡本、高島らが提案する他の暗号方式に適用してもよい。
(2)属性ベース暗号システム100は、ランダムに生成したマスク値で利用者秘密鍵をランダム化してランダム化利用者秘密鍵(r−利用者秘密鍵)に変換する。また、属性ベース暗号システム100は、ランダム化利用者秘密鍵を用いた部分復号演算をアクセス端末側で実施する。そして、属性ベース暗号システム100は、マスク値を使ったランダム化の除去演算のみをICカードで実施する。
ランダム化利用者秘密鍵を使った演算は、属性ベース暗号方式の復号処理で行うペアリング演算などを含んでおり、復号処理の大部分を占める演算である。一方、ICカード内で実施するマスク値の除去演算は、べき乗演算が1回だけで処理量が少ない演算である。
そのため、メモリ量の少ないICカードに格納するプログラムをコンパクト化すると共に、計算リソースが限られるICカードで行う演算の量を低減することができる。
(3)属性ベース暗号システム100は、利用者秘密鍵をランダム化したランダム化利用者秘密鍵をアクセス端末に開示する。
しかし、ランダム化利用者秘密鍵があっても、ICカードに別途保管されたマスク値がなければ、暗号化データを復号することができない。
そのため、ランダム化利用者秘密鍵をアクセス端末に開示しても、データが漏洩してしまう危険性がない。また、ランダム化利用者秘密鍵から利用者秘密鍵が漏洩する心配もない。
(4)属性ベース暗号システム100は、マスク値を使って利用者秘密鍵をランダム化利用者秘密鍵に変換する。
しかし、真に守らなければならないのはマスク値だけである。そのため、メモリ量が数十キロバイト程度しかないような非力なICカードを用いる場合であっても、属性ベース暗号方式の利用者秘密鍵を安全に守ることができる。
(5)属性ベース暗号システム100は、鍵生成サーバでマスク値を生成し、利用者秘密鍵をランダム化利用者秘密鍵に変換する。
そのため、復号処理のうち中心となる処理をメモリやCPUリソースが少ないICカードで実施する必要がなく、非力なICカードを用いる場合であっても、属性ベース暗号方式の利用者秘密鍵を安全に守ることができる。
実施の形態において、例えば、以下のようなデータ復号装置(100)について説明した。括弧内に実施の形態1で説明した構成の符号を記す。
前記データ復号装置は、共通鍵部分復号部(320)と、マスク共通鍵取得部(330)と、マスク除去部(340)と、データ復号部(350)とを備える。
前記共通鍵部分復号部は、属性を表す属性値を用いて属性ベース暗号方式で生成される利用者秘密鍵に乱数要素を含めたランダム化秘密鍵(221)を用いて、前記属性値を含んだ属性条件式を用いて暗号化された共通鍵(341)である暗号化共通鍵(313)を復号処理することにより、前記乱数要素を含んだランダム化マスク共通鍵(321)を生成する。
前記マスク共通鍵取得部は、前記共通鍵部分復号部によって生成された前記ランダム化マスク共通鍵から前記乱数要素を除去したマスク共通鍵(411)を取得する。
前記マスク除去部は、前記マスク共通鍵取得部によって取得された前記マスク共通鍵を用いて前記共通鍵を生成する。
前記データ復号部は、前記マスク除去部によって生成された前記共通鍵を用いて、前記共通鍵を用いて暗号化されている対象データ(301)を復号する。
前記マスク共通鍵取得部は、前記マスク共通鍵を生成する乱数要素除去装置(400)に前記ランダム化マスク共通鍵を送信し、前記乱数要素除去装置から前記マスク共通鍵を受信する。
前記乱数要素除去装置は、前記利用者秘密鍵に前記乱数要素を含めるために用いられた乱数を用いて生成されるマスク値(222)を用いて、前記ランダム化マスク共通鍵から前記乱数要素を除去することにより、前記マスク共通鍵を生成する。
前記マスク除去部は、前記マスク共通鍵を用いて入力値(m)を生成し、生成した入力値を用いて鍵導出関数(KDF)を演算することによって前記共通鍵を生成する。
実施の形態において、例えば、以下のような乱数要素除去装置(400)について説明した。
前記乱数要素除去装置は、共通鍵受信部(480)と、乱数要素除去部(410)と、共通鍵送信部(480)とを備える。
前記共通鍵受信部は、乱数要素を含んだ共通鍵(341)であるランダム化マスク共通鍵(321)を受信する。
前記乱数要素除去部は、乱数を用いて生成されたマスク値(222)を用いて、前記ランダム化マスク共通鍵から前記乱数要素を除去したマスク共通鍵(411)を生成する。
前記共通鍵送信部は、前記乱数要素除去部によって生成された前記マスク共通鍵を送信する。
実施の形態において、例えば、以下のようなランダム化秘密鍵生成装置(200)について説明した。前記ランダム化秘密鍵生成装置はランダム化秘密鍵生成部(220)を備える。
前記ランダム化秘密鍵生成部は、属性を表す属性値を用いて属性ベース暗号方式で利用者秘密鍵を生成し、生成した前記利用者秘密鍵に乱数を用いて乱数要素を含めたランダム化秘密鍵(221)を生成し、前記ランダム化秘密鍵から前記乱数要素を除去するためのマスク値(222)を前記乱数を用いて生成する。
実施の形態2.
鍵生成サーバ200がr−利用者秘密鍵221の代わりに利用者秘密鍵をICカード400に書き込み、ICカード400が利用者秘密鍵をランダム化してr−利用者秘密鍵221を生成する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項については実施の形態1と同様である。
図15は、実施の形態2における鍵生成サーバ200の機能構成図である。
実施の形態2における鍵生成サーバ200の機能構成について、図15に基づいて説明する。
鍵生成サーバ200は、実施の形態1(図2参照)で説明したr−利用者秘密鍵生成部220とr−利用者秘密鍵書込み部230との代わりに、利用者秘密鍵生成部220Bと利用者秘密鍵書込み部230Bとを備える。
利用者秘密鍵生成部220Bは、マスター秘密鍵211と公開パラメータ212と利用者属性情報292とを用いて、利用者秘密鍵223を生成する。
利用者秘密鍵書込み部230Bは、利用者秘密鍵223をICカード400に書き込む。
図16は、実施の形態2におけるICカード400の機能構成図である。
実施の形態2におけるICカード400の機能構成について、図16に基づいて説明する。
ICカード400は、実施の形態1(図4参照)で説明した構成に加えて、r−利用者秘密鍵生成部420を備える。
r−利用者秘密鍵生成部420は、マスク値222を生成し、生成したマスク値222を用いて利用者秘密鍵223をランダム化することによってr−利用者秘密鍵221を生成する。
アクセス端末300の機能構成は実施の形態1(図3参照)と同様である。
次に、属性ベース暗号システム100の処理について説明する。
図17は、実施の形態2における属性ベース暗号システム100の処理概要を示すフローチャートである。
実施の形態2における属性ベース暗号システム100の処理概要について、図17に基づいて説明する。
属性ベース暗号システム100は、実施の形態1(図5参照)で説明したS200およびS400の代わりに、S200BおよびS400Bを実行する。
S100において、鍵生成サーバ200は公開パラメータ212を生成する(実施の形態1と同様)。
S200Bにおいて、鍵生成サーバ200は、r−利用者秘密鍵221とマスク値222との代わりに、利用者秘密鍵223をICカード400に書き込む。
S300において、アクセス端末300は公開パラメータ212を用いて対象データ301を暗号化する(実施の形態1と同様)。
S400Bにおいて、アクセス端末300およびICカード400は暗号化データ311を復号する。
以下に、属性ベース暗号システム100の各処理の詳細について説明する。
初期設定処理(S100)は実施の形態1(図6参照)と同様である。
図18は、実施の形態2における利用者秘密鍵発行処理(S200B)を示すフローチャートである。
実施の形態2における利用者秘密鍵発行処理(S200B)について、図18に基づいて説明する。
S210Bにおいて、利用者秘密鍵生成部220Bは、利用者属性テーブル291から属性値を含んだ利用者属性情報292を取得する。
S210Bは、実施の形態1(図8参照)で説明したS210と同様である。
S210Bの後、処理はS220Bに進む。
S220Bにおいて、利用者秘密鍵生成部220Bは、利用者属性情報292を用いて、r−利用者秘密鍵221とマスク値222との代わりに利用者秘密鍵223を生成する。
利用者秘密鍵生成処理(S220B)について別途説明する。
S220Bの後、処理はS230Bに進む。
S230Bにおいて、利用者秘密鍵書込み部230Bは、r−利用者秘密鍵221とマスク値222との代わりに、利用者秘密鍵223をICカード400に書き込む。ICカード400にデータ(223)を書き込む方法は実施の形態1(図8参照)のS230と同様である。
S230Bの後、利用者秘密鍵発行処理(S200B)は終了する。
図19は、実施の形態2における利用者秘密鍵生成処理(S220B)を示すフローチャートである。
実施の形態2における利用者秘密鍵生成処理(S220B)について、図19に基づいて説明する。
S221Bにおいて、利用者秘密鍵生成部220Bは、利用者属性情報292を用いて属性集合Γを生成する。
S221Bは、実施の形態1(図9参照)で説明したS221と同様である。
S221Bの後、処理はS222Bに進む。
S222Bにおいて、利用者秘密鍵生成部220Bは、属性集合Γを用いて利用者秘密鍵sk_Γを生成する。
S222Bは、実施の形態1(図9参照)で説明したS222と同様である。
S222Bの後、利用者秘密鍵生成処理(S220B)は終了する。
データ暗号化処理(S300)は、実施の形態1(図10参照)と同様である。
図20は、実施の形態2におけるデータ復号処理(S400B)を示すフローチャートである。
実施の形態2におけるデータ復号処理(S400B)について、図20に基づいて説明する。
データ復号処理(S400B)は、実施の形態1(図12参照)で説明したS420の代わりにS420Bを備える。
S420Bにおいて、ICカード400は、利用者秘密鍵223をランダム化してr−利用者秘密鍵221を生成する。
そして、KEM鍵部分復号部320は、ICカード400からr−利用者秘密鍵221を取得する。
図21は、実施の形態2におけるr−利用者秘密鍵取得処理(S420B)を示すフローチャートである。
実施の形態2におけるr−利用者秘密鍵取得処理(S420B)について、図21に基づいて説明する。
S421Bにおいて、KEM鍵部分復号部320は、r−利用者秘密鍵sk_ΓをICカード400に要求する。
S421Bの後、処理はS422Bに進む。
S422Bにおいて、ICカード400のr−利用者秘密鍵生成部420は、乱数rを生成する。乱数rの生成方法は実施の形態1と同様である(図9のS223参照)。
S422Bの後、処理はS423Bに進む。
S423Bにおいて、r−利用者秘密鍵生成部420は、乱数rを用いてマスク値maskを生成し、生成したマスク値maskをカード記憶部490に記憶する。マスク値maskの生成方法は実施の形態1と同様である(図9のS224参照)。
S423Bの後、処理はS424Bに進む。
S424Bにおいて、r−利用者秘密鍵生成部420は、カード記憶部490から利用者秘密鍵sk_Γを取得し、乱数rを用いて利用者秘密鍵sk_Γをランダム化することによってr−利用者秘密鍵sk_Γ−を生成する。r−利用者秘密鍵sk_Γ−の生成方法は実施の形態1と同様である(図9のS225参照)。
但し、r−利用者秘密鍵生成部420は、利用者秘密鍵sk_Γの一部の要素だけをランダム化してr−利用者秘密鍵sk_Γ−を生成しても構わない。利用者秘密鍵sk_Γの一部の要素だけをランダム化する方法について別途説明する。
S424Bの後、処理はS425Bに進む。
S425Bにおいて、カード通信部480はr−利用者秘密鍵sk_Γ−をアクセス端末300に送信する。
S425Bの後、処理はS426Bに進む。
S426Bにおいて、アクセス端末300のKEM鍵部分復号部320は、ICカード400からr−利用者秘密鍵sk_Γ−を受信する。
S426Bの後、r−利用者秘密鍵取得処理(S420B)は終了する。
次に、S424B(図21参照)において、利用者秘密鍵sk_Γの一部の要素だけをランダム化する方法について説明する。
実施の形態1で説明したように、利用者秘密鍵sk_Γは式(16)で表すことができる。
Figure 0005959667
以下に、利用者秘密鍵sk_Γに含まれる3番目の要素k_t^*をランダム化せずに、2番目の要素k_0^*をランダム化するための式(17−1)から式(17−4)を示す。2番目の要素k_0^*は復号処理で必ず使用される要素である。
Figure 0005959667
但し、2番目の要素k_0^*をランダム化せずに、その他の要素(3番目の要素k_t^*)をランダム化しても構わない。
次に、利用者秘密鍵sk_Γの一部の要素だけをランダム化した場合のデータ復号処理(図20のS430からS480)について説明する。
S430において、KEM鍵部分復号部320は、r−利用者秘密鍵221を用いて暗号化KEM鍵313を復号処理することによって、r−KEM鍵マスク値321を生成する。
以下に、r−KEM鍵マスク値321を生成するための式(18−1)から式(18−4)を示す。式(18−3)に示す「K_1−」および式(18−4)に示す「K_2」がr−KEM鍵マスク値321である。
Figure 0005959667
S440において、乱数要素除去依頼部330は、r−KEM鍵マスク値321をICカード400に送信する。
S450において、ICカード400の乱数要素除去部410は、マスク値222を用いてr−KEM鍵マスク値K_1−から乱数要素を除去することにより、KEM鍵マスク値K_1を生成する。
KEM鍵マスク値K_1は以下の式(19)で表すことができる。
Figure 0005959667
S460において、乱数要素除去依頼部330はKEM鍵マスク値411をICカード400から受信する。
S470において、マスク除去部340は、KEM鍵マスク値「K_1」「K_2」を用いてKEM鍵341を生成する。
以下に、KEM鍵K_KEMを生成するための式(20−1)から式(20−3)を示す。KEM鍵K_KEMは式(20−3)で表すことができる。
Figure 0005959667
S480において、データ復号部350は、KEM鍵341を用いて共通鍵暗号方式で暗号化データ本体312を対象データ301に復号する。
以上の処理により、暗号化データ本体312を対象データ301に復号することができる。
実施の形態2により、例えば、以下のような効果を奏することができる。
鍵生成サーバはICカードに属性ベース暗号方式の通常の利用者秘密鍵を書き込み、ICカードが利用者秘密鍵をランダム化する。これにより、属性ベース暗号システム100は、属性ベース暗号用に開発された通常の鍵生成サーバを利用する事ができる。つまり、導入コストを安価にすることができる。
ICカードは利用者秘密鍵の全体をランダム化するのではなく、復号処理で必ず利用される部分だけをランダム化する。これにより、利用者秘密鍵のランダム化の手間を大きく削減することができる。
また、実施の形態1で説明した効果(1)(2)(3)と同様の効果を奏することができる。
実施の形態2は、以下のように応用しても構わない。
属性ベース暗号システム100において、利用者秘密鍵を格納したICカードを利用者に配布しなくても構わない。
例えば、利用者秘密鍵を格納したSDカードまたはその他のメモリカードを利用者に配布しても良い。また、利用者秘密鍵はネットワーク経由でアクセス端末に配布し、アクセス端末のハードディスクに保管するようにしても良い。
アクセス端末がランダム化利用者秘密鍵を使って暗号化KEM鍵の部分復号を行った後に、ICカードがマスク値をアクセス端末に送付し、アクセス端末が乱数要素を除去しても良い。
この場合、ランダム化利用者秘密鍵とマスク値とが同時にアクセス端末に存在しないため、安全性を担保することができる。
鍵生成サーバがランダム化利用者秘密鍵とマスク値とを生成するようにしても良い(実施の形態1を参照)。
S342で生成したg_T^ζをKEM鍵の種mとして用いてKEM鍵を生成するようにしても良い(実施の形態1の応用(4)と同様)。
複数の部または課に所属する利用者に対して複数の利用者秘密鍵を割り当てるようにしても良い(実施の形態1の応用(5)と同様)。
利用者属性情報は、鍵生成サーバとは別個の装置で管理するようにしても良い(実施の形態1の応用(6)と同様)。
公開パラメータはICカードに格納するようにしても良い。また、アクセス端末は、公開パラメータを利用する度に、ネットワーク経由で鍵生成サーバから公開パラメータを取得するようにしても良い(実施の形態1の応用(7)と同様)。
データを属性ベース暗号方式で直接に暗号化することが可能であれば、データは共通鍵暗号方式で暗号化しなくても良い(実施の形態1の応用(8)と同様)。
ICカードがKEM鍵マスク値K_1を計算する際、不正な攻撃を受けていないことを確認するようにしても良い(実施の形態1の応用(9)と同様)。
実施の形態2において、例えば、以下のような乱数要素除去装置(400)について説明した。括弧内に実施の形態で説明した符号を記す。
前記乱数要素除去装置は、ランダム化秘密鍵生成部(420)と、共通鍵受信部(480)と、乱数要素除去部(410)と、共通鍵送信部(480)とを備える。
前記ランダム化秘密鍵生成部は、属性を表す属性値を用いて属性ベース暗号方式で生成された利用者秘密鍵(223)に乱数を用いて乱数要素を含めたランダム化秘密鍵(221)を生成する。
前記共通鍵受信部は、前記乱数要素を含んだ共通鍵であるランダム化マスク共通鍵(321)を受信する。
前記乱数要素除去部は、前記乱数を用いて生成されたマスク値(222)を用いて、前記ランダム化マスク共通鍵から前記乱数要素を除去したマスク共通鍵(411)を生成する。
前記共通鍵送信部は、前記乱数要素除去部によって生成された前記マスク共通鍵を送信する。
実施の形態3.
ICカード400を用いない属性ベース暗号システム100の形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項については実施の形態1と同様である。
図22は、実施の形態3における鍵生成サーバ200の機能構成図である。
実施の形態3における鍵生成サーバ200の機能構成について、図22に基づいて説明する。
鍵生成サーバ200は、実施の形態1(図2参照)で説明したr−利用者秘密鍵書込み部230を備えなくてもよい。
サーバ記憶部290は、r−利用者秘密鍵生成部220によって生成されるr−利用者秘密鍵221とマスク値222とを記憶する。
サーバ通信部280は、公開パラメータ212の他に、r−利用者秘密鍵221とマスク値222とをアクセス端末300に送信する。
図23は、実施の形態3におけるアクセス端末300の機能構成図である。
実施の形態3におけるアクセス端末300の機能構成について、図23に基づいて説明する。
アクセス端末300は、実施の形態1(図3参照)で説明した乱数要素除去依頼部330の代わりに、乱数要素除去部360を備える。
乱数要素除去部360は、マスク値222を用いてr−KEM鍵マスク値321から乱数要素を除去することによって、KEM鍵マスク値411を生成する。
図24は、実施の形態3における属性ベース暗号システム100の処理概要を示すフローチャートである。
実施の形態3における属性ベース暗号システム100の処理概要について、図24に基づいて説明する。
属性ベース暗号システム100は、実施の形態1(図5参照)で説明したS200およびS400の代わりに、S200CおよびS400Cを実行する。
S100において、鍵生成サーバ200は公開パラメータ212を生成する(実施の形態1と同様)。
S200Cにおいて、鍵生成サーバ200は、r−利用者秘密鍵221とマスク値222とを生成する。但し、鍵生成サーバ200は、r−利用者秘密鍵221とマスク値222とをICカード400に書き込まなくてよい。
S300において、アクセス端末300は公開パラメータ212を用いて対象データ301を暗号化する(実施の形態1と同様)。
S400Cにおいて、アクセス端末300はr−利用者秘密鍵221とマスク値222とを用いて暗号化データ311を復号する。
以下に、属性ベース暗号システム100の各処理の詳細について説明する。
初期設定処理(S100)は実施の形態1(図6参照)と同様である。
図25は、実施の形態3におけるr−利用者秘密鍵生成処理(S200C)を示すフローチャートである。
実施の形態3におけるr−利用者秘密鍵生成処理(S200C)について、図25に基づいて説明する。
r−利用者秘密鍵生成処理(S200C)は、実施の形態1(図8参照)で説明したS230の代わりに、S230Cを備える。
S230Cにおいて、r−利用者秘密鍵生成部220は、r−利用者秘密鍵221とマスク値222とをICカード400に書き込む代わりに、r−利用者秘密鍵221とマスク値222とをサーバ記憶部290に保管する。
データ暗号化処理(S300)は実施の形態1(図10参照)と同様である。
図26は、実施の形態3におけるデータ復号処理(S400C)を示すフローチャートである。
実施の形態3におけるデータ復号処理(S400C)について、図26に基づいて説明する。
データ復号処理(S400C)は、実施の形態1(図12参照)で説明したS420からS460の代わりに、S420CからS450Cを備える。
S410において、端末通信部380はファイルサーバ190から暗号化データ311を取得する(実施の形態1と同様)。
S420Cにおいて、KEM鍵部分復号部320は、端末通信部380を介して鍵生成サーバ200にr−利用者秘密鍵221を要求し、r−利用者秘密鍵221を取得する。
S430Cにおいて、KEM鍵部分復号部320は、r−利用者秘密鍵221を用いて暗号化データ311に含まれる暗号化KEM鍵313を復号処理することによって、r−KEM鍵マスク値321を生成する。r−KEM鍵マスク値321を生成する方法は実施の形態1のS430と同様である。
KEM鍵部分復号部320は、r−KEM鍵マスク値321を生成した後、r−利用者秘密鍵221をアクセス端末300から消去する。
S440Cにおいて、乱数要素除去部360は、端末通信部380を介して鍵生成サーバ200にマスク値222を要求し、マスク値222を取得する。
S450Cにおいて、乱数要素除去部360は、マスク値222を用いてr−KEM鍵マスク値321から乱数要素を除去することによって、KEM鍵マスク値411を生成する。KEM鍵マスク値411を生成する方法は、実施の形態1で説明したICカード400の乱数要素除去部410と同様である。
乱数要素除去部360は、KEM鍵マスク値411を生成した後、マスク値222をアクセス端末300から消去する。
S470において、マスク除去部340は、KEM鍵マスク値411と暗号化KEM鍵313とを用いてKEM鍵341を生成する(実施の形態1と同様)。
S480において、データ復号部350は、KEM鍵341を共通鍵として用いて共通鍵暗号方式で暗号化データ本体312を対象データ301に復号する(実施の形態1と同様)。
以上の処理により、暗号化データ本体312を対象データ301に復号することができる。
実施の形態3において、ICカード400を用いない属性ベース暗号システム100の形態について説明した。但し、ICカード400を用いても構わない。
例えば、鍵生成サーバ200がr−利用者秘密鍵221をICカード400に書き込み、アクセス端末300がICカード400からr−利用者秘密鍵221を取得しても構わない。
また、鍵生成サーバ200がマスク値222をICカード400に書き込み、アクセス端末300がICカード400からマスク値222を取得しても構わない。
実施の形態3により、例えば、以下のような効果を奏することができる。
属性ベース暗号システム100は、ランダム化利用者秘密鍵を用いた部分復号演算を最初にアクセス端末側で実施し、その後にマスク値を使ったランダム化の除去演算をアクセス端末側で実施する。このため、利用者秘密鍵の全てが同時にアクセス端末上に現れることはない。
これにより、アクセス端末の主記憶のスナップショットを取るようなマルウェアが存在したとしても、利用者秘密鍵の一部は取得されても、利用者秘密鍵の全体を取得されることはなく、利用者秘密鍵の漏洩のリスクを低減することが出来る。
実施の形態3は、以下のように応用しても構わない。
鍵生成サーバは、ICカードまたはSDカードなどのメモリカードに書き込んであるランダム化利用者秘密鍵およびマスク値を読み込むようにしても良い。また、ランダム化利用者秘密鍵およびマスク値はネットワーク経由でアクセス端末に配布し、アクセス端末のハードディスクに暗号化して保管し、利用するたびに復号して読みこむようにしても良い。
ランダム化利用者秘密鍵とマスク値とを別々に配布するようにしても良い。例えば、マスク値を格納したICカードを配布しつつ、ランダム化利用者秘密鍵をネットワーク経由でアクセス端末に配布しても良い。
S342で生成したg_T^ζをKEM鍵の種mとして用いてKEM鍵を生成するようにしても良い(実施の形態1の応用(4)と同様)。
複数の部または課に所属する利用者に対して複数の利用者秘密鍵を割り当てるようにしても良い(実施の形態1の応用(5)と同様)。
利用者属性情報は、鍵生成サーバとは別個の装置で管理するようにしても良い(実施の形態1の応用(6)と同様)。
公開パラメータはICカードに格納するようにしても良い。また、アクセス端末は、公開パラメータを利用する度に、ネットワーク経由で鍵生成サーバから公開パラメータを取得するようにしても良い(実施の形態1の応用(7)と同様)。
データを属性ベース暗号方式で直接に暗号化することが可能であれば、データは共通鍵暗号方式で暗号化しなくても良い(実施の形態1の応用(8)と同様)。
実施の形態3は非特許文献1に記載の岡本−高島暗号方式以外の暗号方式に適用してもよい。
各実施の形態は、矛盾が生じない範囲で一部または全体を組み合わせた形態にしても構わない。
100 属性ベース暗号システム、101 社内LAN、190 ファイルサーバ、200 鍵生成サーバ、201 鍵長、202 属性数、210 マスター秘密鍵生成部、211 マスター秘密鍵、212 公開パラメータ、220 r−利用者秘密鍵生成部、220B 利用者秘密鍵生成部、221 r−利用者秘密鍵、222 マスク値、223 利用者秘密鍵、230 r−利用者秘密鍵書込み部、230B 利用者秘密鍵書込み部、280 サーバ通信部、290 サーバ記憶部、291 利用者属性テーブル、292 利用者属性情報、300 アクセス端末、301 対象データ、302 属性条件式、310 データ暗号化部、311 暗号化データ、312 暗号化データ本体、313 暗号化KEM鍵、320 KEM鍵部分復号部、321 r−KEM鍵マスク値、330 乱数要素除去依頼部、340 マスク除去部、341 KEM鍵、350 データ復号部、360 乱数要素除去部、380 端末通信部、390 端末記憶部、400 ICカード、410 乱数要素除去部、411 KEM鍵マスク値、420 r−利用者秘密鍵生成部、480 カード通信部、490 カード記憶部、901 CPU、902 バス、903 ROM、904 RAM、905 通信ボード、911 ディスプレイ、912 キーボード、913 マウス、914 ドライブ、915 カードR/W、920 磁気ディスク装置、921 OS、922 プログラム群、923 ファイル群。

Claims (14)

  1. 属性を表す属性値を用いて属性ベース暗号方式で生成される利用者秘密鍵に乱数要素を含めたランダム化秘密鍵を用いて、前記属性値を含んだ属性条件式を用いて暗号化された共通鍵である暗号化共通鍵を復号処理することにより、前記乱数要素を含んだランダム化マスク共通鍵を生成する共通鍵部分復号部と、
    前記共通鍵部分復号部によって生成された前記ランダム化マスク共通鍵から前記乱数要素を除去したマスク共通鍵を取得するマスク共通鍵取得部と、
    前記マスク共通鍵取得部によって取得された前記マスク共通鍵を用いて共通鍵を生成するマスク除去部と、
    前記マスク除去部によって生成された前記共通鍵を用いて、前記共通鍵を用いて暗号化されている対象データを復号するデータ復号部と
    を備えることを特徴とするデータ復号装置。
  2. 前記マスク共通鍵取得部は、前記マスク共通鍵を生成する乱数要素除去装置に前記ランダム化マスク共通鍵を送信し、前記乱数要素除去装置から前記マスク共通鍵を受信する
    ことを特徴とする請求項1記載のデータ復号装置。
  3. 前記乱数要素除去装置は、前記利用者秘密鍵に前記乱数要素を含めるために用いられた乱数を用いて生成されるマスク値を用いて、前記ランダム化マスク共通鍵から前記乱数要素を除去することにより、前記マスク共通鍵を生成する
    ことを特徴とする請求項2記載のデータ復号装置。
  4. 前記乱数要素除去装置は、乱数を生成し、生成した前記乱数を用いて前記利用者秘密鍵に前記乱数要素を含めることによって前記ランダム化秘密鍵を生成する
    ことを特徴とする請求項2記載のデータ復号装置。
  5. 前記マスク除去部は、前記マスク共通鍵を用いて入力値を生成し、生成した前記入力値を用いて鍵導出関数を演算することによって前記共通鍵を生成する
    ことを特徴とする請求項1記載のデータ復号装置。
  6. 前記マスク共通鍵取得部は、前記利用者秘密鍵に前記乱数要素を含めるために用いられた乱数を用いて生成されるマスク値を用いて、前記ランダム化マスク共通鍵から前記乱数要素を除去することにより、前記マスク共通鍵を生成する
    ことを特徴とする請求項1記載のデータ復号装置。
  7. 請求項1記載のデータ復号装置と、ランダム化秘密鍵生成装置と、乱数要素除去装置とを備える属性ベース暗号システムであって、
    前記ランダム化秘密鍵生成装置は、
    前記利用者秘密鍵と乱数とを用いて前記ランダム化秘密鍵を生成し、前記ランダム化マスク共通鍵から前記乱数要素を除去するためのマスク値を前記乱数を用いて生成するランダム化秘密鍵生成部を備え、
    前記乱数要素除去装置は、
    前記ランダム化マスク共通鍵を受信する共通鍵受信部と、
    前記共通鍵受信部によって受信された前記ランダム化マスク共通鍵と、前記ランダム化秘密鍵生成部によって生成された前記マスク値とを用いて、前記マスク共通鍵を生成する乱数要素除去部と、
    前記乱数要素除去部によって生成された前記マスク共通鍵を送信する共通鍵送信部とを備える
    ことを特徴とする属性ベース暗号システム。
  8. 請求項1記載のデータ復号装置と、乱数要素除去装置とを備える属性ベース暗号システムであって、
    前記乱数要素除去装置は、
    前記利用者秘密鍵と乱数とを用いて前記ランダム化秘密鍵を生成するランダム化秘密鍵生成部と、
    前記ランダム化マスク共通鍵を受信する共通鍵受信部と、
    前記共通鍵受信部によって受信された前記ランダム化マスク共通鍵と、前記乱数を用いて生成されるマスク値とを用いて、前記マスク共通鍵を生成する乱数要素除去部と、
    前記乱数要素除去部によって生成された前記マスク共通鍵を送信する共通鍵送信部とを備える
    ことを特徴とする属性ベース暗号システム。
  9. 請求項1記載のデータ復号装置と、ランダム化秘密鍵生成装置とを備える属性ベース暗号システムであって、
    前記ランダム化秘密鍵生成装置は、
    前記利用者秘密鍵と乱数とを用いて前記ランダム化秘密鍵を生成し、前記ランダム化マスク共通鍵から前記乱数要素を除去するためのマスク値を前記乱数を用いて生成するランダム化秘密鍵生成部を備え、
    前記マスク共通鍵取得部は、前記ランダム化秘密鍵生成部によって生成された前記マスク値を用いて、前記ランダム化マスク共通鍵から前記乱数要素を除去することにより、前記マスク共通鍵を生成する
    ことを特徴とする属性ベース暗号システム。
  10. 乱数要素を含んだ共通鍵であるランダム化マスク共通鍵を受信する共通鍵受信部と、
    乱数を用いて生成されたマスク値を用いて、前記ランダム化マスク共通鍵から前記乱数要素を除去したマスク共通鍵を生成する乱数要素除去部と、
    前記乱数要素除去部によって生成された前記マスク共通鍵を送信する共通鍵送信部とを備え、
    前記乱数要素除去部は、前記ランダム化マスク共通鍵が所定の位数を持つ値であるか否かを判定し、前記ランダム化マスク共通鍵が前記位数を持つ値である場合に前記マスク共通鍵を生成する
    ことを特徴とする乱数要素除去装置。
  11. 乱数要素を含んだ共通鍵であるランダム化マスク共通鍵を受信する共通鍵受信部と、
    乱数を用いて生成されたマスク値を用いて、前記ランダム化マスク共通鍵から前記乱数要素を除去したマスク共通鍵を生成する乱数要素除去部と、
    前記乱数要素除去部によって生成された前記マスク共通鍵を送信する共通鍵送信部とを備え、
    前記乱数要素除去は、前記マスク値と、位数qと整数2と素数hとに因数分解される有限体の乗法群とを属性ベース暗号方式のペアリング写像を行うためのパラメータとして用いて、前記ランダム化マスク共通鍵から前記乱数要素を除去することにより、前記マスク共通鍵を生成する
    ことを特徴とする乱数要素除去装置。
  12. 乱数要素を含んだ共通鍵であるランダム化マスク共通鍵を受信する共通鍵受信部と、
    乱数を用いて生成されたマスク値を用いて、前記ランダム化マスク共通鍵から前記乱数要素を除去したマスク共通鍵を生成する乱数要素除去部と、
    前記乱数要素除去部によって生成された前記マスク共通鍵を送信する共通鍵送信部とを備え、
    前記乱数要素除去は、前記マスク値と、位数qと整数2と合成数hとに因数分解される有限体の乗法群とを属性ベース暗号方式のペアリング写像を行うためのパラメータとして用いて、前記ランダム化マスク共通鍵から前記乱数要素を除去することにより、前記マスク共通鍵を生成し、
    前記合成数hを素因数分解して得られる複数の素因数のうち素因数閾値より小さい素因数の積が前記位数qより小さい
    ことを特徴とする乱数要素除去装置。
  13. 共通鍵部分復号部が、属性を表す属性値を用いて属性ベース暗号方式で生成される利用者秘密鍵に乱数要素を含めたランダム化秘密鍵を用いて、前記属性値を含んだ属性条件式を用いて暗号化された共通鍵である暗号化共通鍵を復号処理することにより、前記乱数要素を含んだランダム化マスク共通鍵を生成し、
    マスク共通鍵取得部が、前記共通鍵部分復号部によって生成された前記ランダム化マスク共通鍵から前記乱数要素を除去したマスク共通鍵を取得し、
    マスク除去部が、前記マスク共通鍵取得部によって取得された前記マスク共通鍵を用いて共通鍵を生成し、
    データ復号部が、前記マスク除去部によって生成された前記共通鍵を用いて、前記共通鍵を用いて暗号化されている対象データを復号する
    ことを特徴とするデータ復号方法。
  14. 属性を表す属性値を用いて属性ベース暗号方式で生成される利用者秘密鍵に乱数要素を含めたランダム化秘密鍵を用いて、前記属性値を含んだ属性条件式を用いて暗号化された共通鍵である暗号化共通鍵を復号処理することにより、前記乱数要素を含んだランダム化マスク共通鍵を生成する共通鍵部分復号と、
    前記共通鍵部分復号によって生成された前記ランダム化マスク共通鍵から前記乱数要素を除去したマスク共通鍵を取得するマスク共通鍵取得と、
    前記マスク共通鍵取得によって取得された前記マスク共通鍵を用いて共通鍵を生成するマスク除去と、
    前記マスク除去によって生成された前記共通鍵を用いて、前記共通鍵を用いて暗号化されている対象データを復号するデータ復号
    としてコンピュータを機能させるためのデータ復号プログラム。
JP2014557328A 2013-01-18 2013-11-01 データ復号装置、属性ベース暗号システム、乱数要素除去装置、データ復号方法およびデータ復号プログラム Active JP5959667B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013007169 2013-01-18
JP2013007169 2013-01-18
PCT/JP2013/079736 WO2014112182A1 (ja) 2013-01-18 2013-11-01 データ復号装置、属性ベース暗号システム、乱数要素除去装置、ランダム化秘密鍵生成装置、データ復号方法およびデータ復号プログラム

Publications (2)

Publication Number Publication Date
JP5959667B2 true JP5959667B2 (ja) 2016-08-02
JPWO2014112182A1 JPWO2014112182A1 (ja) 2017-01-19

Family

ID=51209294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014557328A Active JP5959667B2 (ja) 2013-01-18 2013-11-01 データ復号装置、属性ベース暗号システム、乱数要素除去装置、データ復号方法およびデータ復号プログラム

Country Status (5)

Country Link
US (1) US20150278553A1 (ja)
EP (1) EP2947640B1 (ja)
JP (1) JP5959667B2 (ja)
CN (1) CN104919511B (ja)
WO (1) WO2014112182A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10592682B2 (en) * 2015-02-20 2020-03-17 Mitsubishi Electric Corporation Data storage apparatus, data processing method, and computer readable medium adding a user attribute of a revoked user to an embedded decryption condition while encrypted data remains in an encrypted state
WO2017145250A1 (ja) * 2016-02-22 2017-08-31 三菱電機株式会社 情報処理装置及び情報処理方法及び情報処理プログラム
US10432457B2 (en) * 2016-05-20 2019-10-01 Arista Networks, Inc. Method and system for performing a read-modify-write operation on a network element
EP3252550B1 (de) * 2016-06-01 2020-02-19 Siemens Aktiengesellschaft Modulare sicherheits-steuerungseinrichtung mit kryptografischer funktionalität
US10389719B2 (en) 2016-10-28 2019-08-20 Entit Software Llc Parameter based data access on a security information sharing platform
CN110169010B (zh) 2017-01-18 2022-09-23 三菱电机株式会社 同态运算装置、加密系统和计算机能读取的存储介质
US10438006B2 (en) * 2017-07-27 2019-10-08 Citrix Systems, Inc. Secure information storage
WO2019053778A1 (ja) 2017-09-12 2019-03-21 三菱電機株式会社 登録端末、検索端末、検索サーバ、検索システム、登録プログラム及び検索プログラム
CN108733802B (zh) * 2018-05-17 2023-03-24 腾讯科技(深圳)有限公司 识别码生成及解析方法、装置、存储介质和电子设备
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
CN111431698B (zh) * 2020-04-23 2023-08-15 兰州交通大学 运用Haar变换和高斯分布的矢量空间数据加密方法
WO2023081407A2 (en) * 2021-11-07 2023-05-11 Ntt Research, Inc. Cryptographic data message expansion for increasing adversarial storage requirements
CN114338113B (zh) * 2021-12-09 2023-08-01 安天科技集团股份有限公司 一种数据加密、解密方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010186232A (ja) * 2009-02-10 2010-08-26 Kddi Corp 管理者追加処理システム、管理者追加処理方法およびプログラム
WO2010123112A1 (ja) * 2009-04-24 2010-10-28 日本電信電話株式会社 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
WO2011086687A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 秘匿検索システム及び暗号処理システム
WO2012011564A1 (ja) * 2010-07-23 2012-01-26 日本電信電話株式会社 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体
US20120300936A1 (en) * 2011-05-24 2012-11-29 Zeutro, Llc Outsourcing the Decryption of Functional Encryption Ciphertexts

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US7822207B2 (en) * 2006-12-22 2010-10-26 Atmel Rousset S.A.S. Key protection mechanism
JP4924943B2 (ja) * 2007-09-04 2012-04-25 Kddi株式会社 認証付鍵交換システム、認証付鍵交換方法およびプログラム
FR2963515B1 (fr) * 2010-07-30 2012-07-27 Thales Sa Procede et dispositif de randomisation d'une cle secrete contre les attaques par canaux auxiliaires
JP2012150399A (ja) * 2011-01-21 2012-08-09 Nippon Telegr & Teleph Corp <Ntt> プロキシ再暗号化システム、委譲情報生成装置、被委譲情報生成装置、変換鍵生成装置、暗号文変換装置、プロキシ再暗号化方法、及びそれらのプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010186232A (ja) * 2009-02-10 2010-08-26 Kddi Corp 管理者追加処理システム、管理者追加処理方法およびプログラム
WO2010123112A1 (ja) * 2009-04-24 2010-10-28 日本電信電話株式会社 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
WO2011086687A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 秘匿検索システム及び暗号処理システム
WO2012011564A1 (ja) * 2010-07-23 2012-01-26 日本電信電話株式会社 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体
US20120300936A1 (en) * 2011-05-24 2012-11-29 Zeutro, Llc Outsourcing the Decryption of Functional Encryption Ciphertexts

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6015044611; 川口 勝久、尾形 わかは: '"属性ベース暗号とその応用"' 2009年 暗号と情報セキュリティシンポジウム SCIS2009 [CD-ROM] 3C1-1, 20090123, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6015044613; 石黒 司、清本 晋作、三宅 優: '"モバイルクラウド環境における属性ベース暗号の改良"' CSS2011コンピュータセキュリティシンポジウム2011論文集 [CD-ROM] Vol.2011 No.3, 20111012, p.421-426, 一般社団法人情報処理学会 コンピュータセキュリティ *
JPN6015044615; M. Choudary Gorantla, Colin Boyd, Juan Manuel Gonzalez Nieto: '"Attribute-based Authenticated Key Exchange"' Cryptology ePrint Archive: Report 2010/084 Version: 20100424:175046, 20100424, p.1-25, [online] *

Also Published As

Publication number Publication date
CN104919511B (zh) 2017-05-17
WO2014112182A1 (ja) 2014-07-24
EP2947640A1 (en) 2015-11-25
US20150278553A1 (en) 2015-10-01
EP2947640B1 (en) 2017-08-02
JPWO2014112182A1 (ja) 2017-01-19
EP2947640A4 (en) 2016-09-14
CN104919511A (zh) 2015-09-16

Similar Documents

Publication Publication Date Title
JP5959667B2 (ja) データ復号装置、属性ベース暗号システム、乱数要素除去装置、データ復号方法およびデータ復号プログラム
US8462955B2 (en) Key protectors based on online keys
JP5417092B2 (ja) 暗号化属性を用いて高速化された暗号法
JP5875441B2 (ja) データを暗号化する装置及び方法
TW200903297A (en) Updating cryptographic key data
JPWO2018110608A1 (ja) 照合システム、方法、装置及びプログラム
JP2006345261A (ja) データ処理装置
KR20080025121A (ko) 비대칭 개인키로부터 비밀키 생성
JP6049914B2 (ja) 暗号システム、鍵生成装置及び再暗号化装置
JP6738062B2 (ja) 暗号文照合システム、方法、および記録媒体
JP2004147218A (ja) データ分割管理方法及びプログラム
JPWO2018016330A1 (ja) 通信端末、サーバ装置、プログラム
JP6738061B2 (ja) 暗号文照合システム、方法、および記録媒体
JP7323004B2 (ja) データ抽出システム、データ抽出方法、登録装置及びプログラム
US20240048377A1 (en) Ciphertext conversion system, conversion key generation method, and non-transitory computer readable medium
CN105409159B (zh) 密钥保管装置、密钥保管方法、以及其记录介质
JP5512559B2 (ja) 暗号化装置、復号装置、暗号化システム、暗号化方法、プログラム
JP5337076B2 (ja) 秘密計算システム、秘密計算方法、不正使用防止方法
JP7043203B2 (ja) 暗号化装置、復号装置、暗号化システム、暗号化方法及び暗号化プログラム
JP2013235535A (ja) データ管理システムおよびデータ管理用プログラム
JP2000267565A (ja) 暗号化復号化装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JPWO2017203698A1 (ja) 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム
JP5496957B2 (ja) 暗号化システム、復号方法、復号履歴蓄積サーバ、受信装置、送信装置、プログラム
JP5689839B2 (ja) 公開鍵暗号システム、公開鍵暗号方法、受信装置、およびプログラム
JP5268413B2 (ja) 開示制限処理装置及びデータ処理システム及びプログラム

Legal Events

Date Code Title Description
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: 20160524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160621

R150 Certificate of patent or registration of utility model

Ref document number: 5959667

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250