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

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

▶ エヌティーティー リサーチ インコーポレイテッドの特許一覧

特表2024-526070資源利用を改善したブロードキャスト暗号化
<>
  • 特表-資源利用を改善したブロードキャスト暗号化 図1
  • 特表-資源利用を改善したブロードキャスト暗号化 図2
  • 特表-資源利用を改善したブロードキャスト暗号化 図3
  • 特表-資源利用を改善したブロードキャスト暗号化 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-17
(54)【発明の名称】資源利用を改善したブロードキャスト暗号化
(51)【国際特許分類】
   H04L 9/08 20060101AFI20240709BHJP
   H04L 9/30 20060101ALI20240709BHJP
【FI】
H04L9/08 D
H04L9/30 Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023575693
(86)(22)【出願日】2022-06-17
(85)【翻訳文提出日】2023-12-07
(86)【国際出願番号】 US2022034089
(87)【国際公開番号】W WO2022266502
(87)【国際公開日】2022-12-22
(31)【優先権主張番号】63/212,633
(32)【優先日】2021-06-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
(71)【出願人】
【識別番号】523112138
【氏名又は名称】エヌティーティー リサーチ インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ウィ ホウテック
(57)【要約】
ブロードキャスト・ネットワークは、O(N1/3)のサイズのパラメータを有するN人のユーザーについてペアリング・ベースのブロードキャスト暗号化スキームを使用することができる。次数3の多項式のクラスのためのペアリング・ベースの暗号文規定型の属性ベース暗号(CP-ABE)スキームは、コンパクトなパラメータで実装されうる。公開鍵、暗号文、および秘密鍵は、O(n)の群要素を含み、ここでnは関数の入力長である。この構成は、無制限結託に対する適応安全性を達成し、素数位数双線形群における(バイラテラル)k-Lin仮定に依拠する。
【特許請求の範囲】
【請求項1】
ブロードキャスト・ネットワークを通じて複数の受信者に送信するためのメッセージを暗号文として暗号化するための方法であって、当該方法は:
ブロードキャスト・モジュールにおいて、認可受信者集合Sを受信するステップであって、該認可受信者集合はブロードキャスト・メッセージを復元する許可をもつ受信者の集合を識別し、Sは、{1,2,…,N}の部分集合であり、nは、n3≧Nとなるような整数であり、Nは、前記メッセージの可能な受信者の総数である、ステップと;
公開鍵mpkを権限機関において生成するステップであって、前記公開鍵mpkは、第1のソース群におけるn個のランダムな群要素の3つのベクトル[v]1、[w1]1、および[w2]1と、前記第1のソース群におけるランダムな群要素[v0]1とターゲット群におけるランダムな群要素[α]Tとを含む、ステップと;
前記ブロードキャスト・モジュールにおいて、前記権限機関から前記公開鍵mpkを受信するステップと;
暗号化のためにメッセージMを受領または作成するステップと;
前記認可受信者集合Sを次数3の多項式としてエンコードするステップであって、前記次数3の多項式は、前記受信者集合Sの特性ベクトルに等しい係数ベクトルfを有し、前記ベクトルfは長さn3を有する、ステップと;
前記公開鍵mpkからのn個の群要素のベクトル[w2]1を使用し、モジュロpのn個の整数のランダム・ベクトルw3をサンプリングすることによってn個の群要素のダイジェストをもたらし、前記ベクトルfを暗号学的に圧縮するステップと;
(a)ランダム・スカラーsをサンプリングし、
(b)前記ランダム・スカラーsに前記ダイジェスト、前記ベクトルw3、および前記公開鍵mpkを乗算し、
(c)該乗算の出力を連結して暗号文を形成することによって、
メッセージMの暗号文を生成するステップと;
前記暗号文を前記集合Sにおいて識別される前記認可受信者に送信するステップとを含む、
方法。
【請求項2】
前記暗号文を生成することは:
【数1】

ことによる、請求項1に記載の方法。
【請求項3】
受信者によって暗号文を解読してブロードキャスト・メッセージを復元するための命令を実行することをさらに含み、前記命令は:
受信機モジュールにおいて、リモート・ブロードキャスト・モジュールからブロードキャスト・ネットワークを通じて、暗号文および認可受信者集合を受信するステップであって、前記暗号文は、ダイジェストをさらに含み、前記ダイジェストは、多項式に関する情報をさらに含む、ステップと;
リモート権限機関モジュールから鍵を受信するステップであって、前記鍵は、群要素を含む、ステップと;
前記受信者が認可された受信者の集合の中にあるかどうかをチェックするステップと;
受信者集合Sの特性ベクトルに等しい係数ベクトルfを有する前記次数3の多項式を計算するステップであって、該次数3の多項式は、前記受信者集合Sの特性ベクトルに等しい係数ベクトルfを有し、該ベクトルfは、長さn3を有する、ステップと;
ペアリング・アルゴリズムにおいて前記群要素を使用して前記ダイジェストを用いて前記多項式を評価することによって前記ブロードキャスト・メッセージを復元するステップと;
前記受信機モジュールにおけるさらなる処理のために、復元されたブロードキャスト・メッセージを記憶するステップとを実行するために構成されている、
請求項1に記載の方法。
【請求項4】
ブロードキャスト・ネットワークを通じて複数の受信者に送信するためのメッセージを暗号文として暗号化するためのシステムであって、当該システムは:
有線または無線ネットワークを通じて通信するように構成されたネットワーク通信インターフェースと;
前記ネットワーク通信インターフェースに結合された処理回路とを有しており、前記処理回路は:
ブロードキャスト・モジュールにおいて、認可受信者集合Sを受信するステップであって、該認可受信者集合はブロードキャスト・メッセージを復元する許可をもつ受信者の集合を識別し、Sは、{1,2,…,N}の部分集合であり、nは、n3≧Nとなるような整数であり、Nは、前記メッセージの可能な受信者の総数である、ステップと;
公開鍵mpkを権限機関において生成するステップであって、前記公開鍵mpkは、第1のソース群におけるn個のランダムな群要素の3つのベクトル[v]1、[w1]1、および[w2]1と、前記第1のソース群におけるランダムな群要素[v0]1とターゲット群におけるランダムな群要素[α]Tとを含む、ステップと;
前記ブロードキャスト・モジュールにおいて、前記権限機関から前記公開鍵mpkを受信するステップと;
暗号化のためにメッセージMを受領または作成するステップと;
前記認可受信者集合Sを次数3の多項式としてエンコードするステップであって、前記次数3の多項式は、前記受信者集合Sの特性ベクトルに等しい係数ベクトルfを有し、前記ベクトルfは長さn3を有する、ステップと;
前記公開鍵mpkからのn個の群要素のベクトル[w2]1を使用し、モジュロpのn個の整数のランダム・ベクトルw3をサンプリングすることによってn個の群要素のダイジェストをもたらし、前記ベクトルfを暗号学的に圧縮するステップと;
(a)ランダム・スカラーsをサンプリングし、
(b)前記ランダム・スカラーsに前記ダイジェスト、前記ベクトルw3、および前記公開鍵mpkを乗算し、
(c)該乗算の出力を連結して暗号文を形成することによって、
メッセージMの暗号文を生成するステップと;
前記暗号文を前記集合Sにおいて識別される前記認可受信者に送信するステップとを実行するように構成されている、
システム。
【請求項5】
前記暗号文を生成することは:
【数2】

