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

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

▶ テオン テクノロジー エルエルシーの特許一覧

<>
  • 特許-準同型ワンタイムパッド暗号化 図1
  • 特許-準同型ワンタイムパッド暗号化 図2
  • 特許-準同型ワンタイムパッド暗号化 図3
  • 特許-準同型ワンタイムパッド暗号化 図4
  • 特許-準同型ワンタイムパッド暗号化 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-07
(45)【発行日】2024-02-16
(54)【発明の名称】準同型ワンタイムパッド暗号化
(51)【国際特許分類】
   H04L 9/22 20060101AFI20240208BHJP
   H04L 9/08 20060101ALI20240208BHJP
【FI】
H04L9/22
H04L9/08 B
【請求項の数】 5
(21)【出願番号】P 2023546397
(86)(22)【出願日】2021-12-21
(65)【公表番号】
(43)【公表日】2023-12-08
(86)【国際出願番号】 US2021064756
(87)【国際公開番号】W WO2022140488
(87)【国際公開日】2022-06-30
【審査請求日】2023-07-31
(31)【優先権主張番号】17/132,128
(32)【優先日】2020-12-23
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】523241656
【氏名又は名称】テオン テクノロジー エルエルシー
【氏名又は名称原語表記】THEON TECHNOLOGY LLC
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】グラント、ロバート エドワード
(72)【発明者】
【氏名】ロマイン、クリスティン
【審査官】平井 誠
(56)【参考文献】
【文献】米国特許出願公開第2020/0293212(US,A1)
【文献】特表2006-506668(JP,A)
【文献】米国特許出願公開第2015/0370725(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/00-40
G09C 1/00- 5/00
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
複数のユーザ間において共有されたワンタイムパッドを用いてセキュアなデータファイルを更新するための方法であって、
コンピューティングデバイスが、データセットの第1の部分へのアクセスを第1のユーザに権限付与する第1アクセス権限付与工程と、
前記コンピューティングデバイスが、前記データセットの第2の部分へのアクセスを第2のユーザに権限付与する工程であって、前記データファイルの前記第1の部分および前記データセットの前記第2の部分は、前記データファイルの重複部分を共有する、工程と、
前記コンピューティングデバイスが前記第1のユーザおよび前記第2のユーザに数学関数を提供する工程と、
前記コンピューティングデバイスが、前記重複部分を除いた前記第1の部分を第1の鍵により暗号化する工程であって、前記第1の鍵は、
前記コンピューティングデバイスが、前記数学関数を解いて無理数を取得する工程と、
前記コンピューティングデバイスが、第1の開始位置を前記無理数の小数部分に適用して前記第1の鍵を取得する工程と、によって導出される、工程と、
前記コンピューティングデバイスが、前記重複部分を除いた前記第2の部分を第2の鍵により暗号化する工程であって、前記第2の鍵は、
前記コンピューティングデバイスが、前記数学関数を解いて前記無理数を取得する工程と、
前記コンピューティングデバイスが、第2の開始位置を前記無理数の前記小数部分に適用して前記第2の鍵を取得する工程と、によって導出される、工程と、
前記コンピューティングデバイスが、前記重複部分を第3の鍵により暗号化する工程であって、前記第3の鍵は、
前記コンピューティングデバイスが、前記数学関数を解いて前記無理数を取得する工程と、
前記コンピューティングデバイスが、第3の開始位置を前記無理数の小数部分に適用して前記第3の鍵を取得する工程と、によって導出される、工程と、を備える方法。
【請求項2】
前記数学関数は、不完全な平方数の平方根を計算することを含む、請求項1に記載の方法。
【請求項3】
前記データセットは共有文書を含む、請求項1に記載の方法。
【請求項4】
前記データセットは有権者登録データベースを含む、請求項1に記載の方法。
【請求項5】
前記第1アクセス権限付与工程は、
前記第1のユーザに対応する第1ユーザコンピューティングデバイスが、前記重複部分を除いた前記第1の部分を前記第1の鍵のコピーにより復号する工程と、
前記第1ユーザコンピューティングデバイスが、前記重複部分を前記第3の鍵のコピーにより復号する工程と、
前記第1ユーザコンピューティングデバイスにより、復号された前記第1の部分内のデータの編集を可能にする工程と、をさらに備える、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の分野は、データ暗号化およびセキュリティである。
【背景技術】
【0002】
背景技術の記載は、本発明を理解するのに有用であり得る情報を含む。本明細書において提供される情報のいずれかが先行技術である、もしくは現在特許請求されている発明に関連すること、または具体的にまたは暗示的に参照される任意の刊行物が先行技術であることが認められるものではない。
【0003】
共有されたデータセットをセキュアにすることは、単一ユーザデータセットには存在しない問題を提示する。共有されたデータセットでは、システムは、ユーザがデータに適切にアクセスすることを可能にするのに十分に柔軟でありながら、データをセキュアにできる必要がある。残念ながら、これは、システムがすべてのユーザについて多くの別々の鍵をうまく扱わなければならず、各々を絶えず更新しなければならないという複雑さを生み出す。
【0004】
パスワード用のワンタイムパッドは完全にセキュアであることが知られている。しかしながら、ワンタイムパッドの使用は、鍵が予め当事者間において共有され、一度だけ使用されることを必要とする。これは、多くの交換について、当事者が多くの鍵の事前記憶を有する必要があることを意味する。これらの要件に関連する困難により、ワンタイムパッド方式よりも公開鍵暗号方式が好まれる結果となった。
【0005】
他者によりこの問題の解決が試みられている。
ブライアント(Bryant)の特許文献1は、パスワード生成用のワンタイムパッドの使用を論じている。しかしながら、ブライアントにおける解決策は、大きなパッドにすべてのパスワードを記憶することを必要とし、これはリソース集約的である。
【0006】
パーション(Persson)の特許文献2は、最大鍵長を決定することを論じている。しかしながら、パーションにおける短縮された鍵(短縮鍵)の生成は、関数が依然として一度しか使用できないように実行される。
【0007】
したがって、共有されたデータセットをセキュアに保護しながら、そのユーザに正確なアクセスをうまく提供するシステムが依然として必要とされている。
【先行技術文献】
【特許文献】
【0008】
【文献】国際公開第2019/110955号
【文献】国際公開第00/065768号
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明の主題は、コンピューティングデバイスが、パーミッションを有するよりも多くのデータへのアクセスをユーザのいずれにも許可することなく、データセット内のデータを追加または修正するために複数のユーザにアクセスを権限付与する装置、システム、および方法を提供する。
【課題を解決するための手段】
【0010】
本発明の主題のシステムは、データセットへのアクセスを制御するコンピューティングデバイスを備える。データセットは暗号化される。
認可された第1のユーザによるリクエストに応じて、コンピューティングデバイスは、データセットの対応する第1の部分へのアクセスを第1のユーザに権限付与することが可能である。ある時点において、認可された第2のユーザによるリクエストに応じて、コンピューティングデバイスは、データセットの対応する第2の部分へのアクセスを第2のユーザに権限付与することが可能である。第1のユーザによってアクセス可能な第1の部分および第2のユーザによってアクセス可能な第2の部分は、データファイルの重複部分を共有する。換言すれば、第1のユーザと第2のユーザとの両方によってアクセス可能なデータファイルの部分が存在する。
【0011】
様々なデータ部分へのアクセスを管理するために、コンピューティングデバイスは、第1の部分(重複部分を除く)を第1の暗号鍵により暗号化する。コンピューティングデバイスは、第2の部分(重複部分を除く)を第2の暗号鍵により暗号化し、次いで、重複部分を第3の鍵により暗号化する。このシナリオでは、第1のユーザには第1の鍵および第3の鍵(またはそれらを導出する方法)が提供され、第2のユーザには第2の鍵および第3の鍵(またはそれらを導出する方法)が提供され、したがって、対応するデータ部分にアクセスし、修正または追加することが可能となる。
【0012】
ユーザがそれらの鍵を導出する実施形態では、各ユーザは、それらのそれぞれの部分に対応する鍵、ならびに任意の共有部分に適用される任意の鍵を導出する必要がある。
本発明の主題の実施形態では、第1の鍵、第2の鍵および第3の鍵の各々は、無理数から導出される。
【0013】
これらの実施形態の変形では、無理数は、第1のユーザおよび第2のユーザならびにコンピューティングデバイスに知られている数学関数について導出される。これらの実施形態では、鍵は、数学関数を解いて無理数を取得し、次いで、開始点および長さを数学関数の小数に適用することによって導出されることが可能である。
【0014】
これらの実施形態の変形では、数学関数は、コンピューティングデバイスが、不完全な平方数の平方根を計算することを含む。
データセットは、複数のユーザがデータセットに記憶されたデータのいくつかにデータを寄与しおよび/または修正することが可能である任意のデータセットであることが可能であるが想定される。想定されるデータセットの例には、投票者登録データベース、共同作業データ、共有文書などが含まれる。
【0015】
本発明の主題の様々な目的、特徴、態様および利点は、同様の数字が同様の構成要素を表す添付の図面とともに、好ましい実施形態の以下の詳細な説明からより明らかになる。
本明細書において特定されるすべての刊行物は、各個々の刊行物または特許出願が具体的かつ個別に参照により組み込まれることが示されているように、参照により組み込まれる。組み込まれた文献における用語の定義または使用が、本明細書において提供されるその用語の定義と一致しないまたは反対である場合、本明細書において提供されるその用語の定義が適用され、文献におけるその用語の定義は適用されない。
【0016】
以下の記載は、本発明を理解するのに有用であり得る情報を含む。本明細書において提供される情報のいずれかが先行技術であるかもしくは現在特許請求の範囲に記載の発明に関連すること、または具体的にもしくは暗示的に参照される任意の刊行物が先行技術であることを認めるものではない。
【0017】
いくつかの実施形態では、本発明の特定の実施形態を記載および特許請求するために使用される成分の量、濃度などの特性、反応条件などを表す数は、いくつかの場合では「約」という用語によって修飾されるものと理解される。したがって、いくつかの実施形態では、本明細書および添付の特許請求の範囲において説明される数値パラメータは、特定の実施形態によって得ようとする所望の特性に応じて変化し得る近似値である。いくつかの実施形態では、数値パラメータは、報告された有効数字の数を考慮して、通常の丸め技法を適用することによって解釈される。本発明のいくつかの実施形態の広い範囲を示す数値範囲およびパラメータが近似値であるにもかかわらず、特定の実施例において示される数値は、実施可能な限り正確に報告されている。本発明のいくつかの実施形態において提示される数値は、それらのそれぞれの試験測定において見出される標準偏差から必然的に生じる特定の誤差を含み得る。
【0018】
文脈が反対を示さない限り、本明細書において示されるすべての範囲は、自身の終点を含むものとして解釈され、オープンエンドの範囲は、商業的に実用的な値のみを含むものとして解釈される。同様に、値のすべてのリストは、文脈が反対を示さない限り、中間値を含むものとみなされる。
【0019】
本明細書における記載および以下の特許請求の範囲全体を通して使用される際、「1つの(a)」、「1つの(an)」、および「その(the)」の意味は、文脈が明確に別様に示さない限り、複数の参照を含む。また、本明細書の記載において使用されるように、「に(in)」の意味は、文脈が明確に別様に示さない限り、「に(in)」および「に(on)」を含む。
【0020】
本明細書における値の範囲の記載は、単に、その範囲内に入る各別個の値を個々に参照する省略方法として機能することが意図される。本明細書において別段の指示がない限り、各個々の値は、本明細書において個々に記載されているかのように本明細書へと組み込まれる。本明細書に記載されるすべての方法は、本明細書において別段の指示がない限り、または文脈によって明確に否定されない限り、任意の適切な順序により実施されることが可能である。本明細書における特定の実施形態に関して提供される任意のおよびすべての例、または例示的な言語(例えば、「など」)の使用は、単に本発明をより良く説明することを意図しており、別様に特許請求される本発明の範囲に限定を課すものではない。本明細書におけるいかなる言語も、本発明の実施に不可欠な任意の特許請求されていない要素を示すと解釈されものではない。
【0021】
本明細書に開示される本発明の代替要素または実施形態のグループ化は、限定として解釈されるものではない。各グループメンバーは、個別に、またはグループの他のメンバーもしくは本明細書に見出される他の要素との任意の組み合わせにより、参照され特許請求されることが可能である。グループの1つまたは複数のメンバーは、利便性および/または特許性の理由のため、グループに含まるか、またはグループから削除されることが可能である。任意のそのような包含または削除が生じるとき、本明細書は、本明細書において、修正されたグループを含み、したがって、添付の特許請求の範囲において使用されるすべてのマーカッシュグループの記載された説明を満たすとみなされる。
【図面の簡単な説明】
【0022】
図1】本発明の主題の実施形態に係るシステムの概略図。
図2】本発明の主題の実施形態に係る、システムによって実行される処理のフローチャート。
図3】重複部分を含むデータセットの部分の一例。
図4】本発明の主題の実施形態に係る、暗号鍵を生成する処理の詳細なフローチャート。
図5】短縮鍵を生成するために生鍵に適用される開始点および長さの簡略化された例示的な例を示す図。
【発明を実施するための形態】
【0023】
以下の説明全体を通して、サーバ、サービス、インターフェース、エンジン、モジュール、クライアント、ピア、ポータル、プラットフォーム、またはコンピューティングデバイスから形成される他のシステムに関して多数の参照がなされる。そうした用語の使用は、コンピュータ可読有形非一時的媒体(例えば、ハードドライブ、ソリッドステートドライブ、RAM、フラッシュ、ROMなど)上に記憶されたソフトウェア命令を実行するようにプログラムされた1つ以上のプロセッサ(例えば、ASIC、FPGA、DSP、x86、ARM、ColdFire、GPU、マルチコアプロセッサなど)を有する1つまたは複数のコンピューティングデバイスを表すと見なされることを理解されたい。例えば、サーバは、記載された役割、責任、または機能を果たすように、ウェブサーバ、データベースサーバ、または他の種類のコンピュータサーバとして動作する1つまたは複数のコンピュータを含むことが可能である。開示されるコンピュータベースのアルゴリズム、処理、方法、または他の種類の命令セットは、開示される工程をプロセッサに実行させる命令を記憶する非一時的有形コンピュータ可読媒体を備えるコンピュータプログラム製品として具現化されることが可能であることがさらに理解される。様々なサーバ、システム、データベース、またはインターフェースは、標準化されたプロトコルまたはアルゴリズムを使用して、場合によってはHTTP、HTTPS、AES、公開鍵-秘密鍵交換、ウェブサービスAPI、既知の金融取引プロトコル、または他の電子情報交換方法に基づいて、データを交換することができる。データ交換は、パケット交換ネットワーク、インターネット、LAN、WAN、VPN、または他の種類のパケット交換ネットワークを介して行われることが可能である。
【0024】
以下の説明は、本発明の主題の多くの例示的な実施形態を提供する。各実施形態は、本発明の要素の単一の組合せを表すが、本発明の主題は、開示される要素のすべての可能な組合せを含むように考えられる。したがって、1つの実施形態が要素A、B、およびCを含み、第2の実施形態が要素BおよびDを含む場合、本発明の主題はまた、明示的に開示されていなくても、A、B、C、またはDの他の残りの組合せを含むように考えられる。
【0025】
本明細書において使用される際、文脈が別段の指示をしない限り、「に結合される」という用語は、直接結合(互いに結合される2つの要素が互いに接触する)と間接結合(1つ以上の追加の要素が2つの要素間にある)との両方を含むように意図される。したがって、「に対して結合される」および「と結合される」という用語は同義的に使用される。
【0026】
図1は、本発明の主題の実施形態に係るシステム100の概略図である。
図1に見られるように、システム100は、データベース120と通信可能に結合されているコンピューティングデバイス110を備える。データベース120は、コンピューティングデバイス110内および/またはコンピューティングデバイス110と通信可能に結合された別個のコンピューティングデバイスに収容されることが可能である。データベース120は、ユーザによってアクセスされることが可能である1つまたは複数のデータセット122を記憶する。
【0027】
図1では、コンピューティングデバイス110は、単一のコンピューティングデバイスとして示されている。しかしながら、実施形態では、コンピューティングデバイス110は、本明細書において説明されるコンピューティングデバイス110に関連付けられた機能を集合的に実行する複数のコンピューティングデバイスから構成されることが可能であることが理解される。
【0028】
システム100はまた、コンピューティングデバイス110によって許可されるように、データセット122におけるのデータのうちの一部または全部にアクセスすることが可能であるユーザに対応する複数のユーザコンピューティングデバイス130A~130xを備える。図1に見られるように、ユーザコンピューティングデバイス130は、直接および/またはコンピューティングデバイス110を介して、データベース120に接続することが可能であってよい。
【0029】
想定される種類のデータセット122は、有権者登録データベース、共有文書、機密記録データセット、政府データセット、または金融データセットを含むが、これらに限定されない。
【0030】
図2は、本発明の主題の実施形態に係るシステム100によって実行される処理のフローチャートを提供する。
工程210Aにおいて、コンピューティングデバイス110は、データセット122におけるアクセスデータを第1のユーザコンピューティングデバイス130Aに権限付与するリクエストを受信する。このリクエストは、第1のユーザコンピューティングデバイス130Aのユーザがアクセスすることを許可されるデータセット122の部分またはサブセットの指定を含むことができる。このリクエストおよびパーミッションに基づいて、コンピューティングデバイス110は、第1のユーザコンピューティングデバイス130Aに対するデータセット122のリクエストされた部分へのアクセスを確立する。「アクセス」は、限定はしないが、データセット122の認可された部分を閲覧する能力、データセット122の認可された部分に追加する能力、データセット122の認可された部分を変更/修正する能力、および/またはデータセット122の認可された部分から削除する能力を含むことが可能である。
【0031】
工程210Aにおけるリクエストの前、同時、または後であることが可能である工程210Bにおいて、コンピューティングデバイス110は、データセット122におけるのデータへのアクセスを第2のユーザコンピューティングデバイス130B(第2のユーザに対応する)に権限付与するリクエストを受信する。このリクエストは、第2のユーザコンピューティングデバイス130Bの第2のユーザがアクセスすることを認可されるデータセット122の部分またはサブセットの指定を含むことが可能である。データセットからのデータの第2のサブセットは、重複部分を有することを除いて、データの第1のサブセットとは異なる。これは図3に示されている。リクエストおよびパーミッションに基づいて、コンピューティングデバイス110は、第2のユーザコンピューティングデバイスへのアクセスを確立して、データセット122の対応する部分にアクセスする。
【0032】
図3は、異なるユーザによってアクセスされることが可能であるデータセット122の部分間の重複の概要を提供する。上記の例を続けると、第1のユーザコンピューティングデバイス130Aには、データセット122の対応する第1の部分322Aへのアクセスが付与される。第2のユーザコンピューティングデバイス130Bには、データセット122の対応する第2の部分322Bへのアクセスが付与される。しかしながら、図3に見られるように、第1の部分322Aと第2の部分322Bとの間に重複322Cがある。この重複部分322Cは、第1のユーザおよび第2のユーザの両方が(コンピューティングデバイス130Aおよび130Bを介して)アクセスを有するデータに対応する。
【0033】
工程210Aおよび工程210Bにおいてパーミッションを確立した後であるが、コンピューティングデバイス130A,130Bに自身の対応するデータセット部分に実際にアクセスするために必要とされる情報を提供する前に、コンピューティングデバイス110は、工程220において、部分322A,322Bおよび重複部分322Cの各々のための暗号鍵を生成する。工程230において、コンピューティングデバイス110は、第1の部分322Aを第1の暗号鍵により暗号化し、第2の部分322Bを第2の暗号鍵により暗号化し、重複部分322Cを第3の暗号鍵により暗号化する。
【0034】
本発明の主題の実施形態では、第1、第2、および第3の暗号鍵はすべて、無理数に基づいて導出される。これらの実施形態の変形では、無理数は、データファイルへのアクセスを有するコンピューティングデバイスに知られている数学関数から導出される。この例では、数学関数は、コンピューティングデバイス110に知られており、コンピューティングデバイス110によって第1および第2のユーザコンピューティングデバイス130A,130Bに提供される。
【0035】
これらの実施形態のさらなる変形では、数学関数は、不完全な平方数の平方根を計算することを含む関数である。
コンピューティングデバイス110は、(コンピューティングデバイス110内の、またはコンピューティングデバイス110と通信可能に結合された外部にあるデータベース上の)メモリ上に記憶された1つまたは複数の数学関数にアクセスを有することが可能である。好ましくは、システムは複数の適切な数学関数を記憶する。
【0036】
ユーザごとに、コンピューティングデバイス110は、これらの実施形態において、以下のように暗号鍵および復号鍵を生成する。
図4は、本発明の主題の実施形態に係る、工程220および230の暗号鍵の生成およびデータの暗号化に関連する処理をより詳細に示す。
【0037】
工程410において、コンピューティングデバイス110は、生鍵を取得するように使用される数学関数を選択する。関数は、複数の数学関数が記憶される実施形態では、本明細書においてさらに論じられるような数学関数またはアルゴリズムであることが可能である。関数は、所定の順序またはスケジュールに従って選択することが可能である。これに代えて、ランダムに選択されることも、ユーザが選択することも可能である。送信側コンピューティングデバイス110は、専用関数データベースからなど、メモリに記憶された関数から選択された関数を取得する。
【0038】
工程420において、コンピューティングデバイス110は、生鍵を取得するように関数を解く。生鍵は、無限またはほぼ無限の小数位を有する無理数または超越数のいずれかである。したがって、関数は、その出力が無理数および/または超越数である関数である。無理数または超越数を使用することによって、本発明の主題のシステムおよび方法は、暗号鍵の一部または全部を繰り返すことなく、同じ関数から多くの暗号鍵を取得する柔軟性を有する。無理数はパターンを持たないため、本発明の主題のシステムおよび方法は、暗号鍵の生成において真のランダム性を保証することが可能である。例えば、関数は、不完全な平方数の平方根を取ることであることが可能である。これによって無理数を得る。例示的な例では、解くべき関数は20の平方根とすることが可能である。
【0039】
工程430において、コンピューティングデバイス110は、開始点および長さを選択する。開始点は、生鍵の小数部分において開始桁を指定する。長さは、開始桁に続く桁数を指定する。開始桁および長さは、正確な桁位置および正確な長さを識別するように整数値であることが好ましい。
【0040】
工程440において、コンピューティングデバイス110は、開始点および長さを生鍵の小数部分に適用して、短縮鍵を得る。したがって、短縮鍵は、開始桁から始まり、長さに従って開始桁に続く桁を含む鍵である。
【0041】
図5は、短縮鍵を生成するために生鍵に適用される開始点および長さの簡略化された例示的な例を提供する。図5の例は、生鍵510(この簡略化された例では、2の平方根)を含む。「4」の開始点520は、開始桁が生鍵の小数部分における4桁目であることを意味する。この例では、「4」の開始点520は、開始桁が「2」であることを意味する。長さ530は、この場合は7文字であるが、短縮鍵の長さを指定する。したがって、この場合、短縮鍵は「2135623」である。図5の開始点および長さは、説明する目的のために過ぎないことに留意されたい。開始点は、生鍵の小数部分に沿った任意の点であることが可能であり、任意の適切な長さの長さであることが可能である。長さは、ある実施形態では、暗号化されるデータの長さに対応することが可能である。
【0042】
工程450において、コンピューティングデバイス110は、短縮鍵を用いてデータセットまたは部分を暗号化することが可能である。短縮鍵は、暗号化および復号に使用される鍵である。
【0043】
工程460において、コンピューティングデバイス110は、次いで、将来の参照用に、選択された関数(または選択された関数の指示子)、開始点、および長さをメモリに記憶することが可能である。
【0044】
単一の共有数学関数を使用して暗号/復号鍵を生成および使用するように使用される技法は、2020年9月11日に出願された「大型鍵を記憶および分配する方法(Method of Storing and Distributing Large Keys)」と題する本発明者自身の係属中の米国特許出願第17/018,582号明細書においてより詳細に記載されており、参照によりその全体が本明細書に組み込まれる。
【0045】
本明細書において説明される本発明の主題の処理では、コンピューティングデバイス110は、特定のデータセットとともに使用される数学関数を選択し、次いで、その数学関数からデータセットの部分ごとの鍵を生成する。したがって、データセット322Aの第1の部分について、コンピューティングデバイス110は、第1の鍵を生成するために、第1の開始点(および鍵が異なる長さであり得る場合は第1の長さ)を使用して数学関数について図4および図5の処理を実行する。同様に、データセット322Bの第2の部分について、コンピューティングデバイス110は、第2の鍵を生成するように、同じ数学関数を使用するが第2の開始点(および鍵が異なる長さであり得る場合は第2の長さ)を用いて図4および図5の処理を実行する。データセット322Cの第3の部分について、第3の鍵を生成するために、コンピューティングデバイス110は、同じ数学関数を解き、第3の開始点(および鍵が異なる長さであり得る場合は第3の長さ)を適用する。
【0046】
工程220および230は、理解を容易にするために、部分322A、322B、および322Cの暗号化に必要な鍵に関してまとめて説明されることに留意されたい。しかしながら、鍵の生成とデータの暗号化は同時に実行される必要はない。これに代えて、鍵の生成およびそれぞれの部分の暗号化は、ユーザコンピューティングデバイス130にデータ部分へのアクセスが付与されるときに実行される。
【0047】
例えば:コンピューティングデバイス130Aには、最初に、第1のデータセット部分322Aへのアクセスが付与される。コンピューティングデバイス110は、データセット322Aの全体について対応する暗号鍵を生成する(重複部分がまだ存在しないため)。後の時点で、第2のコンピューティングデバイス130Bおよび対応するデータセット部分322Bにアクセスが付与される。第2のコンピューティングデバイス130Bへのこのアクセスの作成が重複部分322Cを作成するので、コンピューティングデバイス110は、この時点で、この重複部分のための暗号鍵を生成し、この部分を別個に暗号化する。
【0048】
ユーザコンピューティングデバイス130がデータセット122の自身のそれぞれの部分にアクセスできるようにするように、コンピューティングデバイス110は、実際のアクセス情報をデータセット122のそれぞれの認可された部分に提供する前に、数学関数をコンピューティングデバイス110に分配する。工程210A、210Bにおいて、データセットの認可された部分がユーザごとに定義されるので、コンピューティングデバイス110は、工程220,230の処理(図4および図5の処理を含む)を実行して、対応する生成された暗号鍵を用いてこれらのセクションを暗号化する。
【0049】
工程240において、各対応する鍵についての開始位置および長さ情報が、コンピューティングデバイス110によってそれぞれのユーザコンピューティングデバイス130A,130Bに送信される。次いで、それぞれのユーザコンピューティングデバイス130Aおよび130Bは、提供された数学関数を使用し、提供された開始点および長さを適用してデータセット部分についての対応する復号鍵を生成することによって、図4および図5の処理を繰り返すことが可能である(提供されたような開始点および長さの選択を除く)。データセットの部分が変更され(ユーザのアクセスパーミッションに対する変更によって、または図3のデータセットなどのデータセット重複のため)、新しい鍵が必要になると、コンピューティングデバイス110は新しい鍵を導出し、新しい開始点および長さを対応するユーザコンピューティングデバイスに提供する。したがって、工程240において、データセット部分322A~322Cへの実際のアクセスは、各対応するユーザコンピューティングデバイス130A,130Bが復号鍵を生成するために必要な情報を受信したときに、各対応するユーザコンピューティングデバイス130A,130Bに効果的に権限付与される。
【0050】
ユーザがデータのそれぞれセットへのアクセスを終えると、コンピューティングデバイス110は、ユーザコンピューティングデバイスによってアクセスされたデータセット部分の再暗号化に進む。
【0051】
当業者には、本明細書における発明概念から逸脱することなく、すでに記載されたもの以外のさらに多くの変更が可能であることが明らかである。したがって、本発明の主題は、添付の特許請求の範囲の趣旨を除いて限定されるものではない。さらに、明細書および特許請求の範囲の両方を解釈する際に、すべての用語は、文脈と矛盾しない可能な限り最も広いように解釈される。特に、「含む(comprises)」および「含んでいる(comprising)」という用語は、要素、構成要素、または工程を非排他的に指すものとして解釈され、参照される要素、構成要素、または工程が、明示的に参照されていない他の要素、構成要素、または工程とともに存在し、利用され、または組み合わせられてよいことを示す。明細書、特許請求の範囲が、A、B、C・・・およびNからなる群から選択されるもののうちの1つ以上を参照する場合、文章は、A+N、B+Nなどではなく、群から1つの要素のみを必要とするものとして解釈される。
図1
図2
図3
図4
図5