(57)【要約】  データ統計方法および装置であり、方法は、複数の第1のデータに対して準同型暗号化をそれぞれ行って暗号化データを取得するステップと、複数の第1のデータに対応するデータ識別子および暗号化データを連携データパーティに送信するステップと、連携データパーティによって返信された暗号化統計値を受信するステップであって、暗号化統計値は、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計的計算を行うことにより連携データパーティによって取得され、識別子共通集合は、データ統計についての連携データパーティの複数の第2のデータに対応する識別子であり、複数の第1のデータに対応する複数のデータ識別子から選択される、ステップと、暗号化統計値に対して準同型復号を行い、統計値を取得するステップとを含む。
2021501370.tif 000002
【特許請求の範囲】
【請求項１】
データ統計方法であって、前記方法は、ローカルデータパーティおよび連携データパーティのデータを混合することによるデータ統計に適用され、前記ローカルデータパーティは、統計値を計算するための複数の第1のデータを有し、前記複数の第1のデータは、異なるデータ識別子にそれぞれ対応し、前記連携データパーティは、前記データ識別子に対応する複数の第2のデータを有し、前記方法は、
前記複数の第1のデータに対して準同型暗号化をそれぞれ行って暗号化データを取得するステップと、
前記複数の第1のデータに対応する前記データ識別子および前記暗号化データを前記連携データパーティに送信するステップと、
前記連携データパーティによって返信された暗号化統計値を受信するステップであって、前記暗号化統計値は、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計的計算を行うことにより前記連携データパーティによって取得され、前記識別子共通集合は、前記データ統計についての前記連携データパーティの複数の第2のデータに対応する識別子であり、前記複数の第1のデータに対応する前記複数のデータ識別子から選択される、ステップと、
前記暗号化統計値に対して準同型復号を行い、前記統計値を取得するステップとを含む、方法。
【請求項２】
前記複数の第1のデータにそれぞれ対応するデータ識別子を前記連携データパーティに送信するステップは、
鍵交換プロトコルに従ってローカル秘密鍵を生成するステップと、
前記ローカル秘密鍵を使用して前記データ識別子に対してローカル秘密鍵処理を行って処理が行われたデータ識別子を生成し、前記処理が行われたデータ識別子を前記連携データパーティに送信するステップとを含み、
前記方法は、
前記連携データパーティから送信されるとともに前記連携データパーティの秘密鍵処理による処理が行われたデータ識別子を受信するステップと、
前記連携データパーティから受信した前記データ識別子に対して前記ローカル秘密鍵処理を行い、前記ローカル秘密鍵処理による処理が行われた前記データ識別子を前記連携データパーティに送信するステップとをさらに含む、請求項1に記載の方法。
【請求項３】
データ統計方法であって、前記方法は、ローカルデータパーティおよび統計データパーティのデータを混合することによるデータ統計に適用され、前記統計データパーティは、統計値を計算するための複数の第1のデータを有し、前記複数の第1のデータは、異なるデータ識別子にそれぞれ対応し、前記ローカルデータパーティは、前記データ識別子に対応する複数の第2のデータを有し、前記方法は、
前記統計データパーティからデータ識別子および対応する暗号化データを受信するステップであって、前記データ識別子は、前記データ統計についての前記統計データパーティの複数の第1のデータに対応する識別子であり、前記暗号化データは、前記複数の第1のデータに対して準同型暗号化を行うことにより前記統計データパーティによって取得される、ステップと、
前記データ統計についての前記ローカルデータパーティの複数の第2のデータに対応するデータ識別子および前記複数の第1のデータの前記データ識別子に従って識別子共通集合を決定するステップと、
前記識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計処理を行って暗号化統計値を取得するステップと、
前記統計データパーティが前記暗号化統計値に対して準同型復号を行って前記統計値を取得することができるように、前記暗号化統計値を前記統計データパーティに送信するステップとを含む、方法。
【請求項４】
前記統計データパーティから受信した前記データ識別子は、前記複数の第1のデータに対応する前記データ識別子に対して前記統計データパーティの秘密鍵処理を行う前記統計データパーティによって生成されたデータ識別子であり、
前記統計データパーティから前記データ識別子を受信するステップの後に、前記方法は、
鍵交換プロトコルに従ってローカル秘密鍵を生成するステップと、
前記統計データパーティの前記秘密鍵処理による処理が行われた前記データ識別子に対して前記ローカル秘密鍵を使用してローカル秘密鍵処理を行うことにより第1の鍵処理識別子を生成するステップと、
前記第1の鍵処理識別子と前記暗号化データとの間の対応関係を記憶するステップとをさらに含み、
前記方法は、
前記ローカル秘密鍵を使用して前記データ統計についての前記ローカルデータパーティの前記複数の第2のデータに対応するデータ識別子に対して前記ローカル秘密鍵処理を行い、前記処理が行われたデータ識別子を前記統計データパーティに送信するステップと、
前記統計データパーティによって返信された第2の鍵処理識別子を受信するステップであって、前記第2の鍵処理識別子は、前記統計データパーティの前記秘密鍵処理によって生成される、ステップとをさらに含み、
前記データ統計についての前記ローカルデータパーティの複数の第2のデータに対応するデータ識別子および前記複数の第1のデータの前記データ識別子に従って識別子共通集合を決定するステップは、前記第1の鍵処理識別子と前記第2の鍵処理識別子との間の識別子共通集合を決定するステップを含む、請求項3に記載の方法。
【請求項５】
データ統計方法であって、前記方法は、ローカルデータパーティと連携データパーティとの間のデータ統計のために使用され、前記ローカルデータパーティは、データ識別子に対応する第1のデータを有し、前記連携データパーティは、同一のデータ識別子に対応する第2のデータを記憶し、前記方法は、複数の第1のデータから統計値を取得するように適用され、前記方法は、
前記データ統計についての前記ローカルデータパーティの前記複数の第1のデータに対して準同型暗号化を行って暗号化データを取得するステップと、
鍵交換プロトコルに従って前記複数の第1のデータにそれぞれ対応するデータ識別子に対してローカル秘密鍵処理を行ってローカル処理識別子を取得するステップと、
前記連携データパーティが、前記ローカル処理識別子に対してピア秘密鍵処理を行うことにより第1の鍵処理識別子を生成し、前記第1の鍵処理識別子と前記暗号化データとの間の対応関係を記憶することができるように、前記ローカル処理識別子および前記複数の第1のデータに対応する前記暗号化データを前記連携データパーティに送信するステップと、
前記連携データパーティから第2の処理識別子を受信するステップであって、前記第2の処理識別子は、前記データ統計についての第2のデータに対応するデータ識別子に対して前記ピア秘密鍵処理を行うことにより前記連携データパーティによって取得される、ステップと、
前記第2の処理識別子に対して前記ローカル秘密鍵処理を行って第2の鍵処理識別子を生成し、前記第2の鍵処理識別子を前記連携データパーティに送信するステップと、
前記連携データパーティから暗号化統計値を受信するステップであって、前記暗号化統計値は、前記第1の鍵処理識別子と前記第2の鍵処理識別子との間の識別子共通集合に対応する様々な暗号化データに対して統計処理を行うことにより前記連携データパーティによって取得される、ステップと、
前記暗号化統計値に対して準同型復号を行い、前記統計値を取得するステップとを含む、方法。
【請求項６】
前記複数の第1のデータは、前記ローカルデータパーティの同一の統計列にある、請求項5に記載の方法。
【請求項７】
所定のデータフィルタリング条件に従ってローカルデータ統計の前記複数の第1のデータを取得するステップをさらに含む、請求項5に記載の方法。
【請求項８】
データ統計方法であって、前記方法は、ローカルデータパーティと統計データパーティとの間のデータ統計のために使用され、前記統計データパーティは、データ識別子に対応する第1のデータを有し、前記ローカルデータパーティは、前記データ識別子に対応する第2のデータを記憶し、前記方法は、複数の第1のデータから統計値を取得するように適用され、前記方法は、
前記統計データパーティから複数のピア処理識別子および前記複数のピア処理識別子にそれぞれ対応する複数の暗号化データを受信するステップであって、前記複数のピア処理識別子は、鍵交換プロトコルに従って前記データ統計についての前記複数の第1のデータのデータ識別子に対してピア秘密鍵処理を行うことにより前記統計データパーティによって取得され、前記複数の暗号化データは、前記複数の第1のデータに対して準同型暗号化を行うことにより前記統計データパーティによって取得される、ステップと、
第1の鍵処理識別子を生成するための鍵交換プロトコルに従って前記複数のピア処理識別子に対してローカル秘密鍵処理を行い、前記第1の鍵処理識別子と前記対応する暗号化データとの間の対応関係を記憶するステップと、
前記鍵交換プロトコルに従って前記データ統計についての前記ローカルデータパーティの複数の第2のデータにそれぞれ対応するデータ識別子に対して前記ローカル秘密鍵処理を行って第2の処理識別子を取得するステップと、
前記第2の処理識別子を前記統計データパーティに送信し、前記統計データパーティによって返信された第2の鍵処理識別子を受信するステップであって、前記第2の鍵処理識別子は、前記第2の処理識別子に対して前記ピア秘密鍵処理を行うことにより前記統計データパーティによって取得される、ステップと、
前記第1の鍵処理識別子と前記第2の鍵処理識別子との間の識別子共通集合に対応する様々な暗号化データを取得し、前記様々な暗号化データに対して統計処理を行って暗号化統計値を取得するステップと、
前記統計データパーティが前記暗号化統計値に対して準同型復号を行って前記統計値を取得するように、前記統計データパーティに前記暗号化統計値を送信するステップとを含む、方法。
【請求項９】
前記統計値が前記複数の第1のデータの総和である場合には、前記様々な暗号化データに対して統計処理を行って暗号化統計値を取得するステップは、
前記様々な暗号化データに対して総和の統計的計算を行うステップを含む、請求項8に記載の方法。
【請求項１０】
前記統計値が前記複数の第1のデータの平均値である場合には、前記様々な暗号化データに対して統計処理を行って暗号化統計値を取得するステップは、
前記様々な暗号化データに対して平均値計算を行うステップを含む、請求項8に記載の方法。
【請求項１１】
データ統計装置であって、前記装置は、ローカルデータパーティと連携データパーティとの間のデータ統計のために使用され、前記ローカルデータパーティは、データ識別子に対応する第1のデータを有し、前記連携データパーティは、前記データ識別子に対応する第2のデータを有し、前記装置は、複数の第1のデータから統計値を取得するように適用され、前記装置は、
前記複数の第1のデータに対して準同型暗号化をそれぞれ行って暗号化データを取得するために使用される、データ暗号化モジュールと、
前記複数の第1のデータに対応するデータ識別子および前記暗号化データを前記連携データパーティに送信するために使用される、データ送信モジュールと、
前記連携データパーティによって返信された暗号化統計値を受信するために使用される、データ受信モジュールであって、前記暗号化統計値は、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計的計算を行うことにより前記連携データパーティによって取得され、前記識別子共通集合は、前記データ統計についての前記連携データパーティの複数の第2のデータに対応する識別子であり、前記複数の第1のデータに対応する前記複数のデータ識別子から選択される、データ受信モジュールと、
前記暗号化統計値に対して準同型復号を行い、前記統計値を取得するために使用される、復号処理モジュールとを含む、装置。
【請求項１２】
データ統計装置であって、前記装置は、ローカルデータパーティと統計データパーティとの間のデータ統計のために使用され、前記統計データパーティは、統計値を計算するための複数の第1のデータを有し、前記複数の第1のデータは、異なるデータ識別子にそれぞれ対応し、前記ローカルデータパーティは、前記データ識別子に対応する複数の第2のデータを有し、前記装置は、
前記統計データパーティからデータ識別子および対応する暗号化データを受信するために使用される、データ取得モジュールであって、前記データ識別子は、前記データ統計についての前記統計データパーティの複数の第1のデータに対応する識別子であり、前記暗号化データは、前記複数の第1のデータに対して準同型暗号化を行うことにより前記統計データパーティによって取得される、データ取得モジュールと、
前記データ統計についての前記ローカルデータパーティの複数の第2のデータに対応するデータ識別子および前記複数の第1のデータの前記データ識別子に従って識別子共通集合を決定するために使用される、共通集合決定モジュールと、
前記識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計処理を行って暗号化統計値を取得するために使用される、統計処理モジュールと、
前記統計データパーティが前記暗号化統計値に対して準同型復号を行って前記統計値を取得することができるように、前記暗号化統計値を前記統計データパーティに送信するために使用される、統計送信モジュールとを含む、装置。
【請求項１３】
データ統計装置であって、前記装置は、ローカルデータパーティと連携データパーティとの間のデータ統計のために使用され、前記ローカルデータパーティは、データ識別子に対応する第1のデータを有し、前記連携データパーティは、前記データ識別子に対応する第2のデータを記憶し、前記装置は、複数の第1のデータから統計値を取得するように適用され、前記装置は、
前記データ統計についての前記ローカルデータパーティの前記複数の第1のデータに対して準同型暗号化を行って暗号化データを取得するために使用される、データ暗号化モジュールと、
鍵交換プロトコルに従って前記複数の第1のデータにそれぞれ対応するデータ識別子に対してローカル秘密鍵処理を行ってローカル処理識別子を取得するために使用される、識別子処理モジュールと、
前記連携データパーティが、前記ローカル処理識別子に対してピア秘密鍵処理を行うことにより第1の鍵処理識別子を生成し、前記第1の鍵処理識別子と前記暗号化データとの間の対応関係を記憶するように、前記ローカル処理識別子および前記暗号化データを前記連携データパーティに送信するために使用される、データ送信モジュールと、
前記連携データパーティから第2の処理識別子を受信するために使用される、識別子受信モジュールであって、前記第2の処理識別子は、前記データ統計についての複数の第2のデータのデータ識別子に対して前記ピア秘密鍵処理を行う前記連携データパーティによって取得される、識別子受信モジュールと、
前記第2の処理識別子に対して前記ローカル秘密鍵処理を行って第2の鍵処理識別子を生成し、前記第2の鍵処理識別子を前記連携データパーティに送信するために使用される、秘密鍵処理モジュールと、
前記連携データパーティから暗号化統計値を受信するために使用される、統計受信モジュールであって、前記暗号化統計値は、前記第1の鍵処理識別子と前記第2の鍵処理識別子との間の共通集合に対応する様々な暗号化データに対して統計処理を行うことにより前記連携データパーティによって取得される、統計受信モジュールと、
前記暗号化統計値に対して準同型復号を行い、統計値を取得するために使用される、データ復号モジュールとを含む、装置。
【請求項１４】
データ統計装置であって、前記装置は、ローカルデータパーティと統計データパーティとの間のデータ統計のために使用され、前記統計データパーティは、データ識別子に対応する第1のデータを記憶し、前記ローカルデータパーティは、前記データ識別子に対応する第2のデータを記憶し、前記装置は、複数の第1のデータから統計値を取得するように適用され、前記装置は、
前記統計データパーティから複数のピア処理識別子および前記複数のピア処理識別子にそれぞれ対応する複数の暗号化データを受信するために使用される、データ受信モジュールであって、前記複数のピア処理識別子は、鍵交換プロトコルに従って前記データ統計についての前記複数の第1のデータのデータ識別子に対してピア秘密鍵処理を行うことにより前記統計データパーティによって取得され、前記複数の暗号化データは、前記第1のデータに対して準同型暗号化を行うことにより前記統計データパーティによって取得される、データ受信モジュールと、
鍵交換プロトコルに従って前記複数のピア処理識別子に対してローカル秘密鍵処理を行って第1の鍵処理識別子を生成し、前記第1の鍵処理識別子と前記対応する暗号化データとの間の対応関係を記憶するために使用される、関係記憶モジュールと、
前記鍵交換プロトコルに従って前記データ統計についての前記ローカルデータパーティの複数の第2のデータにそれぞれ対応するデータ識別子に対して前記ローカル秘密鍵処理を行って第2の処理識別子を取得するために使用される、秘密鍵暗号化モジュールと、
前記第2の処理識別子を前記統計データパーティに送信し、前記統計データパーティによって返信された第2の鍵処理識別子を受信するために使用される、識別子送信モジュールであって、前記第2の鍵処理識別子は、前記第2の処理識別子に対して前記ピア秘密鍵処理を行うことにより前記統計データパーティによって取得される、識別子送信モジュールと、
前記第1の鍵処理識別子と前記第2の鍵処理識別子との間の識別子共通集合に対応する様々な暗号化データを取得し、前記様々な暗号化データに対して統計処理を行って暗号化統計値を取得するために使用される、統計処理モジュールと、
前記統計データパーティが、前記暗号化統計値に対して準同型復号を行い、前記統計値を取得するように、前記統計データパーティに前記暗号化統計値を送信するために使用される、データ送信モジュールとを含む、装置。
【請求項１５】
データ統計装置であって、前記装置は、メモリと、プロセッサと、前記メモリ上に記憶されるとともに前記プロセッサ上で動作するコンピュータ命令とを含み、前記プロセッサは、前記命令の実行中にステップを実施し、前記命令は、
前記複数の第1のデータに対して準同型暗号化をそれぞれ行って暗号化データを取得するステップと、
前記複数の第1のデータに対応するデータ識別子および前記暗号化データを連携データパーティに送信するステップと、
前記連携データパーティによって返信された暗号化統計値を受信するステップであって、前記暗号化統計値は、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計的計算を行うことにより前記連携データパーティによって取得され、前記識別子共通集合は、データ統計についての前記連携データパーティの複数の第2のデータに対応する識別子であり、前記複数の第1のデータに対応する前記複数のデータ識別子から選択される、ステップと、
前記暗号化統計値に対して準同型復号を行い、統計値を取得するステップとを含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク技術の分野に関し、より詳細には、データ統計方法および装置に関する。
【背景技術】
【０００２】
ビッグデータ時代では多数のデータアイランドが存在している。例えば、自然人のデータが異なる企業に分散して記憶され得る。しかしながら、企業間のデータ協調の統計タスクに障壁を作ることになる競合関係およびユーザプライバシー保護についての考え方に起因して企業間に完全な相互信頼が存在することはない。どのようにしてそれぞれの企業のデータプライバシーを漏洩することなく2つのパーティが所有するデータを使用して何らかのデータ統計的計算を完了し、それぞれの企業の核となるデータプライバシーが完全に保護されていることを保証するかということに対するソリューションが喫緊の課題である。しかしながら、今のところ良いソリューションを得ることはできていない。
【発明の概要】
【課題を解決するための手段】
【０００３】
このため、本発明は、2つのデータ所有者のデータプライバシーを保護しつつ、2つのパーティ間でセキュアな計算を実施するデータ統計方法および装置を提供している。
【０００４】
特に、説明についての1つまたは複数の実施形態は、以下の技術的ソリューションによって実施される。
【０００５】
第1の態様においては、データ統計方法を提供している。方法は、ローカルデータパーティおよび連携データパーティのデータを混合することによるデータ統計に適用されてもよく、ローカルデータパーティは、統計値を計算するための複数の第1のデータを有し、複数の第1のデータは、異なるデータ識別子にそれぞれ対応し、連携データパーティは、データ識別子に対応する複数の第2のデータを有する。方法は、
複数の第1のデータに対して準同型暗号化をそれぞれ行って暗号化データを取得するステップと、
複数の第1のデータに対応するデータ識別子および暗号化データを連携データパーティに送信するステップと、
連携データパーティによって返信された暗号化統計値を受信するステップであって、暗号化統計値は、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計的計算を行うことにより連携データパーティによって取得され、識別子共通集合は、データ統計についての連携データパーティの複数の第2のデータに対応する識別子であり、複数の第1のデータに対応する複数のデータ識別子から選択される、ステップと、
暗号化統計値に対して準同型復号を行い、統計値を取得するステップとを含む。
【０００６】
第2の態様においては、データ統計方法を提供しており、方法は、ローカルデータパーティおよび統計データパーティのデータを混合することによるデータ統計に適用され、統計データパーティは、統計値を計算するための複数の第1のデータを有し、複数の第1のデータは、異なるデータ識別子にそれぞれ対応し、ローカルデータパーティは、データ識別子に対応する複数の第2のデータを有する。方法は、
統計データパーティからデータ識別子および対応する暗号化データを受信するステップであって、データ識別子は、データ統計についての統計データパーティの複数の第1のデータに対応する識別子であり、暗号化データは、複数の第1のデータに対して準同型暗号化を行うことにより統計データパーティによって取得される、ステップと、
データ統計についてのローカルデータパーティの複数の第2のデータに対応するデータ識別子および複数の第1のデータのデータ識別子に従って識別子共通集合を決定するステップと、
識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計処理を行って暗号化統計値を取得するステップと、
統計データパーティが暗号化統計値に対して準同型復号を行って統計値を取得することができるように、暗号化統計値を統計データパーティに送信するステップとを含む。
【０００７】
第3の態様においては、データ統計方法を提供しており、方法は、ローカルデータパーティと連携データパーティとの間のデータ統計のために使用され、ローカルデータパーティは、データ識別子に対応する第1のデータを有し、連携データパーティは、同一のデータ識別子に対応する第2のデータを記憶し、方法は、複数の第1のデータから統計値を取得するように適用される。方法は、
データ統計についてのローカルデータパーティの複数の第1のデータに対して準同型暗号化を行って暗号化データを取得するステップと、
鍵交換プロトコルに従って複数の第1のデータにそれぞれ対応するデータ識別子に対してローカル秘密鍵処理を行ってローカル処理識別子を取得するステップと、
連携データパーティが、ローカル処理識別子に対してピア秘密鍵処理を行うことにより第1の鍵処理識別子を生成し、第1の鍵処理識別子と暗号化データとの間の対応関係を記憶することができるように、ローカル処理識別子および複数の第1のデータに対応する暗号化データを連携データパーティに送信するステップと、
連携データパーティから第2の処理識別子を受信するステップであって、第2の処理識別子は、データ統計についての第2のデータに対応するデータ識別子に対してピア秘密鍵処理を行うことにより連携データパーティによって取得される、ステップと、
第2の処理識別子に対してローカル秘密鍵処理を行って第2の鍵処理識別子を生成し、第2の鍵処理識別子を連携データパーティに送信するステップと、
連携データパーティから暗号化統計値を受信するステップであって、暗号化統計値は、第1の鍵処理識別子と第2の鍵処理識別子との間の識別子共通集合に対応する様々な暗号化データに対して統計処理を行うことにより連携データパーティによって取得される、ステップと、
暗号化統計値に対して準同型復号を行い、統計値を取得するステップとを含む。
【０００８】
第4の態様においては、データ統計方法を提供しており、方法は、ローカルデータパーティと統計データパーティとの間のデータ統計のために使用され、統計データパーティは、データ識別子に対応する第1のデータを有し、ローカルデータパーティは、データ識別子に対応する第2のデータを記憶し、方法は、複数の第1のデータから統計値を取得するように適用される。方法は、
統計データパーティから複数のピア処理識別子および複数のピア処理識別子にそれぞれ対応する複数の暗号化データを受信するステップであって、複数のピア処理識別子は、鍵交換プロトコルに従ってデータ統計についての複数の第1のデータのデータ識別子に対してピア秘密鍵処理を行うことにより統計データパーティによって取得され、複数の暗号化データは、第1のデータに対して準同型暗号化を行うことにより統計データパーティによって取得される、ステップと、
第1の鍵処理識別子を生成するための鍵交換プロトコルに従って複数のピア処理識別子に対してローカル秘密鍵処理を行い、第1の鍵処理識別子と対応する暗号化データとの間の対応関係を記憶するステップと、
鍵交換プロトコルに従ってデータ統計についてのローカルデータパーティの複数の第2のデータにそれぞれ対応するデータ識別子に対してローカル秘密鍵処理を行って第2の処理識別子を取得するステップと、
第2の処理識別子を統計データパーティに送信し、統計データパーティによって返信された第2の鍵処理識別子を受信するステップであって、第2の鍵処理識別子は、第2の処理識別子に対してピア秘密鍵処理を行うことにより統計データパーティによって取得される、ステップと、
第1の鍵処理識別子と第2の鍵処理識別子との間の識別子共通集合に対応する様々な暗号化データを取得し、様々な暗号化データに対して統計処理を行って暗号化統計値を取得するステップと、
統計データパーティが暗号化統計値に対して準同型復号を行って統計値を取得するように、統計データパーティに暗号化統計値を送信するステップとを含む。
【０００９】
第5の態様においては、データ統計装置を提供しており、装置は、ローカルデータパーティと連携データパーティとの間のデータ統計のために使用され、ローカルデータパーティは、データ識別子に対応する第1のデータを有し、連携データパーティは、データ識別子に対応する第2のデータを有し、装置は、複数の第1のデータから統計値を取得するように適用され、装置は、
複数の第1のデータに対して準同型暗号化をそれぞれ行って暗号化データを取得するために使用される、データ暗号化モジュールと、
複数の第1のデータに対応するデータ識別子および暗号化データを連携データパーティに送信するために使用される、データ送信モジュールと、
連携データパーティによって返信された暗号化統計値を受信するために使用される、データ受信モジュールであって、暗号化統計値は、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計的計算を行うことにより連携データパーティによって取得され、識別子共通集合は、データ統計についての連携データパーティの複数の第2のデータに対応する識別子であり、複数の第1のデータに対応する複数のデータ識別子から選択される、データ受信モジュールと、
暗号化統計値に対して準同型復号を行い、統計値を取得するために使用される、復号処理モジュールとを含む。
【００１０】
第6の態様においては、データ統計装置を提供しており、装置は、ローカルデータパーティと統計データパーティとの間のデータ統計のために使用され、統計データパーティは、統計値を計算するための複数の第1のデータを有し、複数の第1のデータは、異なるデータ識別子にそれぞれ対応し、ローカルデータパーティは、データ識別子に対応する複数の第2のデータを有する。装置は、
統計データパーティからデータ識別子および対応する暗号化データを受信するために使用される、データ取得モジュールであって、データ識別子は、データ統計についての統計データパーティの複数の第1のデータに対応する識別子であり、暗号化データは、複数の第1のデータに対して準同型暗号化を行うことにより統計データパーティによって取得される、データ取得モジュールと、
データ統計についてのローカルデータパーティの複数の第2のデータに対応するデータ識別子および複数の第1のデータのデータ識別子に従って識別子共通集合を決定するために使用される、共通集合決定モジュールと、
識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計処理を行って暗号化統計値を取得するために使用される、統計処理モジュールと、
統計データパーティが暗号化統計値に対して準同型復号を行って統計値を取得することができるように、暗号化統計値を統計データパーティに送信するために使用される、統計送信モジュールとを含む。
【００１１】
第7の態様においては、データ統計装置を提供しており、装置は、メモリと、プロセッサと、メモリ上に記憶されるとともにプロセッサ上で動作するコンピュータ命令とを含み、プロセッサは、命令の実行中に、
複数の第1のデータに対して準同型暗号化をそれぞれ行って暗号化データを取得するステップと、
複数の第1のデータに対応するデータ識別子および暗号化データを連携データパーティに送信するステップと、
連携データパーティによって返信された暗号化統計値を受信するステップであって、暗号化統計値は、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計的計算を行うことにより連携データパーティによって取得され、識別子共通集合は、データ統計についての連携データパーティの複数の第2のデータに対応する識別子であり、複数の第1のデータに対応する複数のデータ識別子から選択される、ステップと、
暗号化統計値に対して準同型復号を行って統計値を取得するステップとを実施する。
【００１２】
第8の態様においては、データ統計装置を提供しており、装置は、ローカルデータパーティと統計データパーティとの間のデータ統計のために使用され、統計データパーティは、データ識別子に対応する第1のデータを記憶し、ローカルデータパーティは、データ識別子に対応する第2のデータを記憶し、装置は、複数の第1のデータから統計値を取得するように適用される。装置は、
統計データパーティから複数のピア処理識別子および複数のピア処理識別子にそれぞれ対応する複数の暗号化データを受信するために使用される、データ受信モジュールであって、複数のピア処理識別子は、鍵交換プロトコルに従ってデータ統計についての複数の第1のデータのデータ識別子に対してピア秘密鍵処理を行うことにより統計データパーティによって取得され、複数の暗号化データは、第1のデータに対して準同型暗号化を行うことにより統計データパーティによって取得される、データ受信モジュールと、
鍵交換プロトコルに従って複数のピア処理識別子に対してローカル秘密鍵処理を行って第1の鍵処理識別子を生成し、第1の鍵処理識別子と対応する暗号化データとの間の対応関係を記憶するために使用される、関係記憶モジュールと、
鍵交換プロトコルに従ってデータ統計についてのローカルデータパーティの複数の第2のデータにそれぞれ対応するデータ識別子に対してローカル秘密鍵処理を行って第2の処理識別子を取得するために使用される、秘密鍵暗号化モジュールと、
第2の処理識別子を統計データパーティに送信し、統計データパーティによって返信された第2の鍵処理識別子を受信するために使用される、識別子送信モジュールであって、第2の鍵処理識別子は、第2の処理識別子に対してピア秘密鍵処理を行うことにより統計データパーティによって取得される、識別子送信モジュールと、
第1の鍵処理識別子と第2の鍵処理識別子との間の識別子共通集合に対応する様々な暗号化データを取得し、様々な暗号化データに対して統計処理を行って暗号化統計値を取得するために使用される、統計処理モジュールと、
統計データパーティが、暗号化統計値に対して準同型復号を行い、統計値を取得するように、統計データパーティに暗号化統計値を送信するために使用される、データ送信モジュールとを含む。
【００１３】
第9の態様においては、データ統計装置を提供しており、装置は、ローカルデータパーティと連携データパーティとの間のデータ統計のために使用され、ローカルデータパーティは、データ識別子に対応する第1のデータを有し、連携データパーティは、同一のデータ識別子に対応する第2のデータを記憶し、加えて、装置は、複数の第1のデータから統計値を取得するように適用され、装置は、
データ統計についてのローカルデータパーティの複数の第1のデータに対して準同型暗号化を行って暗号化データを取得するために使用される、データ暗号化モジュールと、
鍵交換プロトコルに従って複数の第1のデータにそれぞれ対応するデータ識別子に対してローカル秘密鍵処理を行って複数のローカル処理識別子を取得するために使用される、識別子処理モジュールと、
連携データパーティが、ローカル処理識別子に対してピア秘密鍵処理を行うことにより第1の鍵処理識別子を生成し、第1の鍵処理識別子と暗号化データとの間の対応関係を記憶することができるように、複数のローカル処理識別子および暗号化データを連携データパーティに送信するために使用される、データ送信モジュールと、
連携データパーティから第2の処理識別子を受信するために使用される、識別子受信モジュールであって、第2の処理識別子は、データ統計についてのデータ識別子対応する第2のデータに対してピア秘密鍵処理を行うことにより連携データパーティによって取得される、識別子受信モジュールと、
第2の処理識別子に対してローカル秘密鍵処理を行って第2の鍵処理識別子を生成および連携データパーティに送信するために使用される、秘密鍵処理モジュールと、
連携データパーティから暗号化統計値を受信するために使用される、統計受信モジュールであって、暗号化統計値は、第1の鍵処理識別子と第2の鍵処理識別子との間の共通集合に対応する様々な暗号化データに対して統計処理を行うことにより連携データパーティによって取得される、統計受信モジュールと、
暗号化統計値に対して準同型復号を行い、統計値を取得するために使用される、データ復号モジュールとを含む。
【００１４】
説明についての1つまたは複数の実施形態によるデータ統計方法および装置では、連携データパーティが暗号化データに対して統計処理を行うことができるように、準同型暗号化データが連携データパーティに送信される。同一の統計処理結果を取得し得るとともに、暗号化統計値に対してローカル準同型復号を行う。本方法は、ローカルデータプライバシーセキュリティを保護し、いかなるデータプライバシーも公開することなく2つのデータソースの混合されたデータを処理することを可能にし、2つのデータ所有者のデータプライバシーを保護しつつ2つのパーティ間でのセキュアな計算を実施している。
【００１５】
説明についての1つまたは複数の実施形態におけるまたは従来技術における技術的ソリューションを明確に説明するために、実施形態の説明に使用されることになる図または従来技術の図を以下に簡単に示している。以下の説明における図が説明についての1つまたは複数の実施形態に記録されている一部の実施形態に過ぎないことは明白であろう。当業者は創造的努力無しでこれらの図に従って他の図も取得し得る。
【図面の簡単な説明】
【００１６】
【図１】説明についての1つまたは複数の実施形態による、データ統計方法のフローチャートである。
【図２】説明についての1つまたは複数の実施形態による、データ統計方法のフローチャートである。
【図３】説明についての1つまたは複数の実施形態による、データ統計装置の構造的概略図である。
【図４】説明についての1つまたは複数の実施形態による、データ統計装置の構造的概略図である。
【図５】説明についての1つまたは複数の実施形態による、データ統計装置の構造的概略図である。
【図６】説明についての1つまたは複数の実施形態による、データ統計装置の構造的概略図である。
【発明を実施するための形態】
【００１７】
当業者が説明についての1つまたは複数の実施形態における技術的ソリューションをより良く理解することができるように、説明についての1つまたは複数の実施形態における図とともに説明についての1つまたは複数の実施形態における技術的ソリューションの明確かつ十分な説明を以下に提供している。説明をしている実施形態が、実施形態の一部に過ぎず、実施形態のすべてではないことは明白であろう。創造的努力無しで説明についての1つまたは複数の実施形態に基づいて当業者によって得られるすべての他の実施形態も本発明の保護の範囲に含まれるものとする。
【００１８】
データ記憶方法はビッグデータ時代では垂直モードとなり得る、すなわち、複数のデータ所有者が同一のエンティティの異なる属性情報を所有し得る。例えば、人物の車両保険スコアが一方の機構に存在している一方で、同一の人物の請求額が他方の機構に存在している。垂直モードにおけるそのようなデータストレージは、複数のデータ所有者が関与しているなんらかのデータ統計的計算を生じることになり、複数のデータ所有者が連携して1つのデータ統計を完了することが必要となる。しかしながら、異なる企業間の競合関係およびプライバシー保護についての扱いに起因してそれぞれの企業のデータ機密性を漏洩することはできない。
【００１９】
本発明の例示では、目的は、データ所有者のそれぞれのデータプライバシーを開示することなく異なるデータ所有者のデータに基づいたデータ統計を行うことにある。例示的な適用シナリオを使用して以下に本方法を詳細に述べているが、この適用シナリオに限定されない。
【００２０】
適用シナリオ
例として車両保険の保険スコアのデータ統計を用いれば、この例においてはデータソースAおよびBといった2つのデータソースが存在している。データソースAがデータ機構であり、データソースBが保険機構であると仮定する。両方のデータソースは、同一の車両所有者の異なる情報をそれぞれ記憶している。
【００２１】
データソースA: このデータソースAがすべての車両所有者の車両保険スコアを記憶していると仮定する。車両保険スコアは、車両所有者に対して正確にポートレート処理しリスク分析が行われた後に得られるスコアである。より高い車両保険スコアは、より低いリスクを示す。表1に示しているように、データソースAに記憶されている車両保険スコアのデータ構造は以下の通りである。
【００２２】
【表１】
2021501370.tif 000003
【００２３】
データソースB: このデータソースBがすべての車両所有者の請求情報を記憶していると仮定する。例えば、車両所有者の請求情報は、請求回数、請求額などを含む。表2に示しているように、データソースBサイドに記憶されているすべての車両所有者のデータ構造は以下の通りである。
【００２４】
【表２】
2021501370.tif 000004
【００２５】
上述の適用シナリオに基づけば、データソースAおよびBのデータに基づいて1つのデータ統計を連携して終えることができる。例えば、所要の統計タスクは、「請求回数が5より大きい女性ユーザの車両保険スコアの総和に対して統計的計算を行うこと」である。この所要のタスクにおいて、「請求回数が5より大きい女性ユーザ」は、データソースB内のデータが統計値を取得するためのフィルタリング条件として使用され得ることを示している。「車両保険スコアの総和」は、データソースA内の「score」というデータの総和の統計的計算が行われ得ることを示している。
【００２６】
表1に示しているようなデータ構造に基づき、データソースAが以下の表3に示しているようなデータを所有していると仮定する、ここで、idcard_noは車両所有者のIDカード番号であり、scoreはこの車両所有者の車両保険スコアである。
【００２７】
【表３】
2021501370.tif 000005
【００２８】
表2に示しているようなデータ構造に基づき、データソースBが以下の表4に示しているようなデータを所有していると仮定する。
【００２９】
【表４】
2021501370.tif 000006
【００３０】
請求回数が5より大きい女性ユーザの車両保険スコアの総和に対する統計的計算が上述の表3および表4に基づいて行われることになると仮定する。この統計における「車両保険スコア」の統計データがデータソースAに記憶されていることが理解できよう。表3中のscore列は、「統計列」と称されるものである、すなわち、この列におけるデータの統計的計算は、車両保険スコアを総和するために行われ得る。フィルタリング条件における「請求回数」および「女性」は、データソースBに記憶されている。したがって、データソースAとBとの間の協調が車両保険スコアの総和の統計的計算を終えるために必要となる。
【００３１】
データ統計方法の以下の説明では、統計データ「車両保険スコア」を有するデータソースAが統計データパーティと称されるものである一方で、他のデータソースBが連携データパーティと称されるものである。上述したように、両方のデータソースは、同一の車両所有者の異なる情報をそれぞれ記憶している。データソースAに記憶されている車両所有者の情報(例えば、score)は、第1のデータと称されるものである。データソースBに記憶されているパラメータデータ統計に関する車両所有者の情報(例えば、性別、直近1年の請求回数、および請求額)は、第2のデータと称されるものである。第2のデータは、統計的計算中のフィルタリング条件として使用される。加えて、データソースAおよびBの両方に含まれているidcard_noは、データ識別子と称されるものである、すなわち、データソースAは、このデータ識別子に対応する第1のデータを記憶しており、データソースBは、同一のデータ識別子に対応する第2のデータを記憶している。
【００３２】
図１は、データ統計方法のプロセスの例を示している。図1に示しているように、方法は、以下のステップを含む。
【００３３】
ステップ100において、統計データパーティは、複数の第1のデータに対して準同型暗号化をそれぞれ行い、暗号化データを取得する。
【００３４】
本ステップ内の複数の第1のデータは、データ統計についての統計データパーティのデータである。データは、統計データパーティのデータフィルタリング条件に従って取得される。
【００３５】
ステップ102において、統計データパーティは、複数の第1のデータに対応するデータ識別子および暗号化データを連携データパーティに送信する。
【００３６】
ステップ104において、連携データパーティは、データ統計についてのローカルデータパーティの複数の第2のデータに対応するデータ識別子および複数の第1のデータのデータ識別子に従って識別子共通集合を決定する。
【００３７】
本ステップにおいて、連携データパーティは、ローカルフィルタリング条件に従ってこのデータ統計の第2のデータを取得し、第2のデータに対応するデータ識別子を獲得する。連携データパーティによって獲得されたデータ識別子とステップ102における統計データパーティからの受信データ識別子との間の共通集合は、識別子共通集合と称されるものである。識別子共通集合は、少なくとも1つのデータ識別子を含む。識別子共通集合内の様々なデータ識別子に対応する第1のデータは、データ統計についての統計データパーティのデータである。データ識別子に対応する第2のデータは、データ統計についての連携データパーティのデータである。
【００３８】
ステップ106において、連携データパーティは、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計処理を行い、その暗号化統計値を取得する。
【００３９】
本ステップにおいて、連携データパーティは、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計的計算を行う。総和および平均などの特定のタイプのデータ統計は、特定の業務要件に基づいている。加えて、ここでの統計処理は、元の第1のデータに対してではなく、暗号化データに対して行われる。この統計方法は、統計データパーティの本当のデータを公開することなく、連携データパーティがそれ独自のデータフィルタリング条件を満足する所要のデータ統計を自由に行うことを可能にしている。
【００４０】
ステップ108において、連携データパーティは、暗号化統計値を統計データパーティに送信する。
【００４１】
ステップ110において、統計データパーティは、暗号化統計値に対して準同型復号を行い、統計値を取得する。
【００４２】
本ステップにおいて、元の第1のデータ統計から取得されるものと同一の統計値を、準同型暗号化の特性に従って返信された暗号化統計値に対して準同型復号を行うことによって取得することができる。
【００４３】
この例におけるデータ統計方法は、連携データパーティによって受信されたデータが、統計データパーティの本当のデータを公開することのない準同型暗号化データとなるように、準同型暗号化方法により2つのパーティの混合されたデータの計算に適用される。加えて、暗号化統計値を受信すると、統計データパーティは、準同型復号を行うことにより統計値を取得し得る。これは、非常に簡便であり、また、両方のデータ所有者のデータプライバシーを保護することになる。
【００４４】
別の例においては、データがローカルデータパーティと連携データパーティとの間で送信される際に、データ識別子は、両方のデータ所有者のデータプライバシーに対してよりセキュアな保護を提供するために、鍵交換プロトコルに従って暗号化される。例えば、統計データパーティは、ローカル秘密鍵を使用してデータ識別子に対してローカル秘密鍵処理を行い、ピアがデータ識別子に対してピア秘密鍵処理を引き続き行うことができるように処理が行われたデータ識別子をピアに送信する。統計データパーティも、ピア鍵処理による処理が行われ、連携データパーティによって送信された、データ識別子を受信し、処理が行われたデータ識別子に対してそれらを連携データパーティに返信する前にローカル秘密鍵処理を引き続き行う。鍵交換プロトコルに従った両方のパーティによるデータ識別子の処理は、データ識別子の公開を回避し、よりセキュアな保護を提供している。
【００４５】
以下の図2は、データ統計方法のプロセスの例を示している。このプロセスは、表3および表4に基づいて請求回数が5より大きい女性ユーザの車両保険スコアの総和に対して統計的計算を行い得る。加えて、この例では、例として準同型暗号化と鍵交換処理との組合せを用いている。図2に示しているように、本方法は、以下のステップを含み得る。
【００４６】
ステップ200において、統計データパーティは、ローカルデータ統計の複数の第1のデータに対して準同型暗号化を行い、第1のデータに対応する暗号化データを取得する。
【００４７】
この例においては、データソースAは、統計データパーティである。score列は、統計列と称されるものであり、すべての車両スコアは、第1のデータと称されるものである。
【００４８】
ある例においては、データソースAは、統計の表3のscore統計列におけるすべての車両保険スコアの総和、すなわち、490、501、および530を含む3つの車両保険スコアの総和の統計的計算を行う。490、501、および530を含む3つの車両保険スコアは、「ローカルデータ統計の3つの第1のデータ」と称されるものである。
【００４９】
別の例においては、データソースAはまた、所定のデータフィルタリング条件に従って総和の統計的計算に関与することになる車両保険スコアの一部を選択し得る。例えば、データソースAは、総和を行うことになる501および530を含む2つの車両保険スコアを選択する。
【００５０】
本ステップにおいて、データソースAに対するデータフィルタリング条件が存在していないと仮定する。様々な第1のデータにそれぞれ対応する暗号化データが、統計列における第1のデータのすべてに対して準同型暗号化を行うことにより取得される。例えば、490および501の車両保険スコアの暗号化データは、それぞれ、Enc(490)およびEnc(501)として表される。
【００５１】
ステップ202において、統計データパーティは、鍵交換プロトコルに従ってローカルデータ統計の複数の第1のデータにそれぞれ対応するデータ識別子に対してローカル秘密鍵処理を行い、複数の第1の処理識別子を取得する。
【００５２】
本ステップにおいて、表3中のscoreに対応するidcard_noは、第1のデータに対応するデータ識別子と称されるものである。Diffie-Hellman鍵交換(略して「D-H」)などの鍵交換プロトコルが、データソースAおよびBの詳細なデータが漏洩してしまうことから保護するべく上述のデータ識別子を処理するために使用される。
【００５３】
例えば、Hashをidcard_noに対して行ってH(K)を取得する。同時に、データソースAは、鍵交換プロトコルにおいてそれ独自の秘密鍵αを生成し、ローカル秘密鍵処理を行う。この処理は、H(k)αを取得するためのH(k)に対するαの指数演算である。このH(k)αは、第1の処理識別子と称されるものである。
【００５４】
例として総和のこの統計的計算に関与しているデータソースAの統計列におけるすべての第1のデータを用いれば、本ステップの処理を行った後に、データソースAは、統計に関与している様々な第1のデータに対応する暗号化データおよび第1の処理識別子を取得する。以下の表5に示しているように、H(k)α(すなわち、Hash(idcard_no)α)は第1の処理識別子であり、Enc(score)は暗号化データである。例として表3中の第1の車両所有者を用いれば、本車両所有者の車両保険スコアは490であり、対応する暗号化データはEnc(490)であり、490のこの車両保険スコアに対応するデータ識別子は1234567である。第1の処理識別子H(1234567)αがHashの後に取得され、このデータ識別子に対してローカル秘密鍵処理が行われる。
【００５５】
【表５】
2021501370.tif 000007
【００５６】
ステップ204において、統計データパーティは、複数の第1のデータにそれぞれ対応する第1の処理識別子および暗号化データを連携データパーティに送信する。
【００５７】
本ステップにおいて、データソースAは、表5中のデータをデータソースBに送信する。
【００５８】
ステップ206において、連携データパーティは、第1の鍵処理識別子を生成し、鍵交換プロトコルに従って第1の処理識別子に対してデータソースBのローカル秘密鍵処理を行った後に第1の鍵処理識別子と暗号化データとの間の対応関係を記憶する。
【００５９】
本ステップにおいて、表5中のデータを受信した後に、データソースBは、鍵交換プロトコルに従ってデータソースBのローカル秘密鍵βを生成し、この秘密鍵βを使用して第1の処理識別子H(k)αに対してローカル秘密鍵演算(すなわち、指数演算)を行ってH(k)αβを取得する。このH(k)αβは、第1の鍵処理識別子と称されるものである。本ステップのβの指数演算の処理を行った後に、表5は以下のように表6に変換される。
【００６０】
【表６】
2021501370.tif 000008
【００６１】
ステップ208において、連携データパーティは、鍵交換プロトコルに従ってローカルデータ統計の複数の第2のデータにそれぞれ対応するデータ識別子に対してローカル秘密鍵処理を行い、複数の第2の処理識別子を取得する。
【００６２】
本ステップにおいて、データソースBもローカルデータ統計の複数の第2のデータを決定する。例えば、複数の第2のデータは、すべてのデータまたは所定のフィルタリング条件に従ってローカルフィルタリングを行うことにより取得されるフィルタリング済みデータを含み得る。
【００６３】
例えば、所定のフィルタリング条件は、「請求回数が5より大きい女性ユーザ」である。表4中のデータは、この条件に従ってフィルタリングされ、データの最後の2つの行が統計に関与することになるという結果を取得している。表4中のデータソースBの性別および請求回数は、第2のデータと称されるものであり、例えば、「女性、7」および「女性、6」である。2つの第2のデータに対応するデータ識別子は、それぞれ、2345678および3456789である。
【００６４】
データソースBは、上述のデータ識別子に対してHashをそれぞれ行ってH(K)を取得し、その後、鍵交換プロトコルに従ってH(k)に対してβの指数演算を行ってH(k)βを取得する。このβは、データソースBの秘密鍵である。このH(k)βは、以下の表7に示しているような、第2の処理識別子と称されるものである。
【００６５】
【表７】
2021501370.tif 000009
【００６６】
ステップ210において、連携データパーティは、第2の処理識別子を統計データパーティに送信する。
【００６７】
本ステップにおいて、データソースBは、上述の表7中のデータをデータソースAに送信する。
【００６８】
ステップ212において、統計データパーティは、第2の処理識別子に対してローカル秘密鍵処理を行った後に第2の鍵処理識別子を生成する。
【００６９】
例えば、表7中のHash(idcard_no)βを受信した後に、データソースAは、以下の表8に示しているような、データソースAのローカル秘密鍵処理を行うことにより第2の鍵処理識別子Hash(idcard_no)βαを生成する。
【００７０】
【表８】
2021501370.tif 000010
【００７１】
ステップ214において、統計データパーティは、第2の鍵処理識別子を連携データパーティに送信する。
【００７２】
ステップ216において、連携データパーティは、第1の鍵処理識別子と第2の鍵処理識別子との間の識別子共通集合に対応する様々な暗号化データを取得し、暗号化データに対して統計処理を行い、暗号化統計値を取得する。
【００７３】
本ステップにおいて、データソースBは、表8中の第2の鍵処理識別子と表6中の第1の鍵処理識別子との間の共通集合を得る。同一の値を有するHash(idcard_no)βαおよびHash(idcard_no)αβは、それらが同一のidcard_noに対応していること、すなわち、このidcard_noによって表される車両所有者が統計に関与している統計データパーティおよび連携データパーティの両方のデータのフィルタリング条件を満足していることを示している。共通集合内の第1の鍵処理識別子に対応する暗号化データは、共通集合および第1の鍵処理識別子と表6中の暗号化データとの間の対応関係に従って取得される。以下の表9に示しているように、共通集合および共通集合に対応する様々な暗号化データが表9に含まれている。
【００７４】
【表９】
2021501370.tif 000011
【００７５】
上述の識別子共通集合内の様々な対応する暗号化データの統計総和、例えば、Enc(501)+Enc(530)を表9に従って行い得る。取得される値は、暗号化統計値と称されるものである。
【００７６】
ステップ218において、連携データパーティは、暗号化統計値を統計データパーティに送信する。
【００７７】
例えば、データソースBは、上述の暗号化統計値「Enc(501)+Enc(530)」をデータソースAに送信する。
【００７８】
ステップ220において、統計データパーティは、暗号化統計値に対して準同型復号を行い、統計値を取得する。
【００７９】
例えば、暗号化統計値「Enc(501)+Enc(530)」を受信すると、データソースAは、準同型復号DEC(Enc(501)+Enc(530))=1031を行う。この1031は、請求回数が5より大きい女性ユーザの車両保険スコアの総和の統計値である。
【００８０】
この例によるデータ統計方法では、連携データパーティが暗号化データに対して統計処理を行うことができるように、準同型暗号化データがデータ統計中に連携データパーティに送信される。統計値を取得し得るとともに、ローカル準同型復号を行う。本方法は、ローカルデータのプライバシーセキュリティを保護し、いかなるデータプライバシーも公開することなく2つのデータソースの混合されたデータの処理を可能としている。それはまた、鍵交換プロトコルを使用してすべてのフィルタリングフィールドのプライバシーセキュリティを保護する。
【００８１】
加えて、上述の図2に示しているような処理は、複数の第1のデータの総和である統計値の例を用いている。他の例においては、説明についての1つまたは複数の実施形態によるデータ統計方法は他の統計的計算シナリオにも適用される。例えば、統計値は、複数の第1のデータの平均値である。
【００８２】
図２に示しているような処理はまた、「請求回数が5より大きい女性ユーザの車両保険スコアの平均」を取得するために使用され得る。違いは、様々な暗号化データに対して統計処理を行う際に、データソースBが様々な暗号化データの平均を得ることにある。例えば、Enc(501)+Enc(530)の値を2で割って暗号化統計値を取得する。データソースBによって返信された暗号化統計値を受信した後に、データソースAは、準同型復号を行って平均を取得する。
【００８３】
上述の方法を実施するために、説明についての1つまたは複数の実施形態はまた、データ統計装置を提供しており、装置は、ローカルデータパーティと連携データパーティとの間のデータ統計のために使用される。ローカルデータパーティは、データ識別子に対応する第1のデータを有し、連携データパーティは、同一のデータ識別子に対応する第2のデータを有する。加えて、装置は、複数の第1のデータから統計値を取得するように構成される。図3に示しているように、本装置は、データ暗号化モジュール31、データ送信モジュール32、データ受信モジュール33、および復号処理モジュール34を含む。
【００８４】
データ暗号化モジュール31は、準同型暗号化を複数の第1のデータに対してそれぞれ行い、暗号化データを取得するために使用される。
【００８５】
データ送信モジュール32は、複数の第1のデータに対応するデータ識別子および暗号化データを連携データパーティに送信するために使用される。
【００８６】
データ受信モジュール33は、連携データパーティによって返信された暗号化統計値を受信するために使用される。暗号化統計値は、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計的計算を行うことにより連携データパーティによって取得される、ここで、識別子共通集合は、データ統計についての連携データパーティの複数の第2のデータに対応する識別子を含み、複数の第1のデータに対応する複数のデータ識別子から選択される。
【００８７】
復号処理モジュール34は、暗号化統計値に対して準同型復号を行い、統計値を取得するために使用される。
【００８８】
上述の方法を実施するために、説明についての1つまたは複数の実施形態はまた、データ統計装置を提供しており、データ統計装置は、ローカルデータパーティと統計データパーティとの間のデータ統計のために使用される。統計データパーティは、統計値を計算するための複数の第1のデータを有し、複数の第1のデータは、異なるデータ識別子にそれぞれ対応する。ローカルデータパーティは、データ識別子に対応する複数の第2のデータを有する。図4に示しているように、本装置は、データ取得モジュール41、共通集合決定モジュール42、統計処理モジュール43、および統計送信モジュール44を含む。
【００８９】
データ取得モジュール41は、統計データパーティからデータ識別子および対応する暗号化データを受信するために使用される。データ識別子は、データ統計についての統計データパーティの複数の第1のデータに対応する識別子であり、暗号化データは、複数の第1のデータに対して準同型暗号化を行うことにより統計データパーティによって取得される。
【００９０】
共通集合決定モジュール42は、データ統計についてのローカルデータパーティの複数の第2のデータに対応するデータ識別子および複数の第1のデータのデータ識別子に従って識別子共通集合を決定するために使用される。
【００９１】
統計処理モジュール43は、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計処理を行い、暗号化統計値を取得するために使用される。
【００９２】
統計送信モジュール44は、統計データパーティが、暗号化統計値に対して準同型復号を行い、統計値を取得することができるように、暗号化統計値を統計データパーティに送信するために使用される。
【００９３】
上述の方法を実施するために、説明についての1つまたは複数の実施形態はまた、図5に示しているようなデータ統計装置を提供している。装置は、データ暗号化モジュール51、識別子処理モジュール52、データ送信モジュール53、識別子受信モジュール54、秘密鍵処理モジュール55、統計受信モジュール56、およびデータ復号モジュール57を含み得る。
【００９４】
データ暗号化モジュール51は、ローカルデータ統計の複数の第1のデータに対して準同型暗号化を行い、暗号化データを取得するために使用される。
【００９５】
識別子処理モジュール52は、鍵交換プロトコルに従って複数の第1のデータにそれぞれ対応するデータ識別子に対してローカル秘密鍵処理を行い、複数の第1の処理識別子を取得するために使用される。
【００９６】
データ送信モジュール53は、連携データパーティが、第1の鍵処理識別子を生成し、第1の処理識別子に対してピア秘密鍵処理を行った後に第1の鍵処理識別子と暗号化データとの間の対応関係を記憶することができるように、複数の第1の処理識別子および暗号化データを連携データパーティに送信するために使用される。
【００９７】
識別子受信モジュール54は、連携データパーティから第2の処理識別子を受信するために使用される。第2の処理識別子は、データ統計の第2のデータのデータ識別子に対してピア秘密鍵処理を行うことにより連携データパーティによって取得される。
【００９８】
秘密鍵処理モジュール55は、第2の鍵処理識別子を生成し、第2の処理識別子に対してローカル秘密鍵処理を行った後に連携データパーティに送信するために使用される。
【００９９】
統計受信モジュール56は、連携データパーティから暗号化統計値を受信するために使用される。暗号化統計値は、第1の鍵処理識別子と第2の鍵処理識別子との間の識別子共通集合に対応する様々な暗号化データに対して統計処理を行うことにより連携データパーティによって取得され得る。
【０１００】
データ復号モジュール57は、暗号化統計値に対して準同型復号を行い、統計値を取得するために使用される。
【０１０１】
ある例においては、装置は、所定のデータフィルタリング条件に従ってローカルデータ統計の複数の第1のデータを取得するために使用されるデータフィルタリングモジュールをさらに含む。
【０１０２】
上述の方法を実施するために、説明についての1つまたは複数の実施形態はまた、図6に示しているようなデータ統計装置を提供している。装置は、データ受信モジュール61、関係記憶モジュール62、秘密鍵暗号化モジュール63、識別子送信モジュール64、統計処理モジュール65、およびデータ送信モジュール66を含み得る。
【０１０３】
データ受信モジュール61は、統計データパーティから複数のピア処理識別子および複数のピア処理識別子にそれぞれ対応する複数の暗号化データを受信するために使用される。ピア処理識別子は、鍵交換プロトコルに従ってデータ統計の第1のデータのデータ識別子に対してピア秘密鍵処理を行うことにより統計データパーティによって取得され得るし、暗号化データは、第1のデータに対して準同型暗号化を行うことにより統計データパーティによって取得され得る。
【０１０４】
関係記憶モジュール62は、第1の鍵処理識別子を生成し、様々な第1の処理識別子に対してローカル秘密鍵演算を行った後に鍵交換プロトコルに従って第1の鍵処理識別子と対応する暗号化データとの間の対応関係を記憶するために使用される。
【０１０５】
秘密鍵暗号化モジュール63は、鍵交換プロトコルに従ってローカルデータ統計の複数の第2のデータにそれぞれ対応するデータ識別子に対してローカル秘密鍵処理を行い、複数の第2の処理識別子を取得する。
【０１０６】
識別子送信モジュール64は、第2の処理識別子を統計データパーティに送信し、統計データパーティによって返信された第2の鍵処理識別子を受信するために使用される。第2の鍵処理識別子は、第2の処理識別子に対してピア秘密鍵処理を行うことにより統計データパーティによって取得され得る。
【０１０７】
統計処理モジュール65は、第1の鍵処理識別子と第2の鍵処理識別子との間の共通集合に対応する様々な暗号化データを取得し、暗号化データに対して統計処理を行い、暗号化統計値を取得するために使用される。
【０１０８】
データ送信モジュール66は、統計データパーティが、暗号化統計値に対して準同型復号を行い、統計値を取得することができるように、暗号化統計値を統計データパーティに送信するために使用される。
【０１０９】
上述の装置を説明する際に、様々なモジュールを説明の都合で機能の観点からそれぞれ説明している。当然のことながら、様々なモジュールの機能は、説明についての1つまたは複数の実施形態を実装する際に、1つまたは複数のソフトウェアおよび/またはハードウェアで実装してもよい。
【０１１０】
上述の方法の実施形態において示しているような処理における様々なステップについて、それらの実行シーケンスは、フローチャートにおけるシーケンスに限定されない。加えて、様々なステップの説明は、ソフトウェア、ハードウェア、またはその組合せの形式で実装される。例えば、当業者は、ステップに対応するロジック機能の実行可能コンピュータ命令を実施するソフトウェアコードの形式で実装する。ソフトウェアの形式で実装される場合には、実行可能命令は、メモリに記憶されるとともに装置内のプロセッサによって実行される。
【０１１１】
例えば、上述の方法に対応して、説明についての1つまたは複数の実施形態は、データ統計装置を同時に提供している。装置は、プロセッサ、メモリ、およびメモリ上に記憶されるとともにプロセッサ上で動作するコンピュータ命令を含み得る。プロセッサは、命令を実行することによって、
複数の第1のデータに対して準同型暗号化をそれぞれ行って暗号化データを取得するステップと、
複数の第1のデータに対応するデータ識別子および暗号化データを連携データパーティに送信するステップと、
連携データパーティによって返信された暗号化統計値を受信するステップであって、暗号化統計値は、識別子共通集合内の様々なデータ識別子に対応する暗号化データに対して統計的計算を行うことにより連携データパーティによって取得され、識別子共通集合は、データ統計についての連携データパーティの複数の第2のデータに対応する識別子であり、複数の第1のデータに対応する複数のデータ識別子から選択される、ステップと、
暗号化統計値に対して準同型復号を行い、統計値を取得するステップとを実施するために使用され得る。
【０１１２】
上述の実施形態において説明した装置またはモジュールは、コンピュータチップまたはエンティティによって、または機能を有する製品によって特に実装される。コンピュータは、典型的な実施装置である。コンピュータの具体的なタイプは、PC、ラップトップコンピュータ、セル電話、カメラ電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーション装置、電子メール送受信装置、ゲームコンソール、タブレットコンピュータ、ウェアラブル装置、またはこれらの装置の任意の組合せを含む。
【０１１３】
説明についての1つまたは複数の実施形態が方法、システム、またはコンピュータプログラム製品として提供されることを当業者は理解されたい。したがって、説明についての1つまたは複数の実施形態は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとを組み合わせた実施形態の形式を使用し得る。加えて、説明についての1つまたは複数の実施形態は、コンピュータプログラムコードを含む(ディスクメモリ、CD-ROM、および光学メモリを含むがこれらに限定されない)1つまたは複数の記憶媒体上で実施されるコンピュータプログラム製品の形式を使用し得る。
【０１１４】
このようなコンピュータプログラム命令はまた、特定の方法で動作するようにコンピュータまたは他のプログラマブルデータ処理装置に命令することが可能とするコンピュータ可読メモリに記憶されてもよく、その結果、コンピュータ可読メモリに記憶されている命令は、命令デバイスを含む製品を生成し得る。命令デバイスは、フローチャート中の1つまたは複数のプロセスにおけるおよび/またはブロック図中の1つまたは複数のブロックにおける任意の特定の機能を実施する。
【０１１５】
このようなコンピュータプログラム命令はまた、コンピュータまたは他のプログラマブルデータ処理機器にロードされてもよく、その結果、一連の動作ステップは、コンピュータによって実施されるプロセスを生成するようにコンピュータまたは他のプログラマブル機器上で実行され得る。それゆえ、コンピュータまたは他のプログラマブル機器において実行される命令は、フローチャート中の1つまたは複数のプロセスにおけるおよび/またはブロック図中の1つまたは複数のブロックにおける任意の特定の機能を実施するステップを提供する。
【０１１６】
「備える」、「含む」といった用語、またはそれらの任意の他の類型は、非排他的な包含をカバーすることを意図しており、その結果、一連の要素を含むプロセス、方法、商品、または装置が、これらの要素および明示的に記載していない他の要素、またはこのような処理、方法、商品、または装置に本来備わっている要素を含むことを留意されることが重要である。さらなる制約がない状態では、「・・・を含む」といった文により限定された要素は、処理、方法、商品、または装置に含まれる他の同様の要素の存在を除外することはしない。
【０１１７】
説明についての1つまたは複数の実施形態は、プログラムモジュールなどといった、コンピュータによって実行される実行可能コンピュータ命令の一般的な状況において説明し得る。プログラムモジュールは、一般的に、特定のタスクを行うまたは特定のタイプの抽象データを実施する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造を含む。説明についての1つまたは複数の実施形態はまた、タスクが通信ネットワークを介して接続されたリモート処理機器によって行われる分散コンピューティング環境において実施されてもよい。分散コンピューティング環境においては、プログラムモジュールは、メモリデバイスを含むローカルコンピュータ記憶媒体およびリモートコンピュータ記憶媒体に位置し得る。
【０１１８】
説明の様々な実施形態は漸進的な方式で説明しているため、実施形態間の同一および同様の部分は相互参照によって理解されたい。説明においては、他の実施形態との実施形態の違いを強調している。詳細には、方法の実施形態と基本的に同様であるため、サーバサイドの装置の実施形態は簡単に説明している。関連する点は方法の実施形態の説明を参照されたい。
【０１１９】
本説明の特定の実施形態を上記で説明している。他の実施形態も添付の特許請求の範囲の範囲内にあるものとする。いくつかのケースにおいては、特許請求の範囲に記録した動作またステップは、実施形態におけるシーケンスとは異なるシーケンスで行われてもよく、求められた結果を達成し得る。加えて、図に記載した処理は、求められた結果を達成するために図に示した特定または一連のシーケンスを必ずしも必要とするわけではない。いくつかの実施形態においては、マルチタスク処理およびパラレル処理も可能であるまたは有益となり得る。
【０１２０】
前述したものは、説明についての1つまたは複数の望ましい実施形態に過ぎず、本発明を限定することを意図したものではない。本発明の精神および原理においてなされた任意の修正、均等物との置換、改良などは、本発明の保護範囲に含まれるものとする。
【符号の説明】
【０１２１】
31  データ暗号化モジュール
32  データ送信モジュール
33  データ受信モジュール
34  復号処理モジュール
41  データ取得モジュール
42  共通集合決定モジュール
43  統計送信モジュール
44  統計処理モジュール
51  データ暗号化モジュール
52  識別子処理モジュール
53  データ送信モジュール
54  識別子受信モジュール
55  秘密鍵処理モジュール
56  統計受信モジュール
57  データ復号モジュール
61  データ受信モジュール
62  関係記憶モジュール
63  秘密鍵暗号化モジュール
64  識別子送信モジュール
65  統計処理モジュール
66  データ送信モジュール
【図１】
2021501370.tif 000012
【図２】
2021501370.tif 000013
【図３】
2021501370.tif 000014
【図４】
2021501370.tif 000015
【図５】
2021501370.tif 000016
【図６】
2021501370.tif 000017
【国際調査報告】
2021501370.tif 000018
2021501370.tif 000019
2021501370.tif 000020
2021501370.tif 000021