ことによる、請求項4に記載のシステム。
【請求項6】
受信者によって暗号文を解読してブロードキャスト・メッセージを復元するための命令を実行することをさらに含み、前記命令は:
受信機モジュールにおいて、リモート・ブロードキャスト・モジュールからブロードキャスト・ネットワークを通じて、暗号文および認可受信者集合を受信するステップであって、前記暗号文は、ダイジェストをさらに含み、前記ダイジェストは、多項式に関する情報をさらに含む、ステップと;
リモート権限機関モジュールから鍵を受信するステップであって、前記鍵は、群要素を含む、ステップと;
前記受信者が認可された受信者の集合の中にあるかどうかをチェックするステップと;
受信者集合Sの特性ベクトルに等しい係数ベクトルfを有する前記次数3の多項式を計算するステップであって、該次数3の多項式は、前記受信者集合Sの特性ベクトルに等しい係数ベクトルfを有し、該ベクトルfは、長さn3を有する、ステップと;
ペアリング・アルゴリズムにおいて前記群要素を使用して前記ダイジェストを用いて前記多項式を評価することによって前記ブロードキャスト・メッセージを復元するステップと;
前記受信機モジュールにおけるさらなる処理のために、復元されたブロードキャスト・メッセージを記憶するステップとを実行するために構成されている、
請求項4に記載のシステム。
【請求項7】
一つまたは複数のプロセッサによって実行されたときに、ブロードキャスト・ネットワークを通じて複数の受信者に送信するためのメッセージを暗号文として暗号化するための命令を実行するよう前記一つまたは複数のプロセッサを構成するコンピュータ実行可能命令を記憶しているコンピュータ可読記憶媒体であって、前記命令は:
ブロードキャスト・モジュールにおいて、認可受信者集合Sを受信するステップであって、該認可受信者集合はブロードキャスト・メッセージを復元する許可をもつ受信者の集合を識別し、Sは、{1,2,…,N}の部分集合であり、nは、n3≧Nとなるような整数であり、Nは、前記メッセージの可能な受信者の総数である、ステップと;
公開鍵mpkを権限機関において生成するステップであって、前記公開鍵mpkは、第1のソース群におけるn個のランダムな群要素の3つのベクトル[v]1、[w1]1、および[w2]1と、前記第1のソース群におけるランダムな群要素[v0]1とターゲット群におけるランダムな群要素[α]Tとを含む、ステップと;
前記ブロードキャスト・モジュールにおいて、前記権限機関から前記公開鍵mpkを受信するステップと;
暗号化のためにメッセージMを受領または作成するステップと;
前記認可受信者集合Sを次数3の多項式としてエンコードするステップであって、前記次数3の多項式は、前記受信者集合Sの特性ベクトルに等しい係数ベクトルfを有し、前記ベクトルfは長さn3を有する、ステップと;
前記公開鍵mpkからのn個の群要素のベクトル[w2]1を使用し、モジュロpのn個の整数のランダム・ベクトルw3をサンプリングすることによってn個の群要素のダイジェストをもたらし、前記ベクトルfを暗号学的に圧縮するステップと;
(a)ランダム・スカラーsをサンプリングし、
(b)前記ランダム・スカラーsに前記ダイジェスト、前記ベクトルw3、および前記公開鍵mpkを乗算し、
(c)該乗算の出力を連結して暗号文を形成することによって、
メッセージMの暗号文を生成するステップと;
前記暗号文を前記集合Sにおいて識別される前記認可受信者に送信するステップとを含む、
コンピュータ可読記憶媒体。
【請求項8】
前記暗号文を生成することは:
【数3】

