JP6049914B2 - 暗号システム、鍵生成装置及び再暗号化装置 - Google Patents

暗号システム、鍵生成装置及び再暗号化装置 Download PDF

Info

Publication number
JP6049914B2
JP6049914B2 JP2015557626A JP2015557626A JP6049914B2 JP 6049914 B2 JP6049914 B2 JP 6049914B2 JP 2015557626 A JP2015557626 A JP 2015557626A JP 2015557626 A JP2015557626 A JP 2015557626A JP 6049914 B2 JP6049914 B2 JP 6049914B2
Authority
JP
Japan
Prior art keywords
key
encryption
user
ciphertext
information
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.)
Expired - Fee Related
Application number
JP2015557626A
Other languages
English (en)
Other versions
JPWO2015107641A1 (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 JP6049914B2 publication Critical patent/JP6049914B2/ja
Publication of JPWO2015107641A1 publication Critical patent/JPWO2015107641A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • 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/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Description

この発明は、鍵の失効を実現する暗号システムに関する。
クラウドサービスの普及により、個人や企業のデータを外部のクラウドサーバに保管する機会が増えている。個人情報や企業機密が漏洩することを避けるため、暗号化したデータをクラウドサーバに保管することが多い。
データを暗号化する際に復号条件を指定でき、復号条件を満たすユーザのみが暗号文を復号できる関数型暗号がある。関数型暗号を用いると、データ作成者がアクセス権をコントロールすることができる。そのため、機密度や公開範囲の異なる様々なデータを扱う企業等がクラウドサービスを利用する際に都合がよい。
企業等では、ユーザの異動や退職に伴ってアクセス権が変化するケースや、例えば社員証に格納された秘密鍵を紛失するケース等が考えられる。この際に、ユーザや鍵の失効処理、すなわち「それまで読めていたデータを読めなくする処理」が必要となる。
特にクラウドサーバを共有ファイルサーバのように使う場合、クラウドサーバには過去から現在に至るまでの全てのデータが保管される可能性がある。そのため、漏えいした秘密鍵から過去の全てのデータが漏れる危険性があり、何らかの対策が必須である。
単純な失効処理の方式としては、企業等がクラウドサーバの全ての暗号文を復号し、失効した鍵では読めないようにデータを暗号化し直した後に、クラウドサーバに保管し直すものが考えられる。しかし、失効処理が発生するたびに大量データの送受信及び暗号処理を行う必要があり、効率が悪い。
特許文献1には、クラウドサーバの暗号文を直接ユーザに渡すのではなく、暗号文を暗号化したままで宛先を変更できる「再暗号化鍵」を利用し、個別のユーザ用暗号文に変換(再暗号化)してユーザに渡すことについて記載されている。特許文献1に記載された技術を応用すれば、再暗号化鍵の管理により失効処理を実現できる。
特開2012−169978号広報
川合豊、高島克幸著、「代理人再暗号化機能を持つ関数型暗号」、2013年暗号と情報セキュリティシンポジウム(SCIS2013)、2013年1月22日発行
特許文献1では、RSA暗号やIDベース暗号等、公開鍵と秘密鍵とが1対1の関係にある公開鍵暗号における再暗号化の仕組みを利用している。
そのため、企業等で1ユーザが複数のグループに属している場合、1ユーザに対して複数個の再暗号化鍵を管理する必要がある。例えば、所属が「総務部」で、役職が「課長」で、入社年度が「2000年」であるユーザの場合、「総務部宛ての暗号文をユーザA宛てに再暗号化するための再暗号化鍵」と、「課長宛ての暗号文をユーザA宛てに再暗号化するための再暗号化鍵」と、「2000年入社の人宛ての暗号文をユーザA宛てに再暗号化するための再暗号化鍵」との3個の再暗号化鍵を管理する必要がある。
また、アクセス権をグループのAND条件として設定したい場合、AND条件に相当するグループについても再暗号化鍵を管理する必要がある。例えば、「総務部の課長」だけが読めるように暗号化したい場合、「総務部の課長宛ての暗号文をユーザA宛てに再暗号化するための再暗号化鍵」を管理する必要がある。そのため、AND条件やOR条件を組み合わせた柔軟なアクセス権を設定するには、多くの再暗号化鍵を管理する必要があり、実現することが難しい。
非特許文献1には関数型暗号における再暗号化の仕組みが記載されている。しかし、RSA暗号やIDベース暗号では公開鍵と秘密鍵とが1対1の関係にあるのに対し、関数型暗号の公開鍵と秘密鍵とは多対多の関係にある点が異なっているため、非特許文献1の方式を特許文献1の方式に単純に適用することはできない。
この発明は、関数型暗号等の柔軟なアクセス制御が可能な暗号方式における、ユーザや鍵の失効処理を効率的に実行可能とすることを目的とする。
この発明に係る暗号システムは、
2つの情報が互いに対応している場合に一方の情報が設定された暗号文を他方の情報が設定された復号鍵により復号可能な暗号方式を用いた暗号システムであり、
互いに対応する鍵情報u,yの一方が設定されたユーザ秘密鍵と、互いに対応するユーザ属性情報x,vの一方が設定された属性秘密鍵で復号可能な暗号文を前記鍵情報u,yの他方が設定された再暗号文に変換する再暗号化鍵とを生成する鍵生成装置と、
前記ユーザ属性情報x,vの他方が設定された暗号文を記憶する暗号文記憶装置と、
前記鍵生成装置が生成した前記再暗号化鍵で、前記暗号文記憶装置が記憶する前記暗号文を再暗号化して再暗号文を生成する再暗号化装置と、
前記鍵生成装置が生成した前記ユーザ秘密鍵で、前記再暗号化装置が再暗号化した前記再暗号文を復号するユーザ端末と
を備えることを特徴とする。
この発明に係る暗号システムでは、関数型暗号等の暗号方式の柔軟なアクセス制御を利用しつつ、再暗号化技術を取り入れることで、ユーザや鍵の失効処理を効率的に実行できる。
実施の形態1に係る暗号システム10の構成図。 実施の形態1に係る暗号文記憶装置201の構成図。 暗号文記憶部211が記憶する情報の一例を示す図。 実施の形態1に係る再暗号化装置301の構成図。 公開パラメータ記憶部311が記憶する情報の一例を示す図。 再暗号化鍵記憶部312が記憶する情報の一例を示す図。 実施の形態1に係る鍵生成装置401の構成図。 マスタ鍵情報記憶部411が記憶する情報の一例を示す図。 鍵情報記憶部412が記憶する情報の一例を示す図。 認証情報記憶部413が記憶する情報の一例を示す図。 実施の形態1に係る属性管理装置501の構成図。 属性情報記憶部511が記憶する情報の一例を示す図。 認証情報記憶部512が記憶する情報の一例を示す図。 実施の形態1に係るユーザ端末601の構成図。 公開パラメータ記憶部611が記憶する情報の一例を示す図。 ユーザ秘密鍵記憶部612が記憶する情報の一例を示す図。 システム全体の初期設定の流れを示すフローチャート。 ユーザ登録処理の流れを示すフローチャート。 データ登録処理の流れを示すフローチャート。 データ取得処理の流れを示すフローチャート。 ユーザ秘密鍵更新処理の流れを示すフローチャート。 鍵情報記憶部412が記憶する情報の一例を示す図。 ユーザ秘密鍵記憶部612が記憶する情報の一例を示す図。 再暗号化鍵記憶部312が記憶する情報の一例を示す図。 ユーザ属性更新処理の流れを示すフローチャート。 属性情報記憶部511が記憶する情報の一例を示す図。 鍵情報記憶部412が記憶する情報の一例を示す図。 再暗号化鍵記憶部312が記憶する情報の一例を示す図。 実施の形態1に示した暗号文記憶装置201、再暗号化装置301、鍵生成装置401、属性管理装置501、ユーザ端末601のハードウェア構成の例を示す図。
実施の形態1.
以下の説明では、暗号方式として、関数型暗号における再暗号化方式(非特許文献1参照)を用いる。関数型暗号における再暗号化方式は、関数型暗号で暗号化されたデータを、暗号化したままで宛先を変更できる方式である。
関数型暗号における再暗号化方式は、以下の(1)(2)の特徴を持つ。
(1)暗号化鍵と復号鍵とは、それぞれ情報xと情報vとが設定されている。そして、情報xと情報vとが対応する場合に限り、復号鍵dkは暗号化鍵ekで暗号化された暗号文を復号することができる。
(2)暗号化鍵と復号鍵とに情報xと情報vとがそれぞれ設定されていることに加え、再暗号化鍵は2つの情報(u,v)が設定されている。そして、情報xと情報vとが対応する場合に限り、再暗号化鍵rk(u,v)は、暗号化鍵ekで暗号化された暗号文を、暗号化鍵ekで暗号化された暗号文に変更することができる。
ここで、情報xと情報vとは、例えば、一方がポリシー(復号条件)で、他方がポリシーに対する入力値である。この場合、情報xと情報vとが対応するとは、入力値がポリシーを満たすということである。
関数型暗号における再暗号化方式には、暗号文にポリシーを設定した暗号文ポリシー型の方式と、復号鍵にポリシーを設定した鍵ポリシー型の方式とがある。
例えば、暗号文ポリシー型の方式の場合、暗号文に「総務部、または部長のみが復号可能」のようにユーザの属性に関する復号条件が設定され、復号鍵に「所属=総務部、役職=課長、入社年度=2000年」のようにユーザの属性情報が設定される。一方、鍵ポリシー型の方式の場合、暗号文に「所属=総務部、役職=課長、入社年度=2000年」のようにユーザの属性情報が設定され、復号鍵に「総務部、または部長のみが復号可能」のようにユーザの属性に関する復号条件が設定される。
ここでは、暗号文ポリシー型の方式を用いて説明を行う。しかし、単に暗号化鍵と復号鍵とに設定する情報を入れ替えることで、鍵ポリシー型の方式を用いた方式とすることができる。
なお、暗号文に設定された復号条件を復号鍵に設定された属性情報が満たす場合に、暗号文を復号鍵で復号可能な暗号化方式における再暗号化方式であれば、非特許文献1に記載された以外の再暗号化方式を用いてもよい。
図1は、実施の形態1に係る暗号システム10の構成図である。
暗号システム10は、ネットワーク101を介して、暗号文記憶装置201と、再暗号化装置301と、鍵生成装置401と、属性管理装置501と、複数のユーザ端末601とが接続されている。
図2は、実施の形態1に係る暗号文記憶装置201の構成図である。
暗号文記憶装置201は、暗号文を保持し、ユーザ端末601からの要求に応じて暗号文の送受信を行う。暗号文記憶装置201は、暗号文記憶部211、通信部231を備える。
暗号文記憶部211は、図3に示すように、暗号文を、対応するデータIDと関連付けて記憶する記憶装置である。暗号文の例としては、文書や画像等のファイルを暗号化したもの、氏名等の文字列を暗号化したもの、年齢等の数値を暗号化したもの等が挙げられる。暗号文記憶部211は、1つのデータIDに対して複数個・複数種類の暗号文を記憶してもよい。また、暗号文記憶部211は、暗号文を、検索用のキーワード等と関連付けて記憶してもよい。
通信部231は、ユーザ端末601等と通信を行う。
図4は、実施の形態1に係る再暗号化装置301の構成図である。
再暗号化装置301は、復号条件が設定された暗号文を受信し、受信した暗号文を特定のユーザ向けに再暗号化してユーザ端末601に送信する。再暗号化装置301は、公開パラメータ記憶部311、再暗号化鍵記憶部312、再暗号化部321、通信部331を備える。
公開パラメータ記憶部311は、図5に示すように、データの再暗号化に必要な、関数型暗号の公開パラメータを記憶する記憶装置である。
再暗号化鍵記憶部312は、図6に示すように、復号条件が設定された暗号文を、特定のユーザ向けに再暗号化するための再暗号化鍵を、対応するユーザIDと関連付けて記憶する記憶装置である。
再暗号化部321は、復号条件が設定された暗号文を、再暗号化鍵記憶部312が記憶した再暗号化鍵で再暗号化し、特定のユーザ向けの暗号文を出力する。再暗号化処理は、既存の暗号技術(ここでは、非特許文献1に記載された暗号技術)を用いて実現される。
通信部331は、属性管理装置501やユーザ端末601等と通信を行う。
図7は、実施の形態1に係る鍵生成装置401の構成図である。
鍵生成装置401は、データの暗号化・復号に必要な、関数型暗号の鍵(公開パラメータ及び秘密鍵)と、データの再暗号化に必要な、関数型暗号の再暗号化鍵とを生成する。鍵生成装置401は、マスタ鍵情報記憶部411、鍵情報記憶部412、認証情報記憶部413、鍵生成部421、認証部422、通信部431を備える。
マスタ鍵情報記憶部411は、図8に示すように、関数型暗号におけるマスタ秘密鍵と公開パラメータとを記憶する記憶装置である。
鍵情報記憶部412は、図9に示すように、各ユーザの属性に対応する秘密鍵(以降、属性秘密鍵と記す)と、各ユーザ向けの暗号文を復号するための秘密鍵(以降、ユーザ秘密鍵と記す)のID(ユーザ秘密鍵ID)とを、対応するユーザIDと関連付けて記憶する記憶装置である。
認証情報記憶部413は、図10に示すように、属性管理装置501との認証処理に必要な情報(ここでは、属性管理装置501のID(属性管理装置ID)とパスワード)を記憶する記憶装置である。
鍵生成部421は、関数型暗号の鍵と、再暗号化鍵とを生成する。鍵の生成処理は、既存の暗号技術(ここでは、非特許文献1に記載された暗号技術)を用いて実現される。
認証部422は、属性管理装置501との間で認証処理を実行する。認証処理は、既存の認証技術を用いて実現される。
通信部431は、属性管理装置501等と通信を行う。
図11は、実施の形態1に係る属性管理装置501の構成図である。
属性管理装置501は、各ユーザの属性を管理し、管理する属性に基づいてユーザ秘密鍵と再暗号化鍵との生成を鍵生成装置401に依頼する。属性管理装置501は、属性情報記憶部511、認証情報記憶部512、認証部521、登録部522、通信部531を備える。
属性情報記憶部511は、図12に示すように、各ユーザの属性を、対応するユーザIDと関連付けて記憶する記憶装置である。
認証情報記憶部512は、図13に示すように、鍵生成装置401との認証処理に必要な情報(ここでは、属性管理装置501のID(属性管理装置ID)とパスワード)を記憶する記憶装置である。
認証部521は、鍵生成装置401との間で認証処理を実行する。認証処理は、既存の認証技術を用いて実現される。
登録部522は、ユーザの属性情報の登録を行う。登録処理は、例えば、管理者が入力画面等を操作することにより行われる。
通信部531は、再暗号化装置301や鍵生成装置401やユーザ端末601と通信を行う。
図14は、実施の形態1に係るユーザ端末601の構成図である。
ユーザ端末601は、暗号文を暗号文記憶装置201に記憶し、必要に応じて暗号文記憶装置201からの暗号文を取得して復号する。ユーザ端末601は、公開パラメータ記憶部611、ユーザ秘密鍵記憶部612、暗号化部621、復号部622、通信部631を備える。
公開パラメータ記憶部611は、図15に示すように、データの暗号化や復号に必要な、関数型暗号の公開パラメータを記憶する記憶装置である。
ユーザ秘密鍵記憶部612は、図16に示すように、データの復号に必要なユーザ秘密鍵を、ユーザIDと関連付けて記憶する記憶装置である。
暗号化部621は、復号条件を設定してデータを暗号化する。暗号化処理は、既存の暗号技術(ここでは、非特許文献1に記載された暗号技術)を用いて実現される。
復号部622は、再暗号化装置301から受信した再暗号文をユーザ秘密鍵で復号する。復号処理は、既存の暗号技術(ここでは、非特許文献1に記載された暗号技術)を用いて実現される。
通信部631は、暗号文記憶装置201や再暗号化装置301や属性管理装置501等と通信を行う。
暗号システム10の動作について説明する。暗号システム10の動作は、(1)システム全体の初期設定、(2)ユーザ登録処理、(3)データ登録処理、(4)データ取得処理、(5)ユーザ秘密鍵更新処理、(6)ユーザ属性更新処理、に大別される。
なお、以下の説明では、非特許文献1に記載された暗号技術を単に関数型暗号と記す。
(1)システム全体の初期設定
システム全体の初期設定は、暗号システム10の運用で必要になる初期情報を準備する処理である。システム全体の初期設定は、暗号システム10の運用開始前に実行される。
図17は、システム全体の初期設定の流れを示すフローチャートである。
(S101)
鍵生成装置401の鍵生成部421は、関数型暗号の初期設定を行い、マスタ秘密鍵と公開パラメータとを生成し、マスタ鍵情報記憶部411に格納する。
これにより、マスタ鍵情報記憶部411は、図8に示す情報を記憶した状態になる。
(S102)
鍵生成装置401と属性管理装置501とは、認証に必要な情報を共有し、それぞれ認証情報記憶部413と認証情報記憶部512とに格納する。ここでは、属性管理装置IDとパスワードの組を共有する。
これにより、認証情報記憶部413は、図10に示す情報を記憶した状態になり、認証情報記憶部512は、図13に示す情報を記憶した状態になる。
(S103)
属性管理装置501の通信部531は、鍵生成装置401から公開パラメータを取得し、再暗号化装置301に送信する。再暗号化装置301の通信部331は、公開パラメータを受信し、公開パラメータ記憶部311に格納する。
これにより、公開パラメータ記憶部311は、図5に示す情報を記憶した状態になる。
(2)ユーザ登録処理
ユーザ登録処理は、暗号システム10を利用するユーザを登録する処理である。ユーザ登録処理は、(1)システム全体の初期設定の直後、及び、暗号システム10を利用するユーザが増える度に実行される。ここでは、1ユーザを登録する処理について説明する。したがって、複数ユーザを登録する場合には、登録する人数分、以下に説明する処理を繰り返す必要がある。なお、以下の説明において、一部の例では、複数のユーザが登録された後の状態を示している。
図18は、ユーザ登録処理の流れを示すフローチャートである。
(S201)
属性管理装置501の登録部522は、登録するユーザに対し、一意となるユーザIDを割り当てる。登録部522は、関数型暗号の秘密鍵生成に必要なユーザ属性を設定する。そして、登録部522は、ユーザIDとユーザ属性とを関連付けて属性情報記憶部511に格納する。
これにより、属性情報記憶部511は、図12に示す情報を記憶した状態となる。図12では、複数のユーザが登録された後の状態を示している。図12では、例えば、総務部の課長である佐藤花子氏に対し、ユーザIDとしてuidが割り当てられ、ユーザ属性として「所属=総務部、役職=課長、氏名=佐藤花子」が設定されている。
(S202)
属性管理装置501の認証部521と、鍵生成装置401の認証部422とが、認証情報記憶部512と認証情報記憶部413とに格納されている認証情報を用いて認証処理を行う。ここでは、属性管理装置IDとパスワードによる認証処理が行われる。
(S203)
認証処理が成功すると、属性管理装置501の通信部531は、登録するユーザのユーザIDとユーザ属性とを鍵生成装置401に送信し、鍵の発行を依頼する。
先の例では、ユーザIDとしてuidが、ユーザ属性として「所属=総務部、役職=課長、氏名=佐藤花子」が送信される。
(S204)
鍵生成装置401の鍵生成部421は、マスタ鍵情報記憶部411に格納されているマスタ秘密鍵及び公開パラメータと、受信したユーザ属性とを入力として、関数型暗号の秘密鍵生成処理を行う。これにより、ユーザ属性(ユーザ属性情報の一方)が設定された属性秘密鍵が生成される。
先の例では、ユーザIDがuidである佐藤花子氏に関して、ユーザ属性「所属=総務部、役職=課長、氏名=佐藤花子」を入力として、属性秘密鍵skが生成される。
(S205)
鍵生成装置401の鍵生成部421は、鍵情報記憶部412の中で一意となるユーザ秘密鍵ID(鍵情報の一方)を生成する。ここでは、ukidが生成されたとする。鍵生成部421は、マスタ秘密鍵及び公開パラメータと、属性「ユーザ秘密鍵ID=ukid」とを入力として、関数型暗号の秘密鍵生成処理を行う。これにより、ユーザ秘密鍵IDが設定されたユーザ秘密鍵が生成される。
先の例では、ユーザIDがuidである佐藤花子氏に関して、ユーザ秘密鍵IDとしてukidを生成した上で、属性「ユーザ秘密鍵ID=ukid」を入力として、ユーザ秘密鍵ukが生成される。
(S206)
鍵生成装置401の鍵生成部421は、公開パラメータと、属性秘密鍵と、復号条件「ユーザ秘密鍵ID=ukid」(鍵情報の他方)とを入力として、関数型暗号の再暗号化鍵生成処理を行う。これにより、再暗号化鍵が生成される。
先の例では、ユーザIDがuidである佐藤花子氏に関して、属性秘密鍵skと、復号条件「ユーザ秘密鍵ID=ukid」とを入力として、再暗号化鍵rkが生成される。
なお、ここで生成される再暗号化鍵は、入力された属性秘密鍵で復号可能な暗号文を、入力されたユーザ秘密鍵IDが設定されたユーザ秘密鍵で復号できる暗号文に再暗号化する鍵である。
(S207)
鍵生成装置401の鍵生成部421は、ユーザIDと、属性秘密鍵と、ユーザ秘密鍵IDとを関連付けて、ステータスを「有効」に設定して鍵情報記憶部412に格納する。
これにより、鍵情報記憶部412は、図9に示す情報を記憶した状態となる。図9では、複数のユーザが登録された後の状態を示している。
(S208)
鍵生成装置401の通信部431は、公開パラメータと、ユーザ秘密鍵と、再暗号化鍵とを属性管理装置501に送信する。
先の例では、ユーザ秘密鍵としてukが、再暗号化鍵としてrkが送信される。
(S209)
属性管理装置501の通信部531は、公開パラメータと、ユーザIDと、ユーザ秘密鍵とを、ユーザIDに対応するユーザ端末601に送信する。これらを受信したユーザ端末601の通信部631は、公開パラメータを公開パラメータ記憶部611に、ユーザIDとユーザ秘密鍵とをユーザ秘密鍵記憶部612に格納する。
先の例では、ユーザIDがuidである佐藤花子氏に対応するユーザ端末601に情報が送信される。そして、佐藤花子氏に対応するユーザ端末601の公開パラメータ記憶部611は、図15に示す情報を記憶した状態となり、ユーザ秘密鍵記憶部612は、図16に示す情報を記憶した状態となる。
(S210)
属性管理装置501の通信部531は、ユーザIDと再暗号化鍵とを再暗号化装置301に送信する。これらを受信した再暗号化装置301の通信部331は、ユーザIDと再暗号化鍵とを関連付けて再暗号化鍵記憶部312に格納する。
先の例では、再暗号化鍵としてrkが送信され、再暗号化鍵記憶部312は、図6に示す情報を記憶した状態となる。図6では、複数のユーザが登録された後の状態を示している。
ここでのポイントは、関数型暗号の属性として、ユーザ端末601がデータ登録処理(手続き(3)で後述)の際に復号条件として利用しない、仮想的な属性「ユ―ザ秘密鍵ID」を導入し、同じ関数型暗号の枠組みの中で属性秘密鍵とユーザ秘密鍵とを使い分けるようにしたことである。これにより、単一の鍵生成装置401及び単一の公開パラメータで鍵発行や再暗号化が実現できるようになる。
なお、図9の例では鍵生成装置401の鍵情報記憶部412は、ユーザID、属性秘密鍵、ユーザ秘密鍵ID、ステータスを記憶している。しかし、鍵情報記憶部412は、手続きの途中で受信あるいは生成したユーザ属性、ユーザ秘密鍵、再暗号化鍵も記憶するようにしてもよい。また、鍵情報記憶部412は、属性秘密鍵を記憶せず、必要時にユーザ属性から再生成するようにしてもよい。
また、属性管理装置501は、安全上の観点からユーザ秘密鍵や再暗号化鍵を記憶しないが、公開パラメータだけは記憶するようにしてもよい。また、ユーザ秘密鍵や再暗号化鍵をユーザ端末601や再暗号化装置301に送信する際に、属性管理装置501を介さずに、鍵生成装置401から直接送信するようにしてもよい。
また、ユーザ端末601のユーザ秘密鍵記憶部612がユーザ属性を記憶するようにしてもよい。
(3)データ登録処理
データ登録処理は、データを暗号文記憶装置201に登録する処理である。データ登録処理は、ユーザ端末601がデータを登録する度に実行される。
データ登録処理では、ユーザ端末601がデータを暗号文記憶装置201に登録する場合、権限を持つユーザだけがデータを閲覧できるよう、関数型暗号で暗号化したデータを暗号文記憶装置201に送信する。これによって、権限を持たないユーザはもちろん、暗号文記憶装置201に対してもデータを秘匿することができる。
なお、以下の説明において、一部の例では、複数のデータが登録された後の状態を示している。
図19は、データ登録処理の流れを示すフローチャートである。
(S301)
ユーザ端末601の暗号化部621は、登録するデータに対し、一意となるデータIDを割り当てる。
(S302)
ユーザ端末601の暗号化部621は、公開パラメータ記憶部611に格納されている公開パラメータと、登録するデータと、復号可能なユーザ属性を指定した復号条件(ユーザ属性情報の他方)とを入力として、関数型暗号の暗号化処理を行う。これにより、データが暗号化された暗号文が生成される。
復号条件の例としては、「所属=総務部」(総務部のユーザのみが復号可能)、「所属=総務部 AND 役職=部長」(総務部の部長のみが復号可能)、「所属=総務部 OR 役職=部長」(総務部のユーザ、もしくは各部の部長のみが復号可能)等が挙げられる。また、利用する関数型暗号の方式によっては、AND条件とOR条件だけでなく、「NOT(所属=総務部) AND 役職=部長」(総務部以外の部の部長のみが復号可能)のように、NOT条件を用いることも可能である。
(S303)
ユーザ端末601の通信部631は、データIDと暗号文とを、暗号文記憶装置201に送信する。これらを受信した暗号文記憶装置201は、データIDと暗号文とを関連付けて暗号文記憶部211に格納する。
これにより、暗号文記憶部211は、図3に示す情報を記憶した状態となる。図3では、複数のデータが登録された後の状態を示している。
なお、データの暗号化の際、データを直接関数型暗号で暗号化するのではなく、他の暗号方式(例えばAES(Advanced Encryption Standard)等の共通鍵暗号方式)でデータを暗号化し、暗号化に用いた鍵を関数型暗号で暗号化するようにしてもよい。この場合、復号の際にも関数型暗号と他の暗号方式を併用することになる。
また、図3の例では暗号文記憶装置201の暗号文記憶部211がデータID、暗号文を記憶しているが、暗号文記憶装置201はユーザ端末601から復号条件も受信し、これも暗号文記憶部211に記憶するようにしてもよい。復号条件は、ユーザ端末601が暗号文記憶装置201から必要な情報を検索するための補助情報として利用することができる。
(4)データ取得処理
データ取得処理は、ユーザ端末601が暗号文記憶装置201から暗号文を読み出す処理である。データ取得処理は、ユーザ端末601が暗号文記憶装置201から暗号文を読み出す度に実行される。
暗号システム10では、ユーザや鍵の失効管理を実現するため、暗号文記憶装置201に保管されている暗号文が、ユーザ端末601単体では復号できないようになっている。暗号システム10では、暗号文記憶装置201から取得した暗号文は、再暗号化装置301に送信され、再暗号化装置301で個別のユーザ向けに再暗号化される。
図20は、データ取得処理の流れを示すフローチャートである。
(S401)
ユーザ端末601の通信部631は、取得したいデータのデータIDを暗号文記憶装置201に送信する。これを受信した暗号文記憶装置201は、暗号文記憶部211からデータIDに関連付けられた暗号文を取得し、ユーザ端末601に送信する。
ここで、暗号文には復号条件としてユーザ属性が指定されているため、暗号文を復号するには、その復号条件を満たすユーザ属性が設定された属性秘密鍵が必要である。ユーザ端末601のユーザ秘密鍵記憶部612に記憶されているのはユーザ秘密鍵であるため、ユーザ端末601は暗号文を復号することができない。
例えば、暗号文cが復号条件「所属=総務部」で暗号化されているとする。そして、図12に示すユーザIDがuidである佐藤花子氏が暗号文cを取得したとする。佐藤花子氏の所属は総務部であるので、本来暗号文cを復号できるはずである。しかし、佐藤花子氏が持つユーザ秘密鍵ukは、属性「ユーザ秘密鍵ID=ukid」を入力として生成おり、ユーザ秘密鍵ukに設定された属性と復号条件とが対応しておらず、このままでは復号できない。
(S402)
ユーザ端末601の通信部631は、ユーザIDと暗号文とを再暗号化装置301に送信し、データの再暗号化を依頼する。これらを受信した再暗号化装置301は、再暗号化鍵記憶部312からユーザIDに関連付けられた再暗号化鍵を取得する。
先の例では、通信部631がユーザIDとしてuidを受信し、これに関連付けられた再暗号化鍵rkを取得する。上述したように、rkは、属性「所属=総務部、役職=課長、氏名=佐藤花子」から生成された属性秘密鍵skで復号可能な暗号文を、復号条件「ユーザ秘密鍵ID=ukid」となるよう再暗号化するための再暗号化鍵である。
(S403)
再暗号化装置301の再暗号化部321は、公開パラメータ記憶部311に格納されている公開パラメータと、再暗号化鍵記憶部312から取得した再暗号化鍵と、受信した暗号文とを入力として、関数型暗号の再暗号化処理を行う。これにより、ユーザ秘密鍵で復号可能となる暗号文(再暗号文)が生成される。
先の例では、暗号文cが再暗号化鍵rkで再暗号化され、復号条件が「ユーザ秘密鍵ID=ukid」である暗号文Cが生成される。
(S404)
再暗号化装置301の通信部331は、再暗号化によって生成された暗号文をユーザ端末601に送信する。但し、再暗号化処理が失敗した場合は、その旨をユーザ端末601に送信する。
(S405)
暗号文を受信したユーザ端末601の復号部622は、公開パラメータ記憶部611に格納されている公開パラメータと、ユーザ秘密鍵記憶部612に格納されているユーザ秘密鍵と、受信した暗号文とを入力として、関数型暗号の復号処理を行う。これにより、最初に指定したデータIDに対応するデータを得ることができる。
先の例では、ユーザ端末601が暗号文Cを受信し、これをユーザ秘密鍵ukで復号する。すると、属性「ユーザ秘密鍵ID=ukid」と復号条件「ユーザ秘密鍵ID=ukid」が適合するため、求めるデータdを得ることができる。
以上のように、正当なユーザ端末601は暗号文記憶装置201上のデータを(自分の権限の範囲で)閲覧することができる。
(5)ユーザ秘密鍵更新処理
ユーザ秘密鍵更新処理は、あるユーザが持つユーザ秘密鍵を紛失もしくは漏洩した場合等に、当該ユーザに対してユーザ秘密鍵を再発行する処理である。ユーザ秘密鍵更新処理は、ユーザ秘密鍵を再発行する際に実行される。
ユーザ秘密鍵を再発行することにより、ユーザが暗号システム10を引き続き利用できるようになる。しかし、さらに、紛失・漏えいしたユーザ秘密鍵から暗号文記憶装置201に記憶されたデータが漏れることを防止する必要がある。ユーザ秘密鍵更新処理では、再暗号化装置301が記憶する再暗号化鍵を更新することでこれを実現する。
図21は、ユーザ秘密鍵更新処理の流れを示すフローチャートである。
(S501)
属性管理装置501の認証部521と、鍵生成装置401の認証部422とが、認証情報記憶部512と認証情報記憶部413とに格納されている認証情報を用いて認証処理を行う。ここでは、属性管理装置IDとパスワードによる認証処理が行われる。
(S502)
認証処理が成功すると、属性管理装置501の通信部531は、ユーザ秘密鍵更新を行うユーザのユーザIDを鍵生成装置401に送信し、鍵の再発行を依頼する。
(2)ユーザ登録処理で例として挙げた、ユーザIDがuidである佐藤花子氏が持っていたユーザ秘密鍵ukを更新する場合、ユーザIDとしてuidが送信される。
(S503)
鍵生成装置401の鍵生成部421は、鍵情報記憶部412からユーザIDに関連付けられた属性秘密鍵を取得する。
先の例で、鍵情報記憶部412が図9に示す情報を記憶している場合、属性秘密鍵skが取得される。
(S504)
鍵生成装置401の鍵生成部421は、鍵情報記憶部412の中で一意となるユーザ秘密鍵IDを新たに生成する。ここでは、ukidが生成されたとする。鍵生成部421は、マスタ鍵情報記憶部411に格納されているマスタ秘密鍵及び公開パラメータと、属性「ユーザ秘密鍵ID=ukid」とを入力として、関数型暗号の秘密鍵生成処理を行う。これにより、新たに生成されたユーザ秘密鍵IDが設定されたユーザ秘密鍵が生成される。
先の例では、ユーザ秘密鍵IDとして例えばukid102を生成した上で、属性「ユーザ秘密鍵ID=ukid102」を入力として、ユーザ秘密鍵uk102が生成される。
(S505)
鍵生成装置401の鍵生成部421は、公開パラメータと、属性秘密鍵と、S503で新たに生成したユーザ秘密鍵IDを用いた復号条件「ユーザ秘密鍵ID=ukid」とを入力として、関数型暗号の再暗号化鍵生成処理を行う。これにより、再暗号化鍵を生成する。
先の例では、ユーザIDがuidである佐藤花子氏に関して、属性秘密鍵skと復号条件「ユーザ秘密鍵ID=ukid102」とを入力として、再暗号化鍵rk102が生成される。
(S506)
鍵生成装置401の鍵生成部421は、鍵情報記憶部412からユーザIDに関連付けられたレコードを検索し、該当するレコードのステータスを「失効」に更新する。
(S507)
鍵生成装置401の鍵生成部421は、ユーザIDと、属性秘密鍵と、新たに生成したユーザ秘密鍵IDとを関連付けて、ステータスを「有効」に設定して鍵情報記憶部412に格納する。
これにより、鍵情報記憶部412は、図9に示す情報を記憶した状態から、図22に示す情報を記憶した状態に更新される。
(S508)
鍵生成装置401の通信部431は、新たに生成したユーザ秘密鍵と、新たに生成した再暗号化鍵とを属性管理装置501に送信する。
先の例では、ユーザ秘密鍵としてuk102が、再暗号化鍵としてrk102が送信される。
(S509)
属性管理装置501の通信部531は、ユーザ秘密鍵を、ユーザIDに対応するユーザ端末601に送信する。これを受信したユーザ端末601の通信部631は、ユーザ秘密鍵記憶部612に記憶されたユーザ秘密鍵を、受信したユーザ秘密鍵に更新する。
先の例では、ユーザIDがuidである佐藤花子氏に対応するユーザ端末601のユーザ秘密鍵記憶部612は、図16に示す情報を記憶した状態から、図23に示す情報を記憶した状態に更新される。
(S510)
属性管理装置501の通信部531は、ユーザIDと、新たに生成された再暗号化鍵とを再暗号化装置301に送信する。これらを受信した再暗号化装置301の通信部331は、再暗号化鍵記憶部312からユーザIDに関連付けられたレコードを検索し、該当するレコードの再暗号化鍵を、受信した再暗号化鍵に更新する。
先の例では、再暗号化鍵記憶部312は、図6に示す情報を記憶した状態から、図24に示す情報を記憶した状態に更新される。
以上のように、ユーザ秘密鍵を更新する場合、ユーザ秘密鍵に合わせて再暗号化鍵も更新される。そのため、更新された再暗号化鍵によって再暗号化された暗号文は、更新されたユーザ秘密鍵で復号できる。したがって、ユーザ秘密鍵の再発行を受けたユーザ端末601が、ユーザ秘密鍵更新処理の前に閲覧できていたデータを引き続き閲覧できる。
また、更新された再暗号化鍵によって再暗号化された暗号文は、更新前の古いユーザ秘密鍵で復号できない。そのため、古いユーザ秘密鍵では、暗号文記憶装置201に記憶されたデータを一切閲覧できない。
つまり、本手続きを実施することで、ユーザ秘密鍵の紛失・漏えいに伴う失効処理が実現される。
なお、ここではユーザ秘密鍵を失効させ、再発行する更新処理について説明しているが、ユーザの退職時等に、ユーザ秘密鍵の失効だけを行い、再発行を行わないことも可能である。この場合、再暗号化装置301が記憶した再暗号化鍵の削除だけを行えばよい。
(6)ユーザ属性更新処理
ユーザ属性更新処理は、企業内の異動等に伴い、あるユーザの属性(例えば、所属や役職)に変更が生じた場合に、当該ユーザが新しい属性に応じてデータを閲覧できるようにする処理である。
例えば、(2)ユーザ登録処理で例として挙げた、ユーザIDがuidである佐藤花子氏が、総務部から経理部へと異動した場合、経理部宛てのデータを閲覧できるようにしなければならない。同時に、異動後は、総務部宛てのデータを一切閲覧できないようにしたいケースがある(但し、総務部宛てのデータを引き続き閲覧できるようにしたい場合も考えられる)。ユーザ属性更新処理では、再暗号化装置301が記憶する再暗号化鍵を更新することでこれを実現する。
図25は、ユーザ属性更新処理の流れを示すフローチャートである。
(S601)
属性管理装置501の登録部522は、ユーザ属性の更新を行うユーザについて、属性情報記憶部511が記憶したユーザ属性を更新する。
先の例では、属性情報記憶部511は、図12に示す情報を記憶した状態から、図26に示す情報を記憶した状態に更新する。
(S602)
属性管理装置501の認証部521と、鍵生成装置401の認証部422とが、認証情報記憶部512および認証情報記憶部413に格納されている認証情報を用いて認証処理を行う。ここでは、属性管理装置IDとパスワードによる認証処理が行われる。
(S603)
属性管理装置501の通信部531は、ユーザ属性更新を行うユーザのユーザIDと新しいユーザ属性とを鍵生成装置401に送信し、鍵の再発行を依頼する。
先の例では、ユーザIDとしてuidが、新しいユーザ属性として「所属=経理部、役職=課長、氏名=佐藤花子」が送信される。
(S604)
鍵生成装置401の鍵生成部421は、マスタ鍵情報記憶部411に格納されているマスタ秘密鍵及び公開パラメータと、受信した新しいユーザ属性とを入力として、関数型暗号の秘密鍵生成処理を行う。これにより、新しいユーザ属性が設定された属性秘密鍵が生成される。
先の例では、ユーザIDがuidである佐藤花子氏に関して、新しいユーザ属性「所属=経理部、役職=課長、氏名=佐藤花子」を入力として、新しい属性秘密鍵sk202が生成される。
(S605)
鍵生成装置401の鍵生成部421は、鍵情報記憶部412からユーザIDに関連付けられたユーザ秘密鍵IDを取得する。但し、ユーザIDに関連付けられたレコードが複数ある場合、鍵生成部421は、ステータスが「有効」であるレコードから取得する。ここでは、ukidが取得されたとする。
先の例では、ユーザIDがuidである佐藤花子氏に関して、図9に示す情報から、ユーザ秘密鍵IDとしてukidが取得される。
(S606)
鍵生成装置401の鍵生成部421は、公開パラメータと、新しい属性秘密鍵と、S605で取得したユーザ秘密鍵IDを用いた復号条件「ユーザ秘密鍵ID=ukid」とを入力として、関数型暗号の再暗号化鍵生成処理を行う。これにより、再暗号化鍵を生成する。
先の例では、ユーザIDがuidである佐藤花子氏に関して、新しい属性秘密鍵sk202と復号条件「ユーザ秘密鍵ID=ukid」とを入力として、再暗号化鍵rk202が生成される。
(S607)
鍵生成装置401の通信部431は、鍵情報記憶部412が記憶したユーザ秘密鍵IDがukidであるレコードについて、属性秘密鍵を、新しい属性秘密鍵に更新する。
これにより、鍵情報記憶部412は、図9に示す情報を記憶した状態から、図27に示す情報を記憶した状態に更新される。
(S608)
鍵生成装置401の通信部431は、新たに生成した再暗号化鍵を属性管理装置501に送信する。
先の例では、再暗号化鍵としてrk202が送信される。
(S609)
属性管理装置501の通信部531は、ユーザIDと、新たに生成された再暗号化鍵とを再暗号化装置301に送信する。これらを受信した再暗号化装置301の通信部331は、再暗号化鍵記憶部312からユーザIDに関連付けられたレコードを検索し、該当するレコードの再暗号化鍵を、受信した再暗号化鍵に更新する。
先の例では、再暗号化鍵記憶部312は、図6に示す情報を記憶した状態から、図28に示す情報を記憶した状態に更新される。
以上のように、ユーザ属性の変更があると、属性秘密鍵が更新されるとともに、属性秘密鍵に合わせて再暗号化鍵も更新される。そのため、更新された再暗号化鍵によって再暗号化できる暗号文は、更新されたユーザ属性で閲覧可能な暗号文である。したがって、ユーザ属性の変更があったユーザのユーザ端末601が、新しい属性に応じたデータを閲覧できる。
また、更新された再暗号化鍵では、古い属性のみで閲覧可能であった(更新されたユーザ属性で閲覧できない)暗号文は、再暗号化できない。そのため、古い属性のみで閲覧可能であったデータを閲覧できない。
つまり、本手続きを実施することで、ユーザ属性の変更に伴う失効処理が実現される。
以上のように、実施の形態1に係る暗号システム10は、(1)〜(6)の処理によって、暗号文記憶装置201が記憶した暗号文を、ユーザ端末601が必要に応じて取得し、権限のあるユーザのみがデータを復号・閲覧できるシステムを実現する。
また、実施の形態1に係る暗号システム10は、(5)〜(6)の処理で説明した通り、ユーザ秘密鍵の紛失・漏えいや、ユーザ属性変更に伴う失効処理を、暗号文記憶装置201が記憶した暗号文を更新することなく、再暗号化装置301が記憶した再暗号化鍵を更新することで実現できる。そのため、大規模な企業等、失効処理が頻繁に必要となる環境でも効率的に動作させることが可能である。
また、実施の形態1に係る暗号システム10は、再暗号化装置301が持つ再暗号化鍵が1ユーザあたり1個で済む。したがって、失効処理における再暗号化鍵更新の負荷が小さい。また、実施の形態1に係る暗号システム10は、関数型暗号の柔軟なアクセス制御を利用することもできる。
また、実施の形態1に係る暗号システム10は、暗号文記憶装置201と再暗号化装置301とを分ける構成をとっている。そのため、失効したユーザ(もしくは、失効したユーザ秘密鍵を入手した攻撃者)と暗号文記憶装置201とが結託した場合においても、暗号文記憶装置201が記憶した暗号文を復号することはできない。
なお、上記説明では、属性管理装置501やユーザ端末601を持つ単一の企業が暗号システム10を利用する例を示した。しかし、暗号文記憶装置201、再暗号化装置301、鍵生成装置401の一部または全部を共用し、複数の企業が暗号システム10を利用できるようにしてもよい。この場合、暗号システム10の各装置は、企業を一意に識別するための企業IDを別途管理することになる。
また、上記説明では、各装置の認証や、通信路の暗号化については(一部を除き)記述していないが、必要に応じてこれらを実行するようにしてもよい。これには、パスワードやPKI(公開鍵基盤)を用いた既存の認証技術や、SSL(Secure Sockets Layer)通信等の既存の暗号技術が利用できる。
また、上記説明では、(4)データ取得処理で、暗号文記憶装置201が暗号文をユーザ端末601に送信する際に、データIDに関連付けられた暗号文を無条件に送信した。
しかし、暗号文記憶部211が各暗号文の復号条件を記憶しておき、ユーザ端末601がデータIDとともにユーザ属性を送信するようにしてもよい。そして、暗号文記憶装置201が、復号条件とユーザ属性とに基づき、暗号文の復号可否を判定し、復号可能な暗号文のみをユーザ端末601に送信するようにしてもよい。但しこの場合、暗号文記憶装置201に対して、復号条件やユーザ属性といった余分な情報が開示されることになるため、注意する必要がある。
また、上記説明では、(4)データ取得処理で、再暗号化装置301が再暗号化を行う際に、ユーザ端末601を介して暗号文を再暗号化装置301に送信した。
しかし、ユーザ端末601を介さずに、暗号文記憶装置201から再暗号化装置301へ暗号文を直接送信するようにしてもよい。さらにこの場合、効率性を高めるために、暗号文記憶装置201と再暗号化装置301とを1つの装置にまとめることも可能である。但し、これらをまとめることによって、失効したユーザと暗号文記憶装置201(及び再暗号化装置301)の結託で、暗号文記憶装置201が記憶した暗号文を不正に復号できるようになるため、注意する必要がある。
また、属性管理装置501と再暗号化装置301とを1つの装置にまとめることで効率化を図ってもよい。また、属性管理装置501と鍵生成装置401とを1つの装置にまとめることで効率化を図ってもよい。
また、上記説明では、運用容易性の観点から、関数型暗号から、(公開パラメータも含め)同一の関数型暗号への再暗号化を行った。
しかし、関数型暗号から、異なる関数型暗号、もしくは関数型暗号以外への再暗号化を行うこともできる。例えば、関数型暗号から、IDベース暗号への再暗号化を行ってもよい。この場合、鍵生成装置401は、2種類の暗号の鍵生成機能を持つ(もしくは、鍵生成装置401を2個用意する)ことになる。
また、上記説明では、ユーザ端末601がデータ登録とデータ取得との両方の機能を持っていた。
しかし、データ登録のみ行うユーザ装置と、データ取得のみ行うユーザ装置とに分けてもよい。データ登録のみ行うユーザ装置には、ユーザ秘密鍵記憶部612は不要である。
また、上記説明では、ユーザ端末601のユーザ秘密鍵記憶部612がユーザ秘密鍵を記憶していた。しかし、ユーザ秘密鍵を外部装置(例えばICカード)に記憶し、必要に応じてユーザ端末601が外部装置からユーザ秘密鍵を取得するようにしてもよい。また、外部装置が暗号化部や復号部を備え、外部装置側でユーザ秘密鍵を用いた暗号化処理や復号処理を行うようにしてもよい。
また、上記説明では、関数型暗号として「暗号文ポリシー型の関数型暗号」を利用する場合について説明した。しかし、上述した通り、「鍵ポリシー型の関数型暗号」を利用することも可能である。
例えば、鍵ポリシー型の関数型暗号では、暗号文に属性「所属=総務部、作成年度=2012年」を設定し、これを復号するための秘密鍵にポリシー(復号条件)「(所属=総務部 AND 作成年度=2012年)OR(所属=経理部 AND 作成年度=2013年)」を設定することができる。この例では、この秘密鍵を用いて「2012年に総務部で作成されたデータ」、及び、「2013年に経理部で作成されたデータ」を復号することができる。そのため、ユーザが在籍した時期に対応した文書のみ閲覧可能とする等、ユーザ所属の変更に伴う、より柔軟なアクセス制御が可能となる。
暗号文ポリシー型属性ベース暗号、鍵ポリシー型属性ベース暗号のどちらを利用するのが適しているかは、データ管理システムの用途や、利用する企業の組織構成等に依存する。
また、「暗号文ポリシー型の関数型暗号」と「鍵ポリシー型の関数型暗号」とを組み合わせたUnifiedポリシー型の関数型暗号を利用することも可能である。Unifiedポリシー型の関数型暗号では、暗号文に属性1とポリシー2とが設定され、復号鍵に属性1に対応するポリシー1とポリシー2に対応する属性2とが設定される。これにより、「暗号文ポリシー型の関数型暗号」と「鍵ポリシー型の関数型暗号」との両方の利点を享受することができる。
図29は、実施の形態1に示した暗号文記憶装置201、再暗号化装置301、鍵生成装置401、属性管理装置501、ユーザ端末601のハードウェア構成の例を示す図である。
暗号文記憶装置201、再暗号化装置301、鍵生成装置401、属性管理装置501、ユーザ端末601は、コンピュータである。暗号文記憶装置201、再暗号化装置301、鍵生成装置401、属性管理装置501、ユーザ端末601の各要素をプログラムで実現することができる。
暗号文記憶装置201、再暗号化装置301、鍵生成装置401、属性管理装置501、ユーザ端末601のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
演算装置901は、プログラムを実行するCPU(Central Processing Unit)等である。外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置等である。主記憶装置903は、例えばRAM(Random Access Memory)等である。通信装置904は、例えば通信ボード等である。入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
プログラムは、通信部231、再暗号化部321、通信部331、鍵生成部421、認証部422、通信部431、認証部521、登録部522、通信部531、暗号化部621、復号部622、通信部631として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、上記プログラムを実行する。
また、実施の形態1の説明において、暗号文記憶部211、公開パラメータ記憶部311、再暗号化鍵記憶部312、マスタ鍵情報記憶部411、鍵情報記憶部412、認証情報記憶部413、属性情報記憶部511、認証情報記憶部512、公開パラメータ記憶部611、ユーザ秘密鍵記憶部612が記憶すると説明した情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
なお、図29の構成は、あくまでも暗号文記憶装置201、再暗号化装置301、鍵生成装置401、属性管理装置501、ユーザ端末601のハードウェア構成の一例を示すものであり、暗号文記憶装置201、再暗号化装置301、鍵生成装置401、属性管理装置501、ユーザ端末601のハードウェア構成は図29に記載の構成に限らず、他の構成であってもよい。
10 暗号システム、101 ネットワーク、201 暗号文記憶装置、211 暗号文記憶部、231 通信部、301 再暗号化装置、311 公開パラメータ記憶部、312 再暗号化鍵記憶部、321 再暗号化部、331 通信部、401 鍵生成装置、411 マスタ鍵情報記憶部、412 鍵情報記憶部、413 認証情報記憶部、421 鍵生成部、422 認証部、431 通信部、501 属性管理装置、511 属性情報記憶部、512 認証情報記憶部、521 認証部、522 登録部、531 通信部、601 ユーザ端末、611 公開パラメータ記憶部、612 ユーザ秘密鍵記憶部、621 暗号化部、622 復号部、631 通信部。

Claims (6)

  1. 2つの情報が互いに対応している場合に一方の情報が設定された暗号文を他方の情報が設定された復号鍵により復号可能な暗号方式を用いた暗号システムであり、
    いずれかに一意なユーザ秘密鍵IDが設定され互いに対応する鍵情報u,yの一方が設定されたユーザ秘密鍵と、互いに対応するユーザ属性情報x,vの一方が設定された属性秘密鍵で復号可能な暗号文を前記鍵情報u,yの他方が設定された再暗号文に変換する再暗号化鍵とを生成する鍵生成装置と、
    前記ユーザ属性情報x,vの他方が設定された暗号文を記憶する暗号文記憶装置と、
    前記鍵生成装置が生成した前記再暗号化鍵で、前記暗号文記憶装置が記憶する前記暗号文を再暗号化して再暗号文を生成する再暗号化装置と、
    前記鍵生成装置が生成した前記ユーザ秘密鍵で、前記再暗号化装置が再暗号化した前記再暗号文を復号するユーザ端末と
    を備えることを特徴とする暗号システム。
  2. 前記鍵生成装置は、前記ユーザ秘密鍵を失効させる場合、互いに対応する新しい鍵情報u’,y’の一方が設定された新しいユーザ秘密鍵と、前記属性秘密鍵で復号可能な暗号文を前記鍵情報u’,y’の他方が設定された再暗号文に変換する新しい再暗号化鍵とを生成し、
    前記再暗号化装置は、前記新しい再暗号化鍵が生成された後は、前記新しい再暗号化鍵で、前記暗号文記憶装置が記憶する暗号文を再暗号化して再暗号文を生成する
    ことを特徴とする請求項1に記載の暗号システム。
  3. 前記鍵生成装置は、ユーザの属性が変更された場合、互いに対応する新しいユーザ属性情報x’,v’の一方が設定された新しい属性秘密鍵で復号可能な暗号文を前記鍵情報u,yの他方が設定された再暗号文に変換する新しい再暗号化鍵を生成し、
    前記再暗号化装置は、前記新しい再暗号化鍵が生成された後は、前記新しい再暗号化鍵で、前記暗号文記憶装置が記憶する暗号文を再暗号化して再暗号文を生成する
    ことを特徴とする請求項1に記載の暗号システム。
  4. 前記鍵生成装置は、ユーザ毎に、前記ユーザ秘密鍵と前記再暗号化鍵とを生成し、
    前記再暗号化装置は、前記ユーザ端末からユーザの識別情報を受信すると、受信した識別情報が示すユーザに対応する再暗号化鍵で、前記暗号文記憶装置が記憶する暗号文を再暗号化する
    ことを特徴とする請求項1に記載の暗号システム。
  5. 2つの情報が互いに対応している場合に一方の情報が設定された暗号文を他方の情報が設定された復号鍵により復号可能な暗号方式を用いた暗号システムにおける鍵生成装置であり、
    いずれかに一意なユーザ秘密鍵IDが設定され互いに対応する鍵情報u,yの一方が設定されたユーザ秘密鍵と、互いに対応するユーザ属性情報x,vの一方が設定された属性秘密鍵で復号可能な暗号文を前記鍵情報u,yの他方が設定された再暗号文に変換する再暗号化鍵とを生成する鍵生成部と、
    前記鍵生成部が生成したユーザ秘密鍵をユーザ端末へ送信するとともに、前記鍵生成部が生成した再暗号化鍵を再暗号化装置へ送信する通信部と
    を備えることを特徴とする鍵生成装置。
  6. 2つの情報が互いに対応している場合に一方の情報が設定された暗号文を他方の情報が設定された復号鍵により復号可能な暗号方式を用いた暗号システムにおける再暗号化装置であり、
    ユーザの識別情報毎に、互いに対応するユーザ属性情報x,vの一方が設定された属性秘密鍵で復号可能な暗号文を、いずれかに一意なユーザ秘密鍵IDが設定され互いに対応する鍵情報u,yの一方が設定された再暗号文に変換する再暗号化鍵を記憶する再暗号化鍵記憶部と、
    ユーザの識別情報と暗号文とを受信すると、受信したユーザの識別情報に対応して前記再暗号化鍵記憶部が記憶した再暗号化鍵で、受信した暗号文を再暗号化して再暗号文を生成する再暗号化部と
    を備えることを特徴とする再暗号化装置。
JP2015557626A 2014-01-16 2014-01-16 暗号システム、鍵生成装置及び再暗号化装置 Expired - Fee Related JP6049914B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/050626 WO2015107641A1 (ja) 2014-01-16 2014-01-16 暗号システム、鍵生成装置、再暗号化装置及びユーザ端末

Publications (2)

Publication Number Publication Date
JP6049914B2 true JP6049914B2 (ja) 2016-12-21
JPWO2015107641A1 JPWO2015107641A1 (ja) 2017-03-23

Family

ID=53542562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015557626A Expired - Fee Related JP6049914B2 (ja) 2014-01-16 2014-01-16 暗号システム、鍵生成装置及び再暗号化装置

Country Status (3)

Country Link
US (1) US20160330022A1 (ja)
JP (1) JP6049914B2 (ja)
WO (1) WO2015107641A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554404B2 (en) * 2014-10-20 2020-02-04 Dspace Digital Signal Processing And Control Engineering Gmbh Protection of software models
EP3586260B1 (en) * 2017-02-22 2023-09-27 RingCentral, Inc. Encrypting data records and processing encrypted records without exposing plaintext
US10205713B2 (en) * 2017-04-05 2019-02-12 Fujitsu Limited Private and mutually authenticated key exchange
US10965653B2 (en) * 2018-03-28 2021-03-30 Xaptum, Inc. Scalable and secure message brokering approach in a communication system
US11769147B2 (en) 2018-08-30 2023-09-26 International Business Machines Corporation Secure smart note
US11893554B2 (en) * 2018-08-30 2024-02-06 International Business Machines Corporation Secure smart note
CN110519041B (zh) * 2019-07-29 2021-09-03 同济大学 一种基于sm9标识加密的属性基加密方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101351789B1 (ko) * 2009-04-24 2014-01-15 니뽄 덴신 덴와 가부시키가이샤 암호 시스템, 암호 통신 방법, 암호화 장치, 키 생성 장치, 복호 장치, 콘텐츠 서버 장치, 프로그램, 기억매체
CN104012028B (zh) * 2011-12-20 2016-10-26 三菱电机株式会社 加密数据管理装置以及加密数据管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016031988; 成瀬 猛: '前方秘匿性を満たす属性失効機能付き属性ベース暗号' マルチメディア,分散,協調とモバイル(DICOMO2013)シンポジウム論文集 [CD-ROM] Vol.2013 No.2, 201307, 215-221, 一般社団法人情報処理学会 *

Also Published As

Publication number Publication date
WO2015107641A1 (ja) 2015-07-23
JPWO2015107641A1 (ja) 2017-03-23
US20160330022A1 (en) 2016-11-10

Similar Documents

Publication Publication Date Title
JP6049914B2 (ja) 暗号システム、鍵生成装置及び再暗号化装置
US11271730B2 (en) Systems and methods for deployment, management and use of dynamic cipher key systems
Liu et al. Two-factor data security protection mechanism for cloud storage system
US9197410B2 (en) Key management system
US8813247B1 (en) Providing cryptographic security for objective-oriented programming files
JP4597784B2 (ja) データ処理装置
JP5668191B2 (ja) 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム
US8817986B2 (en) Cross enterprise communication
US20170310479A1 (en) Key Replacement Direction Control System and Key Replacement Direction Control Method
KR101615137B1 (ko) 속성 기반의 데이터 접근 방법
KR101220160B1 (ko) 모바일 클라우드 환경에서 안전한 프록시 재암호화 기반의 데이터 관리 방법
KR101648364B1 (ko) 대칭키 암호화와 비대칭키 이중 암호화를 복합적으로 적용한 암/복호화 속도개선 방법
JP6426520B2 (ja) 暗号鍵管理システムおよび暗号鍵管理方法
CN113411323B (zh) 基于属性加密的医疗病历数据访问控制系统及方法
CN105850072B (zh) 数据处理系统、加密装置以及解密装置
JP6401875B2 (ja) データ処理システム
Thilakanathan et al. Secure multiparty data sharing in the cloud using hardware-based TPM devices
JP2010272899A (ja) 鍵生成システム及び鍵生成方法及びブラインドサーバ装置及びプログラム
JPH11331145A (ja) 情報共有システム、情報保管装置およびそれらの情報処理方法、並びに記録媒体
WO2015107561A1 (ja) 検索システム、検索方法および検索プログラム
KR101233925B1 (ko) 아이디 기반 암호화 및 서명 장치 및 방법, 비밀키 발급 서버 및 방법
WO2020051833A1 (zh) 信息处理方法、终端设备及网络系统
JP7350220B2 (ja) 検索実行装置、検索実行方法、検索実行プログラム及び秘匿検索システム
Vijayalakshmi et al. Authentication of data storage using decentralized access control in clouds
Kamil et al. Achieve Data Security in Cloud Computing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160915

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: 20161025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161122

R150 Certificate of patent or registration of utility model

Ref document number: 6049914

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees