IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 独立行政法人情報通信研究機構の特許一覧 ▶ 日本放送協会の特許一覧

特開2025-10689放送型検索可能暗号システム及び放送型検索可能暗号方法
<>
  • 特開-放送型検索可能暗号システム及び放送型検索可能暗号方法 図1
  • 特開-放送型検索可能暗号システム及び放送型検索可能暗号方法 図2
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025010689
(43)【公開日】2025-01-23
(54)【発明の名称】放送型検索可能暗号システム及び放送型検索可能暗号方法
(51)【国際特許分類】
   G09C 1/00 20060101AFI20250116BHJP
【FI】
G09C1/00 660D
G09C1/00 620Z
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023112816
(22)【出願日】2023-07-10
(71)【出願人】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】江村 恵太
(72)【発明者】
【氏名】梶田 海成
(72)【発明者】
【氏名】大竹 剛
(57)【要約】
【課題】受信者匿名性を満たし、暗号文長が短い放送型検索可能暗号システムを提供する。
【解決手段】放送型検索可能暗号システム1は、BEKS.Setupアルゴリズムを実行することで、マスター公開鍵及び秘密鍵を生成する鍵生成装置2と、BEKS.Encアルゴリズムを実行することで、コンテンツの暗号文を生成する暗号文生成装置3と、BEKS.Trapdoorアルゴリズムを実行することで、トラップドアを生成する受信装置4と、BEKS.Testアルゴリズムを実行することでコンテンツを復号し、コンテンツを受信装置4に送信する検索装置5とを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
弱ロバスト性を持つ2レベル階層型匿名IBE及びCS法を用いた放送型検索可能暗号システムであって、
所定のセキュリティパラメータを入力とし、HIBE.Setupアルゴリズム及びHIBE.KeyGenアルゴリズムが含まれるBEKS.Setupアルゴリズムを実行することで、マスター公開鍵及び受信者毎に固有の秘密鍵を生成する鍵生成手段、を備える鍵生成装置と、
前記マスター公開鍵を入力とし、前記CS法のノードとキーワード候補とをパラメータとするHIBE.Encアルゴリズムが含まれるBEKS.Encアルゴリズムを実行することで、前記キーワード候補及び受信者集合が関連するコンテンツの暗号文を生成する暗号化手段、を備える暗号文生成装置と、
前記マスター公開鍵及び前記秘密鍵を入力とし、HIBE.KeyDerアルゴリズムが含まれるBEKS.Trapdoorアルゴリズムを実行することで、前記受信者集合及び検索キーワードを含むトラップドアを生成するトラップドア生成手段、を備える受信装置と、
前記マスター公開鍵と前記トラップドアとを入力とし、HIBE.Decアルゴリズムが含まれるBEKS.Testアルゴリズムを実行し、当該実行結果が予め設定した値になるか否かで前記検索キーワード及び前記キーワード候補が一致するか否かを判定し、前記検索キーワード及び前記キーワード候補が一致し、かつ、前記受信者が前記受信者集合に含まれるとき、前記コンテンツの暗号文を前記受信装置に送信する検索手段、を備える検索装置と、
を備えることを特徴とする放送型検索可能暗号システム。
【請求項2】
前記暗号化手段は、前記CS法により、前記ノードとしての前記受信装置を二分木で配置したことを特徴とする請求項1に記載の放送型検索可能暗号システム。
【請求項3】
前記鍵生成手段は、前記マスター公開鍵に含めるランダムな値のサイズを前記セキュリティパラメータの6.3倍に設定することを特徴とする請求項1に記載の放送型検索可能暗号システム。
【請求項4】
弱ロバスト性を持つ2レベル階層型匿名IBE及びCS法を用いた放送型検索可能暗号方法であって、
鍵生成装置が、所定のセキュリティパラメータを入力とし、HIBE.Setupアルゴリズム及びHIBE.KeyGenアルゴリズムが含まれるBEKS.Setupアルゴリズムを実行することで、マスター公開鍵及び受信者毎に固有の秘密鍵を生成するステップと、
暗号文生成装置が、前記マスター公開鍵を入力とし、前記CS法のノードとキーワード候補とをパラメータとするHIBE.Encアルゴリズムが含まれるBEKS.Encアルゴリズムを実行することで、前記キーワード候補及び受信者集合が関連するコンテンツの暗号文を生成するステップと、
受信装置が、前記マスター公開鍵及び前記秘密鍵を入力とし、HIBE.KeyDerアルゴリズムが含まれるBEKS.Trapdoorアルゴリズムを実行することで、前記受信者集合及び検索キーワードを含むトラップドアを生成するステップと、
検索装置が、前記マスター公開鍵と前記トラップドアとを入力とし、HIBE.Decアルゴリズムが含まれるBEKS.Testアルゴリズムを実行し、当該実行結果が予め設定した値になるか否かで前記検索キーワード及び前記キーワード候補が一致するか否かを判定し、前記検索キーワード及び前記キーワード候補が一致し、かつ、前記受信者が前記受信者集合に含まれるとき、前記コンテンツの暗号文を前記受信装置に送信するステップと、
を順に実行することを特徴とする放送型検索可能暗号方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、放送型検索可能暗号に関する。
【背景技術】
【0002】
クラウドサーバ等にデータを保存する際の情報漏洩対策として暗号化が有効である。暗号化によりデータに関する情報がクラウドサーバに漏洩しない一方で、暗号化によりデータ検索を行うことができないためユーザビリティを損なうというデメリットがある。
【0003】
そこで、暗号化データに対してキーワード検索ができる手法として、公開鍵検索可能暗号(PEKS:Public key Encryption with Keyword Search)が知られている。PEKSでは、コンテンツの暗号文とコンテンツに関連するキーワードの暗号文とがクラウドサーバ等に保存される。受信者は、キーワードを指定し、対応するトラップドアをクラウドサーバに送付する。クラウドサーバは、キーワードを知ることなく、キーワードを含むコンテンツの暗号文を受信者に返信する。PEKSは、クラウドストレージに安全にデータを保存しつつ検索機能をサポートすることができるため、安全なデータ利活用の観点から重要な技術と言える。
【0004】
複数の受信者を考慮した暗号方式である放送型暗号(BE:Broadcast Encryption)の検索可能暗号版として、放送型検索可能暗号(BEKS:Broadcast Encryption with Keyword Search)が提案されている(非特許文献1,2)。さらに、BEKSを拡張したBAEKS(Broadcast Authenticated Encryption with Keyword Search)も提案されている(非特許文献3,4)。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Nuttapong Attrapadung, Jun Furukawa, Hideki Imai: Forward-Secure and Searchable Broadcast Encryption with Short Ciphertexts and Private Keys. ASIACRYPT 2006: 161-177
【非特許文献2】Sanjit Chatterjee, Sayantan Mukherjee: Keyword Search Meets Membership Testing:Adaptive Security from SXDH. INDOCRYPT 2018: 21-43
【非特許文献3】Xueqiao Liu, Kai He, Guomin Yang, Willy Susilo, Joseph Tonien, Qiong Huang: Broadcast Authenticated Encryption with Keyword Search. ACISP 2021: 193-213
【非特許文献4】Keita Emura: Generic Construction of Broadcast Authenticated Encryption with Keyword Search. Cryptology ePrint Archive, Paper 2023/401
【発明の概要】
【発明が解決しようとする課題】
【0006】
プライバシー保護の観点から、誰が受信者であるのかという情報が、暗号文から漏洩しない受信者匿名性を満たすことが望ましい。しかし、従来のBEKSでは、検索アルゴリズムが受信者集合を入力に取ることから、受信者匿名性を満たさないという問題がある。また、従来のBAEKSでは、受信者匿名性は考慮されているが、暗号文長が受信者数に対して線形サイズであり、非効率である。
【0007】
本発明は、受信者匿名性を満たし、暗号文長が短い放送型検索可能暗号システム及びその方法を提供することを課題とする。
【課題を解決するための手段】
【0008】
前記課題を解決するため、本発明に係る放送型検索可能暗号システムは、弱ロバスト性を持つ2レベル階層型匿名IBE及びCS法を用いた放送型検索可能暗号システムであって、所定のセキュリティパラメータを入力とし、HIBE.Setupアルゴリズム及びHIBE.KeyGenアルゴリズムが含まれるBEKS.Setupアルゴリズムを実行することで、マスター公開鍵及び受信者毎に固有の秘密鍵を生成する鍵生成手段、を備える鍵生成装置と、前記マスター公開鍵を入力とし、前記CS法のノードとキーワード候補とをパラメータとするHIBE.Encアルゴリズムが含まれるBEKS.Encアルゴリズムを実行することで、前記キーワード候補及び受信者集合が関連するコンテンツの暗号文を生成する暗号化手段、を備える暗号文生成装置と、前記マスター公開鍵及び前記秘密鍵を入力とし、HIBE.KeyDerアルゴリズムが含まれるBEKS.Trapdoorアルゴリズムを実行することで、前記受信者集合及び検索キーワードを含むトラップドアを生成するトラップドア生成手段、を備える受信装置と、前記マスター公開鍵と前記トラップドアとを入力とし、HIBE.Decアルゴリズムが含まれるBEKS.Testアルゴリズムを実行し、当該実行結果が予め設定した値になるか否かで前記検索キーワード及び前記キーワード候補が一致するか否かを判定し、前記検索キーワード及び前記キーワード候補が一致し、かつ、前記受信者が前記受信者集合に含まれるとき、前記コンテンツの暗号文を前記受信装置に送信する検索手段、を備える検索装置と、を備える。
【0009】
かかる放送型検索可能暗号システムによれば、弱ロバスト性を持つ2レベル階層型匿名IBE方式において、暗号化を行うHIBE.Encアルゴリズムをノード及びキーワード候補という2階層のパラメータで実行する。さらに、放送型検索可能暗号システムは、受信者匿名性を満たし、受信者数の線形サイズであった暗号文長を受信者数のlogサイズに短くすることができる。
【0010】
また、前記課題を解決するため、本発明に係る放送型検索可能暗号方法は、弱ロバスト性を持つ2レベル階層型匿名IBE及びCS法を用いた放送型検索可能暗号方法であって、鍵生成装置が、所定のセキュリティパラメータを入力とし、HIBE.Setupアルゴリズム及びHIBE.KeyGenアルゴリズムが含まれるBEKS.Setupアルゴリズムを実行することで、マスター公開鍵及び受信者毎に固有の秘密鍵を生成するステップと、暗号文生成装置が、前記マスター公開鍵を入力とし、前記CS法のノードとキーワード候補とをパラメータとするHIBE.Encアルゴリズムが含まれるBEKS.Encアルゴリズムを実行することで、前記キーワード候補及び受信者集合が関連するコンテンツの暗号文を生成するステップと、受信装置が、前記マスター公開鍵及び前記秘密鍵を入力とし、HIBE.KeyDerアルゴリズムが含まれるBEKS.Trapdoorアルゴリズムを実行することで、前記受信者集合及び検索キーワードを含むトラップドアを生成するステップと、検索装置が、前記マスター公開鍵と前記トラップドアとを入力とし、HIBE.Decアルゴリズムが含まれるBEKS.Testアルゴリズムを実行し、当該実行結果が予め設定した値になるか否かで前記検索キーワード及び前記キーワード候補が一致するか否かを判定し、前記検索キーワード及び前記キーワード候補が一致し、かつ、前記受信者が前記受信者集合に含まれるとき、前記コンテンツを前記受信装置に送信するステップと、を順に実行する。
【0011】
かかる放送型検索可能暗号方法によれば、弱ロバスト性を持つ2レベル階層型匿名IBE方式において、暗号化を行うHIBE.Encアルゴリズムをノード及びキーワード候補という2階層のパラメータで実行する。さらに、放送型検索可能暗号方法は、受信者匿名性を満たし、受信者数の線形サイズであった暗号文長を受信者数のlogサイズに短くすることができる。
【発明の効果】
【0012】
本発明によれば、受信者匿名性を満たし、暗号文長を短くすることができる。
【図面の簡単な説明】
【0013】
図1】実施形態に係る放送型検索可能暗号システムの構成を示すブロック図である。
図2】実施形態に係る放送型検索可能暗号システムの動作を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面を参照して説明する。但し、以下に説明する各実施形態は、本発明の技術思想を具体化するためのものであって、特定的な記載がない限り、本発明を以下のものに限定しない。また、同一の手段には同一の符号を付し、説明を省略する場合がある。
【0015】
実施形態に係る放送型検索可能暗号システム1の前提として、弱ロバスト性を持つ2レベル階層型匿名IDベース暗号(HIBE:Hierarchical Identity-Based Encryption)、CS(Complete Subtree)法、及び、BEKSを説明する。
【0016】
<弱ロバスト性を持つ匿名2レベルHIBE>
HIBE方式は、以下で定義される5つのアルゴリズム(HIBE.Setup、HIBE.KeyGen、HIBE.KeyDer、HIBE.Enc、HIBE.Dec)から構成される。
【0017】
ここで、Mはコンテンツである平文、IDは各受信者の識別情報を表す。また、Mspaceは平文空間、IDspaceはID空間とする。階層型IDを(ID,ID´)∈IDspace×IDspaceと表記し、2次元IDのみを取り扱う。また、HIBE.KeyGenアルゴリズムは第一階層IDを入力とし、HIBE.Encアルゴリズムは階層型ID(ID,ID´)を入力とする。
【0018】
HIBE.Setup:セットアップアルゴリズムは、セキュリティパラメータλを入力とし、マスター公開鍵MPKとマスター秘密鍵MSKを生成する。なお、セキュリティパラメータλは、暗号の安全性を示す尺度のことであり、鍵のサイズなどに関連する。
【0019】
HIBE.KeyGen:鍵生成アルゴリズムは、マスター公開鍵MPK、マスター秘密鍵MSK、及び、ID∈IDspaceを入力とし、秘密鍵skIDを生成する。
【0020】
HIBE.KeyDer:鍵導出アルゴリズムは、マスター公開鍵MPK、秘密鍵skID、及び、ID´∈IDspaceを入力とし、秘密鍵skID,ID´を生成する。
【0021】
HIBE.Enc:暗号化アルゴリズムは、マスター公開鍵MPK、階層型ID(ID,ID´)∈IDspace×IDspace、及び、平文M∈Mspaceを入力とし、暗号文ctHIBEを生成する。
【0022】
HIBE.Dec:復号アルゴリズムは、マスター公開鍵MPK、暗号文ctHIBE、及び、秘密鍵skID,ID´を入力とし、平文M又は⊥を出力する。なお、⊥はエラーを表す。
【0023】
HIBE方式の匿名性とは、階層型ID(ID,ID´)に関する情報が暗号文ctHIBE←HIBE.Enc(MPK,(ID,ID´),M)から漏洩しないことを保証する安全性のことである。以下、選択平文攻撃(CPA:Chosen Plaintext Attack)のみ考慮する。なお、←は、アルゴリズムの出力結果を表す。
【0024】
全ての確率的多項式時間(PPT:probabilistic polynomial-time)において、攻撃者Aに対し、以下の式(1)を定義する。なお、この式(1)は、階層型IBE方式における匿名性の定義を表している。
【0025】
【数1】
【0026】
1階層IDに対する鍵抽出オラクルHIBE.KeyGenは、ID∈IDspaceを入力とし、秘密鍵skID←HIBE.KeyGen(MSK,ID)を返すと共に、V← V∪{ID}と更新する。
【0027】
2階層IDに対する鍵抽出オラクルHIBE.KeyGenは、(ID,ID´)∈IDspace×IDspaceを入力とし、秘密鍵skID←HIBE.KeyGen(MSK,ID)を計算、秘密鍵skID,ID←HIBE.KeyGen(MSK,skID,ID´)を返すと共に、V← V∪{(ID,ID´)}と更新する。
【0028】
以下の式(2)で表される利得がセキュリティパラメータλに関して無視できる場合、HIBE方式はAnon-CPA安全である。
【0029】
【数2】
【0030】
HIBE方式の弱ロバスト性について説明する。ロバスト性とは、あるIDで生成された暗号文を、異なるIDに対応する秘密鍵で復号した場合、⊥を出力することを保証する安全性である。例えば、暗号文ctHIBE←HIBE.Enc(MPK,(ID,ID´),M)、秘密鍵skID←HIBE.KeyGen(MPK,MSK,ID ̄)、秘密鍵skID ̄,ID ̄´←HIBE.KeyDer(MPK,skID ̄,ID ̄´)、(ID,ID´)≠(ID ̄,ID ̄´)としたとき、HIBE.Decアルゴリズムにて、暗号文ctHIBEを秘密鍵skID ̄,ID´で復号した際に⊥を出力する。
【0031】
弱ロバスト性とは、暗号文がアルゴリズムに従い正直に生成された場合、ロバスト性を保証することである。全てのPPT攻撃者Aに対し、以下の式(3)を定義する。なお、この式(3)は、階層型IBE方式における弱ロバスト性の定義を表している。
【0032】
【数3】
【0033】
鍵抽出オラクルHIBE.KeyGenは、ID∈IDspaceを入力とし、秘密鍵skID←HIBE.KeyGen(MSK,ID)を返すと共に、V←V∪{(ID)}と更新する。以下の式(4)で定義される利得がセキュリティパラメータλに関して無視できる場合、HIBE方式は弱ロバスト性を満たす。
【0034】
【数4】
【0035】
<CS法>
BT(Binary Tree)をN個の葉を持つ二分木とする。葉ノードiに対し、Path(i)を葉ノードからルートノードまでのノードの集合とする。RSetを削除葉ノードの集合とする。葉ノードではないノードxに対し、xleftを左の子ノード、xrightを右の子ノードとする。そして、CS法では、以下の手順1~手順5を実行する(参考文献1)。
【0036】
手順1:x,cover←0と初期化する。
手順2:全てのi∈RSetに対し、Path(i)をXに追加する。
手順3:全てのx∈Xに対し、もしxleftがXの要素でなければxleftをcoverに加える。もしxrightがXの要素でなければxrightをcoverに加える。
手順4:もし|RSet|=0であれば、ルートノードrootをcoverに加える。
手順5:coverを出力する。
【0037】
cover←CompSubTree(BT,Rset)と表記する。ここで、|cover|は、0(Rlog(N/R))と評価される。
【0038】
参考文献1:Dalit Naor, Moni Naor, and Jeffery Lotspiech. Revocation and tracing schemes for stateless receivers. In CRYPTO, pages 41-62, 2001.
【0039】
<BEKS>
BEKS方式は、以下で定義される4つのアルゴリズム(BEKS.Setup、BEKS.Enc、BEKS.Trapdoor、BEKS.TEST)から構成される。なお、最大受信者数をNとし、U={i}i∈[1,N]を全ての受信者集合とし、KWspaceをキーワード空間とする。
【0040】
BEKS.Setup:セットアップアルゴリズムは、セキュリティパラメータλ、及び、最大受信者数Nを入力とし、マスター公開鍵MPKと秘密鍵{skR[i]i∈[1,N]を生成する。
【0041】
BEKS.Enc:キーワード暗号化アルゴリズムは、マスター公開鍵MPK、受信者集合S⊆U(|S|=N´≦N)、及び、キーワードkw∈KWspaceを入力とし、暗号文ctBEKSを生成する。
【0042】
BEKS.Trapdoor:トラップドア生成アルゴリズムは、マスター公開鍵MPK、秘密鍵sk、及び、キーワードkw´∈KWspaceを入力とし、トラップドアtdR,kw´を生成する。
【0043】
BEKS.Test:テストアルゴリズムは、マスター公開鍵MPK、暗号文ctBEKS、及び、トラップドアtdR,kw´を入力とし、1又は0を出力する。なお、1は正常を表し、0は異常を表す。
【0044】
外部匿名性について説明する。攻撃者Aは、コラプトオラクルを介して、V∩(S ∪S )=0を満たす集合Vに所属する外部受信者の秘密鍵を取得できる。また、トラップドアオラクルを介して、全ての受信者i∈[1,N]に対するキーワードkwに対するトラップドアを取得できる。ただし、i∈S ∪S の場合、キーワードkwが{kw ,kw }の要素でないと制限する。ここで、(kw ,kw )は、チャレンジキーワードである。全てのPPT攻撃者Aに対し、以下の式(5)を定義する。なお、この式(5)は、放送型検索可能暗号における外部匿名性の定義を表している。
【0045】
【数5】
【0046】
トラップドアオラクルBEKS.Trapdoorは、i∈[1,N]とkw=KWspaceとを入力とし、トラップドアtdR,k←BEKS.Trapdoor(MPK,skR[i],kw}を返し、V´←V´∪{i}と更新する。チャレンジフェーズ以降、i∈S ∪S 、かつ、kw∈{kw ,kw }の場合、⊥を出力する。コラプトオラクルCorruptは、i∈[1,N]を入力とし、skR[i]を返し、V´←V´∪{i}と更新する。チャレンジフェーズ以降、i∈S ∪S の場合、⊥を出力する。以下の式(6)で定義される利得がセキュリティパラメータλに関して無視できる場合、BEKS方式は外部匿名性を持つと言える。
【0047】
【数6】
【0048】
[放送型検索可能暗号システムの構成]
図1を参照し、実施形態に係る放送型検索可能暗号システム1の構成について説明する。
図1に示すように、放送型検索可能暗号システム1は、2レベル階層型匿名IBE及びCS法を用いたものであり、鍵生成装置2と、暗号文生成装置3と、受信装置4と、検索装置5とを備える。
【0049】
例えば、放送型検索可能暗号システム1では、有線又は無線の通信回線を介して、鍵生成装置2、暗号文生成装置3、受信装置4及び検索装置5が接続されていることとする。
【0050】
鍵生成装置2は、後記するBEKS.Setupアルゴリズムを実行することで、マスター公開鍵MPK及び受信者毎に固有の秘密鍵を生成する鍵生成手段20を備える。例えば、鍵生成装置2は、信頼できる第三者機関が管理する。
【0051】
マスター公開鍵MPKは、放送型検索可能暗号システム1で共通の公開鍵であり、放送型検索可能暗号システム1の各装置に予め配布しておく。秘密鍵は、受信者毎に固有の秘密鍵であり、各受信装置4に予め配布しておく。マスター公開鍵及び秘密鍵を配布する手法は、ネットワーク、データ放送、オフラインなど特に制限されない。
【0052】
暗号文生成装置3は、後記するBEKS.Encアルゴリズムを実行することで、キーワード候補及び受信者集合が関連するコンテンツの暗号文を生成する暗号化手段30を備える。例えば、暗号文生成装置3は、コンテンツの制作者が管理するので、1台以上備えられる。また、コンテンツとしては、各受信者が視聴する番組があげられ、その内容は特に制限されない。そして、暗号文生成装置3は、生成したコンテンツの暗号文を検索装置5に出力する。
【0053】
受信装置4は、後記するBEKS.Trapdoorアルゴリズムを実行することで、受信者集合及び検索キーワードを含むトラップドアを生成するトラップドア生成手段40を備える。なお、検索キーワードとは、コンテンツを検索するために受信者が指定したキーワードのことである。例えば、受信装置4は、視聴者の自宅に備えられた放送受信装置であり、1台以上備えられる。そして、受信装置4は、生成したトラップドアを検索装置5に出力する。
また、受信装置4は、受信者毎に固有の秘密鍵を用いて、検索装置5から受信したコンテンツの暗号文を復号する。
【0054】
検索装置5は、後記するBEKS.Testアルゴリズムを実行する検索手段50を備える。例えば、検索装置5は、クラウドサーバである。そして、検索手段50は、検索キーワード及びキーワード候補が一致し、かつ、受信者が受信者集合に含まれるとき、コンテンツの暗号文を受信装置4に送信する。なお、キーワード候補とは、検索対象となるキーワードのことであり、例えば、コンテンツの制作者が予め設定する。
【0055】
[放送型検索可能暗号システムで実行するBEKS]
以下で説明するように、BEKS方式の各アルゴリズムには、HIBE方式の5つのアルゴリズム及びCS法が含まれている。具体的には、1階層目を参考文献2に記載のIBE方式からの放送型暗号の一般的構成とし、2階層目を参考文献3に記載のIBE方式からのPEKSの一般的構成としたHIBEとする。
【0056】
参考文献2:Nelly Fazio and Irippuge Milinda Perera. Outsider-anonymous broadcast encryption with sublinear ciphertexts. In Public Key Cryptography,pages 225-242, 2012.
参考文献3:Dan Boneh, Giovanni Di Crescenzo, Rafail Ostrovsky, and Giuseppe
Persiano. Public key encryption with keyword search. In EUROCRYPT,pages 506-522, 2004.
【0057】
単に参考文献2,3の手法を組み合わせただけでは、放送型検索暗号の安全性が保証されないため、放送型検索可能暗号システム1では、IBE方式ではなく階層型IBE方式を用いる。具体的に、放送型検索可能暗号システム1は、ノード及びキーワード候補という2階層のパラメータでHIBE.Encアルゴリズムを実行する。以下、放送型検索可能暗号システム1で実行するBEKSの各アルゴリズムを詳細に説明する。
【0058】
<BEKS.Setupアルゴリズム>
鍵生成手段20は、所定のセキュリティパラメータを入力とし、HIBE.Setupアルゴリズム及びHIBE.KeyGenアルゴリズムが含まれるBEKS.Setupアルゴリズムを実行することで、マスター公開鍵及び秘密鍵を生成する。鍵生成手段20が実行するBEKS.Setupアルゴリズムは、以下の通りである。
【0059】
BEKS.Setup(1λ,N):(MPK´,MSK)←HIBE.Setup(1λ)を実行する。j=1,…Nに対し、Path(j)={x´,…,x´}とする。ここで、hは、BT(Binary Tree)の深さ、x1=rootである。
【0060】
k=1,…,hに対し、秘密鍵sk(j) ←HIBE.KeyGen(MSK,x´)を実行する。マスター公開鍵MPK=(MPK´,N)と秘密鍵{skR[j]j∈[1,N]を生成する。ここで、skR[j]={sk(j) k=[1,h]であり、KWspace=IDspaceとする。
【0061】
<BEKS.Encアルゴリズム>
暗号化手段30は、マスター公開鍵を入力とし、CS法のノードとキーワード候補とをパラメータとするHIBE.Encアルゴリズムが含まれるBEKS.Encアルゴリズムを実行することで、キーワード候補及び受信者集合が関連するコンテンツの暗号文を生成する。このとき、暗号化手段30は、CS法により、ノードとしての受信装置4を二分木(BT:Binary Tree)で配置する。暗号化手段30が実行するBEKS.Encアルゴリズムは、以下の通りである。
【0062】
BEKS.Enc(MPK,S,kw):マスター公開鍵MPK=(MPK´,N)と展開する。以下の式(7)で定義されるRSetを指定し、cover←CompSubTree(BT,Rset)を実行する。ここで、cover={x,…,x}とおく。
【0063】
【数7】
【0064】
j=1,…,lに対し、暗号文ctHIBE,j←HIBE.Enc(MPK´,(x,kw),0λ)を実行する。このように、HIBE.Encアルゴリズムでは、ノードx及びキーワード(キーワード候補)kwという2階層のパラメータ(x,kw)を用いて、弱ロバスト性を実現している。j=l+1,…,Lに対し、M~←{0,1}λを選び、ctHIBE,j←HIBE.Enc(MPK´,(dummy,dummy´),M~)を実行する。暗号文ctBEKS={ctHIBE,π(j)j∈[1,L]を生成する。ここで、π:{1,…,L}→{1,…,L}はランダム置換である。
【0065】
<BEKS.Trapdoorアルゴリズム>
トラップドア生成手段40は、マスター公開鍵及び秘密鍵を入力とし、HIBE.KeyDerアルゴリズムが含まれるBEKS.Trapdoorアルゴリズムを実行することで、受信者集合及び検索キーワードを含むトラップドアを生成する。トラップドア生成手段40が実行するBEKS.Trapdoorアルゴリズムは、以下の通りである。
【0066】
BEKS.Trapdoor(MPK,sk,kw´):マスター公開鍵MPK=(MPK´,N)と展開する。kw´が検索キーワードを表す。受信者は葉ノードiに割り当てられているものと仮定し、sk=skR[i]とする。秘密鍵skR[i]={sk[i] k∈[1,h]と展開する。k=1,…,hに対し、秘密鍵sk[i] k,kw´←HIBE.KeyDer(MPK´,sk[i] ,kw´)を実行する。トラップドアtdR,kw´={sk[i] k∈[1,h]を生成する。
【0067】
<BEKS.Testアルゴリズム>
検索手段50は、マスター公開鍵とトラップドアとを入力とし、HIBE.Decアルゴリズムが含まれるBEKS.Testアルゴリズムを実行する。そして、検索手段50は、その実行結果が予め設定した値になるか否かで検索キーワード及びキーワード候補が一致するか否かを判定する。例えば、BEKS.Testアルゴリズムの実行結果は、1が正常を表し、0が異常を表す。この場合、検索手段50は、その実行結果が1の場合、検索キーワード及びキーワード候補が一致したと判定し、その実行結果が0の場合、検索キーワード及びキーワード候補が一致しないと判定する。さらに、検索手段50は、検索キーワード及びキーワード候補が一致し、かつ、受信者が受信者集合に含まれるとき、コンテンツの暗号文を受信装置4に送信する。検索手段50が実行するBEKS.Testアルゴリズムは、以下の通りである。
【0068】
BEKS.Test(MPK,ctBEKS,tdR,kw´):マスター公開鍵MPK=(MPK´,N),暗号文ctBEKS={ctHIBE,jj∈[1,L],トラップドアtdR,kw´={skkw´k∈[1,h]と展開する。続いて、以下のループ処理を実行する。
【0069】
For k=1 to h,For j=1 to L
M←HIBE.Dec(MPK´,ctHIBE,j,skkw´)を実行する。
もし、M=0λの場合、1を出力する。もし、j=Lの場合、ループ処理を終了する。それ以外の場合、j←j+1とする。
k=hの場合、0を出力する。それ以外の場合、k←k+1とする。
なお、2つのFor文は、ループ処理が入れ子になっていることを表す。
【0070】
なお、コンテンツが暗号化され、jに応じてコンテンツが異なる場合のように、0λ←HIBE.Dec(MPK´,ctHIBE,j,skkw´)を満たす唯一のjを見つける必要がある場合がある。この場合、2つ以上の暗号文で0λが出力された場合、BEKS.Testで0を出力すればよい。
【0071】
以下で説明するように、HIBE方式がanon―CPA安全なとき、このBEKS方式は外部匿名性を持つ。(kw ,kw ,S ,S)を攻撃者が宣言したチャレンジキーワードと受信者集合とする。Rをチャレンジ暗号文における削除ユーザ数、すなわち、R=N―|S |(b∈{0,1})と定義する。また、Lを以下の式(8)で定義する。
【0072】
【数8】
【0073】
b∈{0,1}に対し、前記式(7)とcover←CompSubTree(BT,Rset)で得られるcoverをcover={x(b) ,…,x(b) lb}と表記する。以下、基本的には、Fazio-Pereraの安全性証明と同じ流れである。HIBE暗号文のそれぞれに対し、HIBE方式のAnon―CPA安全性を用いて、ctHIBE,j←HIBE.Enc(MPK´,(x(0) ,kw ),0λ)の(x(0) ,kw )を(x(1) ,kw )に置き換えていくことで、kw 及びS を用いて生成した暗号文と、kw 及びS を用いて生成した暗号文とが識別不可能であることを示せばよい。
【0074】
<HIBEにおける弱ロバスト性>
鍵生成手段20は、マスター公開鍵MPKに含めるランダムな値Kのサイズをセキュリティパラメータλの6.3倍に設定する。
【0075】
IBEに対し、ランダムな値Kを選び、マスター公開鍵MPKに含め、平文Mの暗号化時にはM||Kを暗号化、復号時にKが得られない場合に⊥を出力し、復号時にKが得られる場合に平文Mを出力することで、弱ロバスト性を満たす。このとき、ランダムな値KのサイズがIDのサイズよりも十分に大きいことが要請されている。正確には、以下の式(9)が成り立つ。ここで、Bは、Anon―CPA安全性の攻撃者、tは弱ロバスト性の攻撃者Aの動作時間である。
【0076】
【数9】
【0077】
具体的なパラメータとして、|ID|=256及びt≦2128と仮定したとき、|K|=768に設定すると、以下の式(10)が成立すると考えられるので、K=6λと設定する。
【0078】
【数10】
【0079】
なお、検索可能暗号の文脈では、キーワード空間が小さいと仮定できるので、2階層目のID空間を小さくすることができる。例えば、“Oxford English Dictionary(the second edition of the 20-volume)”に含まれる単語数は、171,476である。この辞書からキーワードが選択されると仮定した場合、218=262,144で十分である。そこで、|KWspace|≒λ/7と設定できるので、|K|を(4+2/7+1+1)λ≒6.3λと評価できる。従って、鍵生成手段20は、マスター公開鍵MPKに含めるランダムな値Kのサイズをセキュリティパラメータλの6.3倍に設定すればよい。
【0080】
[放送型検索可能暗号システムの動作]
図2を参照し、放送型検索可能暗号システム1の動作について説明する。
図2に示すように、ステップS1において、鍵生成装置2は、BEKS.Setupアルゴリズムを実行することで、マスター公開鍵及び秘密鍵を生成する。
【0081】
ステップS2において、鍵生成装置2は、マスター公開鍵を暗号文生成装置3に配布する。
ステップS3において、鍵生成装置2は、マスター公開鍵を検索装置5に配布する。
ステップS4において、鍵生成装置2は、マスター公開鍵及び秘密鍵を受信装置4に配布する。
【0082】
ステップS5において、暗号文生成装置3は、BEKS.Encアルゴリズムを実行することで、キーワード候補kw及びコンテンツの暗号文を生成する。
ステップS6において、暗号文生成装置3は、生成した暗号文を検索装置5に送信する。
【0083】
ステップS7において、受信装置4は、BEKS.Trapdoorアルゴリズムを実行することで、トラップドアを生成する。
ステップS8において、受信装置4は、生成したトラップドアを検索装置5に送信する。
【0084】
ステップS9において、検索装置5は、BEKS.Testアルゴリズムを実行する。
ステップS10において、検索装置5は、ステップS9の実行結果が予め設定した値になるか否かで検索キーワード及びキーワード候補が一致するか否かを判定する。そして、検索装置5は、検索キーワード及びキーワード候補が一致し、かつ、受信者が受信者集合に含まれるとき、復号したコンテンツの暗号文を受信装置4に送信する。
【0085】
[効果]
単に参考文献2,3の手法を組み合わせただけでは、放送型検索暗号の安全性が保証されないため、放送型検索可能暗号システム1では、IBE方式ではなく階層型IBE方式を用いる。具体的に、放送型検索可能暗号システム1は、ノード及びキーワード候補という2階層のパラメータでHIBE.Encアルゴリズムを実行する。これにより、放送型検索可能暗号システム1は、受信者匿名性を満たすので受信者のプライバシーを保護できる。さらに、放送型検索可能暗号システム1は、受信者数の線形サイズであった暗号文長を受信者数のlogサイズに短くできるので、データ量を削減できる。このように、放送型検索可能暗号システム1は、暗号化したコンテンツ(例えば、番組)を安全に管理しつつ、受信者の好みに沿った番組視聴が可能となる。
【0086】
以上、実施形態を詳述してきたが、本発明は前記した実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、前記した実施形態では、鍵生成装置及び暗号文生成装置を別々のものとして説明したが、鍵生成装置及び暗号文生成装置を一体化してもよい。
【符号の説明】
【0087】
1 放送型検索可能暗号システム
2 鍵生成装置
3 暗号文生成装置
4 受信装置
5 検索装置
20 鍵生成手段
30 暗号化手段
40 トラップドア生成手段
50 検索手段
図1
図2