ことによる、請求項7に記載のコンピュータ可読記憶媒体。
【請求項9】
受信者によって暗号文を解読してブロードキャスト・メッセージを復元するための命令を実行することをさらに含み、前記命令は:
受信機モジュールにおいて、リモート・ブロードキャスト・モジュールからブロードキャスト・ネットワークを通じて、暗号文および認可受信者集合を受信するステップであって、前記暗号文は、ダイジェストをさらに含み、前記ダイジェストは、多項式に関する情報をさらに含む、ステップと;
リモート権限機関モジュールから鍵を受信するステップであって、前記鍵は、群要素を含む、ステップと;
前記受信者が認可された受信者の集合の中にあるかどうかをチェックするステップと;
受信者集合Sの特性ベクトルに等しい係数ベクトルfを有する前記次数3の多項式を計算するステップであって、該次数3の多項式は、前記受信者集合Sの特性ベクトルに等しい係数ベクトルfを有し、該ベクトルfは、長さn3を有する、ステップと;
ペアリング・アルゴリズムにおいて前記群要素を使用して前記ダイジェストを用いて前記多項式を評価することによって前記ブロードキャスト・メッセージを復元するステップと;
前記受信機モジュールにおけるさらなる処理のために、復元されたブロードキャスト・メッセージを記憶するステップとを実行するために構成されている、
請求項7に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、無制限結託(unbounded collusions)に対する適応安全性を達成する、O(N1/3)サイズのパラメータをもつペアリング・ベースのブロードキャスト暗号化スキームに関する。
【背景技術】
【0002】
暗号文規定型の属性ベース暗号(ciphertext-policy attribute-based encryption、CP-ABE)では、暗号文ctは述語fおよびメッセージmと、鍵skは属性xと関連付けられ、解読は、xがfを満たすときにmを返す。ブロードキャスト暗号化は、述語が集合S⊆[N]によって指定され、解読がx∈Sのときにmを返すという、CP-ABEの特殊なケースである。いずれの場合においても、暗号文のほか、任意の数の属性x1、x2、…についての秘密鍵を見る敵対者でも、これらの属性にfを満たすものがない限り、mについて何も知ることがないという、無制限結託に対する安全性を必要とする。
【0003】
ブロードキャスト暗号化は、1990年代に導入されて以来、活発な研究分野であり、主な目標は、短いパラメータ、特に短い暗号文ctおよび短い公開鍵mpkをもつスキームを得ることである。従来の研究は、一定サイズの暗号文(集合Sからの寄与を無視する)および秘密鍵を用いるペアリング・ベースのブロードキャスト暗号化スキームを含むが、このスキームは、ユーザーの総数Nに対して線形である大きな公開鍵mpkを有し、さらに、解読はmpkへのアクセスを必要とする。これらの欠点に対処するために、O(√N)のサイズの暗号文を代償として、O(√N)のサイズの公開鍵を達成するようにスキームを修正することができる。さらなる研究は、標準的なk-Lin仮定の下でO(√N)のサイズのパラメータ(すなわち、|mpk|+|ct|+|sk|=O(√N))をどのように達成し、qタイプの仮定を改善し、一方で選択安全性から適応安全性へと安全性保証をさらに強化するかを示した。
【0004】
他の従来の研究は、ペアリングおよびLWEからpoly(logN)のサイズのパラメータを用いるブロードキャスト暗号化スキームを構築した。それにもかかわらず、以下の基本的な問題が未解決のままである。o(√N)のサイズのパラメータ(すなわち、|mpk|+|ct|+|sk|=o(√N))を用いるブロードキャスト暗号化スキームを、ペアリング(だけ)から構築できるか。
【0005】
ペアリング・ベースのブロードキャスト暗号化のための従来の手法は、|ct|・max{|sk|,|mpk|}=Ω(N)を必要とし、これは、パラメータ・サイズに対するΩ(√N)の限界を含意する。さらに、これは、ペアリング・ベースのブロードキャスト暗号化のための手法の大きなクラスのために本質的に最適であり、√Nの壁を破ることが実質的に新しい発想を必要とすることを示す。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、ブロードキャスト暗号化、ならびに属性ベースの暗号化スキームに関する。
【課題を解決するための手段】
【0007】
本発明は、長年の√Nの壁を破る、O(N1/3)のサイズのパラメータをもつペアリング・ベースのブロードキャスト暗号化スキームを含む。このブロードキャスト暗号化スキームは、無制限結託に対する適応安全性を達成し、素数位数の双線形群におけるバイラテラルk-Lin仮定に依拠する。さらに、この構築は、暗号文サイズと鍵サイズとの間のある範囲のトレードオフを提供する。この研究以前には、qタイプの仮定または一般的な双線形群を用いても、選択安全性を有するo(√N)サイズのパラメータをどのように達成するかは知られていなかった。
【0008】
より一般的には、本発明は、{0,1}n(より一般的にはZp n)上での次数3の多項式についてのCP-ABEを含む。ここで、公開鍵、暗号文、および秘密鍵は、O(n)個の群要素を含み、このスキームはまた、バイラテラルk-Lin仮定の下で、無制限結託に対する適応安全性をも達成する。すると、本ブロードキャスト暗号化スキームは、直接の系として導かれる。S∈[N]における集合メンバーシップは、{0,1}O(N^(1/3))上の次数3の多項式としてエンコードできるからである。この研究の前には、ペアリングからのO(n)のサイズのパラメータをもつCP-ABEスキームは、次数2の多項式のクラスについてのみ知られていた。
【0009】
本発明のスキームの設計は、「二次再構成(quadratic reconstruction)」のパワーを利用するという点で、既存のペアリング・ベースのABEスキームからかなり大きく逸脱する。この発想は、O(N1/3)のサイズのパラメータをもつ(形式的には、インデックスのための条件付き秘密開示(conditional disclosure of secrets、CDS)という)ブロードキャスト構築の情報理論的な秘密鍵対応物を構築するために以前に使用された。しかしながら、このスキームは、標数2の体上でのみ機能し、それは「指数における」双線形群演算とは両立しない。その代わりに、本発明は、次数2の多項式についての関数暗号化(functional encryption)を参照して二次再構成をインスタンス化するための新しい技法を提供する。
【0010】
さまざまな実施形態において、コンピュータ実装される方法、コンピューティングデバイス、およびコンピュータ可読記憶媒体が開示される。ブロードキャスト・ネットワークを通じて複数の受信者に送信するためのメッセージを暗号文として暗号化するための1つの例示的な実施形態では、コンピュータ実装される方法、コンピューティングデバイス、およびコンピュータ可読記憶媒体は、ブロードキャスト・モジュールにおいて、認可受信者集合Sを受信するステップであって、該認可受信者集合はブロードキャスト・メッセージを復元する許可をもつ受信者の集合を識別し、Sは、{1,2,…,N}の部分集合であり、nは、n3≧Nとなるような整数であり、Nは、メッセージの可能な受信者の総数である、ステップと;公開鍵mpkを権限機関(authority)において生成するステップであって、前記公開鍵mpkは、第1のソース群内のn個のランダムな群要素の3つのベクトル[v]1、[w1]1、および[w2]1と、前記第1のソース群内のランダムな群要素[v0]1とターゲット群内のランダムな群要素[α]Tとを含む、ステップと;前記ブロードキャスト・モジュールにおいて、前記権限機関から前記公開鍵mpkを受信するステップと;暗号化のためにメッセージMを受領または作成するステップと;前記認可受信者集合Sを次数3の多項式としてエンコードするステップであって、前記次数3の多項式は、前記受信者集合Sの特性ベクトルに等しい係数ベクトルfを有し、前記ベクトルfは長さn3を有する、ステップと;前記公開鍵mpkからのn個の群要素のベクトル[w2]1を使用し、モジュロpのn個の整数のランダム・ベクトルw3をサンプリングすることによってn個の群要素のダイジェストをもたらし、前記ベクトルfを暗号学的に圧縮するステップと;ランダム・スカラーsをサンプリングし、前記ランダム・スカラーsに前記ダイジェスト、前記ベクトルw3、および前記公開鍵mpkを乗算し、該乗算の出力を連結して暗号文を形成することによって、メッセージMの暗号文を生成するステップと;前記暗号文を前記集合Sにおいて識別される前記認可受信者に送信するステップとを含む。
【0011】
さらなる実施形態は、前記暗号文を
【数1】

ことによって生成することを含むことができる。
【0012】
さらなる実施形態は、受信者によって暗号文を解読してブロードキャスト・メッセージを復元するための命令を含むことができる。該解読は、受信機モジュールにおいて、リモート・ブロードキャスト・モジュールからブロードキャスト・ネットワークを通じて、暗号文および認可受信者集合を受信するステップであって、前記暗号文は、ダイジェストをさらに含み、前記ダイジェストは、多項式に関する情報をさらに含む、ステップと;リモート権限機関モジュールから鍵を受信するステップであって、前記鍵は、群要素を含む、ステップと;前記受信者が認可された受信者の集合内にあるかどうかをチェックするステップと;受信者集合Sの特性ベクトルに等しい係数ベクトルfを有する前記次数3の多項式を計算するステップであって、該次数3の多項式は、前記受信者集合Sの特性ベクトルに等しい係数ベクトルfを有し、該ベクトルfは、長さn3を有する、ステップと;ペアリング・アルゴリズムにおいて群要素を使用して前記ダイジェストを用いて前記多項式を評価することによって前記ブロードキャスト・メッセージを復元するステップと;前記受信機モジュールにおけるさらなる処理のために、復元されたブロードキャスト・メッセージを記憶するステップとを含む。
【図面の簡単な説明】
【0013】
さらなる理解を提供するために含められる添付の図面は、本明細書に組み込まれてその一部を構成し、開示された実施形態を例解し、本稿と一緒になって、開示された実施形態の原理を説明する役割を果たす。
図1】さまざまな実施形態での使用に適したマルチメディア通信システムを示すブロック図である。
図2】特許請求されるブロードキャスト暗号化スキームのための例示的なコンピュータ実装される方法を示す。
図3】特許請求されるシステムおよび方法を実装するための例示的なコンピュータシステムアーキテクチャーを示す。
図4】特許請求されるシステムおよび方法を実装するための例示的なコンピュータシステムアーキテクチャーのさらなる詳細を示す。
【発明を実施するための形態】
【0014】
技術的概観
我々の構築の概観がここで開示される。
【数2】

