(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023016680
(43)【公開日】2023-02-02
(54)【発明の名称】分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する方法およびシステム
(51)【国際特許分類】
G09C 1/00 20060101AFI20230126BHJP
G06F 21/62 20130101ALI20230126BHJP
【FI】
G09C1/00 650Z
G06F21/62 345
【審査請求】有
【請求項の数】34
【出願形態】OL
(21)【出願番号】P 2022044982
(22)【出願日】2022-03-22
(31)【優先権主張番号】202141033043
(32)【優先日】2021-07-22
(33)【優先権主張国・地域又は機関】IN
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】サイエド カシフ シャウカト
(72)【発明者】
【氏名】サンジャナ パイ ナガルマート
(57)【要約】 (修正有)
【課題】分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する方法及びシステムを提供する。
【解決手段】分散プラットフォームは、保護された共有データ構造によって、協調計算において1つ又は複数の参加データ所有者の1つ又は複数のグループを作成し、作成された1つ又は複数のグループはそれぞれ、グループと関連付けられた信頼レベルに基づいて、生、ノイズ追加又は暗号化された処理として計算技術と関連付けられて、所望のデータプライバシーと有用性との間のバランスを作成し、1つ又は複数のグループそれぞれにおける参加データ所有者のペアの間でデータを共有するシーケンスを識別し、1つ又は複数のグループの内の1つの計算結果を暗号化する。分散プラットフォームは更に、暗号化された計算結果にアクセスするために、1つ又は複数のグループそれぞれにおける1つ又は複数の参加データ所有者それぞれに暗号化鍵を提供する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
保護された共有データ構造によって、1つまたは複数の参加データ所有者それぞれの互いとの信頼レベルに基づいて、協調計算における前記1つまたは複数の参加データ所有者の1つまたは複数のグループを作成するステップであって、前記1つまたは複数のグループがそれぞれ、前記1つまたは複数のグループそれぞれにおける前記1つまたは複数の参加データ所有者の間でデータを共有するための、計算技術と関連付けられるステップと、
前記保護された共有データ構造によって、前記1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータを共有するシーケンスを識別するステップであって、対応する前記計算技術を使用して、識別された前記シーケンスで、前記1つまたは複数のグループそれぞれにおける参加データ所有者の前記ペアの間で前記データが共有されるステップと、
前記保護された共有データ構造によって、前記1つまたは複数のグループのうち1つの計算結果を暗号化するステップであって、前記1つまたは複数のグループがそれぞれ、前記1つまたは複数のグループそれぞれにおける参加データ所有者の前記ペアの間で前記データが共有されていることに基づいて、計算結果を生成するステップと、
前記保護された共有データ構造によって、暗号化された前記計算結果にアクセスするため、前記1つまたは複数のグループそれぞれにおける前記1つまたは複数の参加データ所有者それぞれに暗号化鍵を提供するステップと、を含む、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する方法。
【請求項2】
前記保護された共有データ構造に接続された1つまたは複数のデータ所有者の間での前記協調計算を容易にするため、前記保護された共有データ構造が作成される、請求項1に記載の方法。
【請求項3】
前記1つまたは複数のデータ所有者のうち1つから所望のデータに対する要求を受信するステップと、
前記保護された共有データ構造における1つまたは複数のデータ所有者の残りと、前記要求を共有するステップと、
前記要求を評価する際、前記保護された共有データ構造における1つまたは複数のデータ所有者の前記残りから、前記協調計算に参加するという指示を受信するステップであって、前記協調計算に参加する前記1つまたは複数のデータ所有者の前記残りが、前記参加データ所有者であるステップと、を含む、請求項2に記載の方法。
【請求項4】
前記要求を評価することが、
要求された前記所望のデータのカテゴリを公開または非公開の1つとして識別するステップと、
非公開カテゴリの前記所望のデータを提供するためのプライバシー推定値を計算するステップと、
計算された前記プライバシー推定値が、非公開カテゴリの前記所望のデータを提供するための利用可能なプライバシー推定値内であるとき、前記協調計算に参加することを示すステップと、を含む、請求項3に記載の方法。
【請求項5】
参加データ所有者のペアの前記計算結果が、前記1つまたは複数の参加データ所有者のうち1つに提供される、請求項1に記載の方法。
【請求項6】
前記1つまたは複数のグループが、信頼グループ、半信頼グループ、および非信頼グループを含む、請求項1に記載の方法。
【請求項7】
前記1つまたは複数のデータ所有者がそれぞれ、前記保護された共有データ構造が作成されると、前記協調計算における1つまたは複数の他のデータ所有者それぞれに対する信頼レベルを指定する、請求項1に記載の方法。
【請求項8】
前記保護された共有データ構造が、前記保護された共有データ構造が作成されると、信頼レベルテーブルおよび協調要求テーブルを備える、請求項1に記載の方法。
【請求項9】
前記信頼レベルテーブルが、前記保護された共有データ構造に接続された1つまたは複数の他の参加データ所有者それぞれとの、1つまたは複数の参加データ所有者それぞれの信頼レベルの情報を含む、請求項8に記載の方法。
【請求項10】
前記協調要求テーブルが、所望のデータに対する要求、前記1つまたは複数のグループ、データを共有する前記シーケンス、および前記計算結果と関連付けられた情報を含む、請求項8に記載の方法。
【請求項11】
前記信頼グループと関連付けられた前記計算技術がデータ共有の生フォーマットであり、前記半信頼グループと関連付けられた前記計算技術が差分非公開データ共有であり、前記非信頼グループと関連付けられた前記計算技術が安全な複数当事者データ共有である、請求項6に記載の方法。
【請求項12】
前記差分非公開データ共有の技術において、前記データを共有する間にノイズが追加される、請求項11に記載の方法。
【請求項13】
前記安全な複数当事者データ共有において、暗号化された計算が実施され、ノイズが前記計算結果に追加される、請求項11に記載の方法。
【請求項14】
参加データ所有者と他の参加データ所有者との前記信頼レベルが、同じ組織のメンバーに対しては信頼、異なる既知の組織のメンバーに対しては半信頼、未知の組織のメンバーに対しては非信頼である、請求項9に記載の方法。
【請求項15】
前記信頼グループおよび前記半信頼グループによる前記計算結果の生成が並行して実施される、請求項6に記載の方法。
【請求項16】
前記1つまたは複数のグループを作成するステップが、
前記保護された共有データ構造における所望のデータに対する要求を行うデータ所有者を、信頼グループの第1のデータ所有者として識別するステップと、
第1の条件が満たされるまで、前記1つまたは複数の参加データ所有者を前記信頼グループに繰り返し追加するステップであって、前記第1の条件が、参加データ所有者が、前記信頼グループに以前に追加された残り全ての参加データ所有者と信頼ペアを有し、最大数の信頼ペア数を有することであるステップと、
前記第1の条件を満たさなかった残りの参加データ所有者から半信頼グループを形成するステップであって、最大数の半信頼または信頼ペア数を有する残りの参加データ所有者が、第1の参加データ所有者として前記半信頼グループに追加されるステップと、
第2の条件が満たされるまで、前記1つまたは複数の残りの参加データ所有者を前記半信頼グループに繰り返し追加するステップであって、前記第2の条件が、残りの参加データ所有者が、前記半信頼グループに以前に追加された他の全てのデータ所有者と半信頼または信頼ペアを有し、最大数の半信頼または信頼ペア数を有することであるステップと、
前記第2の条件を満たさなかった1つまたは複数の残りの参加データ所有者を、前記非信頼グループとして形成するステップと、を含む、請求項6に記載の方法。
【請求項17】
保護された共有データ構造に接続された1つまたは複数のデータ所有者の間での協調計算を容易にするため、前記保護された共有データ構造を作成するステップと、
前記保護された共有データ構造によって、前記1つまたは複数のデータ所有者のうち1つから所望のデータに対する要求を受信し、前記保護された共有データ構造における1つまたは複数のデータ所有者の残りと前記要求を共有するステップと、
前記保護された共有データ構造によって、前記要求を評価する際、前記保護された共有データ構造における1つまたは複数のデータ所有者の前記残りから、前記協調計算に参加するという指示を受信するステップであって、前記協調計算に参加する前記1つまたは複数のデータ所有者の前記残りが、前記1つまたは複数の参加データ所有者であるステップと、
前記保護された共有データ構造によって、1つまたは複数の参加データ所有者それぞれの互いとの信頼レベルに基づいて、協調計算における前記1つまたは複数の参加データ所有者の1つまたは複数のグループを作成するステップであって、前記1つまたは複数のグループがそれぞれ、前記1つまたは複数のグループそれぞれにおける前記1つまたは複数の参加データ所有者の間でデータを共有するための、計算技術と関連付けられるステップと、
前記保護された共有データ構造によって、前記1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータを共有するシーケンスを識別するステップと、
対応する前記計算技術を使用して、識別された前記シーケンスで、前記1つまたは複数のグループそれぞれにおける参加データ所有者の前記ペアの間で、ピア・ツー・ピアに基づいたデータ共有を実施するステップと、
前記1つまたは複数のグループそれぞれにおける参加データ所有者の前記ペアによって、前記1つまたは複数のグループそれぞれにおける参加データ所有者の前記ペアの間で前記データが共有されていることに基づいて、計算結果を生成するステップであって、前記1つまたは複数のグループのうち1つの前記計算結果が、前記保護された共有データ構造に提供されるステップと、
前記保護された共有データ構造によって、前記1つまたは複数のグループのうち1つの前記計算結果を暗号化するステップと、
前記保護された共有データ構造によって、暗号化された前記計算結果にアクセスするため、前記1つまたは複数のグループそれぞれにおける前記1つまたは複数の参加データ所有者それぞれに暗号化鍵を提供するステップと、を含む、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する方法。
【請求項18】
プロセッサと、
前記プロセッサに通信可能に結合された、プロセッサ実行可能な命令を格納するメモリと、を備え、前記命令が実行されると、前記プロセッサに、
1つまたは複数の参加データ所有者それぞれの互いとの信頼レベルに基づいて、協調計算における前記1つまたは複数の参加データ所有者の1つまたは複数のグループを作成させ、前記1つまたは複数のグループがそれぞれ、前記1つまたは複数のグループそれぞれにおける前記1つまたは複数の参加データ所有者の間でデータを共有するための、計算技術と関連付けられ、
前記1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータを共有するシーケンスを識別させ、対応する前記計算技術を使用して、識別された前記シーケンスで、前記1つまたは複数のグループそれぞれにおける参加データ所有者の前記ペアの間で前記データが共有され、
前記1つまたは複数のグループのうち1つの計算結果を暗号化させ、前記1つまたは複数のグループがそれぞれ、前記1つまたは複数のグループそれぞれにおける参加データ所有者の前記ペアの間で前記データが共有されていることに基づいて、計算結果を生成し、
暗号化された前記計算結果にアクセスするため、前記1つまたは複数のグループそれぞれにおける前記1つまたは複数の参加データ所有者それぞれに暗号化キーを提供させる、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する保護された共有データ構造。
【請求項19】
前記保護された共有データ構造に接続された1つまたは複数のデータ所有者の間での前記協調計算を容易にするために作成される、請求項18に記載の保護された共有データ構造。
【請求項20】
前記プロセッサが、
前記1つまたは複数のデータ所有者のうち1つから所望のデータに対する要求を受信するステップと、
前記保護された共有データ構造における1つまたは複数のデータ所有者の残りと、前記要求を共有するステップと、
前記要求を評価する際、前記保護された共有データ構造における1つまたは複数のデータ所有者の前記残りから、前記協調計算に参加するという指示を受信するステップであって、前記協調計算に参加する前記1つまたは複数のデータ所有者の前記残りが、前記参加データ所有者であるステップと、を実施する、請求項19に記載の保護された共有データ構造。
【請求項21】
前記プロセッサが、
要求された前記所望のデータのカテゴリを公開または非公開の1つとして識別するステップと、
非公開カテゴリの前記所望のデータを提供するためのプライバシー推定値を計算するステップと、
計算された前記プライバシー推定値が、非公開カテゴリの前記所望のデータを提供するための利用可能なプライバシー推定値内であるとき、前記協調計算に参加することを示すステップと、によって前記要求を評価する、請求項20に記載の保護された共有データ構造。
【請求項22】
前記プロセッサが、参加データ所有者のペアの前記計算結果を、前記1つまたは複数の参加データ所有者のうち1つに提供する、請求項18に記載の保護された共有データ構造。
【請求項23】
前記1つまたは複数のグループが、信頼グループ、半信頼グループ、および非信頼グループを含む、請求項18に記載の保護された共有データ構造。
【請求項24】
前記1つまたは複数のデータ所有者がそれぞれ、前記保護された共有データ構造が作成されると、前記協調計算における1つまたは複数の他のデータ所有者それぞれに対する信頼レベルを指定する、請求項18に記載の保護された共有データ構造。
【請求項25】
前記保護された共有データ構造が作成されると、信頼レベルテーブルおよび協調要求テーブルを備える、請求項18に記載の保護された共有データ構造。
【請求項26】
前記信頼レベルテーブルが、前記保護された共有データ構造に接続された1つまたは複数の他の参加データ所有者それぞれとの、1つまたは複数の参加データ所有者それぞれの信頼レベルの情報を含む、請求項25に記載の保護された共有データ構造。
【請求項27】
前記協調要求テーブルが、所望のデータに対する要求、前記1つまたは複数のグループ、データを共有する前記シーケンス、および前記計算結果と関連付けられた情報を含む、請求項25に記載の保護された共有データ構造。
【請求項28】
前記信頼グループと関連付けられた前記計算技術がデータ共有の生フォーマットであり、前記半信頼グループと関連付けられた前記計算技術が差分非公開データ共有であり、前記非信頼グループと関連付けられた前記計算技術が安全な複数当事者データ共有である、請求項23に記載の保護された共有データ構造。
【請求項29】
前記差分非公開データ共有の技術において、前記データを共有する間にノイズが追加される、請求項28に記載の保護された共有データ構造。
【請求項30】
前記安全な複数当事者データ共有において、暗号化された計算が実施され、ノイズが前記計算結果に追加される、請求項28に記載の保護された共有データ構造。
【請求項31】
参加データ所有者と他の参加データ所有者との前記信頼レベルが、同じ組織のメンバーに対しては信頼、異なる既知の組織のメンバーに対しては半信頼、未知の組織のメンバーに対しては非信頼である、請求項26に記載の保護された共有データ構造。
【請求項32】
前記信頼グループおよび前記半信頼グループによる前記計算結果の生成が並行して実施される、請求項23に記載の保護された共有データ構造。
【請求項33】
前記プロセッサが、
前記保護された共有データ構造における所望のデータに対する要求を行うデータ所有者を、信頼グループの第1のデータ所有者として識別するステップと、
第1の条件が満たされるまで、前記1つまたは複数の参加データ所有者を前記信頼グループに繰り返し追加するステップであって、前記第1の条件が、参加データ所有者が、前記信頼グループに以前に追加された残り全ての参加データ所有者と信頼ペアを有し、最大数の信頼ペア数を有することであるステップと、
前記第1の条件を満たさなかった残りの参加データ所有者から半信頼グループを形成するステップであって、最大数の半信頼または信頼ペア数を有する残りの参加データ所有者が、第1の参加データ所有者として前記半信頼グループに追加されるステップと、
第2の条件が満たされるまで、前記1つまたは複数の残りの参加データ所有者を前記半信頼グループに繰り返し追加するステップであって、前記第2の条件が、残りの参加データ所有者が、前記半信頼グループに以前に追加された他の全てのデータ所有者と半信頼または信頼ペアを有し、最大数の半信頼または信頼ペア数を有することであるステップと、
前記第2の条件を満たさなかった1つまたは複数の残りの参加データ所有者を、前記非信頼グループとして形成するステップと、によって前記1つまたは複数のグループを作成する、請求項23に記載の保護された共有データ構造。
【請求項34】
保護された共有データ構造に接続された1つまたは複数のデータ所有者の間での協調計算を容易にするための、前記保護された共有データ構造と、
前記保護された共有データ構造と関連付けられた1つまたは複数のデータ所有者と、を備え、
前記保護された共有データ構造が、
プロセッサと、
前記プロセッサに通信可能に結合された、プロセッサ実行可能な命令を格納するメモリと、を備え、前記命令が実行されると、前記プロセッサに、
前記1つまたは複数のデータ所有者のうち1つから所望のデータに対する要求を受信させ、前記保護された共有データ構造における1つまたは複数のデータ所有者の残りと前記要求を共有させ、
前記要求を評価する際、前記保護された共有データ構造における1つまたは複数のデータ所有者の前記残りから、前記協調計算に参加するという指示を受信させ、前記協調計算に参加する前記1つまたは複数のデータ所有者の前記残りが、前記1つまたは複数の参加データ所有者であり、
1つまたは複数の参加データ所有者それぞれの互いとの信頼レベルに基づいて、協調計算における前記1つまたは複数の参加データ所有者の1つまたは複数のグループを作成させ、前記1つまたは複数のグループがそれぞれ、前記1つまたは複数のグループそれぞれにおける前記1つまたは複数の参加データ所有者の間でデータを共有するための、計算技術と関連付けられ、
前記1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータを共有するシーケンスを識別させ、
対応する前記計算技術を使用して、識別された前記シーケンスで、前記1つまたは複数のグループそれぞれにおける参加データ所有者の前記ペアの間で、ピア・ツー・ピアに基づいたデータ共有を実施させ、
前記1つまたは複数のグループそれぞれにおける参加データ所有者の前記ペアによって、前記1つまたは複数のグループそれぞれにおける参加データ所有者の前記ペアの間で前記データが共有されていることに基づいて、計算結果を生成させ、前記1つまたは複数のグループのうち1つの前記計算結果が、前記保護された共有データ構造に提供され、
前記命令が前記プロセッサに、
前記1つまたは複数のグループのうち1つの前記計算結果を暗号化させ、
暗号化された前記計算結果にアクセスするため、前記1つまたは複数のグループそれぞれにおける前記1つまたは複数の参加データ所有者それぞれに暗号化キーを提供させる、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理するシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の主題は、全体としてデータプライバシーに関し、より詳細には、ただし非排他的に、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する方法およびシステムに関する。
【背景技術】
【0002】
複数所有者のデータ共有は、サービスおよびリサーチを改善するための深い洞察を提供する協調計算に必要とされる。ユーザ記録は複数のデータ所有者に分配される。これらの記録は、健康に関連するデータ、社会的データ、所在地データ、個人データ、財務データなどの機密ユーザ情報を含むことがある。有用な計算を実施するために複数のデータ所有者から様々なデータを受信し、より良好な分析結果を得ることは必要不可欠である。しかしながら、全てのデータ所有者が互いを信頼していないために、有用な情報の共有が妨げられることがある。また、データ所有者は、機密情報を共有するのに共通の中央サーバを信頼していないことがある。ユーザ記録の直接共有は、ユーザの再識別、望ましくない追跡、および機密情報へのアクセスにかかるプライバシーの問題につながる。状況によっては、データ所有者が、他のデータ所有者または共通の中央サーバと機密データを計算のために共有することに同意したとしても、データ所有者は、多数のノイズが各ユーザ記録に追加されたデータセットを共有する。ノイズレベルが高いことにより、これらのデータセットに対して実施される計算の精度は低く、結果として有用性が低い。更に、データ所有者は、例えば、協調計算のためにユーザ記録を互いに共有する前にその全体を暗号化するので、暗号化されたデータ記録全体に対する計算は、実用にとっては低速すぎて有用性が低い。
【0003】
本開示は、上述した1つまたは複数の制限、あるいは従来技術と関連付けられた他のあらゆる制限を克服することを対象とする。
【0004】
本開示の背景技術の項に開示する情報は、単に本発明の一般的な背景の理解を深めるためのものであり、この情報が当業者には既に知られている従来技術を形成することを認めたりまたはいかなる形でも提示したりするものと解釈すべきではない。
【発明の概要】
【0005】
既存の技術における上述の問題を克服するために、特許請求する発明は、複数のデータサーバまたはプロバイダによって所有されている機密情報を含むデータに対する複数の信頼レベルに基づいてグループを作成し、作成された各グループに対するデータのデータ変換レベルを変更し、変更されたデータ変換レベルによって、生、ノイズ追加、または暗号化としてデータを共有して協調計算する、方法およびシステムを開示する。データ所有者ペアの信頼レベルに基づいた、ユーザ記録に対する異種データ変換は、ユーザ記録に求められるプライバシーと、有用性(ユーザ記録に対する協調処理の精度および計算時間)との間のバランスを提供する。
【0006】
本開示の一実施形態では、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する方法が開示される。方法は、保護された共有データ構造によって、1つまたは複数の参加データ所有者それぞれの互いとの信頼レベルに基づいて、協調計算における1つまたは複数の参加データ所有者の1つまたは複数のグループを作成することを含む。1つまたは複数のグループはそれぞれ、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者の間でデータを共有するための、計算技術と関連付けられる。その後、方法は、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータを共有するシーケンスを識別することを含む。対応する計算技術を使用して、識別されたシーケンスで、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータが共有される。続いて、方法は、1つまたは複数のグループのうち1つの計算結果を暗号化することを含む。1つまたは複数のグループはそれぞれ、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータが共有されていることに基づいて、計算結果を生成する。更に、方法は、暗号化された計算結果にアクセスするとともにデータプライバシーを管理するため、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者それぞれに暗号化鍵を提供することを含む。
【0007】
本開示の一実施形態では、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する方法が開示される。方法は、保護された共有データ構造に接続された1つまたは複数のデータ所有者の間での協調計算を容易にするため、保護された共有データ構造を作成することを含む。保護されたデータ構造が作成されると、方法は、1つまたは複数のデータ所有者のうち1つから所望のデータに対する要求を受信し、保護された共有データ構造における1つまたは複数のデータ所有者の残りと要求を共有することを含む。続いて、方法は、保護された共有データ構造における1つまたは複数のデータ所有者の残りから、要求を評価する際に協調計算に参加するという指示を受信することを含む。協調計算に参加する1つまたは複数のデータ所有者の残りは、1つまたは複数の参加データ所有者である。更に、方法は、1つまたは複数の参加データ所有者それぞれの互いとの信頼レベルに基づいて、協調計算における1つまたは複数の参加データ所有者の1つまたは複数のグループを作成することを含む。1つまたは複数のグループはそれぞれ、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者の間でデータを共有するための、計算技術と関連付けられる。
【0008】
1つまたは複数のグループを作成する際、方法は、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータを共有するシーケンスを識別することを含む。その後、方法は、対応する計算技術を使用して、識別されたシーケンスで、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間で、ピア・ツー・ピアに基づいたデータ共有を実施することを含む。一実施形態では、方法は、1つまたは複数のグループそれぞれにおける参加データ所有者のペアによって、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータが共有されていることに基づいて、計算結果を生成することを含む。1つまたは複数のグループのうち1つの計算結果は、保護された共有データ構造に提供される。その後、方法は、1つまたは複数のグループのうち1つの計算結果を暗号化することを含む。更に、方法は、暗号化された計算結果にアクセスするため、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者それぞれに暗号化鍵を提供することを含む。
【0009】
本開示の一実施形態では、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する保護された共有データ構造が開示される。保護された共有データ構造は、プロセッサとプロセッサに通信可能に結合されたメモリとを備え、メモリはプロセッサ実行可能命令を格納し、それらが実行されると、プロセッサに、1つまたは複数の参加データ所有者それぞれの互いとの信頼レベルに基づいて、協調計算における1つまたは複数の参加データ所有者の1つまたは複数のグループを作成させる。1つまたは複数のグループはそれぞれ、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者の間でデータを共有するための、計算技術と関連付けられる。その後、プロセッサは、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータを共有するシーケンスを識別する。対応する計算技術を利用して、識別されたシーケンスで、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータが共有される。続いて、プロセッサは、1つまたは複数のグループのうち1つの計算結果を暗号化し、1つまたは複数のグループはそれぞれ、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータが共有されていることに基づいて、計算結果を生成する。更に、プロセッサは、暗号化された計算結果にアクセスするとともにデータプライバシーを管理するため、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者それぞれに暗号化鍵を提供する。
【0010】
本開示の一実施形態では、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理するシステムが開示される。システムは、保護された共有データ構造に接続された1つまたは複数のデータ所有者の間での協調計算を容易にするため、保護された共有データ構造を備える。システムはまた、保護された共有データ構造と関連付けられた1つまたは複数のデータ所有者を含んでもよく、保護された共有データ構造は、プロセッサと、プロセッサに通信可能に結合されたメモリとを備える。メモリはプロセッサ実行可能命令を格納し、それらが実行されると、プロセッサに、1つまたは複数のデータ所有者のうち1つから所望のデータに対する要求を受信させ、保護された共有データ構造における1つまたは複数のデータ所有者と要求を共有させる。その後、プロセッサは、要求を評価する際に、保護された共有データ構造における1つまたは複数のデータ所有者の残りから、協調計算に参加するという指示を受信する。協調計算に参加する1つまたは複数のデータ所有者の残りは、1つまたは複数の参加データ所有者である。1つまたは複数のデータ所有者の残りから指示を受信すると、プロセッサは、1つまたは複数の参加データ所有者それぞれの互いとの信頼レベルに基づいて、協調計算における1つまたは複数の参加データ所有者の1つまたは複数のグループを作成する。1つまたは複数のグループはそれぞれ、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者の間でデータを共有するための、計算技術と関連付けられる。更に、プロセッサは、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータを共有するシーケンスを識別する。識別に基づいて、プロセッサは、対応する計算技術を使用して、識別されたシーケンスで、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間で、ピア・ツー・ピアに基づいたデータ共有を実施する。
【0011】
一実施形態では、プロセッサは、1つまたは複数のグループそれぞれにおける参加データ所有者のペアによって、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータが共有されていることに基づいて、計算結果を生成する。1つまたは複数のグループのうち1つの得られた計算結果は、保護された共有データ構造に提供され、命令はプロセッサに、1つまたは複数のグループのうち1つの計算結果を暗号化させる。更に、プロセッサは、暗号化された計算結果にアクセスするため、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者それぞれに暗号化鍵を提供する。
【0012】
上述の概要は単なる例示であり、いかなる形でも限定であることを意図しない。上述した例示の態様、実施形態、および特徴に加えて、図面および以下の詳細な記載を参照することにより、更なる態様、実施形態、および特徴が明白となるであろう。
【0013】
添付図面は、本開示に組み込まれるとともにその一部を構成するものであり、例示的実施形態を例示し、記載と併せて本開示の原理を説明するものである。図面中、参照番号の一番左の桁は、その参照番号が最初に登場する図面を特定する。同様の特徴および構成要素を参照するのに、図面全体を通して同じ番号が使用される。本発明の主題の実施形態によるシステムおよび/または方法のいくつかの実施形態を、単なる例として、添付図面に関連して以下に記載する。
【図面の簡単な説明】
【0014】
【
図1a】本開示のいくつかの実施形態による、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する、例示的な環境を示す図である。
【
図1b】本開示のいくつかの実施形態による、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する、保護された共有データ構造を示すブロック図である。
【
図2】本開示のいくつかの実施形態による、保護された共有データ構造の初期化および協調要求テーブルの作成を示すシーケンスフロー図である。
【
図3】本開示のいくつかの実施形態による、信頼レベルグループの形成を示すシーケンスフロー図である。
【
図4】本開示のいくつかの実施形態による、計算結果の生成を示すシーケンスフロー図である。
【
図5】本開示のいくつかの実施形態による、患者の健康記録を共有する例示のシナリオを示す図である。
【
図6】本開示のいくつかの実施形態による、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する方法を示すフローチャートである。
【
図7】本開示のいくつかの実施形態による、分散プラットフォームで協調計算を実施する間に参加データ所有者を識別する方法を示すフローチャートである。
【
図8】本開示と一致する実施形態を実現する例示的なコンピュータシステムを示すブロック図である。
【
図9】本開示のいくつかの実施形態による、信頼レベルのカテゴリ、ユーザ記録に対して実施されるデータ変換、および関連する協調計算技術を示した図である。
【
図10】本開示のいくつかの実施形態による、データを共有する間に追加されるノイズの量に基づいた、複数の異なる半信頼レベルのサブカテゴリを示す図である。
【
図11】本開示のいくつかの実施形態による、1つまたは複数のデータ所有者それぞれの、1つまたは複数の他のデータ所有者それぞれとの信頼レベルを示す図である。
【
図12】本開示のいくつかの実施形態による、協調要求テーブルを示す図である。
【
図13】本開示のいくつかの実施形態による、データ所有者信頼レベルテーブルを示す図である。
【
図14】本開示のいくつかの実施形態による、新しい協調エントリが作成された協調要求テーブルを示す図である。
【
図15】本開示のいくつかの実施形態による、H9を除いて、他の全ての病院が、協調要求テーブル119の参加メンバーリストで更新されることを示した図である。
【
図16】本開示のいくつかの実施形態による、協調要求テーブルでグループ情報が更新されることを示した図である。
【
図17】本開示のいくつかの実施形態による、暗号化された計算結果により、協調要求テーブルが更新されることを示す図である。
【発明を実施するための形態】
【0015】
本明細書のブロック図はいずれも、本発明の主題の原理を具体化する例示的システムの概念図を表すものであることが、当業者には認識されるべきである。同様に、フローチャート、フロー図、状態遷移図、擬似コードなどはいずれも、コンピュータ可読媒体で実質的に表され、コンピュータまたはプロセッサによって(かかるコンピュータまたはプロセッサが明示的に示されるか否かにかかわらず)実行されてもよい、様々なプロセスを表すものであることが認識されるであろう。
【0016】
本文書において、「例示」という単語は、本明細書では、「例、実例、または例示としての役割を果たす」ことを意味するのに使用される。本明細書において「例示」として記載される、本発明の主題のいずれの実施形態または実現例も、必ずしも他の実施形態よりも好ましいかまたは有利なものとして解釈されるものではない。
【0017】
本開示は、様々な修正および代替形態を容認可能であるが、それらの特定の実施形態が例として図面に示されており、以下に詳細に記載される。しかしながら、本開示を開示する特定の形態に限定しようとするものではなく、反対に、本開示は、全ての修正、等価物、および代替物を、本開示の範囲内にあるものとして網羅するものであることが理解されるべきである。
【0018】
「備える」、「備えている」、「含む」、「含んでいる」という用語、またはそれらの他の任意の変形は、非排他的包含を網羅するものとし、そのため、一連の構成要素もしくはステップを備えるセットアップ、デバイス、または方法は、それらの構成要素もしくはステップのみを含むのではなく、明示的に列挙されないか、あるいはかかるセットアップまたはデバイスまたは方法に固有の、他の構成要素もしくはステップを含んでもよい。換言すれば、「~を備える」に続くシステムまたは装置の1つもしくは複数の要素は、更なる制約なしに、他の要素または追加の要素がシステムまたは方法に存在することを除外しない。
【0019】
本開示は、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する方法およびシステムに関する。最初に、保護された共有データ構造と関連付けられた1つまたは複数のデータ所有者の間での協調計算を容易にするため、保護された共有データ構造を作成する。プロセスは、1つまたは複数のデータ所有者のうち1つから所望のデータに対する要求を受信することで始まり、次に、保護された共有データ構造における1つまたは複数のデータ所有者の残りと要求を共有する。要求を評価した後、方法は、保護された共有データ構造における1つまたは複数のデータ所有者の残りから、協調計算に参加するという指示を受信することを含む。協調計算に参加する1つまたは複数のデータ所有者の残りは、参加データ所有者である。評価プロセスは、要求された所望のデータのカテゴリを公開または非公開の1つとして識別することと、非公開カテゴリの所望のデータを提供するためのプライバシー推定値を計算することと、を含む。その後、計算されたプライバシー推定値が、非公開カテゴリの所望のデータを提供するための利用可能なプライバシー推定値内であるとき、協調計算に参加することを示す。
【0020】
保護された共有データ構造は、保護された共有データ構造が作成されると、信頼レベルテーブルおよび協調要求テーブルを備える。信頼レベルテーブルは、保護された共有データ構造に接続された1つまたは複数の他の参加データ所有者それぞれとの、1つまたは複数の参加データ所有者それぞれの信頼レベルの情報を含む。協調要求テーブルは、所望のデータに対する要求、1つまたは複数のグループ、データを共有するシーケンス、および計算結果と関連付けられた情報を含む。続いて、方法は、1つまたは複数の参加データ所有者それぞれの互いとの信頼レベルに基づいて、協調計算における1つまたは複数の参加データ所有者の1つまたは複数のグループを作成することを含む。1つまたは複数のグループはそれぞれ、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者の間でデータを共有するための、計算技術と関連付けられる。1つまたは複数のグループは、信頼グループ、半信頼グループ、および非信頼グループを含む。
【0021】
保護された共有データ構造は、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータを共有するシーケンスを識別する。その後、方法は、対応する計算技術を使用して、識別されたシーケンスで、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間で、ピア・ツー・ピアに基づいたデータ共有を実施することを含む。信頼グループの計算技術は、生データ共有フォーマットであってもよく、半信頼グループと関連付けられた計算技術は、データを共有する間にノイズが追加される、差分非公開データ共有であってもよい。非信頼グループと関連付けられた計算技術は、安全な複数当事者データ共有であってもよく、安全な複数当事者データ共有では、暗号化された計算が実施され、ノイズが計算結果に追加される。更に、方法は、1つまたは複数のグループそれぞれにおける参加データ所有者のペアによって、1つまたは複数のグループそれぞれにおける参加データ所有者のペアの間でデータが共有されていることに基づいて、計算結果を生成することを含む。1つまたは複数のグループのうち1つの得られた計算結果は、保護された共有データ構造に提供される。保護された共有データ構造は、次に、1つまたは複数のグループのうち1つの得られた計算結果を暗号化する。
【0022】
一実施形態では、保護された共有データ構造は、暗号化された計算結果にアクセスするとともにデータプライバシーを管理するため、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者それぞれに暗号化鍵を提供する。このように、本開示は、有用性およびプライバシーを向上させた、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する、方法およびシステムを開示する。更に、本開示は、データ所有者の機密情報を共有する一方で処理の時間および精度を改善する、方法を提供する。
【0023】
図1aは、本開示のいくつかの実施形態による、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する、例示的な環境を示している。
【0024】
環境100は、保護された共有データ構造103と、1つまたは複数のデータ所有者、例えばデータ所有者1 101
1~データ所有者N 101
N[集合的に、データ所有者/参加データ所有者101と呼ぶ]とを備える。保護された共有データ構造103は、協調計算を実施する間のデータプライバシーを管理する、(
図1bに示されるような)メモリ116とインターフェース接続するプロセッサ114を備える。保護された共有データ構造103はまた、入出力(I/O)インターフェース113(
図1bに示される)を含んでもよい。一例として、
図1aは、1つまたは複数の参加データ所有者101それぞれの互いとの信頼レベルに基づいた、協調計算の完全なアーキテクチャを示している。一実施形態では、多数のユーザ記録が、いくつかのデータ所有者のデータベースまたはレポジトリで保持される。情報または所望のデータは、ユーザ記録の機密情報を含んでもよく、公開データおよび非公開データとしてカテゴリ分けされてもよい。非公開データは、ユーザの健康状態、ユーザの疾患のタイプ、社会的選好、所在地、銀行取引、年齢、性別、および身長を含んでもよいが、それらに限定されない。公開データは、購入した電子商取引品目、フィードバック評価、および推薦に関する情報を含むが、それらに限定されない。
【0025】
一実施形態では、保護された共有データ構造103に接続された1つまたは複数のデータ所有者101の間での協調計算を容易にするため、保護された共有データ構造103が作成される。保護された共有データ構造103は、ブロックチェーンネットワークシステムまたはサーバの1つである。1つまたは複数のデータ所有者101はそれぞれ、保護された共有データ構造103が作成されると、協調計算における1つまたは複数の他のデータ所有者101それぞれに対する一方向の信頼レベルを指定する。1つまたは複数のデータ所有者101それぞれとデータを共有して協調計算する前に、データ所有者の信頼レベルに応じて、ユーザ記録に対してデータ変換が実施される。
【0026】
一実施形態では、保護された共有データ構造103は、保護された共有データ構造103が作成されると、信頼レベルテーブル118および協調要求テーブル119を備える。信頼レベルテーブル118は、保護された共有データ構造103に接続された1つまたは複数の他の参加データ所有者101それぞれとの、1つまたは複数の参加データ所有者101それぞれの信頼レベルの情報を含む。協調要求テーブル119は、所望のデータに対する要求、1つまたは複数のグループ、データを共有するシーケンス、および計算結果と関連付けられた情報を含む。
【0027】
一実施形態では、保護された共有データ構造103は、1つまたは複数の参加データ所有者101それぞれの互いとの信頼レベルに基づいて、協調計算における1つまたは複数の参加データ所有者101の1つまたは複数のグループを作成する。1つまたは複数のグループは、信頼(T)グループ[信頼ペア]105と、半信頼(S)グループ107[半信頼ペア]と、非信頼(U)グループ109[非信頼ペア]とを含み、1つまたは複数のグループはそれぞれ計算技術と関連付けられる。協調計算のため、作成された1つまたは複数のグループは、複数のデータサーバまたはプロバイダによって所有されている機密情報を含むデータに対する複数の信頼レベルに基づき、作成された各グループに対するデータのデータ変換レベルを変更し、変更されたデータ変換レベルによって、生、ノイズ追加、または暗号化としてデータを共有する。信頼グループ105と関連付けられた計算技術は、データ共有の生フォーマットである。半信頼グループ107と関連付けられた計算技術は、差分非公開データ共有であり、差分非公開データ共有技術では、データを共有する間にノイズが追加される。非信頼グループ109と関連付けられた計算技術は、安全な複数当事者データ共有であり、安全な複数当事者データ共有では、暗号化された計算が実施され、ノイズが計算結果に追加される。
【0028】
保護された共有データ構造103が作成されると、1つまたは複数のデータ所有者101は、所望のデータを要求し、保護された共有データ構造103における要求を1つまたは複数のデータ所有者101の残りと共有してもよい。データ共有要求を評価する際、保護された共有データ構造103における1つまたは複数のデータ所有者101から、協調計算に参加するという指示が受信される。参加データ所有者101は、協調計算に参加している1つまたは複数のデータ所有者101である。その後、1つまたは複数の参加データ所有者101それぞれの互いとの信頼レベルに基づいて、1つまたは複数の参加データ所有者101の1つまたは複数のグループが、協調計算のために作成される。1つまたは複数のグループは、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者101の間でデータを共有するため、計算技術と関連付けられる。続いて、保護された共有データ構造103は、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間でのデータ共有シーケンスを識別する。対応する計算技術を使用して、保護された共有データ構造103は、指定されたデータ共有シーケンスで、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間で、ピア・ツー・ピアデータ共有を実施する。
【0029】
一実施形態では、保護された共有データ構造103は、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間でデータが共有されていることに基づいて、計算結果を生成する。その後、保護された共有データ構造103は、1つまたは複数のグループのうち1つの計算結果を受信する。更に、保護された共有データ構造103は、1つまたは複数のグループのうち1つの計算結果を暗号化し、暗号化された計算結果にアクセスするため、およびデータプライバシーのため、1つまたは複数の参加データ所有者101それぞれに暗号化鍵を提供する。このように、本開示は、データ所有者101の機密情報の共有における処理の時間および精度を改善する。
【0030】
図1bは、本開示のいくつかの実施形態による、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する、保護された共有データ構造のブロック図を示している。
【0031】
一実現例では、保護された共有データ構造103は、I/Oインターフェース113を通してデータを受信する。一例として、受信したデータはメモリ116内に格納される。一実施形態では、データは、信頼レベルテーブル118のコンテンツ、協調要求テーブル119のコンテンツ、および他のデータ120を含む。示される
図1bで、メモリ116に格納された1つまたは複数のモジュールについて、本明細書で詳細に記載する。
【0032】
一実施形態では、データは、様々なデータ構造の形態でメモリ116に格納されてもよい。加えて、上述のデータは、関係または階層データモデルなどのデータモデルを使用して組織化することができる。他のデータ120は、保護された共有データ構造103の様々な機能を実施するモジュールによって生成される、一時データおよび一時ファイルを含むデータを格納してもよい。
【0033】
一実施形態では、信頼レベルテーブル118は、保護された共有データ構造103に接続された1つまたは複数の他の参加データ所有者101それぞれとの、1つまたは複数の参加データ所有者101それぞれの信頼レベルの情報を含む。1つまたは複数のデータ所有者101はそれぞれ、協調計算における1つまたは複数の他のデータ所有者101それぞれに対する信頼レベルを指定する。1つまたは複数のデータ所有者101それぞれに対する信頼レベルは、信頼(T)グループ[信頼ペア(TT)]105、半信頼(S)グループ107[半信頼ペア(ST、TS、SS)]、および非信頼(U)グループ109[非信頼ペア(UU、US、SU、UT、TU)]としてカテゴリ分けされる。信頼グループ105、例えばTTと関連付けられた計算技術は、データ共有の生フォーマットである。半信頼グループ107、例えばTS、ST、およびSSと関連付けられた計算技術は、差分非公開データ共有であり、非信頼グループ109、例えばUU、US、SU、UT、およびTUと関連付けられた計算技術は、安全な複数当事者データ共有である。差分非公開データ共有技術では、データを共有する間にノイズが追加されるが、安全な複数当事者データ共有では、暗号化された計算が実施され、ノイズが計算結果に追加される。全てのデータ所有者ペアの信頼レベルに対して、プライバシーが保存される。信頼ペア105では、データ処理は高速で正確なものになるが、半信頼ペア107では、データ処理は高速で非公開のものになるが精度は下がる。非信頼ペア109では、データ処理は正確で非公開性が高いものになるが、低速処理である。
【0034】
図9の表1は、信頼レベルのカテゴリ、ユーザ記録に対して実施されるデータ変換、および関連する協調計算技術を示している。ある参加データ所有者と他の参加データ所有者との信頼レベルは、同じ組織のメンバーに対しては信頼、異なる既知の組織のメンバーに対しては半信頼、未知の組織のメンバーに対しては非信頼である。データ所有者ペアの信頼レベルに基づいた、ユーザ記録に対する異種データ変換は、ユーザ記録に求められるプライバシーと、有用性、即ちユーザ記録に対する協調処理の精度および計算時間とのバランスを提供する。同様に、
図10の表2は、データを共有する間に追加されるノイズの量に基づいた、複数の異なる半信頼レベルのサブカテゴリを示している。
【0035】
一実施形態では、1つまたは複数のデータ所有者101それぞれの、1つまたは複数の他のデータ所有者101それぞれとの信頼レベルが
図11の表3に示される。N個のデータ所有者が協調計算に参加する場合について検討する。データ所有者間の信頼レベルは一方向性である。例えば、
図11の表3では、データ所有者D1とデータ所有者D2との間のデータ共有について検討しており、データ所有者D1はデータ所有者D2と半信頼の関係を有し、データ所有者D2はデータ所有者D1と信頼関係を有する。斜め方向のエントリでは、データ所有者と自身との信頼レベルは無関係であり、保護された共有データ構造103はデータ所有者の信頼レベルテーブル118を維持する。
【0036】
一実施形態では、協調要求テーブル119は、所望のデータに対する要求、1つまたは複数のグループ、データを共有するシーケンス、および計算結果と関連付けられた情報を含む。例示の協調要求テーブル119が
図12の表4に示されている。保護された共有データ構造103が作成されると、それは協調要求テーブル119を含む。保護された共有データ構造103は、協調要求テーブル119を維持する。
【0037】
例えば、保護された共有データ構造103は、12個のデータ所有者、例えばD1、D2、D3、D4、D5、D6、D7、D8、D9、D10、D11、およびD12の間での協調のために作成される。D1データ所有者は、所望のデータに対する要求を保護された共有データ構造103に送信し、所望のデータは、上位5つの疾患、および疾患を治療するのに要する平均入院期間に関する。D4、D8、およびD11を除いて、他の全てのデータ所有者は相互の関心に基づいて協調することに決めている。関心を持つデータ所有者(D1、D2、D3、D5、D6、D7、D9、D10、およびD12)の参加は、協調要求テーブル119で更新される。全ての参加データ所有者の中で、D1、D2、およびD3は互いと信頼ペア105を形成し、D1、D2、およびD3のデータ所有者は信頼グループを形成する。同様に、D5、D7、およびD12のデータ所有者は互いと半信頼ペア107を形成し、D5、D7、およびD12のデータ所有者は半信頼グループを形成する。残りのデータ所有者D10、D6、およびD9は非信頼グループを形成する。
【0038】
一実施形態では、保護された共有データ構造103は、データ所有者ペアおよびデータ共有シーケンスを選択して、信頼グループの第1のデータ所有者、例えばD1が信頼グループ計算の最終出力を格納し、半信頼グループの第1のデータ所有者、例えばD5が半信頼グループ計算の最終出力を格納するようになる。その後、非信頼グループのデータ共有が、信頼グループの第1のデータ所有者(D1)と、半信頼グループの第1のデータ所有者(D5)と、非信頼グループのデータ所有者(例えば、D10、D6、およびD9)との間で伝送される。更に、データ共有処理情報が協調要求テーブル119に保存され、保護された共有データ構造103は協調結果を暗号化する。
【0039】
一実施形態では、メモリ116に格納されたデータは、保護された共有データ構造103のモジュールによって処理される。モジュールは、
図1bに示されるように、メモリ116内に格納されてもよい。一例では、モジュールは、プロセッサ114に通信可能に結合され、メモリ116の外部にも存在してもよい。
【0040】
一実現例では、モジュールは、例えば、作成モジュール122、識別モジュール123、暗号化モジュール124、提供モジュール125、および他のモジュール126を含んでもよい。他のモジュール126は、保護された共有データ構造103の種々様々な機能を実施するのに使用されてもよい。かかる上述のモジュールは、単一のモジュールまたは異なるモジュールの組み合わせとして表されてもよいことが認識されるであろう。一実施形態では、作成モジュール122は、保護された共有データ構造103と関連付けられた1つまたは複数のデータ所有者101の間での協調計算を容易にするため、保護された共有データ構造103を作成するように構成されてもよい。
【0041】
その後、1つまたは複数の参加データ所有者101それぞれの互いとの信頼レベルに基づいて、協調計算における1つまたは複数の参加データ所有者101の1つまたは複数のグループを作成する。1つまたは複数のグループはそれぞれ、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者101の間でデータを共有する、計算技術と関連付けられる。1つまたは複数のグループは、信頼グループ、半信頼グループ、および非信頼グループである。その後、1つまたは複数のデータ所有者101のうち1つから所望のデータに対する要求を受信し、保護された共有データ構造103における1つまたは複数のデータ所有者101の残りと要求を共有する。要求を査定した後、協調計算に参加したいであろう、保護された共有データ構造103における1つまたは複数のデータ所有者101の残りから確認を得る。
【0042】
一実施形態では、識別モジュール123は、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間でデータを共有するシーケンスを識別するように構成される。データは、対応する計算技術を使用して、識別されたシーケンスで、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間で共有される。その後、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間でデータを共有するシーケンスを識別する。
【0043】
一実施形態では、暗号化モジュール124は、1つまたは複数のグループのうち1つの計算結果を暗号化するように構成されてもよく、1つまたは複数のグループそれぞれが計算結果を生成する。計算結果は、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間でデータが共有されていることに基づく。信頼グループおよび半信頼グループと関連付けられた計算技術は並行して実施され、得られた計算結果は協調要求テーブル119で更新される。非信頼グループと関連付けられた計算技術は、安全な複数当事者データ共有であり、暗号化された計算が実施され、ノイズが計算結果に追加され、得られた計算結果は協調要求テーブル119で更新される。対称鍵Kが生成され、鍵Kは各協調要求に固有のものであり、計算結果は鍵Kを用いて暗号化され、暗号化された計算結果は協調要求テーブル119で更新される。
【0044】
一実施形態では、提供モジュール125は、協調要求に参加した全てのデータ所有者と鍵Kを共有するように構成される。更に、参加データ所有者101は、鍵Kを使用して暗号化された計算結果を復号して、協調結果を得る。
【0045】
図2は、本開示のいくつかの実施形態による、保護された共有データ構造の初期化および協調要求テーブルの作成のシーケンスフロー図を示している。
【0046】
一実施形態では、データ所有者は、ステップ1に示されるように、保護された共有データ構造103に接続された1つまたは複数のデータ所有者101の間での協調計算を容易にするため、保護された共有データ構造103を作成する。保護された共有データ構造103は、保護された共有データ構造103が作成されると、信頼レベルテーブル118および協調要求テーブル119を作成する。ステップ2で、協調に関心を持つデータ所有者が保護された共有データ構造103に加入してもよい。一例として、データ所有者1、データ所有者2、およびデータ所有者Nが、保護された共有データ構造103に加入してもよい。新しいデータ所有者が協調計算に参加することに関心を示すと、信頼レベルテーブル118で、関心を持つデータ所有者101のエントリが作成される。その後、他の全てのデータ所有者101の信頼レベルが、新しいデータ所有者101のエントリを追加することによって、信頼レベルテーブル118で更新される。同様に、他の全てのデータ所有者101は、新しいデータ所有者101の信頼レベルを信頼レベルテーブル118に入力する。ステップ3で、保護された共有データ構造103は、1つまたは複数のデータ所有者101のうち1つから所望のデータに対する要求を受信し、保護された共有データ構造103における1つまたは複数のデータ所有者101の残りと要求を共有する。次に、協調要求テーブル119で、受信した要求に対して新しい協調エントリが作成される。
【0047】
一実施形態では、保護された共有データ構造103は、保護された共有データ構造103における1つまたは複数のデータ所有者101の残りから、要求を評価する際に協調計算に参加するという指示を受信する。評価は、要求された所望のデータのカテゴリを公開または非公開の1つとして識別して、非公開カテゴリの所望のデータを提供するためのプライバシー推定値を計算することを含む。評価の際に協調計算に参加することを希望している1つまたは複数のデータ所有者101の残りは、
図3に示されるように、1つまたは複数の参加データ所有者101である。参加データ所有者101に関する情報は、ステップ5で、協調要求テーブル119で更新される。
【0048】
一実施形態では、保護された共有データ構造103は、1つまたは複数の参加データ所有者101それぞれの信頼レベルに基づいて、協調計算における1つまたは複数の参加データ所有者101の1つまたは複数のグループを作成する。1つまたは複数のグループはそれぞれ、1つまたは複数の参加データ所有者101の間でデータを共有するための、計算技術と関連付けられ、1つまたは複数のグループは、信頼グループ、半信頼グループ、および非信頼グループを含む。ある参加データ所有者101と他の参加データ所有者101との信頼レベルは、同じ組織のメンバーに対しては信頼、異なる既知の組織のメンバーに対しては半信頼、未知の組織のメンバーに対しては非信頼である。関心を持つデータ所有者101の参加リストは、協調要求テーブル119で更新される。最初に、保護された共有データ構造103における所望のデータに対する要求を行うデータ所有者を、信頼グループの第1のデータ所有者(発信元)として識別する。その後、第1の条件が満たされるまで、1つまたは複数の参加データ所有者101を信頼グループに繰り返し追加する。プロセスの第1の条件は、参加データ所有者が、信頼グループに以前に追加された1つまたは複数の参加データ所有者101の残り全てと信頼ペア105を有し、最大数の信頼ペア数を有することである。
【0049】
一実施形態では、保護された共有データ構造103は、第1の条件を満たさなかった1つまたは複数の参加データ所有者101の残りから、半信頼グループを形成する。1つまたは複数の参加データ所有者101の残り全ての間で、最大数の半信頼ペア107または信頼ペア105数を有するものが、第1の参加データ所有者として半信頼グループに追加される。その後、第2の条件が満たされるまで、1つまたは複数の残りの参加データ所有者101を半信頼グループに繰り返し追加する。第2の条件は、1つまたは複数の参加データ所有者101の残りが、半信頼グループに以前に追加された他の全てのデータ所有者と半信頼ペア107または信頼ペア105を有し、最大数の半信頼ペア107または信頼ペア105数を有することである。更に、第2の条件を満たさなかった1つまたは複数の残りの参加データ所有者101に基づいて、非信頼グループを形成する。ステップ6で、協調要求テーブル119のグループ情報を更新する。
【0050】
一実施形態では、保護された共有データ構造103は、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間でデータを共有するシーケンスを識別する。ステップ7で、信頼グループおよび半信頼グループによる計算結果の生成が、
図4に示されるように、並行して実施される。信頼グループでは、保護された共有データ構造103における所望のデータに対する要求を行うデータ所有者は、第1のデータ所有者、つまり発信元であり、信頼グループの最終協調結果を受信する。データ共有処理情報は協調要求テーブル119に保存される。一例として、6つのデータ所有者、例えばT1、T2、T3、T4、T5、およびT6について検討する。最初に、データ所有者T1は、保護された共有データ構造103における所望のデータに対する要求を行い、信頼グループの第1のデータ所有者、つまり発信元となる。処理ステップ1で、信頼ペア105がT1-T2、T3-T4、およびT5-T6の間で形成され、T2データ所有者は所望のデータをT1データ所有者と共有し、計算結果はT1データ所有者によって格納される。同様に、T4データ所有者は所望のデータをT3データ所有者と共有し、計算結果はT3データ所有者によって格納される。T6データ所有者は所望のデータをT5データ所有者と共有し、結果はT5データ所有者によって格納される。処理ステップ2で、T3-T5はT5データ所有者が所望のデータをT3データ所有者と共有し、計算結果はT3データ所有者によって格納される。処理ステップ3で、T1-T3はT3データ所有者が所望のデータをT1データ所有者と共有し、計算結果はT1データ所有者によって格納される。したがって、信頼グループの最終計算結果はT1データ所有者によって格納される。
【0051】
半信頼グループでは、半信頼グループの第1のデータ所有者101が、半信頼グループの最終協調結果を受信する。処理情報は協調要求テーブル119に保存される。更に、半信頼グループと関連付けられた計算技術は差分非公開データ共有であり、差分非公開データ共有技術では、データ所有者の間でデータを共有する間にノイズが追加される。一例として、6つのデータ所有者、例えばS1、S2、S3、S4、S5、およびS6について検討する。最初に、最大数の半信頼ペアまたは信頼ペア数を有するデータ所有者が、半信頼グループの第1のデータ所有者、例えばS1となる。処理ステップ1で、半信頼ペア107がS1-S2、S3-S4、およびS5-S6の間で形成され、S2データ所有者は所望のデータをS1データ所有者と共有し、計算結果はS1データ所有者によって格納される。同様に、S4データ所有者は所望のデータをS3データ所有者と共有し、計算結果はS3データ所有者によって格納される。S6データ所有者は所望のデータをS5データ所有者と共有し、結果はS5データ所有者によって格納される。処理ステップ2で、S3-S5はS5データ所有者が所望のデータをS3データ所有者と共有し、計算結果はS3データ所有者によって格納される。処理ステップ3で、S1-S3はS3データ所有者が所望のデータをS1データ所有者と共有し、計算結果はS1データ所有者によって格納される。したがって、半信頼グループの最終計算結果はS1データ所有者によって格納される。
【0052】
一実施形態では、保護された共有データ構造103は、1つまたは複数のグループのうち1つの計算結果を暗号化する。ステップ8で、非信頼グループと関連付けられた計算技術は、安全な複数当事者データ共有である。安全な複数当事者データ共有では、暗号化された処理が、非信頼グループのデータ所有者と、信頼グループおよび半信頼グループの計算結果をそれぞれ有する、信頼グループおよび半信頼グループそれぞれの第1のデータ所有者との間で実行され、ノイズが得られた計算結果に追加され、計算結果は協調要求テーブル119で更新される。一実施形態では、保護された共有データ構造103は対称鍵Kを生成し、鍵Kは各協調要求に固有のものであり、計算結果は鍵Kを用いて暗号化され、暗号化された計算結果は協調要求テーブル119で更新される。その後、保護された共有データ構造103は、協調要求に参加した全てのデータ所有者と鍵Kを共有する。更に、参加データ所有者101は、鍵Kを使用して暗号化された計算結果を復号して、協調結果を得る。
【0053】
例示のシナリオ
各病院は、
図5に示されるように、病院と提携している医学研究者および医師が利用可能な、患者記録のデータベースを維持している。プライバシーの懸念から、病院は、機密の個人情報および健康情報を含むという理由で、患者の記録を直接共有することを望まない。他方で、医学研究者および医師は、全ての病院からの患者記録がこれらの協調計算に含まれれば、疾患、罹患している人のプロファイル、および有効な薬剤に関する高い洞察を得るであろう。結果として、病院の詳細および患者記録についての以下の特性が、非公開/公開データカテゴリとともに、各病院データベースに記録される。
【0054】
病院情報:
名称<公開>
登録番号<公開>
所在地<公開>
病床数<公開>
患者記録:
年齢<非公開>
性別<0/1にマッピング:非公開>
身長<非公開>
体重<非公開>
住所<緯度/経度にマッピング:非公開>
受診の日時<数値にマッピング:非公開>
血圧レベル<非公開>
血糖レベル<非公開>
心拍レベル<非公開>
疾患<IDにマッピング:非公開>
処方薬<IDにマッピング:非公開>
回復時間<非公開>
【0055】
協調計算ステップは以下のことを含む。
病院は、最初に、保護された共有データ構造103、ならびに、病院間および病院と保護された共有データ構造103とのインターフェース間の安全な通信を可能にする、公開鍵基盤(PKI)を管理する、協調データ所有者を選定しなければならない。
【0056】
ステップ1で、協調データ所有者101は、共同でのデータ駆動型の研究および必須のサービスに関心を持つ、1つまたは複数の病院、例えば10箇所の病院間での協調のため、保護された共有データ構造103を作成する。保護された共有データ構造103は、保護された共有データ構造103が作成されると、信頼レベルテーブル118および協調要求テーブル119を備える。
【0057】
ステップ2で、協調に関心を持つ病院が保護された共有データ構造103に加入してもよい。新しい病院がデータ所有者となると、
信頼レベルテーブル118で、データ所有者のエントリが作成される。
【0058】
新しい病院は、他の全ての病院の信頼レベルを信頼レベルテーブル118に入力する。
他の全ての病院のデータ所有者は、新しい病院の信頼レベルを信頼レベルテーブル118に入力する。
図13の表5は、10箇所の病院の更新されたデータ所有者信頼レベルテーブル118を示し、Tは信頼ペア105を表し、Sは半信頼ペア107を表し、Uは非信頼ペア109を表す。ある参加データ所有者101と他の参加データ所有者101との信頼レベルは、同じ組織のメンバーに対しては信頼、異なる既知の組織のメンバーに対しては半信頼、未知の組織のメンバーに対しては非信頼である。
【0059】
ステップ3で、第1のデータ所有者101、例えば、保護された共有データ構造103における協調要求を発信元として開始する、H1病院を識別する。H1(発信元)は、保護された共有データ構造103における所望のデータに対する要求を提出することによって、協調を始める。要求されたデータは、患者の疾患、疾患の回復時間、患者の年齢、身長、および体重と関連付けられた情報を含む。協調の目的は、年齢グループa1~a2、体重b1~b2、および身長c1~c2内で、最短の回復時間を有した症状Yの疾患を有する個々の患者(上位5つのエントリ)に対してどの医薬が処方されたかを調査することである。
図14の表6は、新しい協調エントリが作成された協調要求テーブル119を示している。
【0060】
ステップ4で、他の全てのデータ所有者は、要求された所望のデータのカテゴリを公開データまたは非公開データの1つとして識別することを含めて、要求を評価する。例えば、全ての病院の要求された所望のデータが非公開データであると仮定する。その後、標準的方法を利用することによって非公開カテゴリの所望のデータを提供するためのプライバシー推定値を計算する。所望のデータを提供するためのプライバシー推定値の利用可能性および協調出力の関心に基づいて、データ共有要求に参加するかまたはそれをスキップするかを決める。一例として、H9病院を除いて、他の全ての病院が協調することを決めた。ステップ5で、協調に関心を持つデータ所有者は、自身の関心を協調要求テーブル119において申告する。
図15の表7に示されるように、H9を除いて、他の全ての病院が、協調要求テーブル119の参加メンバーリストで更新される。
【0061】
ステップ6で、データ所有者の信頼レベルテーブル118の情報を使用して、保護された共有データ構造103は、参加データ所有者101の信頼グループ、半信頼グループ、および非信頼グループを作成する。信頼グループから始めると、第1のデータ所有者1011が発信元である場合、第1の条件が満たされるまで、1つまたは複数の参加データ所有者101を信頼グループに繰り返し追加する。第1の条件は、参加データ所有者101が、信頼グループに以前に追加された全ての参加データ所有者101と信頼ペア105を有し、最大数の信頼ペア数を有することである。一例として、
a)H1病院は発信元である:追加される第1のデータ所有者1 1011は病院H1である。
b)第1の繰り返し:残り全てのデータ所有者の中で、病院H4は、病院H1と信頼ペア105を形成し、最大数の信頼ペア数を有する。したがって、病院H4が追加される。
c)第2の繰り返し:残りのデータ所有者の中で、病院H5は、病院H1およびH4と信頼ペア105を形成し、最大数の信頼ペア数を有する。したがって、病院H5が追加される。
d)第3の繰り返し:他の残りのデータ所有者はどれも、全ての病院H1、H4、およびH5との信頼ペア105を有さない。
e)したがって、病院H1、H4、H5が信頼グループを形成する。
【0062】
信頼グループに追加されていない、1つまたは複数の参加データ所有者101の残りから、半信頼グループを形成する。
a)第1のデータ所有者が、最大数の信頼ペア(T)105/半信頼ペア(S)107数、例えばTS、ST、SSの組み合わせを有する、データ所有者として選択される。
b)第2の条件が満たされるまで、1つまたは複数の残りの参加データ所有者101を半信頼グループに繰り返し追加する。第2の条件は、残りの参加データ所有者101が、半信頼グループに以前に追加された全てのデータ所有者と、信頼ペア105または半信頼ペア107を有し、最大数の信頼ペア105または半信頼ペア107数を有することである。
【0063】
一例として、
a)病院H2は、残りのデータ所有者の中で、最大数の信頼ペア105/半信頼ペア107数を有する。追加される第1のデータ所有者101は病院H2である。
b)第1の繰り返し:残り全てのデータ所有者の中で、病院H3は、病院H2と信頼ペア105/半信頼ペア107を形成し、最大数の信頼ペア105/半信頼ペア107数を有する。したがって、病院H3が追加される。
c)第2の繰り返し:残り全てのデータ所有者の中で、病院H6は、病院H2およびH3と信頼ペア105/半信頼ペア107を形成し、最大数の信頼ペア105/半信頼ペア107数を有する。したがって、病院H6が追加される。
d)第3の繰り返し:他の残りのデータ所有者はどれも、全ての病院H2、H3、およびH6との信頼ペア105/半信頼ペア107を有さない。
e)したがって、病院H2、H3、およびH6が半信頼グループを形成する。
【0064】
信頼グループまたは半信頼グループに追加されていない、1つまたは複数の残りの参加データ所有者101を、非信頼グループとして形成する。一例として、病院H7、H8、およびH10は非信頼グループを形成する。
図16の表8に示されるように、グループ情報は協調要求テーブル119で更新される。
【0065】
ステップ7で、信頼グループおよび半信頼グループによる計算結果の生成が並行して実施される。信頼グループでは、保護された共有データ構造103は、データ所有者ペアおよび処理のシーケンスを選択して、信頼グループの第1のデータ所有者1 1011、つまり発信元が最終協調結果を受信するようにする。更なる処理情報は協調要求テーブル119に保存される。その後、データ所有者は、病院データ記録から所望のデータを計算し、信頼グループと関連付けられた計算技術は、データ共有の生フォーマットである。一例として、
a)発信元としての病院H1、病院H4、および病院H5が信頼グループを形成する。
b)病院間、例えばH1-H4の処理ステップ1(病院H4は病院H1とピア・ツー・ピアでデータを共有し、出力は病院H1によって格納される)。
c)処理ステップ2:H1-H5(病院H5は病院H1とピア・ツー・ピアでデータを共有し、出力は病院H1によって格納される)。
d)したがって、病院H1が信頼グループの最終出力を格納する。
【0066】
半信頼グループでは、保護された共有データ構造103は、データ所有者ペアおよび処理のシーケンスを選択して、半信頼グループの第1のデータ所有者が最終協調結果を受信するようにする。更なる処理情報は協調要求テーブル119に保存される。その後、データ所有者は、病院データ記録から所望のデータを計算し、半信頼グループと関連付けられた計算技術は、差分非公開データ共有である。差分非公開データ共有技術では、データを共有する間にノイズが追加され、データ所有者はプライバシー推定値を適宜調節する。一例として、
a)病院H2(第1のメンバー)、病院H3、および病院H6が半信頼グループを形成する。
b)病院間、例えばH2-H3の処理ステップ1(病院H3は病院H2とピア・ツー・ピアでデータを共有し、出力は病院H2によって格納される)。
c)処理ステップ2:H2-H6(病院H6は病院H2とピア・ツー・ピアでデータを共有し、出力は病院H2によって格納される)。
d)したがって、病院H2が半信頼グループの最終出力を格納する。
【0067】
ステップ8で、非信頼グループによる計算結果を生成し、非信頼グループと関連付けられた計算技術は、安全な複数当事者データ共有である。安全な複数当事者データ共有では、暗号化された処理は、暗号化された非公開共有を使用して、非信頼グループのデータ所有者と信頼グループおよび半信頼グループそれぞれの第1のデータ所有者との間で実行される。処理情報は協調要求テーブル119で更新される。保護された共有データ構造103は、差分非公開ノイズを安全な複数当事者計算出力に追加し、全ての参加データ所有者に自身のプライバシー推定値を適宜調節するように通知する。一例として、病院H1(信頼グループの第1のデータ所有者-発信元)、病院H2(半信頼グループの第1のデータ所有者)、病院H7、H8、H10は、安全な複数当事者計算技術を実行する。
【0068】
ステップ9で、保護された共有データ構造103は対称鍵Kを生成し、鍵Kは各協調要求に固有のものであり、計算結果は鍵Kを用いて暗号化され、暗号化された計算結果は、
図17の表9に示されるような協調要求テーブル119で更新される。保護された共有データ構造103は、協調要求に参加した全てのデータ所有者と鍵Kを共有する。参加データ所有者101は、協調結果にアクセスするため、鍵Kを使用して暗号化された計算結果を復号する。
【0069】
図6は、本開示のいくつかの実施形態による、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する方法を示すフローチャートを示している。
図6に示されるように、方法は、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する、1つまたは複数のブロックを含む。方法は、コンピュータ実行可能命令の一般的文脈で記載することができる。一般に、コンピュータ実行可能命令は、特定の機能を実施するかまたは特定の抽象データタイプを実現する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手続き、モジュール、および機能を含むことができる。
【0070】
方法を記載する順序は限定として解釈されないものとし、記載する方法ブロックのうち任意の数を任意の順序で組み合わせて、方法を実現することができる。加えて、本明細書に記載する主題の趣旨および範囲から逸脱することなく、個々のブロックが方法から消去されてもよい。更に、方法は、任意の好適なハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせで実現することができる。
【0071】
ブロック601で、方法は、1つまたは複数の参加データ所有者101それぞれの互いとの信頼レベルに基づいて、協調計算における1つまたは複数の参加データ所有者101の1つまたは複数のグループを作成することを含む。1つまたは複数のグループはそれぞれ、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者101の間でデータを共有する、計算技術と関連付けられる。1つまたは複数のグループは、信頼グループ、半信頼グループ、および非信頼グループである。計算技術は、信頼グループのデータ共有、半信頼グループのデータ共有、および非信頼グループのデータ共有と関連付けられた情報を含む。
【0072】
ブロック603で、方法は、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間でデータを共有するシーケンスを識別することを含む。データは、対応する計算技術を使用して、識別されたシーケンスで、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間で共有される。
【0073】
ブロック605で、方法は、1つまたは複数のグループのうち1つの計算結果を暗号化することを含み、1つまたは複数のグループそれぞれが計算結果を生成する。計算結果は、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間でデータが共有されていることに基づく。計算結果は、したがって、信頼グループおよび半信頼グループによって並行して生成される。
【0074】
ブロック607で、方法は、暗号化された計算結果にアクセスするとともにデータプライバシーを管理するため、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者101それぞれに暗号化キーを提供することを含む。
【0075】
図7は、本開示のいくつかの実施形態による、分散プラットフォームで協調計算を実施する間に参加データ所有者を識別する方法を示すフローチャートを示している。
図7に示されるように、方法は、分散プラットフォームで協調計算を実施する間に参加データ所有者を識別する、1つまたは複数のブロックを含む。方法は、コンピュータ実行可能命令の一般的文脈で記載することができる。一般に、コンピュータ実行可能命令は、特定の機能を実施するかまたは特定の抽象データタイプを実現する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手続き、モジュール、および機能を含むことができる。
【0076】
方法を記載する順序は限定として解釈されないものとし、記載する方法ブロックのうち任意の数を任意の順序で組み合わせて、方法を実現することができる。加えて、本明細書に記載する主題の趣旨および範囲から逸脱することなく、個々のブロックが方法から消去されてもよい。更に、方法は、任意の好適なハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせで実現することができる。
【0077】
ブロック701で、方法は、保護された共有データ構造103に接続された1つまたは複数のデータ所有者101の間での協調計算を容易にするため、保護された共有データ構造103を作成することを含む。
【0078】
ブロック703で、方法は、1つまたは複数のデータ所有者101のうち1つから所望のデータに対する要求を受信し、保護された共有データ構造103における1つまたは複数のデータ所有者101の残りと要求を共有することを含む。
【0079】
ブロック705で、方法は、要求を評価する際に、保護された共有データ構造103における1つまたは複数のデータ所有者101の残りから、協調計算に参加するという指示を受信することを含む。協調計算に参加する1つまたは複数のデータ所有者101の残りは、1つまたは複数の参加データ所有者である。
【0080】
ブロック707で、方法は、1つまたは複数の参加データ所有者101それぞれの互いとの信頼レベルに基づいて、協調計算における1つまたは複数の参加データ所有者101の1つまたは複数のグループを作成することを含む。1つまたは複数のグループはそれぞれ、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者101の間でデータを共有するための、計算技術と関連付けられる。
【0081】
ブロック709で、方法は、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間でデータを共有するシーケンスを識別することを含む。
【0082】
ブロック711で、方法は、対応する計算技術を使用して、識別されたシーケンスで、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間で、ピア・ツー・ピアに基づいたデータ共有を実施することを含む。
【0083】
ブロック713で、方法は、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアによって、1つまたは複数のグループそれぞれにおける参加データ所有者101のペアの間でデータが共有されていることに基づいて、計算結果を生成することを含む。1つまたは複数のグループのうち1つの得られた計算結果は、保護された共有データ構造103に提供される。
【0084】
ブロック715で、方法は、1つまたは複数のグループのうち1つの計算結果を暗号化することを含む。
【0085】
ブロック717で、方法は、暗号化された計算結果にアクセスするため、1つまたは複数のグループそれぞれにおける1つまたは複数の参加データ所有者101それぞれに暗号化鍵を提供することを含む。
【0086】
コンピュータシステム
図8は、本開示と一致する実施形態を実現する例示的なコンピュータシステム800のブロック図を示している。一実施形態では、コンピュータシステム800は、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理するのに使用されてもよい、
図1に示される保護された共有データ構造103であってもよい。コンピュータシステム800は、中央処理装置(「CPU」または「プロセッサ」)802を含んでもよい。プロセッサ802は、ユーザまたはシステム生成のビジネスプロセスを実行する、プログラムコンポーネントを実行する少なくとも1つのデータプロセッサを含んでもよい。プロセッサ802は、統合システム(バス)コントローラ、メモリ管理制御装置、浮動小数点演算装置、グラフィックス処理装置、デジタル信号処理装置などの専用処理装置を含んでもよい。プロセッサ802は、保護された共有データ構造103の1つまたは複数の機能を実施するプロセッサ114を含んでもよい。
【0087】
プロセッサ802は、I/Oインターフェース801を介して、1つまたは複数の入出力(I/O)デバイス(811および812)と通信して配設されてもよい。I/Oインターフェース801は、非限定的に、オーディオ、アナログ、デジタル、ステレオ、IEEE-1394、シリアルバス、ユニバーサルシリアルバス(USB)、赤外、PS/2、BNC、同軸、コンポーネント、コンポジット、デジタルビジュアルインターフェース(DVI)、高精細度マルチメディアインターフェース、高周波(RF)アンテナ、S-ビデオ、ビデオグラフィックスアレイ(VGA)、IEEE 802.n/b/g/n/x、ブルートゥース(登録商標)、セルラー(例えば、符号分割多重アクセス(CDMA)、高速パケットアクセス(HSPA+)、汎欧州デジタル移動電話方式(GSM)、ロングタームエボリューション(LTE)など)などの、通信プロトコル/方法を採用してもよい。I/Oインターフェース801を使用して、コンピュータシステム800は、1つまたは複数のI/Oデバイス811および812と通信してもよい。コンピュータシステム800は、電子デバイスおよび1つまたは複数のデータソース805から、データを受信してもよい。
【0088】
いくつかの実施形態では、プロセッサ802は、ネットワークインターフェース803を介して、通信ネットワーク809と通信して配設されてもよい。ネットワークインターフェース803は、通信ネットワーク809と通信してもよい。ネットワークインターフェース803は、直接接続、イーサネット(例えば、ツイストペア10/100/1000 Base T)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、トークンリング、IEEE 802.11a/b/g/n/xなどを非限定的に含む、接続プロトコルを採用してもよい。ネットワークインターフェース803および通信ネットワーク809を使用して、コンピュータシステム800は、1つまたは複数のデータ所有者、例えばデータ所有者1 1011~データ所有者N 101Nから、入力を受信してもよい。更に、通信ネットワーク809は、コンピュータシステム800を、暗号化された計算結果に対するアクセスを提供する提供モジュール125とインターフェース接続するのに使用されてもよい。
【0089】
通信ネットワーク809は、イントラネットまたはローカルエリアネットワーク(LAN)、および組織内のものなど、いくつかのタイプのネットワークの1つとして実現することができる。通信ネットワーク809は、専用ネットワークであるか、あるいは、様々なプロトコル、例えばハイパーテキストトランスファープロトコル(HTTP)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ワイヤレスアプリケーションプロトコル(WAP)などを使用して互いと通信する、いくつかのタイプのネットワークの関連を表す、共有ネットワークであってもよい。更に、通信ネットワーク809は、ルータ、ブリッジ、サーバ、コンピューティングデバイス、ストレージデバイスなどを含む、様々なネットワークデバイスを含んでもよい。
【0090】
いくつかの実施形態では、プロセッサ802は、ストレージインターフェース804を介して、メモリ805(例えば、
図8に示されるような、RAM 813、ROM 814など)と通信して配設されてもよい。ストレージインターフェース704は、シリアルアドバンストテクノロジーアタッチメント(SATA)、インテグレーテッドドライブエレクトロニクス(IDE)、IEEE-1394、ユニバーサルシリアルバス(USB)、ファイバーチャネル、スモールコンピュータシステムインターフェース(SCSI)などの接続プロトコルを採用する、メモリドライブ、リムーバブルディスクドライブなどを非限定的に含む、メモリ805に接続してもよい。メモリドライブは更に、ドラム、磁気ディスクドライブ、磁気光学ドライブ、光学ドライブ、独立ディスク冗長アレイ(RAID)、ソリッドステートメモリデバイス、ソリッドステートドライブなどを含んでもよい。メモリ805は、保護された共有データ構造103のモジュールによって処理されるデータを格納する、メモリ116を含んでもよい。
【0091】
メモリ805は、ユーザ/アプリケーション806、オペレーティングシステム807、ウェブブラウザ808、メールクライアント815、メールサーバ816、ウェブサーバ817などを非限定的に含む、プログラムまたはデータベースコンポーネントの一群を格納してもよい。いくつかの実施形態では、コンピュータシステム800は、本発明に記載するような、データ、変数、記録などのユーザ/アプリケーションデータ806を格納してもよい。かかるデータベースは、Oracle(登録商標)またはSybase(登録商標)など、フォールトトレラント、リレーショナル、スケーラブル、および安全なデータベースとして実現されてもよい。
【0092】
オペレーティングシステム807は、コンピュータシステム800のリソース管理および動作を容易にしてもよい。オペレーティングシステムの例としては、非限定的に、APPLE MACINTOSH(登録商標)OS X、UNIX(登録商標)、UNIX系システムディストリビューション(例えば、BERKELEY SOFTWARE DISTRIBUTION(商標)(BSD)、FREEBSD(商標)、NETBSD(商標)、OPENBSD(商標)など)、LINUX DISTRIBUTIONS(商標)(例えば、RED HAT(商標)、UBUNTU(商標)、KUBUNTU(商標)など)、IBM(商標)OS/2、MICROSOFT(商標)WINDOWS(登録商標)(XP(商標)、VISTA(商標)/7/8、10など)、APPLE(登録商標)IOS(商標)、GOOGLE(登録商標)ANDROID(登録商標)、BLACKBERRY(登録商標)OSなどが挙げられる。ユーザインターフェースは、テキストまたはグラフィック機能を通して、プログラムコンポーネントの表示、実行、対話、操作、または動作を容易にしてもよい。例えば、ユーザインターフェースは、コンピュータシステム800に動作可能に接続された表示システム上に、カーソル、アイコン、チェックボックス、メニュー、ウィンドウ、ウィジェットなど、コンピュータインタラクションインターフェース要素を提供してもよい。APPLE MACINTOSH(登録商標)オペレーティングシステム、IBM(商標)OS/2、MICROSOFT(商標)WINDOWS(登録商標)(XP(商標)、VISTA(商標)/7/8、10など)、Unix(登録商標)X-Windows、ウェブインターフェースライブラリ(例えば、AJAX(商標)、DHTML(商標)、ADOBE(登録商標)FLASH(登録商標)、JAVASCRIPT(登録商標)、JAVA(登録商標)など)などを非限定的に含む、グラフィカルユーザインターフェース(GUI)が採用されてもよい。
【0093】
更に、本発明と一致する実施形態を実現するのに、1つまたは複数のコンピュータ可読記憶媒体が用いられてもよい。コンピュータ可読記憶媒体は、プロセッサによって読取り可能な情報またはデータが格納されてもよい、任意のタイプの物理的メモリを指す。したがって、コンピュータ可読記憶媒体は、本明細書に記載する実施形態と一致するステップまたは段階をプロセッサに実施させるための命令を含む、1つまたは複数のプロセッサによって実行するための命令を格納してもよい。「コンピュータ可読媒体」という用語は、有形のアイテムを含み、搬送波および過渡信号を除外する、即ち非一時的なものであることが理解されるべきである。例としては、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、コンパクトディスク(CD)ROM、デジタルビデオディスク(DVD)、フラッシュドライブ、ディスク、および他の任意の既知の物理的記憶媒体が挙げられる。
【0094】
一実施形態では、本開示は、分散プラットフォームで協調計算を実施する間のデータプライバシーを管理する方法およびシステムを提供する。
【0095】
一実施形態では、本開示は、有用性およびプライバシーを向上させた、異なるデータ所有者間での協調計算のためのプラットフォームおよび方法を提供する。
【0096】
一実施形態では、本開示は、健康、移動性、財政、ソーシャルメディア、および他のセクタにおける多様な利害関係者の間で機密ユーザデータが関与する、連携サービスおよびリサーチのビジネスモデルを構築する。
【0097】
一実施形態では、本開示は、データ所有者ペアの信頼レベルに基づいて、ユーザ記録に対する異種データ変換を実施して、ユーザプライバシーと有用性との間のバランスを提供する。
【0098】
「ある実施形態」、「実施形態」、「複数の実施形態」、「その実施形態」、「それらの実施形態」、「1つまたは複数の実施形態」、「いくつかの実施形態」、および「1つの実施形態」という用語は、別段の明示的な指定がない限り、「本発明の1つまたは複数の(ただし全てではない)実施形態」を意味する。
【0099】
「含む」、「備える」、「有する」という用語およびそれらの変形は、別段の明示的な指定がない限り、「~を含むがそれらに限定されない」ことを意味する。列挙する項目の一覧は、別段の明示的な指定がない限り、いずれかまたは全ての項目が相互に排他的であることを示唆しない。「a」、「an」、および「the」という用語は、別段の明示的な指定がない限り、「1つまたは複数」を意味する。
【0100】
互いに通信するいくつかの構成要素を有する実施形態の説明は、かかる構成要素の全てが必要であることを示唆しない。反対に、本発明の多種多様の可能な実施形態を例示するのに、様々な任意の構成要素が記載される。
【0101】
単一のデバイスまたは物品が本明細書において記載される場合、単一のデバイス/物品の代わりに1つを超えるデバイス/物品(連携するか否かにかかわらず)が使用されてもよいことが、明白となるであろう。同様に、1つを超えるデバイスまたは物品が本明細書において記載される場合(連携するか否かにかかわらず)、その1つを超えるデバイスまたは物品の代わりに単一のデバイス/物品が使用されてもよく、あるいは示される数のデバイスまたは物品の代わりに異なる数のデバイス/物品が使用されてもよいことが、明白となるであろう。デバイスの機能性および/または特徴は、あるいは、かかる機能性/特徴を有するものとして明示的に記載されない、1つまたは複数の他のデバイスによって具体化されてもよい。したがって、本発明の他の実施形態はデバイス自体を含む必要はない。
【0102】
最後に、本明細書で使用される言語は、可読性および教育の目的で主に選択されており、本発明の主題を描写または制限するためには選択されていないことがある。したがって、本発明の範囲は、この詳細な説明によってではなく、それよりもむしろそれに基づく出願の任意のクレームによって限定されるものとする。したがって、本発明の実施形態は、以下の特許請求の範囲で説明される、本発明の範囲の限定ではなく例証であるものとする。
【0103】
様々な態様および実施形態について本明細書に開示してきたが、他の態様および実施形態が当業者には明白となるであろう。本明細書に開示する様々な態様および実施形態は、例証目的であって限定しようとするものではなく、真の範囲および趣旨は以下の特許請求の範囲によって示される。
【0104】
<図面の説明>
図1
101
1:データ所有者1
103:保護された共有データ構造
105:信頼ペア
107:半信頼ペア
109:非信頼ペア
113:I/Oインターフェース
114:プロセッサ
116:メモリ
DATA:データ
118:信頼レベルテーブル
119:協調要求テーブル
120:他のデータ
MODULES:モジュール
122:作成モジュール
123:識別モジュール
124:暗号化モジュール
125:提供モジュール
126:他のモジュール
【0105】
図2
SECURED SHARED DATA STRUCTURE:保護された共有データ構造
DATA OWNER:データ所有者
CREATE SECURED SHARED DATA STRUCTURE:保護された共有データ構造を作成
CREATE DATA OWNER TRUST LEVEL TABLE & COLLABORATION REQUEST TABLE:データ所有者の信頼レベルテーブルおよび協調要求テーブルを作成
JOIN SECURED SHARED DATA STRUCTURE:保護された共有データ構造に加入
UPDATE DATA OWNER TRUST LEVEL TABLE:データ所有者の信頼レベルテーブルを更新
ORIGINATOR INITIATES COLLABORATION REQUEST:発信元が協調要求を開始
CREATE NEW ENTRY IN COLLABORATION REQUEST TABLE:新しいエントリを協調要求テーブルに作成
【0106】
図3
SECURED SHARED DATA STRUCTURE:保護された共有データ構造
DATA OWNER:データ所有者
DESIRED DATA:所望のデータ
PARTICIPATION INTEREST INDICATED:参加の関心が示される
UPDATING PARTICIPATING DATA OWNERS INFORMATION IN COLLABORATION REQUEST TABLE:協調要求テーブルの参加データ所有者情報を更新
GENERATING ONE OR MORE GROUPS:1つまたは複数のグループを生成
UPDATING GROUP INFORMATION IN COLLABORATION REQUEST TABLE:協調要求テーブルのグループ情報を更新
【0107】
図4
SECURED SHARED DATA STRUCTURE:保護された共有データ構造
DATA OWNER:データ所有者
IDENTIFYING SEQUENCE OF SHARING DATA IN GROUPS:グループでデータを共有するシーケンスを識別
UPDATING SEQUENCE OF SHARING DATA INFORMATION IN COLLABORATION REQUEST TABLE:協調要求テーブルのデータ情報共有のシーケンスを更新
GENERATING THE COMPUTATION RESULTS BY THE TRUSTED GROUP AND THE SEMI-TRUSTED GROUP IS PERFORMED IN PARALLEL:信頼グループおよび半信頼グループによる計算結果の生成が並行して実施される
GENERATING THE COMPUTATION RESULTS BY THE UNTRUSTED GROUP:非信頼グループによる計算結果を生成
ENCRYPTS RESULT:結果を暗号化
UPDATING ENCRYPTED RESULT IN COLLABORATION REQUEST TABLE:協調要求テーブルの暗号化された結果を更新
ACCESS RESULT:結果にアクセス
【0108】
図5
HOSPITAL:病院
PATIENT RECORDS:患者記録
DATA-DRIVEN HEALTHCARE DECISIONS:データ駆動型のヘルスケア決定
【符号の説明】
【0109】
100 環境
101 データ所有者/参加データ所有者
103 保護された共有データ構造
105 信頼ペア
107 半信頼ペア
109 非信頼ペア
113 I/Oインターフェース
114 プロセッサ
116 メモリ
118 信頼レベルテーブル
119 協調要求テーブル
120 他のデータ
122 作成モジュール
123 識別モジュール
124 暗号化モジュール
125 提供モジュール
126 他のモジュール
800 例示のコンピューティングシステム
801 例示のコンピュータシステムのI/Oインターフェース
802 例示のコンピュータシステムのプロセッサ
803 ネットワークインターフェース
804 ストレージインターフェース
805 例示のコンピュータシステムのメモリ
806 ユーザ/アプリケーション
807 オペレーティングシステム
808 ウェブブラウザ
809 通信ネットワーク
811 入力デバイス
812 出力デバイス
813 RAM
814 ROM
815 メールクライアント
816 メールサーバ
817 ウェブサーバ