によって与えられるZp n×Zp n×Zp n上の次数3の多項式についてのCP-ABEスキームに焦点を当てる。全体を通して、行ベクトルを示すために太字の小文字を使用する〔便宜上、太字は割愛することもある〕。我々のCP-ABEスキームでは、
・暗号化は、入力としてf∈Zp n^3およびメッセージMを取り、暗号文ctを出力する;
・鍵生成は、入力としてx1,x2,x3∈Zp nを取り、鍵skを出力する;
・解読は、入力としてct、skをf、x1、x2、x3とともに取り、
【数3】

のとき常にMを出力する。
【0015】
我々は、素数位数pの非対称双線形群
【数4】

に依拠する。それぞれの群における成分ごとの冪乗(exponentiation)を示すために[・]1、[・]2、[・]Tを使う。G1におけるk-Lin仮定は
【数5】

を主張する。本研究で使用されるバイラテラル(bilateral)k-Lin仮定は
【数6】

を主張し、G2におけるk-Lin仮定の強化である。対称双線形群では、バイラテラルk-Linおよび標準k-Lin仮定は等価である。1-Lin=DDH/SXDHであり、対称双線形群においてDDHが偽であるのと同じ理由で、バイラテラル1-Linは偽であることに留意されたい。我々は、k-Lin仮定およびバイラテラルk'-Lin仮定に基づいて、本発明の構築を説明し、最適な具体的効率性のためにk=1、k'=2とおく。
【0016】
テンソル積を広範に使用する。これは、本発明のスキームのよりコンパクトな記述を可能にし、次数3の多項式を計算するための3重の総和を回避する。さらに、本発明のスキームがますます複雑になるにつれて、スカラーをベクトルで置き換え、その際に、いくつかのスカラー‐ベクトル積は、自然に、2つのベクトルのテンソル積に移行し、いくつかの他のものは、ベクトル‐行列積に移行する。
【0017】
ロードマップ
ここでは、次数3の多項式についての2つの候補CP-ABEスキームが記述される。
・第1のものは
|mpk|=O(n2)、|ct|=O(n)、|sk|=O(n)
を達成する。これに対し、次数2の多項式に基づく従来の構築は、|ct|=O(n2)または|sk|=O(n2)を必要とする。
・第2のものは、第1のもので|mpk|=O(n)とした変形であり、よって、O(n)のサイズのパラメータを達成する。
【0018】
以下では、バイk-Lin仮定の下でO(n)のサイズのパラメータならびに適応安全性を達成する、本発明の最終的なCP-ABEスキームを得るために、この第2の候補をどのように修正するかについて説明する。
【0019】
次数2の多項式についてのCP-ABE
【数7】

によって与えられるZp n×Zp n上の次数2の多項式のクラスについてのCP-ABEスキームの簡略化された変形が開示される。
【数8】

このスキームは、
|mpk|=O(n)、|ct|=O(n)、|sk|=O(n)
を達成することに留意されたい。
【0020】
解読は下記を使用する。
【数9】
【0021】
デュアル・システム暗号化方法に従って、安全性は、単一の暗号文‐鍵対が与えられた場合にMが隠されることを示すことに要約される。特に、以下のことを示せば十分である。
【数10】

このとき、αの隠蔽は、以下の式から得られる。
【数11】
【0022】
第1の候補CP-ABE
パラメータ・サイズ
|mpk|=O(n2)、|ct|=O(n)、|sk|=O(n)
をもつ次数3の多項式について、候補CP-ABEが開示される。
【0023】
このスキームに到達するために、まず、
【数12】

暗号文サイズは不変のままであるが、秘密鍵サイズは、
【数13】

の項によりO(n2)に増大する。
【0024】
sk=O(n)を達成するために、上記の式を次式を使用して計算する
【数14】

これは、次のスキームを与える。
【数15】
【0025】
mpkの圧縮
O(n)のサイズのパラメータをもつCP-ABEスキームに到達するために、前のスキームにおけるmpkを以下のように圧縮する。すなわち、セットアップされたピックw3をもつ代わりに、暗号化器は、ランダムなw3をサンプリングする。これはmpkにおける
【数16】

をなくし、mpkをO(n)個の群要素に還元する。次に、この修正が(4)におけるctおよびskにどのように影響するかを説明する:
【数17】

これらの修正をまとめると、次の候補が得られる。
【0026】
第2の候補CP-ABE
O(n)のサイズのパラメータをもつ候補CP-ABEスキームが開示される。ここで、前のスキームに存在しない項は、網掛けされる。
【数18】
【0027】
最終的なCP-ABE
ここで、G1、G2におけるk-Lin仮定およびバイラテラルk'-Lin仮定(k≧1、k'≧2)の下で、無制限結託に対する適応安全性を達成する、次数3の多項式のクラスについての我々の最終的なCP-ABEにどのように到達するかを説明する。
【数19】

すなわち、w2、w1、v、v0のそれぞれの幅および高さを乗算因子k+1だけ増大させる。このスキームの完全な記述がここに与えられる。
【0028】
ここで、
【数20】

上の次数3の多項式のより広いクラスについて説明する。n1、n2、n3を変化させることにより、暗号文サイズと鍵のサイズとの間のトレードオフが得られる。
【0029】
記法
s←Sによって、sが有限集合Sからランダムに一様にピックされるという事実を表す。2つの分布が統計的に区別不可能であることを示すために
【数21】

を使用し、2つの分布が計算的に区別不可能であることを示すために
【数22】

を使用する。行ベクトルを表すために小文字の太字を用い、行列を表すために大文字の太字を用いる〔便宜上、太字は割愛することもある〕。任意の正の整数Nについて、{1,2,…,N}を表すために[N]を使う。
【0030】
テンソル積
【数23】
【0031】
テンソル積についての混合積性質は次のことを述べる。
【数24】
【0032】
混合積性質の有用な系は、行ベクトルの任意の対u,v∈Znについて、次のことを述べる。
【数25】
【0033】
行列乗算がテンソル積より優先するという慣用を採用する。よって、
【数26】
【0034】
素数位数の双線形群
【数27】
〔数27を近似的な記号を使ってテキストで示しておく。
生成子Gは入力として安全性パラメータ1λを取り、記述G:=(p,G1,G2,GT,e)を出力する。ここで、pはΘ(λ)ビットの素数であり、G1,G2,GTは位数pの巡回群であり、e:G1×G2→GTは非縮退の双線形マップである。G1,G2,GTにおける群演算および双線形マップeはλの決定論的多項式時間で計算可能であることを要求する。g1∈G1、g2∈G2、gT=e(g1,g2)∈GTをそれぞれの生成元とする。群要素の暗黙的表現を用いる:Zp上の行列Mについて、[M]1:=g1 M、[M]2:=g2 M、[M]T:=gT Mを定義する。ここで、累乗は成分ごとに行われる。また、[A]1、[B]2を与えられて、e([A]1,[B]2)=[AB]Tとする。〕
【0035】
G1[?]に関する行列ディフィー・ヘルマン(matrix Diffie-Hellman、MDDH)仮定を想起する:
仮定1(MDDH d k,l 仮定)〕k,l,d∈Nとする。すべてのPPT敵対者Aにとって、次のアドバンテージ関数がλにおいて無視できる場合、MDDHd k,l仮定が成り立つという。
【数28】

G2に関するMDDH仮定は、類似の仕方で定義できる。Escala et al.[?]は、タイトな安全性還元(security reduction)を用いて
k-Lin ⇒ MDDH1 k,k+1 ⇒ MDDHd k,l ∀k,d≧1,l>k
であることを示した。(l≦kという設定では、MDDHd k,l仮定は無条件に成り立つ。)
【0036】
バイラテラルMDDH仮定は、アドバンテージ関数を用いて同様に定義される。
【数29】
【0037】
k=1については、バイラテラルMDDHおよびバイラテラルk-Lin仮定は偽であることに留意されたい。開示された実施形態では、アドバンテージ関数
【数30】

を用いて定義されるような、バイラテラルMDDH仮定の、より弱い変形を必要とするだけである。
【0038】
属性ベース暗号(Attribute-Based Encryption)
属性ベース暗号を鍵カプセル化のフレームワークにおいて定義する。述語P(・,・)についての属性ベースの暗号化スキームは、4つのアルゴリズム(Setup,Enc,KeyGen,Dec)からなる。
【数31】

〔Setup(1λ,X,Y)→(pp,mpk,msk)〕セットアップ・アルゴリズムは、安全性パラメータλ、述語ドメインX,Y〔本稿では便宜上通常書体を用いることがある〕を入力として得て、公開パラメータmpkおよびマスター鍵mskを出力する。
【数32】

〔Enc(mpk,x)→(ct,K)〕暗号化アルゴリズムは入力としてmpkおよびx∈Xを得て、暗号文ctおよび対称鍵kem∈{0,1}λを出力する。
【数33】

〔KeyGen(msk,y)→sk〕鍵生成アルゴリズムは、入力としてmskおよびy∈Yを得て、秘密鍵skを出力する。
【数34】

〔Dec(sks,y,ct,x)→K〕解読アルゴリズムは、P(x,y)=1となるようなsk,ct,x,yを入力として得て、対称鍵kemを出力する。
【0039】
開示されたスキームにおいて、kem∈GTを計算することができ、それは、次いでハッシュされて{0,1}λになる。
【0040】
正確性(Correctness)
P(x,y)=1となるようなすべての(x,y)∈X×Yについて、
Pr[(ct,kem)←Enc(mpk,x);Dec(sk,y,ct,x)=kem)]=1
となることを要求する。ここで、確率は、(mpk,msk)←Setup(1λ,X,Y)およびEncのコインに対して取られる。
【0041】
安全性の定義
ステートフルな敵対者Aについて、次のアドバンテージ関数を定義する。
【数35】

ただし、AがKeyGen(msk,・)に対して行うすべてのクエリーyはP(x,y)=0を満足させるという制約がつく。属性ベースの暗号化スキームは、すべてのPPT敵対者AについてアドバンテージAdvA ABE(λ)がλの無視できる関数である場合に、適応的に安全(adaptively secure)である。
【0042】
次数3の多項式についてのCP-ABE
ここで
【数36】
【0043】
ブロードキャスト暗号化
ここで
【数37】

ここで、{0,1}Nは、[N]の冪集合(すなわち、[N]のすべての部分集合の集合)であると考えられる。
【0044】
次数3の多項式についてのCP-ABE
ここで、我々は、G1,G2におけるk-Lin仮定およびバイラテラルk'-Lin仮定の下で、無制限結託に対する次数3の多項式についての適応的に安全なCP-ABEを提示する。ここで、k≧1、k'≧2である。我々のスキームは、
【数38】

を達成する。
k=1、k'=2とおくと、次式が得られる。
【数39】
【0045】
スキーム
【数40】

【数41】

【数42】

【数43】
ここで、(i)、(ii)、(iii)、(iv)における項はペアリングを使ってGTにおいて計算される。
【0046】
サイズN 1/3 のブロードキャスト暗号化
n1n2n3≧Nの場合は常に、S⊆[N]内の集合メンバーシップの、
【数44】

上での次数3の多項式としてのフォークロア・エンコード(folklore encoding)を使って、Nパーティーについてのブロードキャスト暗号化を、次数3の多項式についてのCP-ABEとしてエンコードすることができる:
・集合S⊆[N]が与えられて、f=(f1,…,fN)∈{0,1}Nが集合Sについての特性ベクトルを表すとする(すなわち、i∈Sであるときかつそのときに限り、fi=1である);
・y∈[N]が与えられて、
【数45】

次いで、任意の0≦δ≦1/3について、n1=Nδ、n2=Nδ、n3=Nδとおくことができ、すると、
|mpk|=O(N1-2δ)、|ct|=O(Nδ)、|sk|=O(N1-2δ)
となる。
特に、δ=1/3のとき、
|mpk|=O(N1/3)、|ct|=O(N1/3)、|sk|=O(N1/3)
が達成される。
【0047】
ファイル・システム実施形態
本発明のスキームは、効率のために構成されることができる。|G1|が48バイトであり、|G2|が96バイトである一般的なBLS12-381曲線を用いて、本発明のスキームをインスタンス化することができる。暗号化されたファイル・システムにおけるファイル共有は、本発明のブロードキャスト暗号化のための用途の非限定的な例である。Windows EFSは、EFSメタデータについてのファイル・ヘッダにおいて256KBの制限を有し、最大800人の個々のユーザーをサポートする。32ビットのユーザーIDを仮定すると、4×1000+82×48=7936バイトのサイズのファイル・ヘッダ(S,ct)を用いて1000人のユーザーをサポートすることができる。ここで、各ユーザーは、67×96=6432バイトのサイズの秘密鍵を保持する。結果は、n1=20、n2=10、n3=5を設定することによって改善され、これは、4×1000+72×48=7456バイトのサイズのヘッダと、57×96=5482バイトのサイズの秘密鍵とを与える。しかしながら、N=1000はかなり小さいので、O(√N)個のパラメータを有するブロードキャスト暗号化スキームも、同様の性能、すなわち、4×1000+66×48=7168のサイズのファイル・ヘッダおよび68×96=6528バイトのサイズの秘密鍵を達成する。
【0048】
システム実装
さまざまな実施形態は、多様な通信システム、ネットワーク、および/またはモバイルマルチメディアブロードキャストシステム内で実装されてもよく、その一例が図1に示されている。特に、図1は、モバイル受信機デバイス102がマルチメディアブロードキャストネットワーク104、ユニキャストネットワーク106から、またはインターネット108を介してコンテンツを受信しうる通信システムを示す。典型的なマルチメディアブロードキャストネットワーク104は、モバイルブロードキャストネットワーク制御センター/ブロードキャストオペレーションセンター(BOC)114によって制御される複数のブロードキャスト送信機112を含む。マルチメディアブロードキャストネットワーク104は、モバイル受信機デバイス102による受信のために、ブロードキャスト送信機112からのコンテンツをモバイルブロードキャスト送信113としてブロードキャストする。BOC 114内には、コンテンツブロードキャストを管理するための一つまたは複数のサーバー110が存在してもよく、これらはインターネット108への接続を提供する。
【0049】
マルチメディアブロードキャストネットワーク104に加えて、モバイル受信機デバイス102は、セルラー電話ネットワーク、WiFiネットワーク(図示せず)、WiMAXなどのユニキャストネットワーク106を介して通信しうる。典型的なセルラー電話ネットワークは、ネットワークオペレーションセンター118に結合された複数のセルラー基地局116を含む。ネットワークオペレーションセンター118は、電話地上回線(たとえば、POTSネットワーク、図示せず)およびインターネット108を介するなどして、モバイル受信機デバイス102と他のネットワーク宛先との間で音声およびデータ呼を接続するように動作する。
【0050】
モバイル受信機デバイス102とユニキャストネットワーク106との間の通信は、LTE、4G、3G、CDMA、TDMA、および他のセルラー電話通信技術などの双方向ワイヤレス通信リンク115を介して達成されうる。そのような双方向ワイヤレス通信リンク115は、ユーザーがマルチメディアコンテンツを受信機デバイス(たとえば、モバイルデバイス)にストリーミングすることを可能にしうる。
【0051】
インターネットデータ通信(たとえば、ビデオフィードのストリーミング)を容易にするために、ユニキャストネットワーク106は、典型的には、インターネット108への接続を提供するネットワークオペレーションセンター118に結合された、またはその中にある一つまたは複数のサーバー120を含む。モバイル受信機デバイス102は、利用可能なときに有線接続を介してインターネット108にさらに接続してもよく、その場合、インターネット108はユニキャストネットワークとして働きうる。モバイル受信機デバイス102はまた、よく知られている従来のウェブベースのアクセスプロトコルを使用して、インターネット108を通じて非ブロードキャストコンテンツをも受信しうる。
【0052】
一般に、受信機デバイス(たとえば上記で論じたモバイル受信機デバイス102)によってコンテンツを受信し、レンダリングするための動作は、動作の別個の独立したグループまたはカテゴリーに分割されてもよく、動作の各グループまたはカテゴリーは、層(たとえば、物理層、データリンク層など)に割り当てられうる。これらの層のそれぞれにおいて、さまざまなハードウェアおよび/またはソフトウェア構成要素は、その層に割り当てられた役割に相応する機能を実装しうる。たとえば、メディアストリーム(たとえば、ブロードキャスト、ポイントツーポイントなど)は、典型的には、物理層で受信され、物理層は、無線受信機、バッファ、および、復調し、無線周波数(RF)信号内のシンボルを認識し、受信されたRF信号から生データを抽出するための他の動作を実行する動作を実行する処理コンポーネントを含みうる。
【0053】
図2は、請求項に記載のブロードキャスト暗号化スキームのための例示的なコンピュータ実装される方法を示す。図示された例示的実施形態では、セットアップ・ルーチンは、マスター公開鍵(MPK)270を生成し、それをブロードキャスト権限機関210に提供する。鍵操作245、255、265は、集中型の、または信頼される権限機関またはサードパーティーにおいて実行されてもよく、これらは、ブロードキャスト権限機関210に関連付けられ、もしくは制御されてもよく、または関連付けられない、もしくは制御されないのでもよい。セットアップ・ルーチン245はまた、マスター秘密鍵(MSK)250を生成する。セットアップ・ルーチン245は、秘密鍵生成器(PKG)255によって呼び出されてもよい。PKG 255は、システム・マスター公開鍵MPK 250およびシステム・マスター秘密鍵MSK 250を生成し、MPKを公に利用可能にし、MSKを秘密に保つ。鍵生成ルーチン265は、MPKおよびMSK、ならびにユーザー識別情報275を受信し、各特定のユーザーのための秘密鍵280を出力する。
【0054】
次いで、ブロードキャスト権限機関210は、MPK 270を用いて暗号化215を実行する。これは、次いで、ブロードキャスト・メッセージ220のための暗号文として使用される。ブロードキャスト・メッセージは、次いで、本稿に記載されるように任意の有線または無線の形を取りうるブロードキャスト・チャネル225を通じて提供される。暗号文は、登録した受信者230によって受信される。登録した受信者は、鍵生成モジュール265に提供された識別情報275に関連して、ある鍵素材280を提供される。識別情報275に基づいて受信者に秘密鍵280が提供されることができる。秘密鍵を用いて、登録した受信者は、ブロードキャスト暗号文の解読235を実行し、結果として生じるブロードキャスト・メッセージ240を生成することができる。
【0055】
図3および図4は、本開示に記載されたさまざまな実施形態を実装するのに有用な例示的なコンピュータ・システムを示す。さまざまな実施形態は、たとえば、図3に示されるコンピュータ・システム500などの一つまたは複数のコンピュータ・システムを使用して実装されうる。一つまたは複数のコンピュータ・システム500は、たとえば、本明細書で議論される実施形態のいずれか、ならびにそれらの組み合わせおよびサブコンビネーションを実装するために使用されてもよい。
【0056】
コンピュータ・システム500は、プロセッサ504などの一つまたは複数のプロセッサ(中央処理装置、処理デバイス、またはCPUとも呼ばれる)を含むことができる。プロセッサ504は、通信インフラストラクチャー506(たとえば、バスなど)に接続されてもよい。
【0057】
コンピュータ・システム500は、ユーザー入力/出力インターフェース502を通じて通信インフラストラクチャー506と通信することができる、モニター、キーボード、ポインティングデバイスなどのユーザー入力/出力デバイス503を含むこともできる。プロセッサ504のうちの一つまたは複数は、グラフィックス処理ユニット(GPU)でありうる。ある実施形態では、GPUは、数学集約的なアプリケーションを処理するように設計された特化した電子回路であるプロセッサでありうる。GPUは、コンピュータグラフィックスアプリケーション、画像、ビデオなどに一般的な数学集約的なデータなどの、データの大きなブロックの並列処理のために効率的な並列構造を有しうる。
【0058】
コンピュータ・システム500は、ランダムアクセスメモリ(RAM)などのメインメモリ508を含むこともできる。メインメモリ508は、一つまたは複数のレベルのキャッシュを含みうる。メインメモリ508は、その中に制御ロジック(すなわち、コンピュータソフトウェア、命令など)および/またはデータを記憶していてもよい。コンピュータ・システム500は、一つまたは複数の二次記憶装置または二次メモリ510も含むことができる。二次メモリ510は、たとえば、ハードディスクドライブ512および/またはリムーバブル記憶デバイスもしくはリムーバブル記憶ドライブ514を含みうる。リムーバブル記憶ドライブ514は、リムーバブル記憶ユニット518と対話しうる。リムーバブル記憶ユニット518は、コンピュータソフトウェア(制御ロジック)および/またはデータを記憶したコンピュータ使用可能または可読な記憶デバイスを含みうる。リムーバブル記憶ドライブ514はリムーバブル記憶ユニット518から読む、および/またはそれに書き込む。
【0059】
二次メモリ510は、コンピュータ・プログラムおよび/または他の命令および/またはデータがコンピュータ・システム500によってアクセスされることを許容するための他の器具、デバイス、コンポーネント、手段、または他のアプローチを含みうる。そのような手段、デバイス、コンポーネント、器具または他のアプローチは、たとえば、リムーバブル記憶ユニット522およびインターフェース520を含みうる。リムーバブル記憶ユニット522およびインターフェース520の例は、プログラムカートリッジおよびカートリッジインターフェース、リムーバブルメモリチップ(EPROMまたはPROMなど)および関連するソケット、メモリースティックおよびUSBポート、メモリカードおよび関連するメモリカードスロット、ならびに/または任意の他の取り外し可能な記憶ユニットおよび関連するインターフェースを含むことができる。
【0060】
コンピュータ・システム500は、通信インターフェース524(たとえば、ネットワークインターフェース)をさらに含みうる。通信インターフェース524は、コンピュータ・システム500が、外部デバイス、外部ネットワーク、外部エンティティなど(個々におよび集合的に、リモートデバイス、ネットワーク、エンティティ528と呼ばれる)の任意の組み合わせと通信し、対話することを可能にしうる。たとえば、通信インターフェース524は、コンピュータ・システム500が通信経路526を通じて外部または遠隔のデバイス、ネットワーク、エンティティ528と通信することを許容しうる。通信経路は、有線および/または無線(またはそれらの組み合わせ)であってもよく、LAN、WAN、インターネット等の任意の組み合わせを含んでいてもよい。制御ロジックおよび/またはデータは、通信経路526を介してコンピュータ・システム500におよびコンピュータ・システム200から送信されてもよい。
【0061】
コンピュータ・システム500は、若干の非限定的な例を挙げると、パーソナル・デジタル・アシスタント(PDA)、デスクトップワークステーション、ラップトップもしくはノートブックコンピュータ、ネットブック、タブレット、スマートフォン、スマートウォッチもしくは他のウェアラブルデバイス、アプライアンス、モノのインターネットの一部、および/もしくは組み込みシステムのいずれか、またはそれらの任意の組み合わせであってもよい。
【0062】
コンピュータ・システム500は、リモートまたは分散クラウドコンピューティングソリューション、ローカルまたはオンプレミスソフトウェア(「オンプレミス」クラウドベースソリューション)、「サービスとしての」モデル(たとえば、サービスとしてのコンテンツ(CaaS)、サービスとしてのデジタルコンテンツ(DCaaS)、サービスとしてのソフトウェア(SaaS)、サービスとしてのマネージドソフトウェア(MSaaS)、サービスとしてのプラットフォーム(PaaS)、サービスとしてのデスクトップ(DaaS)、サービスとしてのフレームワーク(FaaS)、サービスとしてのバックエンド(BaaS)、サービスとしてのモバイルバックエンド(MBaaS)、サービスとしてのインフラストラクチャー(IaaS)など)、および/または前述の例または他のサービスもしくは配信パラダイムの任意の組み合わせを含むハイブリッドモデルを含むが、これらに限定されない任意の配信パラダイムを通じて、任意のアプリケーションおよび/またはデータにアクセスするか、またはそれらをホストするクライアントまたはサーバー・コンピューティング・デバイスであってもよい。
【0063】
図4は、本明細書で説明される動作のうちの任意の一つまたは複数をマシンに実行させるための命令のセットが実行されうるコンピュータ・システム900の例示的なマシンを示す。代替的な実装において、マシンは、LAN、イントラネット、エクストラネット、および/またはインターネット内の他のマシンに接続(たとえば、ネットワーク接続)されてもよい。
マシンは、クライアント-サーバーネットワーク環境におけるサーバーまたはクライアントマシンの資格で、ピアツーピア(または分散)ネットワーク環境におけるピアマシンとして、またはクラウドコンピューティングインフラストラクチャーもしくは環境におけるサーバーもしくはクライアントマシンとして、動作してもよい。
【0064】
マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナル・デジタル・アシスタント(PDA)、携帯電話、ウェブアプライアンス、サーバー、ネットワークルーター、スイッチまたはブリッジ、特化したアプリケーションまたはネットワークセキュリティアプライアンスまたはデバイス、またはそのマシンによって行われるアクションを指定する(逐次的またはその他の)命令の集合を実行することができる任意のデバイスでありうる。さらに、単一のマシンが示されているが、「マシン」という用語は、本明細書で説明される方法のうちの任意の一つまたは複数を実行するために命令の集合(または複数の集合)を個々にまたは合同して実行するマシンの任意の集まりを含むとも解釈される。
【0065】
例示的なコンピュータ・システム900は、処理装置902、メインメモリ904(たとえば、リードオンリーメモリ(ROM)、フラッシュメモリ、シンクロナスDRAM(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM)など)、スタティックメモリ906(たとえば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)、およびデータ記憶デバイス918を含み、これらは、バス930を介して互いに通信する。
【0066】
処理装置902は、マイクロプロセッサ、中央処理装置等のような一つまたは複数の処理装置を表す。より具体的には、処理装置は、複雑命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、または他の命令セットを実装するプロセッサ、または命令セットの組み合わせを実装するプロセッサであってもよい。処理装置902は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ等の一つまたは複数の特殊目的の処理装置であってもよい。処理装置902は、本明細書で説明される動作およびステップを実行するための命令926を実行するように構成される。
【0067】
コンピュータ・システム900は、ネットワーク920を通じて通信するためのネットワークインターフェースデバイス908をさらに含みうる。コンピュータ・システム900は、ビデオディスプレイユニット910、英数字入力装置912(たとえば、キーボード)、カーソル制御装置914(たとえばマウス)、グラフィックス処理ユニット922、信号生成装置916(たとえば、スピーカー)、グラフィックス処理ユニット922、ビデオ処理ユニット928、およびオーディオ処理ユニット932をも含んでいてもよい。
【0068】
データ記憶装置918は、本明細書に記載される動作のうちの任意の一つまたは複数を具現する一つまたは複数の命令セット926(たとえば、ソフトウェア命令)が記憶された機械可読媒体924(コンピュータ可読記憶媒体としても知られる)を含んでいてもよい。命令926はまた、コンピュータ・システム900によるその実行中に、完全にまたは少なくとも部分的に、メインメモリ904内および/または処理装置902内でにあってもよい。ここで、メインメモリ904および処理装置902も、機械可読記憶媒体を構成する。
【0069】
一例では、命令926は、開示された主題に対応する動作および機能を実装するための命令含む。機械可読記憶媒体924は、例示的実装では単一の媒体であるように示されているが、「機械可読記憶媒体」という用語は、命令926の前記一つまたは複数のセットを記憶する単一の媒体または複数の媒体(たとえば、集中型もしくは分散型データベース、および/または関連するキャッシュおよび/またはサーバー)を含むと解釈されるべきである。「機械可読記憶媒体」という用語は、機械による実行のための命令926のセットを記憶またはエンコードすることができ、機械〔マシン〕に本開示の動作のうちの任意の一つまたは複数を実行させる任意の媒体を含むとも解釈されるべきである。よって、「機械可読記憶媒体」という用語は、限定はしないが、ソリッドステートメモリ、光媒体、および磁気媒体を含むものと解釈されるべきである。
【0070】
詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズムおよび記号表現に関して提示されている。これらのアルゴリズム的な記述および表現は、データ処理技術の当業者が、自分の研究の内容を他の当業者に最も効果的に伝えるために使用する方法である。アルゴリズムは、ここでは、また一般に、所望の結果につながる自己無矛盾な動作シーケンスであると考えられる。動作は、物理量の物理的操作を必要とするものである。必ずではないが通例、これらの量は、記憶され、組み合わされ、比較され、および他の仕方で操作されることができる電気信号または磁気信号の形をとる。主に慣用のため、これらの信号をビット、値、要素、シンボル、記号、項、数などと呼ぶことが時には便利であることがわかっている。
【0071】
しかしながら、これらの用語および類似の用語のすべては、適切な物理量に関連付けられるべきであり、単にこれらの量に適用される便利なラベルにすぎないことに留意されたい。上記の議論から明らかなように、特に明記されない限り、本稿全体を通して、「識別する」または「決定する」または「実行する」または「実施する」または「収集する」または「作成する」または「送信する」などの用語を利用する議論は、コンピュータ・システムのレジスタおよびメモリ内の物理的(電子的)量として表されるデータを操作および変換して、コンピュータ・システムのメモリまたはレジスタまたは他のそのような情報記憶デバイス内の物理量として同様に表される他のデータにする、コンピュータ・システムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを指すことが理解される。
【0072】
本開示はまた、本明細書の動作を実行するための装置に関する。この装置は、意図された目的のために特別に構築されてもよく、または、当該コンピュータに記憶されたコンピュータ・プログラムによって選択的にアクティブ化または再構成されるコンピュータを含んでいてもよい。そのようなコンピュータ・プログラムは、コンピュータ可読記憶媒体、たとえば、限定されないが、フロッピー(登録商標)ディスク、光ディスク、CD-ROMおよび光磁気ディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光カード、または電子命令を記憶するのに適した任意のタイプの媒体に記憶されうる。これらはそれぞれコンピュータシステムバスに結合される。
【0073】
本明細書に提示される動作および例示は、本来的にいかなる特定のコンピュータまたは他の装置にも関連しない。さまざまなタイプのシステムが本願の教示によるプログラムとともに使用されうる。あるいは、動作を実行するためにより特化された装置を構築することが便利であることがわかることがありうる。多様なこれらのシステムの構造は、本明細書の説明に記載されていることがわかるであろう。加えて、本開示は、いかなる特定のプログラミング言語を参照して記載されるのでもない。本明細書に記載されるような本開示の教示を実施するために、多様なプログラミング言語が使用されうることが理解されるであろう。
【0074】
本開示は、本開示によるプロセスを実行するようにコンピュータシステム(または他の電子デバイス)をプログラムするために使用されうる命令を記憶した機械可読媒体を含みうるコンピュータ・プログラム・プロダクトまたはソフトウェアとして提供されうる。機械可読媒体は、機械(たとえば、コンピュータ)によって読み取り可能な形で情報を記憶するための任意の機構を含む。たとえば、機械可読(たとえば、コンピュータ可読)媒体は、リードオンリーメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス等の機械(たとえば、コンピュータ)可読記憶媒体を含む。
【0075】
いくつかの実施形態では、制御ロジック(ソフトウェア)を記憶した有形の非一時的コンピュータ使用可能または可読媒体を含む有形の非一時的装置または製造物は、本明細書ではコンピュータ・プログラム・プロダクトまたはプログラム記憶デバイスと呼ばれることもある。これは、コンピュータ・システム500、メインメモリ508、二次メモリ510、ならびにリムーバブル記憶ユニット518および522ならびに上記の任意の組み合わせを具現する有形の製造物を含むが、これらに限定されない。そのような制御ロジックは、一つまたは複数のデータ処理デバイス(コンピュータ・システム500など)によって実行されると、そのようなデータ処理デバイスを本明細書で説明されるように動作させうる。
【0076】
本開示に含まれる教示に基づいて、図3および図4に示されるもの以外のデータ処理デバイス、コンピュータ・システム、および/またはコンピュータアーキテクチャーを使って、どのようにして、本開示の実施形態を作製および使用するかは当業者には明白であろう。特に、実施形態は、本明細書に記載されたもの以外のソフトウェア、ハードウェア、および/またはオペレーティングシステム実装とともに動作することができる。
【0077】
他のいずれのセクションでもなく、発明を実施するための形態のセクションが、特許請求の範囲を解釈するために使用されることが意図されることを理解されたい。他のセクションは、発明者によって考えられている一つまたは複数の、ただし全部ではない例示的実施形態を記述することがあり、よって、いかなる仕方であれ、本開示または添付の特許請求の範囲を限定することは意図されない。
【0078】
本開示は、例示的な分野および用途のための例示的実施形態を記述しているが、本開示はそれらに限定されないことを理解されたい。他の実施形態およびその修正が可能であり、本開示の範囲および精神内にある。たとえば、この段落の一般性を限定することなく、実施形態は、本明細書に記載された図面に示されたソフトウェア、ハードウェア、ファームウェア、および/またはエンティティに限定されない。さらに、実施形態は(本明細書に明示的に記載されているか否かにかかわらず)、本明細書に記載された例を超えた分野および用途への有意な有用性をもつ。
【0079】
本明細書では、指定された機能の実装およびそれらの関係を示す機能的構成要素を用いて実施形態が説明されている。これらの機能的構成要素の境界は、説明の便宜上、本明細書において任意に定義されている。指定された機能および関係(またはその等価物)が適切に実行される限り、代替的な境界を定義することができる。また、代替的な実施形態が、本明細書に記載されたものとは異なる順序を使用して、機能ブロック、ステップ、動作、方法などを実行することができる。
【0080】
本明細書における「一実施形態」、「ある実施形態」、「例示的実施形態」、または類似の句への言及は、記載される実施形態が特定の特徴、構造、または特性を含みうるが、すべての実施形態が必ずその特定の特徴、構造、または特性を含むとは限らないことを示す。さらに、そのような句は、必ずしも同じ実施形態に言及しているわけではない。さらに、特定の特徴、構造、または特性がある実施形態との関連で記載される場合、本明細書で明示的に言及または記載されているか否かにかかわらず、そのような特徴、構造、または特性を他の実施形態に組み込むことは、当業者の知識の範囲内である。さらに、いくつかの実施形態は、「結合された」および「接続された」という表現およびその派生形を使用して説明されることがある。これらの用語は、必ずしも互いの同義語として意図されてはいない。たとえば、いくつかの実施形態は、2つ以上の要素が互いに直接物理的または電気的に接触していることを示すために、「接続された」および/または「結合された」という用語を使用して説明されうる。しかしながら、「結合された」という用語は、2つ以上の要素が互いに直接接触していないが、それでも互いに協働または相互作用することを意味することもできる。
【0081】
本開示の幅および範囲は、上述の例示的実施形態のいずれによっても限定されるべきではなく、以下の特許請求の範囲およびそれらの均等物に従ってのみ定義されるべきである。上記の明細書では、本開示の実装が、その特定の例示的実装を参照して説明された。以下の特許請求の範囲に記載される本開示の実装のより広い精神および範囲から逸脱することなく、さまざまな修正がそれに対して行われうることは明らかであろう。よって、本明細書および図面は、限定的な意味ではなく例示的な意味で考えられるべきである。
図1
図2
図3
図4
【国際調査報告】