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

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

▶ 京▲東▼科技控股股▲フン▼有限公司の特許一覧

特表2024-510658マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体
<>
  • 特表-マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体 図1
  • 特表-マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体 図2
  • 特表-マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体 図3
  • 特表-マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体 図4
  • 特表-マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体 図5
  • 特表-マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体 図6
  • 特表-マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体 図7
  • 特表-マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体 図8
  • 特表-マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-08
(54)【発明の名称】マルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体
(51)【国際特許分類】
   G09C 1/00 20060101AFI20240301BHJP
   G06N 20/00 20190101ALI20240301BHJP
【FI】
G09C1/00 650Z
G06N20/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023557440
(86)(22)【出願日】2022-04-02
(85)【翻訳文提出日】2023-09-19
(86)【国際出願番号】 CN2022085192
(87)【国際公開番号】W WO2022213957
(87)【国際公開日】2022-10-13
(31)【優先権主張番号】202110369324.2
(32)【優先日】2021-04-06
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】521507084
【氏名又は名称】京▲東▼科技控股股▲フン▼有限公司
(74)【代理人】
【識別番号】100118913
【弁理士】
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【弁理士】
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100201466
【弁理士】
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】ダイ, ツィイン
(72)【発明者】
【氏名】ワン, ティチェン
(57)【要約】
本願は、マルチソースデータのデータ処理方法及び装置を提供し、この方法は、前記データ提供ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成するステップであって、他の参加ノードには、他のデータ提供ノードとデータ使用ノードとが含まれるステップと、ローカルサンプルデータを暗号化公開鍵で暗号化して、暗号文データを生成し、コーディネーションノードに送信して機械学習モデルのトレーニングを行うステップと、コーディネーションノードによってトレーニングされた機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信するステップであって、暗号文モデルパラメーターは、評価公開鍵と受信した暗号文データとに基づいて、コーディネーションノードによって決定されるステップと、暗号文モデルパラメーターを前記秘密鍵セグメントで復号化し、復号化したモデルパラメーターセグメントをデータ使用ノードに送信するステップと、を含む。
【選択図】 図2
【特許請求の範囲】
【請求項1】
データ提供ノードに適用されるマルチソースデータのデータ処理方法であって、
前記データ提供ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成するステップであって、他の参加ノードには、他のデータ提供ノードとデータ使用ノードとが含まれるステップと、
ローカルサンプルデータを前記暗号化公開鍵で暗号化して、暗号文データを生成し、コーディネーションノードに送信して機械学習モデルのトレーニングを行うステップと、
前記コーディネーションノードによってトレーニングされた前記機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信するステップであって、前記暗号文モデルパラメーターが、前記評価公開鍵と受信した前記暗号文データとに基づいて、前記コーディネーションノードによって決定されるステップと、
前記暗号文モデルパラメーターを前記秘密鍵セグメントで復号化し、復号化したモデルパラメーターセグメントを前記データ使用ノードに送信するステップと、
を含む、マルチソースデータのデータ処理方法。
【請求項2】
前記データ提供ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成するステップが、
前記秘密鍵セグメントを生成し、前記秘密鍵セグメントに基づいて、前記データ提供ノード自体の暗号化公開鍵セグメントと前記評価公開鍵に対応するターゲット中間結果とを生成するステップと、
前記暗号化公開鍵セグメントと前記ターゲット中間結果とをブロードキャストするステップと、
前記他の参加ノードから送信されたそれぞれの前記暗号化公開鍵セグメントと前記ターゲット中間結果とを受信するステップと、
各前記暗号化公開鍵セグメントに基づいて前記暗号化公開鍵を生成し、各前記ターゲット中間結果に基づいて前記評価公開鍵を生成するステップと、
を含む請求項1に記載のマルチソースデータのデータ処理方法。
【請求項3】
前記評価公開鍵を生成した後、
前記評価公開鍵を前記コーディネーションノードに送信するステップを含む請求項2に記載のマルチソースデータのデータ処理方法。
【請求項4】
前記データ提供ノードの秘密鍵セグメントを生成するステップが、
鍵生成パラメーターを取得するステップであって、前記鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれるステップと、
前記共通パラメーターと秘密鍵生成アルゴリズムとに基づいて、前記秘密鍵セグメントを取得するステップと、
を含む請求項2に記載のマルチソースデータのデータ処理方法。
【請求項5】
前記秘密鍵セグメントに基づいて、前記データ提供ノード自体の暗号化公開鍵セグメントと前記評価公開鍵に対応するターゲット中間結果とを生成するステップが、
前記秘密鍵セグメント、前記共通乱数及び暗号化公開鍵生成アルゴリズムに基づいて、前記暗号化公開鍵セグメントを生成するステップと、
前記秘密鍵セグメントと評価公開鍵生成アルゴリズムとに基づいて、前記ターゲット中間結果を生成するステップと、
を含む請求項4に記載のマルチソースデータのデータ処理方法。
【請求項6】
前記秘密鍵セグメントと評価公開鍵生成アルゴリズムとに基づいて、前記ターゲット中間結果を生成するステップが、
前記秘密鍵セグメント、前記共通乱数及び評価公開鍵生成アルゴリズムに基づいて前記評価公開鍵の第1の中間結果を生成し、前記第1の中間結果をブロードキャストするステップと、
他のデータ提供ノードから送信されたそれぞれの前記第1の中間結果を受信するステップと、
自体の前記第1の中間結果と前記他のデータ提供ノードの前記第1の中間結果とに基づいて、前記評価公開鍵の第2の中間結果を取得するステップと、
前記秘密鍵セグメント、前記共通乱数及び前記第2の中間結果に基づいて前記評価公開鍵のターゲット中間結果を取得し、前記ターゲット中間結果をブロードキャストするステップと、
を含む請求項5に記載のマルチソースデータのデータ処理方法。
【請求項7】
データ使用ノードに適用されるマルチソースデータのデータ処理方法であって、
前記データ使用ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成するステップであって、他の参加ノードにはデータ提供ノードが含まれるステップと、
前記コーディネーションノードによってトレーニングされた前記機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信するステップであって、前記暗号文モデルパラメーターが、前記評価公開鍵と受信した前記データ提供ノードの暗号文データとに基づいて、前記コーディネーションノードによって決定されるステップと、
前記暗号文モデルパラメーターを前記秘密鍵セグメントで復号化し、第1のモデルパラメーターセグメントを取得するステップと、
前記他の参加ノードから送信された第2のモデルパラメーターセグメントを受信するステップと、
前記第1のモデルパラメーターセグメントと前記第2のモデルパラメーターセグメントとに基づいて、前記機械学習モデルを取得するステップと、
を含む、マルチソースデータのデータ処理方法。
【請求項8】
前記データ使用ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成するステップが、
前記データ使用ノードの秘密鍵セグメントを生成し、前記秘密鍵セグメントに基づいて前記データ使用ノード自体の暗号化公開鍵セグメントを生成するステップと、
前記暗号化公開鍵セグメントをブロードキャストするステップと、
を含む請求項7に記載のマルチソースデータのデータ処理方法。
【請求項9】
前記データ使用ノードの秘密鍵セグメントを生成するステップが、
鍵生成パラメーターを取得するステップであって、前記鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれるステップと、
前記共通パラメーターと秘密鍵生成アルゴリズムとに基づいて、前記秘密鍵セグメントを取得するステップと、
を含む請求項8に記載のマルチソースデータのデータ処理方法。
【請求項10】
コーディネーションノードに適用されるマルチソースデータのデータ処理方法であって、
各データ提供ノードから送信された評価キーを受信するステップと、
各前記データ提供ノードから送信された暗号文データを受信するステップであって、前記暗号文データは、前記データ提供ノードが自体のサンプルデータを暗号化公開鍵で暗号化した後に生成されたものであるステップと、
前記データ提供ノードを協調して機械学習モデルのトレーニングを行って、前記機械学習モデルのモデルパラメーターを出力するステップと、
前記モデルパラメーターを前記評価公開鍵で暗号化して、暗号文モデルパラメーターを取得するステップと、
前記暗号文モデルパラメーターを各前記データ提供ノード及びデータ使用ノードにそれぞれ送信して復号化するステップと、
を含む、マルチソースデータのデータ処理方法。
【請求項11】
データ提供ノードに適用されるマルチソースデータのデータ処理装置であって、
前記データ提供ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成する鍵生成モジュールであって、他の参加ノードには、他のデータ提供ノードとデータ使用ノードとが含まれる鍵生成モジュールと、
ローカルサンプルデータを前記暗号化公開鍵で暗号化して、暗号文データを生成し、コーディネーションノードに送信して機械学習モデルのトレーニングを行う暗号化モジュールと、
前記コーディネーションノードによってトレーニングされた前記機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信する受信モジュールであって、前記暗号文モデルパラメーターが、前記評価公開鍵と受信した前記暗号文データとに基づいて、前記コーディネーションノードによって決定される受信モジュールと、
前記暗号文モデルパラメーターを前記秘密鍵セグメントで復号化し、復号化したモデルパラメーターセグメントを前記データ使用ノードに送信する復号化モジュールと、
を備える、マルチソースデータのデータ処理装置。
【請求項12】
前記鍵生成モジュールが、
前記データ提供ノードの秘密鍵セグメントを生成し、前記秘密鍵セグメントに基づいて、前記データ提供ノード自体の暗号化公開鍵セグメントと前記評価公開鍵に対応するターゲット中間結果とを生成する第1の生成ユニットと、
前記暗号化公開鍵セグメントと前記ターゲット中間結果とをブロードキャストする送信ユニットと、
前記他の参加ノードから送信されたそれぞれの前記暗号化公開鍵セグメントと前記ターゲット中間結果とを受信する受信ユニットと、
各前記暗号化公開鍵セグメントと各前記ターゲット中間結果とに基づいて、前記暗号化公開鍵と前記評価公開鍵とを生成する第2の生成ユニットと、
を備える請求項11に記載のマルチソースデータのデータ処理装置。
【請求項13】
前記送信ユニットが、前記評価公開鍵を生成した後、前記評価公開鍵を前記コーディネーションノードに送信する請求項12に記載のマルチソースデータのデータ処理装置。
【請求項14】
前記第1の生成ユニットが、
鍵生成パラメーターを取得し、前記鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれ、
前記共通パラメーターと秘密鍵生成アルゴリズムとに基づいて、前記秘密鍵セグメントを取得する請求項12に記載のマルチソースデータのデータ処理装置。
【請求項15】
前記第1の生成ユニットが、
前記秘密鍵セグメント、前記共通乱数及び暗号化公開鍵生成アルゴリズムに基づいて、前記暗号化公開鍵セグメントを生成し、
前記秘密鍵セグメントと評価公開鍵生成アルゴリズムとに基づいて、前記ターゲット中間結果を生成する請求項14に記載のマルチソースデータのデータ処理装置。
【請求項16】
前記第1の生成ユニットが、
前記秘密鍵セグメント、前記共通乱数及び評価公開鍵生成アルゴリズムに基づいて前記評価公開鍵の第1の中間結果を生成し、前記第1の中間結果をブロードキャストし、
他のデータ提供ノードから送信されたそれぞれの前記第1の中間結果を受信し、
自体の前記第1の中間結果と前記他のデータ提供ノードの前記第1の中間結果とに基づいて、前記評価公開鍵の第2の中間結果を取得し、
前記秘密鍵セグメント、前記共通乱数及び前記第2の中間結果に基づいて前記評価公開鍵のターゲット中間結果を取得し、前記ターゲット中間結果をブロードキャストする請求項15に記載のマルチソースデータのデータ処理装置。
【請求項17】
データ使用ノードに適用されるマルチソースデータのデータ処理装置であって、
前記データ使用ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成する鍵生成モジュールであって、他の参加ノードにはデータ提供ノードが含まれる鍵生成モジュールと、
前記コーディネーションノードによってトレーニングされた前記機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信する第1の受信モジュールであって、前記暗号文モデルパラメーターが、前記評価公開鍵と受信した前記データ提供ノードの暗号文データとに基づいて、前記コーディネーションノードによって決定される第1の受信モジュールと、
前記暗号文モデルパラメーターを前記秘密鍵セグメントで復号化し、第1のモデルパラメーターセグメントを取得する復号化モジュールと、
前記他の参加ノードから送信された第2のモデルパラメーターセグメントを受信する第2の受信モジュールと、
前記第1のモデルパラメーターセグメントと前記第2のモデルパラメーターセグメントとに基づいて、前記機械学習モデルを取得する取得モジュールと、
を備える、マルチソースデータのデータ処理装置。
【請求項18】
前記鍵生成モジュールが、
前記データ使用ノードの秘密鍵セグメントを生成し、前記秘密鍵セグメントに基づいて前記データ使用ノード自体の暗号化公開鍵セグメントを生成する生成ユニットと、
前記暗号化公開鍵セグメントをブロードキャストする送信ユニットと、
を備える請求項17に記載のマルチソースデータのデータ処理装置。
【請求項19】
前記生成ユニットが、
鍵生成パラメーターを取得し、前記鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれ、
前記共通パラメーターと秘密鍵生成アルゴリズムとに基づいて、前記秘密鍵セグメントを取得する請求項18に記載のマルチソースデータのデータ処理装置。
【請求項20】
コーディネーションノードに適用されるマルチソースデータのデータ処理装置であって、
データ提供ノードから送信された評価キーを受信する第1の受信モジュールと、
各前記データ提供ノードから送信された暗号文データを受信する第2の受信モジュールであって、前記暗号文データは、前記データ提供ノードが自体のサンプルデータを暗号化公開鍵で暗号化した後に生成したものである第2の受信モジュールと、
前記データ提供ノードを協調して機械学習モデルのトレーニングを行って、前記機械学習モデルのモデルパラメーターを出力する協調モジュールと、
前記モデルパラメーターを前記評価公開鍵で暗号化して、暗号文モデルパラメーターを取得する暗号化モジュールと、
前記暗号文モデルパラメーターを各前記データ提供ノード及びデータ使用ノードにそれぞれ送信して復号化する送信モジュールと、
を含む、マルチソースデータのデータ処理装置。
【請求項21】
プロセッサとメモリとを備え、
前記プロセッサが、前記メモリに記憶されている実行可能なプログラムコードを読み出すことにより、請求項1から6のいずれか一項に記載のマルチソースデータのデータ処理方法、請求項7から9のいずれか一項に記載のマルチソースデータのデータ処理方法又は請求項10に記載のマルチソースデータのデータ処理方法を実現するように、前記実行可能なプログラムコードに対応するプログラムを実現する電子機器。
【請求項22】
コンピュータープログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータープログラムがプロセッサによって実行される場合、請求項1から6のいずれか一項に記載のマルチソースデータのデータ処理方法、請求項7から9のいずれか一項に記載のマルチソースデータのデータ処理方法又は請求項10に記載のマルチソースデータのデータ処理方法を実現するコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本願は、出願番号が「202110369324.2」であり、出願日が2021年4月6日である中国特許出願に基づいて提出され、当該中国特許出願の優先権を主張し、当該中国特許出願のすべての内容はここで参照として本願に援引される。
【技術分野】
【0002】
本願は、機械学習の分野に関し、特にマルチソースデータのデータ処理方法、装置、電子機器、及び記憶媒体に関する。
【背景技術】
【0003】
一般的に、人工知能が必要とするデータは多くの分野に関連しており、これらのデータは、異なるプラットフォームが所有することが多く、効率的な機械学習モデルを構築するためには、一般的には、複数のプラットフォームから関連する複数のデータを取得する必要がある。マルチソースデータの機械学習シーンでは、データの安全性とプライバシーが核心的な問題である。
【発明の概要】
【0004】
本願は、関連技術における技術的課題の一つを少なくともある程度解決することを目的としている。そのため、本願の一つの目的は、データの孤島を破った上で、マルチソースデータのデータ処理を実現し、より高性能な機械学習モデルを取得することである。
【0005】
本願の第1の目的は、マルチソースデータのデータ処理方法を提供することである。
【0006】
本願の第2の目的は、別のマルチソースデータのデータ処理方法を提供することである。
【0007】
本願の第3の目的は、別のマルチソースデータのデータ処理方法を提供することである。
【0008】
本願の第4の目的は、マルチソースデータのデータ処理装置を提供することである。
【0009】
本願の第5の目的は、別のマルチソースデータのデータ処理装置を提供することである。
【0010】
本願の第6の目的は、別のマルチソースデータのデータ処理装置を提供することである。
【0011】
本願の第7の目的は、電子機器を提供することである。
【0012】
本願の第8の目的は、コンピュータ読み取り可能な記憶媒体を提供することである。
【0013】
上記目的を達成するために、本願の第1の態様の実施例は、データ提供ノードに適用されるマルチソースデータのデータ処理方法を提供し、前記方法は、前記データ提供ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成するステップであって、他の参加ノードには、他のデータ提供ノードとデータ使用ノードとが含まれるステップと、ローカルサンプルデータを暗号化公開鍵で暗号化して、暗号文データを生成し、機械学習モデルのコーディネーションノードに送信して機械学習モデルのトレーニングを行うステップと、コーディネーションノードによってトレーニングされた機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信するステップであって、暗号文モデルパラメーターは、評価公開鍵と受信した暗号文データとに基づいて、コーディネーションノードによって決定されるステップと、暗号文モデルパラメーターをデータ提供ノード自体の秘密鍵セグメントで復号化し、復号化したモデルパラメーターセグメントをデータ使用ノードに送信するステップと、を含む。
【0014】
上記目的を達成するために、本願の第2の態様の実施例は、データ使用ノードに適用されるマルチソースデータのデータ処理方法を提供し、前記方法は、データ使用ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成するステップであって、他の参加ノードにはデータ提供ノードが含まれるステップと、コーディネーションノードによってトレーニングされた機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信するステップであって、暗号文モデルパラメーターは、評価公開鍵と受信したデータ提供ノードの暗号文データとに基づいて、コーディネーションノードによって決定されるステップと、暗号文モデルパラメーターをデータ使用ノード自体の秘密鍵セグメントで復号化し、第1のモデルパラメーターセグメントを取得するステップと、他の参加ノードから送信された第2のモデルパラメーターセグメントを受信するステップと、第1のモデルパラメーターセグメントと第2のモデルパラメーターセグメントとに基づいて、機械学習モデルを取得するステップとを含む。
【0015】
上記目的を達成するために、本願の第3の態様の実施例は、コーディネーションノードに適用されるマルチソースデータのデータ処理方法を提供し、この方法は、各データ提供ノードから送信された評価キーを受信するステップと、各データ提供ノードから送信された暗号文データを受信するステップであって、暗号文データは、データ提供ノードが自体のサンプルデータを暗号化公開鍵で暗号化した後に生成したものであるステップと、データ提供ノードを協調して機械学習モデルのトレーニングを行って、機械学習モデルのモデルパラメーターを出力するステップと、モデルパラメーターを評価公開鍵で暗号化して、暗号文モデルパラメーターを取得するステップと、暗号文モデルパラメーターを各データ提供ノード及びデータ使用ノードにそれぞれ送信して復号化するステップと、を含む。
【0016】
上記目的を達成するために、本願の第4の態様の実施例は、データ提供ノードに適用されるマルチソースデータのデータ処理装置を提供し、この装置は、データ提供ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成する鍵生成モジュールであって、他の参加ノードには、他のデータ提供ノードとデータ使用ノードとが含まれる鍵生成モジュールと、ローカルサンプルデータを暗号化公開鍵で暗号化して、暗号文データを生成し、コーディネーションノードに送信して機械学習モデルのトレーニングを行う暗号化モジュールと、コーディネーションノードによってトレーニングされた機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信する受信モジュールであって、暗号文モデルパラメーターは、評価公開鍵と受信した暗号文データとに基づいて、コーディネーションノードによって決定される受信モジュールと、暗号文モデルパラメーターをデータ提供ノード自体の秘密鍵セグメントで復号化し、復号化したモデルパラメーターセグメントをデータ使用ノードに送信する復号化モジュールとを備える。
【0017】
上記目的を達成するために、本願の第5の態様の実施例は、データ使用ノードに適用されるマルチソースデータのデータ処理装置を提供し、この装置は、データ使用ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成する鍵生成モジュールであって、他の参加ノードにはデータ提供ノードが含まれる鍵生成モジュールと、コーディネーションノードによってトレーニングされた機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信する第1の受信モジュールであって、暗号文モデルパラメーターは、評価公開鍵と受信したデータ提供ノードの暗号文データとに基づいて、コーディネーションノードによって決定される第1の受信モジュールと、暗号文モデルパラメーターをデータ使用ノード自体の秘密鍵セグメントで復号化し、第1のモデルパラメーターセグメントを取得する復号化モジュールと、他の参加ノードから送信された第2のモデルパラメーターセグメントを受信する第2の受信モジュールと、第1のモデルパラメーターセグメントと第2のモデルパラメーターセグメントとに基づいて、機械学習モデルを取得する取得モジュールとを備える。
【0018】
上記目的を達成するために、本願の第6の態様の実施例は、コーディネーションノードに適用されるマルチソースデータのデータ処理装置を提供し、この装置は、各データ提供ノードから送信された評価キーを受信する第1の受信モジュールと、各データ提供ノードから送信された暗号文データを受信する第2の受信モジュールであって、暗号文データは、データ提供ノードが自体のサンプルデータを暗号化公開鍵で暗号化した後に生成したものである第2の受信モジュールと、データ提供ノードを協調して機械学習モデルのトレーニングを行って、機械学習モデルのモデルパラメーターを出力する協調モジュールと、モデルパラメーターを評価公開鍵で暗号化して、暗号文モデルパラメーターを取得する暗号化モジュールと、暗号文モデルパラメーターを各データ提供ノード及びデータ使用ノードにそれぞれ送信して復号化する送信モジュールとを備える。
【0019】
上記目的を達成するために、本願の第7の態様の実施例は、プロセッサとメモリとを備える電子機器を提供する。ここで、プロセッサは、メモリに記憶されている実行可能なプログラムコードを読み出すことにより、上記の各態様によって提供されるマルチソースデータのデータ処理方法を実行する。
【0020】
上記目的を達成するために、本願の第8の態様の実施例は、コンピュータープログラムが記憶されているコンピュータ読み取り可能な記憶媒体を提供し、当該プログラムがプロセッサによって実行される場合、上記の各態様によって提供されるマルチソースデータのデータ処理方法を実現する。
【0021】
本願の実施例によって提供されるマルチソースデータのデータ処理方法及び装置は、多者閾値準同型暗号化メカニズムを構築し、複数のデータ提供ノードの暗号化データを準同型暗号化する目的を実現することができ、準同型暗号化の応用シーンを拡張するだけでなく、協調段階では評価公開鍵に基づいて暗号化データをさらに暗号化することができ、連合学習(Federated Learning)モデルのトレーニングの安全性をよりよく確保する。閾値準同型暗号化技術を採用しているため、複数のデータソースから同時にデータを取得してモデルのトレーニングを行うプロセスで、各所のデータの安全性とモデルのトレーニングの安全性を確保することができる。そして、データの孤島を破った上で、複数のデータソースを同時にトレーニングして、より高性能な機械学習モデルを取得する。さらに、準同型暗号アルゴリズムに基づいてデータを伝送することで、データ提供ノードのサンプルデータの安全性を保護し、データ提供側の情報漏泄を防止するだけでなく、トレーニングモデルのモデルパラメーターの安全性を確保することができる。
【0022】
本願の追加的な態様および利点は、以下の説明の中で部分的にされ、一部は以下の説明から明らかになるか、または本願の実践を通して理解される。
【図面の簡単な説明】
【0023】
図1】本願によって提供されるマルチソースデータデータ処理方法の応用シーンの概略図である。
図2】本願の一実施例によって提供されるマルチソースデータデータ処理方法の概略フローチャートである。
図3】本願の別の実施例によって提供される鍵生成方法の概略フローチャートである。
図4】本願の別の実施例によって提供されるマルチソースデータデータ処理方法の概略フローチャートである。
図5】本願の別の実施例によって提供されるマルチソースデータデータ処理方法の概略フローチャートである。
図6】本願の一実施例によって提供されるマルチソースデータデータ処理装置の概略構成図である。
図7】本願の別の実施例によって提供される別のマルチソースデータデータ処理装置の概略構成図である。
図8】本願の別の実施例によって提供される別のマルチソースデータデータ処理装置の概略構成図である。
図9】本願の一実施例によって提供される電子機器の概略構成図である。
【発明を実施するための形態】
【0024】
本願の実施例について以下に詳細に説明する。かかる実施例の例は図面に示されている。ここで、最初から最後まで同一または同様の符号は、同一または同様の要素、あるいは同一または同様の機能を有する要素を示す。以下に添付の図面を参照して説明される実施例は例示的なものであり、本願を説明するためのものであり、本願の制限と理解されてはならない。
【0025】
例示的には、図1は本願によって提供されるマルチソースデータのデータ処理方法の応用シーンの概略図である。図1に示すように、この応用シーンは、少なくとも1つのデータ提供ノード(図1は、2つのデータ提供ノード、及びデータ使用ノードを示し、それぞれにデータ提供ノード111、データ提供ノード112、データ使用ノード113である)と、ネットワーク12と、コーディネーションノード13とを含むことができる。ここで、各データ提供ノードとデータ使用ノード13とは、ネットワーク12を介して通信することができる。データ使用ノード113は、各データ提供ノードとネットワーク12を介して通信し、データ使用ノード113とコーディネーションノード13は、ネットワーク12を介して通信することができる。各データ提供ノード間はネットワーク12を介して通信することができる。
【0026】
なお、図1は、本願の実施例によって提供される応用シーンの概略図であり、本願の実施例は、図1に含まれるデバイスを限定したり、図1のデバイス間の位置関係を限定したりするものではない。例えば、図1に示す応用シーンにおいて、データ記憶機器をさらに備えることができ、当該データ記憶機器はデータ提供ノード、データ使用ノード、およびコーディネーションノードに対して、外部メモリであっても、内部メモリに統合されていてもよい。
【0027】
以下、本願の技術案について具体的な実施例により詳細に説明する。なお、以下のいくつかの具体的な実施例は互いに結合することができ、同じまたは類似の概念またはプロセスについては、いくつかの実施例では説明を省略することがある。
【0028】
図2は、本願の一実施例によって提供されるマルチソースデータのデータ処理方法の概略フローチャートである。図2に示すように、実行主体は、データ提供ノードであり、データ提供ノードは、電子商取引サーバ、ソーシャルサーバ、通信系サーバなど、ユーザの複数のデータを持つ電子機器であってもよい。
【0029】
図2に示すように、マルチソースデータのデータ処理方法は、以下のステップS201~ステップS204を含む。
【0030】
S201、データ提供ノード自体の秘密鍵セグメント、暗号化公開鍵、及び評価公開鍵を生成する。
【0031】
ここで、他の参加ノードには、他のデータ提供ノードとデータ使用ノードとが含まれる。
【0032】
機械学習の発展に伴い、ますます多くの機械学習技術が各業界に応用されている。一般的には、データの量と品質によって機械学習モデルの効果の上限が決まる。しかし、監督管理がますます厳しくなり、データセキュリティとプライバシー保護がますます重視されるようになるにつれて、データの孤島が形成されている。このような状況で、連合学習が誕生した。連合学習により、参加ノードはデータを共有せずに共同でトレーニングを行い、データの孤島の課題を解決することができる。しかし、部門間または組織間で連合学習を構築する協力シーンでは、各当事者は共有するサンプルとそれぞれ異なる特徴セットからモデルを構築できることを望んでおり、ユーザーのプライバシーを漏らさないことを望んでいる。
【0033】
本願の実施例では、データ提供ノードが他の参加ノードとインタラクティブ連携することにより、自体の秘密鍵セグメント、暗号化公開鍵、及び評価公開鍵を生成する。いくつかの実施例では、データ提供ノードは、自体の鍵生成パラメーターを取得することができ、ここで、鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれる。さらに、データ提供ノードは、自体の鍵生成パラメーターに基づいて、自体の秘密鍵セグメント、暗号化公開鍵セグメント、及び評価公開鍵の一部を生成し、他の参加ノードとインタラクションし、自体の暗号化公開鍵セグメントと評価公開鍵の一部を他の参加ノードに共有する。それに応じて、他の参加ノードも自体の暗号化公開鍵セグメントと評価公開鍵の一部を共有する。データ提供ノードは、他の参加ノードの暗号化公開鍵セグメントを取得すると、暗号化公開鍵を取得することができ、同様に、取得した評価公開鍵の一部に基づいて評価公開鍵を取得することもできる。ここで、他の参加ノードには、他のデータ提供ノードとデータ使用ノードが含まれる。他のデータ提供ノードは、実行主体であるデータ提供ノードと同種のサーバであってもよいし、他のタイプのサーバであってもよいし、両者が異なる次元のサンプルデータを提供する。
【0034】
S202、ローカルサンプルデータを暗号化公開鍵で暗号化して、暗号文データを生成し、コーディネーションノードに送信して機械学習モデルのトレーニングを行う。
【0035】
複数のデータ提供ノードが同時にデータを提供する必要がある場合、データ提供ノードのデータが漏洩したり盗まれたりしないようにするために、本願の実施例では、データ提供ノードは、暗号化公開鍵を用いて自体のローカルデータを暗号化して、暗号文データを生成する必要がある。暗号文データが生成された後、データ提供ノードは暗号文データをコーディネーションノードに送信する。サンプルデータを暗号化公開鍵で暗号化する目的で、データ提供ノードは自分のサンプルデータを知ることができる。他のデータ提供ノード、機械学習モデルのコーディネーションノードは、マルチソースデータの機械学習のプロセス全体でサンプルデータの実際の内容を得ることができず、各データ提供ノードのサンプルデータに高い安全性を持たせ、データの漏洩を避ける。
【0036】
これに応じて、コーディネーションノードは複数のデータ提供ノードから送信されてきたそれぞれの暗号文データを受信することができ、さらに、機械学習モデルを取得するために、コーディネーションノードは各暗号文データを取得した後、これらの暗号文データに基づいて機械学習モデルのトレーニングを行うことができる。
【0037】
続いて、図1のシナリオを例にとると、データ提供ノード111はローカルサンプルデータu1を暗号化公開鍵で暗号化して暗号文データct1を生成し、データ提供ノード112はローカルサンプルデータu2を暗号化公開鍵で暗号化して暗号文データct2を生成する。コーディネーションノード13は、各データ提供ノードから送信されたそれぞれの暗号文データを受信することができる。
【0038】
S203、コーディネーションノードによってトレーニングされた機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信し、暗号文モデルパラメーターは、評価公開鍵と受信した暗号文データとに基づいて、コーディネーションノードによって決定される。
【0039】
コーディネーションノードは、各データ提供ノードから送信された暗号文データを受信した後、準同型暗号化アルゴリズムを用いて各暗号文データを処理し、処理された暗号文データに基づいて機械学習モデルのトレーニングとテストを行って、暗号文モデルを取得する。さらに、コーディネーションノードは、暗号文モデルのモデルパラメーターを評価公開鍵に基づいて暗号化計算して、暗号文モデルパラメーターを生成し、暗号文モデルパラメーターを各データ提供ノードとデータ使用ノードにそれぞれ送信する。
【0040】
それに応じて、データ提供ノードは、コーディネーションノードから送信された暗号文モデルパラメーターを受信することができる。
【0041】
S204、暗号文モデルパラメーターを秘密鍵セグメントで復号化し、復号化したモデルパラメーターセグメントをデータ使用ノードに送信する。
【0042】
各データ提供ノード自体のデータの安全性を確保するために、本願の実施例では、各データ提供ノードは直接完全な秘密鍵を取得することができず、各データ提供ノードは秘密鍵の一部、すなわち秘密鍵セグメントを有する。暗号文モデルパラメーターを受信した後、データ提供ノードは、暗号文モデルパラメーターを自体の秘密鍵セグメントで復号化する。秘密鍵セグメントを使用して復号化するため、完全なモデルパラメーターを復号化することができず、本願の実施例では、暗号文モデルパラメーターを復号化した後、モデルパラメーターセグメントを取得する。
【0043】
マルチソースデータの機械学習のシーンでは、一般的には、機械学習モデルのモデルパラメーターはデータ使用ノードのみに取得されるが、本願の実施例では、データ提供ノードは許可された場合、復号化されたモデルパラメーターセグメントをデータ使用ノードに送信することができ、データ使用ノードは十分な数のモデルパラメーターセグメントを取得した後、秘密の共有原則に基づいてモデルパラメーターを復元し、ひいては、トレーニングされた機械学習モデルを取得することができる。
【0044】
本願の実施例によって提供されるマルチソースデータのデータ処理方法は、多者閾値準同型暗号化メカニズムを構築し、複数のデータ提供ノードの暗号化データを準同型暗号化する目的を実現することができ、準同型暗号化の応用シーンを拡張するだけでなく、協調段階では評価公開鍵に基づいて暗号化データをさらに暗号化することができ、連合学習モデルのトレーニングの安全性をよりよく確保する。閾値準同型暗号化技術を採用しているため、複数のデータソースから同時にデータを取得してモデルのトレーニングを行うことで、各所のデータの安全性とモデルのトレーニングの安全性を確保することができる。そして、データの孤島を破った上で、複数のデータソースを同時にトレーニングして、より高性能な機械学習モデルを取得する。さらに、準同型暗号アルゴリズムに基づいてデータを伝送することで、データ提供ノードのサンプルデータの安全性を保護し、データ提供側の情報漏泄を防止するだけでなく、トレーニングモデルのモデルパラメーターの安全性を確保することができる。
【0045】
上記の実施例に加えて、データの暗号化・復号化を可能にするためには、ローカルデータを暗号化公開鍵で暗号化して暗号文データを生成する前に、データ提供ノードとデータ使用ノードとの間でインタラクティブ連携して公開鍵と秘密鍵を含む鍵を生成する必要がある。本願の実施例では、暗号化に用いる公開鍵は、暗号化公開鍵と評価公開鍵とを含む。本願の実施例では、誤り学習問題(Learning With Errors、LWE)に基づく階層的準同型暗号化(BGV)アルゴリズムを採用する。なお、記号E.PubKeygen(s;A)は、固定の係数aを用いて実行される暗号化公開鍵生成アルゴリズムを示す。記号E.PubKeygen(s;A;e)は、固定の係数Aとノイズeを用いて実行される暗号化公開鍵生成アルゴリズムを示す。
【0046】
以下、鍵の生成プロセスについて説明する。
【0047】
図3は、本願の別の実施例によって提供される鍵生成方法の概略フローチャートである。図3に示すように、実行主体はデータ提供ノードであり、鍵の生成プロセスは、以下のステップS301~ステップS306を含む。
【0048】
S301、データ提供ノードの秘密鍵セグメントを生成する。各データ提供ノードは、鍵を生成するための鍵生成パラメーターを有し、この鍵生成パラメーターに基づいて鍵を生成する。ここで、鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれる。共通パラメーターは、
【数1】
であり、paramsは、LWEに基づく階層化BGVアルゴリズムのパラメーターであり、dは暗号文のモデルqを示し、κ,m,n,φ,χは上記アルゴリズムのパラメーターであり、ここで、κはセキュリティパラメーターであり、mとnはそれぞれ次元であり、φとχはそれぞれ鍵確率分布とノイズ確率分布を示す。Bφ,Bχ∈Zは確率分布φとχの境界である。サンプリングx←φ(又はx←χ)を行うたびに、|x|≦Bφ(又は|x|≦Bχ)を検査し、条件を満たさない場合、再サンプリングする。Bevalは評価キー計算のノイズ境界であり、Bencは暗号化計算のノイズ境界であり、Bdecは復号化計算のノイズ境界である。
【0049】
いくつかの実施例では、共通乱数は、
【数2】

【数3】
を含む。
ここで、d∈{0,...,D}であり、i∈[n]であり、[n]は、1からnまでのすべての整数のセットを表し、
【数4】
であり、Nはデータ提供ノードの数であり、Dは、LWEに基づく階層化BGVアルゴリズムであり、回路の最大乗算レベルをサポートする。
【0050】
さらに、データ提供ノードは、鍵生成パラメーターを取得した後、この鍵生成パラメーターと秘密鍵生成アルゴリズムとに基づいて、自体の秘密鍵セグメントを生成することができる。ここで、秘密鍵生成アルゴリズムはE.SymKeygen(params)であり、鍵生成パラメーターの共通パラメーターをこの秘密鍵生成アルゴリズムに入力することで、データ提供ノードに対応する秘密鍵セグメントを出力することができる。
【0051】
データ提供ノードPは、鍵生成パラメーターの共通パラメーターを使用して、自分の秘密鍵セグメント
【数5】
を生成し、まず、Pは、LWEに基づく階層化BGVアルゴリズムの秘密鍵生成アルゴリズムを呼び出し、d∈{0,...,D}ごとに、
【数6】
を生成する。
【0052】
S302、秘密鍵セグメントに基づいてデータ提供ノード自体の暗号化公開鍵セグメントを生成する。
【0053】
さらに、データ提供ノードは、秘密鍵セグメントを取得した後、この秘密鍵セグメント、共通乱数、及び暗号化公開鍵生成アルゴリズムに基づいて、データ提供ノードの暗号化公開鍵セグメントを生成する。ここで、暗号化公開鍵生成アルゴリズムは、E.PubKeygen(s)である。秘密鍵セグメントと共通乱数をこの暗号化公開鍵生成アルゴリズムに入力することで、データ提供ノードに対応する暗号化公開鍵セグメントを出力することができる。
【0054】
データ提供ノードPは、秘密鍵セグメントと鍵生成パラメーターの共通乱数を使用して、自分の暗号化公開鍵セグメント
【数7】
を生成し、まず、Pは、LWEに基づく階層化BGVアルゴリズムの暗号化公開鍵生成アルゴリズムを呼び出し、d∈{0,...,D}ごとに、
【数8】
を生成し、ここで、
【数9】
である。
【0055】
S303、秘密鍵セグメントに基づいて、評価公開鍵に対応するターゲット中間結果を生成する。
【0056】
データ提供ノードは、秘密鍵セグメントを取得した後、この秘密鍵セグメント、共通乱数、及び評価公開鍵生成アルゴリズムに基づいて、このデータ提供ノードに対応する評価公開鍵の第1の中間結果を生成する。ここで、評価公開鍵生成アルゴリズムはE.symEnc(s)である。秘密鍵セグメントと共通乱数をこの評価公開鍵生成アルゴリズムに入力することで、データ提供ノードに対応する評価公開鍵の第1の中間結果を出力することができる。
【0057】
データ提供ノードPは、秘密鍵セグメントと鍵生成パラメーターの共通乱数を使用して、評価公開鍵の第1の中間結果
【数10】
を生成する。まず、Pは、評価公開鍵生成アルゴリズムを呼び出し、それぞれのd∈{0,...,D}について、i∈[n]であり、[n]は、1からnまでのすべての整数のセットを表し、
【数11】
であり、以下のように計算する。
【数12】
ここで、
【数13】
であり、
【数14】
は、
【数15】
が表すi番目の成分を表す。
【0058】
また、上記のd,i,τ及びl∈[N]―{k}のそれぞれについて、データ提供ノードPは、
【数16】
を計算し、ここで、
【数17】
である。
【0059】
評価公開鍵の第1の中間結果を取得した後、自体の第1の中間結果を他のデータ提供ノードに送信することができる。例えば、データ提供ノードは自体の第1の中間結果をブロードキャストすることができる。同様に、他のデータ提供ノードもそれぞれの第1の中間結果をブロードキャストする。それに応じて、データ提供ノードは、他のデータ提供ノードがブロードキャストしたそれぞれの第1の中間結果を受信することができる。他のデータ提供ノードの第1の中間結果を取得した後、自体の第1の中間結果を結合することで、評価公開鍵の第2の中間結果をさらに取得することができる。
【0060】
データ提供ノードPは、
【数18】
を取得した後、第2の中間結果
【数19】
を計算することができる。P
【数20】
に基づいて、第2の中間結果を計算することができる。すべてのデータ所有者がプロトコルに従う場合、
【数21】
となり、ここで、
【数22】
である。実装では評価公開鍵は、
【数23】
であり、計算された第2の中間結果
【数24】
は、上記の評価公開鍵に近づいたものである。
【0061】
さらに、第2の中間結果を取得した後、データ提供ノードは、秘密鍵セグメント、鍵生成パラメーターの共通乱数、及び第2の中間結果に基づいて、評価公開鍵のターゲット中間結果
【数25】
を取得することができる。
【0062】
例えば、データ提供ノードPは、第2の中間結果
【数26】
を取得した後、l∈[N],d∈[D],i,j∈[n]及び
【数27】
のそれぞれについて、
【数28】
上記の操作によって、評価公開鍵に対応するターゲット中間結果
【数29】

【数30】
により近似させ、より距離評価公開鍵に近い。
【0063】
S304、暗号化公開鍵セグメントと評価公開鍵に対応するターゲット中間結果をブロードキャストする。
【0064】
S305、他の参加ノードから送信されたそれぞれの暗号化公開鍵セグメントとターゲット中間結果とを受信する。
【0065】
S306、各暗号化公開鍵セグメントに基づいて暗号化公開鍵を生成し、各ターゲット中間結果に基づいて評価公開鍵を生成する。
【0066】
以下、ステップS304~S306の具体的な処理について詳細に説明する。
【0067】
本願の実施例では、データ提供ノードは、自体の暗号化公開鍵セグメントを取得した後、自体の暗号化公開鍵セグメントを他のデータ提供ノードに送信することができる。例えば、データ提供ノードは、自体の暗号化公開鍵セグメントをブロードキャストすることができる。同様に、他の参加ノードもそれぞれの暗号化公開鍵セグメントをブロードキャストすることができる。それに応じて、データ提供ノードは、他の参加ノードがブロードキャストしたそれぞれの暗号化公開鍵セグメントを受信することができる。他の参加ノードの暗号化公開鍵セグメントを取得した後、自体の暗号化公開鍵セグメントを結合することで、暗号化公開鍵を復元することができる。
【0068】
データ提供ノードPは、
【数31】
を取得し、ここで、
【数32】
はすべてのデータ提供ノードの暗号化公開鍵セグメントのセットを表す。Pは、このセットを取得した後、暗号化公開鍵
【数33】
を計算することができる。P
【数34】
に基づいて暗号化公開鍵を計算することができる。
【0069】
準同型暗号化において、各データ提供ノードは、プロトコルに従う場合、即ち、各データ提供ノードが信頼できるデータプロバイダである場合、暗号化公開鍵生成アルゴリズムは、
【数35】
であり、ここで、
【数36】
ここで、l∈[N],d∈[D]である。
【0070】
さらに、データ提供ノードは、評価公開鍵のターゲット中間結果を取得した後、ターゲット中間結果を他の参加ノードに送信することができる。例えば、データ提供ノードは、自体のターゲット中間結果をブロードキャストすることができる。同様に、他のデータ提供ノードもそれぞれのターゲット中間結果をブロードキャストすることができる。それに応じて、データ提供ノードは、他のデータ提供ノードがブロードキャストしたそれぞれのターゲット中間結果を受信することができる。他のデータ提供ノードのターゲット中間結果を取得した後、自体のターゲット中間結果を結合することで、評価公開鍵を復元することができる。
データ提供ノードPは、入力setup、
【数37】
及び
【数38】
を有し、評価キーφd,i,j,τを計算して出力する。Pは、次のように計算し、l∈[N],d∈[D],i∈[n],j∈[n]∪{0}及び
【数39】
のそれぞれについて、次の式を使用して評価公開鍵を計算することができる。
【数40】
【0071】
それに応じて、他の参加ノードは、他の参加ノードがブロードキャストしたそれぞれの暗号化公開鍵セグメントを受信することができ、同様の方法で完全な暗号化公開鍵を取得することができる。他の参加ノードは、評価公開鍵の計算式を使用することで、評価公開鍵を計算することができる。例えば、他の参加ノードのデータ使用ノードは、データ提供ノードが暗号化公開鍵を取得するプロセスと似ており、且つ、上記のインタラクティブ連携プロセスに基づいて、完全な暗号化公開鍵と評価公開鍵を取得することができるが、ここでは説明を省略する。
【0072】
データ提供ノードは、暗号化公開鍵を取得した後、暗号化アルゴリズムを呼び出し、ここで、暗号化アルゴリズムはE.PubEncpk(μ)であり、自体のデータをこの暗号化アルゴリズムで暗号化して、暗号文データを取得する。例えば、データ提供ノードP、暗号化アルゴリズムを呼び出し、
【数41】
を計算し、最終的に、暗号文データc=((v,w+2e),0)となり、ここで、0は、乗算レベルが0であることを表し、
【数42】
である。
【0073】
評価公開鍵を取得した後、データ提供ノードは評価公開鍵をコーディネーションノードに送信し、コーディネーションノードがモデルパラメーターをこの評価公開鍵で暗号化して、暗号文モデルパラメーターを生成することができる。
【0074】
例えば、コーディネーションノードは、Evalevk暗号化アルゴリズムを呼び出し、評価公開鍵に基づいて、各暗号文データを暗号化し、即ち、Evalevk(m,c,…,c)であり、これによって、暗号文計算結果を計算することができる。ここで、評価アルゴリズムは、Evalevk(m,c,…,c)がE.Evalevk(m,c,…,c)と同じである。
【0075】
本願の実施例で提供される鍵の生成プロセスは、N個のデータ提供ノードとデータ使用ノードとの間で2回のプロトコルが行われ、入力はsetupであり、出力は評価公開鍵
【数43】
であり、暗号化公開鍵
【数44】
であり、各データ所有者は、秘密鍵部分
【数45】
を取得する。本願の実施例では、多者閾値準同型暗号化メカニズムを構築し、複数のデータ提供ノードの暗号化データを準同型暗号化する目的を実現することができ、準同型暗号化の応用シーンを拡張することができる。さらに、協調段階では、評価公開鍵に基づいて暗号化データをさらに暗号化することができ、マルチソースデータのデータ処理の安全性をよりよく確保する。
【0076】
図4は、本願の別の実施例によって提供されるマルチソースデータのデータ処理方法の概略フローチャートである。図4に示すように、実行主体はデータ使用ノードであり、マルチソースデータのデータ処理方法は、以下のステップS401~ステップS405を含む。
【0077】
S401、データ使用ノード自体の秘密鍵セグメント、暗号化公開鍵、及び評価公開鍵を生成し、他の参加ノードにはデータ提供ノードが含まれる。
【0078】
本出願の実施例では、データ使用ノードが他の参加ノードとインタラクティブ連携することで、自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成する。ここで、他の参加ノードは、少なくとも1つのデータ提供ノードを含む。一部の実装では、データ使用ノードは、鍵生成パラメーターを取得することができ、ここで、鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれる。データ使用ノードは、鍵生成パラメーターに基づいて、自体の秘密鍵セグメントを生成することができる。ここで、データ使用ノードが自体の秘密鍵セグメントを生成するプロセスは、データ提供ノードが自体の秘密鍵セグメントを生成するプロセスと同様であり、上記の実施例における関連内容の説明を参照することができるので、ここでは説明を省略する。
【0079】
データ使用ノードは、自体の秘密鍵セグメントを取得した後、秘密鍵セグメントに基づいてデータ使用ノード自体の暗号化公開鍵セグメントを生成し、暗号化公開鍵セグメントをブロードキャストする。それに応じて、データ使用ノードは、データ提供ノードから送信された暗号化公開鍵セグメントを受信することができ、各暗号化公開鍵セグメントに基づいて暗号化公開鍵を決定することができる。ここで、データ使用ノードが暗号化公開鍵セグメントを取得するプロセスは、データ提供ノードがデータ提供ノード暗号化公開鍵を取得するプロセスと同様であり、上記の実施例における関連内容の説明を参照することができるので、ここでは説明を省略する。
【0080】
データ使用ノードは、自体の秘密鍵セグメントを取得した後、秘密鍵セグメントに基づいてデータ使用ノード自体の評価公開鍵セグメントに対応するターゲット中間結果を生成し、ターゲット中間結果をブロードキャストする。それに応じて、データ使用ノードは、データ提供ノードから送信された、データ提供端側によって送信された評価公開鍵のターゲット中間結果を取得し、さらに、各ターゲット中間結果に基づいて、評価公開鍵を取得することができる。ここで、データ使用ノードが評価公開鍵を取得するプロセスは、データ提供ノードが評価公開鍵を取得するプロセスと同様であり、上記の実施例における関連内容の説明を参照することができるので、ここでは説明を省略する。
【0081】
複数のデータ提供ノードが同時にデータを提供する必要がある場合、データ提供ノードのデータが漏洩したり盗まれたりしないようにするために、本願の実施例では、データ提供ノードは、暗号化公開鍵を用いて自体のローカルデータを暗号化して、暗号文データを生成する必要がある。暗号文データが生成された後、データ提供ノードは暗号文データをコーディネーションノードに送信する。
【0082】
これに応じて、コーディネーションノードは複数のデータ提供ノードから送信されてきたそれぞれの暗号文データを受信することができ、さらに、機械学習モデルを取得するために、コーディネーションノードは各暗号文データを取得した後、これらの暗号文データに基づいて機械学習モデルのトレーニングを行うことができる。
【0083】
S402、コーディネーションノードによってトレーニングされた機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信し、暗号文モデルパラメーターは、評価公開鍵と受信したデータ提供ノードの暗号文データとに基づいて前記コーディネーションノードによって決定される。
【0084】
コーディネーションノードは、各データ提供ノードから送信された暗号文データを受信した後、準同型暗号化アルゴリズムを用いて各暗号文データを処理し、処理された暗号文データに基づいて機械学習モデルのトレーニングとテストを行って、暗号文モデルを取得する。さらに、コーディネーションノードは、暗号文モデルのモデルパラメーターを評価公開鍵に基づいて暗号化計算して、暗号文モデルパラメーターを生成し、暗号文モデルパラメーターを各データ提供ノードとデータ使用ノードにそれぞれ送信する。
【0085】
それに応じて、データ使用ノードは、コーディネーションノードから送信された暗号文モデルパラメーターを受信することができる。
【0086】
S403、暗号文モデルパラメーターをデータ使用ノード自体の秘密鍵セグメントで復号化し、第1のモデルパラメーターセグメントを取得する。
【0087】
本願の実施例では、データ使用ノードは直接完全な秘密鍵を取得することができず、秘密鍵の一部、すなわち秘密鍵セグメントを有する。暗号文モデルパラメーターを受信した後、データ使用ノードは、暗号文モデルパラメーターを自体の秘密鍵セグメントで復号化する。秘密鍵セグメントを使用して復号化するため、完全なモデルパラメーターを復号化することができず、本願の実施例では、暗号文モデルパラメーターをデータ使用ノードで復号化した後、モデルパラメーターセグメント、即ち第1のモデルパラメーターセグメントを取得する。
【0088】
S404、他の参加ノードから送信された第2のモデルパラメーターセグメントを受信する。
【0089】
各データ提供ノード自体のデータの安全性を確保するために、本願の実施例では、各データ提供ノードは直接完全な秘密鍵を取得することができず、各データ提供ノードは秘密鍵の一部、すなわち秘密鍵セグメントを有する。暗号文モデルパラメーターを受信した後、データ提供ノードは、暗号文モデルパラメーターを自体の秘密鍵セグメントで復号化して、モデルパラメーターセグメント、即ち第2のモデルパラメーターセグメントを取得することができる。第2のモデルパラメーターセグメントを取得した後、データを完全に復号化するために、データ提供ノードは許可された場合、第2のモデルパラメーターセグメントを他の参加ノードに送信することによって、データ使用ノードも自分の第2のモデルパラメーターを取得して、データ使用ノードが平文のモデルパラメーターを復号化することができる。
【0090】
いくつかの実施例では、各データ提供ノードは自体の第2のモデルパラメーターセグメントを外部にブロードキャストし、データ使用ノードは各第2のモデルパラメーターセグメントを傍受することができる。いくつかの実施例では、データ提供ノードはそれぞれの第2のモデルパラメーターセグメントをデータ使用ノードに直接送信することができる。ここでは一例であり、本願の実施例では、第2のモデルパラメーターセグメントの送信方式については特に限定されない。
【0091】
データ提供ノードPは、自体の秘密鍵セグメント
【数46】
を有し、受信した暗号文モデルパラメーターを復号化し、Pは第2のモデルパラメーターセグメント
【数47】
を計算し、ここで、
【数48】
である。そして、Pはこの第2のモデルパラメーターセグメントwを外部にブロードキャストする
【0092】
それに応じて、データ使用ノードは、各データ提供ノードから送信された第2のモデルパラメーターセグメントを受信することができる。
【0093】
S405、第1のモデルパラメーターセグメントと第2のモデルパラメーターセグメントとに基づいて、機械学習モデルを取得する。
【0094】
秘密共有メカニズムに基づいて、秘密を復元するためには十分な数の秘密の断片を取得する必要がある。本願の実施例では、復号化された中間復号化データをデータ提供ノード間でデータ使用ノードに共有することにより、データ使用ノードが十分な数のモデルパラメーターセグメントを取得し、平文モデルパラメーターを復号化できるように確保する。本願の実施例では、データ使用ノードは、データ提供ノードから送信されたモデルパラメーターセグメントを受信することができ、c=(v,w,D)、ここで、Dは乗算レベルである。データ使用ノードは、第1のモデルパラメーターセグメントと第2のモデルパラメーターセグメントを融合し、例えば、第1のモデルパラメーターセグメントと第2のモデルパラメーターセグメントを準同型加算または乗算することで、平文モデルパラメーターを復号化し、トレーニングされた機械学習モデルを取得することができる。
【0095】
データ提供ノードPは、自体の
【数49】
を取得することができ、データ使用ノードは、第1のモデルパラメーターセグメントと第2のモデルパラメーターセグメントを以下の式で融合し、即ち、
【数50】
である。さらに、
【数51】
に基づいて、平文モデルパラメーターを復号化することができる。
【0096】
本実施例によって提供される機械学習モデルマルチソースデータのデータ処理方法は、多者閾値準同型暗号化メカニズムを構築し、複数のデータ提供ノードの暗号化データを準同型暗号化する目的を実現することができ、準同型暗号化の応用シーンを拡張するだけでなく、協調段階では評価公開鍵に基づいて暗号化データをさらに暗号化することができ、連合学習モデルのトレーニングの安全性をよりよく確保する。閾値準同型暗号化技術を採用しているため、複数のデータソースから同時にデータを取得してシミュレートトレーニングを行うことで、各所のデータの安全性とモデルのトレーニングの安全性を確保することができる。そして、データの孤島を破った上で、複数のデータソースを同時にトレーニングして、より高性能な機械学習モデルを取得する。さらに、準同型暗号アルゴリズムに基づいてデータを伝送することで、データ提供ノードのサンプルデータの安全性を保護し、データ提供側の情報漏泄を防止するだけでなく、トレーニングモデルのモデルパラメーターの安全性を確保することができる。
【0097】
上記の実施例に加えて、データの暗号化・復号化を可能にするためには、ローカルデータを暗号化公開鍵で暗号化して暗号文データを生成する前に、データ使用ノードとデータ提供ノードとの間でインタラクティブ連携して鍵を生成する必要がある。
【0098】
データ使用ノードはまず自体の秘密鍵セグメントを生成し、次にこの秘密鍵セグメントに基づいてデータ使用ノード自体の暗号化公開鍵セグメントを生成し、暗号化公開鍵セグメントをブロードキャストすることで、データ提供ノードが暗号化公開鍵セグメントを取得し、ひいては暗号化公開鍵を取得することができる。具体的には、データ使用ノードが鍵生成パラメーターを取得し、鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれ、共通パラメーターと秘密鍵生成アルゴリズムとに基づいて、秘密鍵セグメントを取得する。データ使用ノードが自体の秘密鍵セグメントを生成するプロセスは、具体的には、データ提供ノードが秘密鍵を生成するプロセスを参照することができるので、ここでは説明を省略する。
【0099】
図5は、本願の別の実施例によって提供されるマルチソースデータのデータ処理方法の概略フローチャートである。図5に示すように、実行主体はコーディネーションノードであり、マルチソースデータのデータ処理方法は以下のステップS501~ステップS505を含む。
【0100】
S501、各データ提供ノードから送信された評価キーを受信する。
【0101】
データ提供ノードが評価キーを生成するプロセスについては、上記の実施例における関連内容の説明を参照することができるので、ここでは説明を省略する。
【0102】
データ提供ノードは、評価鍵を生成した後、コーディネーションノードによって送信されるモデルパラメーターの安全性を確保するために、データ提供ノードは生成した評価キーをコーディネーションノードに送信する。
【0103】
S502、各データ提供ノードから送信された暗号文データを受信し、暗号文データは、データ提供ノードが自体のサンプルデータを暗号化公開鍵で暗号化した後に生成したものである。
【0104】
機械学習モデルのトレーニングを実現するために、データ提供ノードは、サンプルデータを暗号化公開鍵で暗号化して生成した暗号文データをコーディネーションノードに送信する必要がある。コーディネーションノードは、各データ提供ノードから送信された暗号文データを受信した後、各暗号文データに基づいて機械学習モデルのトレーニングを行うことができる。
【0105】
S503、データ提供ノードを協調して機械学習モデルのトレーニングを行って、機械学習モデルのモデルパラメーターを出力する。
【0106】
いくつかの実施例では、コーディネーションノードは、準同型暗号化アルゴリズムを使用して各暗号文データを処理して、各データ提供ノードを協調し、処理された暗号文データに基づいて、機械学習モデルのトレーニングとテストを行って、暗号文の機械学習モデルを取得する。
【0107】
S504、モデルパラメーターを評価公開鍵で暗号化して、暗号文モデルパラメーターを取得する。
【0108】
S505、暗号文モデルパラメーターを各データ提供ノード及びデータ使用ノードにそれぞれ送信して復号化する。
【0109】
コーディネーションノードは、評価公開鍵に基づいて暗号文モデルのモデルパラメーターを暗号化して計算し、暗号文モデルパラメーターを生成した後、暗号文モデルパラメーターを各データ提供ノードとデータ使用ノードにそれぞれ送信する。
【0110】
それに応じて、データ使用ノードは、コーディネーションノードから送信された暗号文モデルパラメーターを受信することができる。
【0111】
本願の実施例では、データ使用ノードは直接完全な秘密鍵を取得することができず、秘密鍵の一部、すなわち秘密鍵セグメントを有する。暗号文モデルパラメーターを受信した後、データ使用ノードは、暗号文モデルパラメーターを自体の秘密鍵セグメントで復号化し、秘密鍵セグメントを使用して復号化するため、完全なモデルパラメーターを復号化することができず、本願の実施例では、暗号文モデルパラメーターをデータ使用ノードで復号化した後、モデルパラメーターセグメント、即ち第1のモデルパラメーターセグメントを取得する。
【0112】
各データ提供ノード自体のデータの安全性を確保するために、本願の実施例では、各データ提供ノードは直接完全な秘密鍵を取得することができず、各データ提供ノードは秘密鍵の一部、すなわち秘密鍵セグメントを有する。暗号文モデルパラメーターを受信した後、データ提供ノードは、暗号文モデルパラメーターを自体の秘密鍵セグメントで復号化して、モデルパラメーターセグメント、即ち第2のモデルパラメーターセグメントを取得することができる。第2のモデルパラメーターセグメントを取得した後、データを完全に復号化するために、データ提供ノードは許可された場合、第2のモデルパラメーターセグメントを他の参加ノードに送信することによって、データ使用ノードも自分の第2のモデルパラメーターを取得して、データ使用ノードが平文のモデルパラメーターを復号化することができる。
【0113】
いくつかの実施例では、各データ提供ノードは自体の第2のモデルパラメーターセグメントを外部にブロードキャストし、データ使用ノードは各第2のモデルパラメーターセグメントを傍受することができる。いくつかの実施例では、データ提供ノードもそれぞれの第2のモデルパラメーターセグメントをデータ使用ノードに直接送信することができる。ここでは一例であり、本願の実施例では、第2のモデルパラメーターセグメントの送信方式については特に限定されない。
【0114】
それに応じて、データ使用ノードは、各データ提供ノードから送信された第2のモデルパラメーターセグメントを受信することができる。
【0115】
秘密共有メカニズムに基づいて、秘密を復元するには十分な数の秘密の断片を取得する必要がある。本願の実施例では、復号化された中間復号化データをデータ提供ノード間でデータ使用ノードに共有して、データ使用ノードが十分な数のモデルパラメーターセグメントを取得するように確保し、平文モデルパラメーターを復号化して、トレーニングされた機械学習モデルを取得することができる。
【0116】
本実施例によって提供されるマルチソースデータのデータ処理方法は、多者閾値準同型暗号化メカニズムを構築し、複数のデータ提供ノードの暗号化データを準同型暗号化する目的を実現することができ、準同型暗号化の応用シーンを拡張するだけでなく、協調段階では評価公開鍵に基づいて暗号化データをさらに暗号化することができ、連合学習モデルのトレーニングの安全性をよりよく確保する。閾値準同型暗号化技術を採用しているため、複数のデータソースから同時にデータを取得してシミュレートトレーニングを行うことで、各所のデータの安全性とモデルのトレーニングの安全性を確保することができる。そして、データの孤島を破った上で、複数のデータソースを同時にトレーニングして、より高性能な機械学習モデルを取得する。さらに、準同型暗号アルゴリズムに基づいてデータを伝送することで、データ提供ノードのサンプルデータの安全性を保護し、データ提供側の情報漏泄を防止するだけでなく、トレーニングモデルのモデルパラメーターの安全性を確保することができる。
【0117】
上記の実施例における準同型暗号化アルゴリズムにおける記号について説明し約束する。
Eを使用して、LWEに基づく階層的BGVアルゴリズムを表し、サポート回路の最大乗算レベルはDであり、平文スペースは{0,1}である。TFHEを使用して、閾値準同型暗号化を表す。N人のデータ所有者、1人のデータ使用者がいると仮定する。ベクトルは太字小文字で、スカラーは小文字で表す。sがベクトルである場合、s[i]はsのi番目の重みを表し、s[0]=1であることが約束される。Dは、有限セットSの確率分布を表し、x←Dは、xがDのサンプリングであることを表し、
【数52】
は、xがSに均一に分布するサンプリングを表す。すべての対数の底は2である。nが正の整数である場合、[n]は1からnまでのすべての整数の集合を表す。
【0118】
Eには、次の基本的な要素が含まれる。
1)params=(1κ,q,m,n,φ,χ)、paramsは、すべてのアルゴリズムの暗黙的な入力であり、κは、セキュリティパラメーターであり、qは、奇数モードであり、mとnは次元であり、φとφは、Zの確率分布である。
2)E.SymKeygen(params):秘密鍵s←φを生成する。
3)E.PubKeygen(s):
【数53】
とe←χを生成し、p:=A・s+2・eを設定し、公開鍵pk:=(A,p)に対する秘密鍵sを出力する。
4)E.SymEnc(μ):μ∈{0,1}を暗号化し、
【数54】
とe←χを選択し、b:=<a,s>+2・e+μを設定し、暗号文c=(a,b)を出力する。
5)E.PubEncpk(μ):公開鍵pk=(A、p)でμ∈{0,1}を暗号化し、r←{0,1}を選択し、a:=r・Aとb:=<r,p>+μを設定し、暗号文c=(a、b)を出力する。
6)c=(a、b)を復号化し、平文[b-<a,s>]mod2を出力する。
7)評価アルゴリズムE.Evalevk(f,c,…,c)は、評価キーevkを使用して関数fを計算し、f:{0、1}→{0、1}は、はブール回路として表され、その入力は、l個の暗号文c,…,cであり、出力は暗号文結果cである。
シンボルE.PubKeygen(s;A)は、固定の係数Aを使用して公開鍵生成アルゴリズムを実行することを示す。シンボルE.PubKeygen(s;A;e)は、固定の係数Aとノイズaを使用して公開鍵生成アルゴリズムを実行することを示す。シンボルE.SymEnc(μ;a)は、固定の係数aと秘密鍵sでμを暗号化することを示し、シンボルE.SymEnc(μ;a;e)は、固定の係数a、ノイズe、及び秘密鍵sでμを暗号化することを示す。
【0119】
図6は、本願の一実施例によって提供されるマルチソースデータのデータ処理装置の概略構成図である。図6に示すように、データ提供ノードに適用され、このマルチソースデータのデータ処理装置は、鍵生成モジュール60、暗号化モジュール61、受信モジュール62、及び復号化モジュール63を備える。
【0120】
ここで、鍵生成モジュール60は、データ提供ノード自体の秘密鍵セグメント、暗号化公開鍵、及び評価公開鍵を生成し、他の参加ノードには、他のデータ提供ノードとデータ使用ノードとが含まれる。
【0121】
暗号化モジュール61は、ローカルサンプルデータを暗号化公開鍵で暗号化して、暗号文データを生成し、コーディネーションノードに送信して機械学習モデルのトレーニングを行う。
【0122】
受信モジュール62は、コーディネーションノードによってトレーニングされた機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信し、暗号文モデルパラメーターは、評価公開鍵と受信した暗号文データとに基づいて、コーディネーションノードによって決定される。
【0123】
復号化モジュール63は、暗号文モデルパラメーターをデータ提供ノード自体の秘密鍵セグメントで復号化し、復号化したモデルパラメーターセグメントをデータ使用ノードに送信する。
【0124】
いくつかの実施例では、鍵生成モジュール60は、第1の生成ユニット601、送信ユニット602、受信ユニット603、及び第2の生成ユニット604を備える。
【0125】
第1の生成ユニット601は、データ提供ノードの秘密鍵セグメントを生成し、秘密鍵セグメントに基づいて、データ提供ノード自体の暗号化公開鍵セグメントと評価公開鍵に対応するターゲット中間結果とを生成する。
【0126】
送信ユニット602は、暗号化公開鍵セグメントとターゲット中間結果とをブロードキャストする。
【0127】
受信ユニット603は、他の参加ノードから送信されたそれぞれの暗号化公開鍵セグメントとターゲット中間結果とを受信する。
【0128】
第2の生成ユニット604は、各暗号化公開鍵セグメントと各ターゲット中間結果とに基づいて、暗号化公開鍵と評価公開鍵とを生成する。
【0129】
さらに、送信ユニット602はさらに、評価公開鍵を生成した後、評価公開鍵をコーディネーションノードに送信する。
【0130】
さらに、第1の生成ユニット601はさらに、鍵生成パラメーターを取得し、鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれ、共通パラメーターと秘密鍵生成アルゴリズムとに基づいて、秘密鍵セグメントを取得する。
【0131】
さらに、第1の生成ユニット601はさらに、秘密鍵セグメント、共通乱数、および暗号化公開鍵生成アルゴリズムに基づいて、暗号化公開鍵セグメントを生成し、秘密鍵セグメントと評価公開鍵生成アルゴリズムとに基づいて、ターゲット中間結果を生成する。
【0132】
さらに、第1の生成ユニット601はさらに、秘密鍵セグメント、共通乱数、および評価公開鍵生成アルゴリズムに基づいて評価公開鍵の第1の中間結果を生成し、第1の中間結果をブロードキャストし、他のデータ提供ノードから送信されたそれぞれの第1の中間結果を受信し、自体の第1の中間結果と他のデータ提供ノードの第1の中間結果とに基づいて、評価公開鍵の第2の中間結果を取得し、秘密鍵セグメント、共通乱数、および第2の中間結果に基づいて評価公開鍵のターゲット中間結果を取得し、ターゲット中間結果をブロードキャストする。
【0133】
本実施例によって提供されるマルチソースデータのデータ処理装置は、多者閾値準同型暗号化メカニズムを構築し、複数のデータ提供ノードの暗号化データを準同型暗号化する目的を実現することができ、準同型暗号化の応用シーンを拡張するだけでなく、協調段階では評価公開鍵に基づいて暗号化データをさらに暗号化することができ、連合学習モデルのトレーニングの安全性をよりよく確保する。閾値準同型暗号化技術を採用しているため、複数のデータソースから同時にデータを取得してシミュレートトレーニングを行うことで、各所のデータの安全性とモデルのトレーニングの安全性を確保することができる。そして、データの孤島を破った上で、複数のデータソースを同時にトレーニングして、より高性能な機械学習モデルを取得する。さらに、準同型暗号アルゴリズムに基づいてデータを伝送することで、データ提供ノードのサンプルデータの安全性を保護し、データ提供側の情報漏泄を防止するだけでなく、トレーニングモデルのモデルパラメーターの安全性を確保することができる。
【0134】
図7は、本願の一実施例によって提供されるマルチソースデータのデータ処理装置の概略構成図である。図7に示すように、データ使用ノードに適用され、このマルチソースデータのデータ処理装置は、鍵生成モジュール70、第1の受信モジュール71、復号化モジュール72、第2の受信モジュール73、及び取得モジュール74を備える。
【0135】
鍵生成モジュール70は、データ使用ノードの秘密鍵セグメント、暗号化公開鍵、及び評価公開鍵を生成し、ここで、他の参加ノードにはデータ提供ノードが含まれる。
【0136】
第1の受信モジュール71は、コーディネーションノードによってトレーニングされた機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信し、暗号文モデルパラメーターは、評価公開鍵と受信したデータ提供ノードの暗号文データとに基づいて、コーディネーションノードによって決定される。
【0137】
復号化モジュール72は、暗号文モデルパラメーターをデータ使用ノード自体の秘密鍵セグメントで復号化し、第1のモデルパラメーターセグメントを取得する。
【0138】
第2の受信モジュール73は、他の参加ノードから送信された第2のモデルパラメーターセグメントを受信する。
【0139】
取得モジュール74は、第1のモデルパラメーターセグメントと第2のモデルパラメーターセグメントとに基づいて、機械学習モデルを取得する。
【0140】
さらに、鍵生成モジュール70は、生成ユニット701と送信ユニット702とを備える。
【0141】
生成ユニット701は、データ使用ノードの秘密鍵セグメントを生成し、秘密鍵セグメントに基づいてデータ使用ノード自体の暗号化公開鍵セグメントを生成する。
【0142】
送信ユニット702は、暗号化公開鍵セグメントをブロードキャストする。
【0143】
さらに、生成ユニット701はさらに、鍵生成パラメーターを取得し、鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれ、共通パラメーターと秘密鍵生成アルゴリズムとに基づいて、秘密鍵セグメントを取得する。
【0144】
本実施例によって提供されるマルチソースデータのデータ処理装置は、多者閾値準同型暗号化メカニズムを構築し、複数のデータ提供ノードの暗号化データを準同型暗号化する目的を実現することができ、準同型暗号化の応用シーンを拡張するだけでなく、協調段階では評価公開鍵に基づいて暗号化データをさらに暗号化することができ、連合学習モデルのトレーニングの安全性をよりよく確保する。閾値準同型暗号化技術を採用しているため、複数のデータソースから同時にデータを取得してシミュレートトレーニングを行うことで、各所のデータの安全性とモデルのトレーニングの安全性を確保することができる。そして、データの孤島を破った上で、複数のデータソースを同時にトレーニングして、より高性能な機械学習モデルを取得する。さらに、準同型暗号アルゴリズムに基づいてデータを伝送することで、データ提供ノードのサンプルデータの安全性を保護し、データ提供側の情報漏泄を防止するだけでなく、トレーニングモデルのモデルパラメーターの安全性を確保することができる。
【0145】
図8は、本願の一実施例によって提供されるマルチソースデータのデータ処理装置の概略構成図である。図8に示すように、コーディネーションノードに適用され、このマルチソースデータのデータ処理装置は、第1の受信モジュール80、第2の受信モジュール81、協調モジュール82、暗号化モジュール83、及び送信モジュール84を備える。
【0146】
ここで、第1の受信モジュール80は、各データ提供ノードから送信された評価キーを受信する。
【0147】
第2の受信モジュール81は、各データ提供ノードから送信された暗号文データを受信し、暗号文データは、データ提供ノードが自体のサンプルデータを暗号化公開鍵で暗号化した後に生成したのもである。
【0148】
協調モジュール82は、データ提供ノードを協調して機械学習モデルのトレーニングを行って、機械学習モデルのモデルパラメーターを出力する。
【0149】
暗号化モジュール83は、モデルパラメーターを評価公開鍵で暗号化して、暗号文モデルパラメーターを取得する。
【0150】
送信モジュール84は、暗号文モデルパラメーターを各データ提供ノード及びデータ使用ノードにそれぞれ送信して復号化する。
【0151】
本実施例によって提供されるマルチソースデータのデータ処理装置は、多者閾値準同型暗号化メカニズムを構築し、複数のデータ提供ノードの暗号化データを準同型暗号化する目的を実現することができ、準同型暗号化の応用シーンを拡張するだけでなく、協調段階では評価公開鍵に基づいて暗号化データをさらに暗号化することができ、連合学習モデルのトレーニングの安全性をよりよく確保する。閾値準同型暗号化技術を採用しているため、複数のデータソースから同時にデータを取得してシミュレートトレーニングを行うことで、各所のデータの安全性とモデルのトレーニングの安全性を確保することができる。そして、データの孤島を破った上で、複数のデータソースを同時にトレーニングして、より高性能な機械学習モデルを取得する。さらに、準同型暗号アルゴリズムに基づいてデータを伝送することで、データ提供ノードのサンプルデータの安全性を保護し、データ提供側の情報漏泄を防止するだけでなく、トレーニングモデルのモデルパラメーターの安全性を確保することができる。
【0152】
なお、上述したマルチソースデータのデータ処理方法の実施例の説明は、この実施例のマルチソースデータのデータ処理装置にも適用可能であり、ここではこれ以上説明しない。
【0153】
上記実施例を実現するために、プロセッサ90とメモリ91とを備える電子機器をさらに提供し、ここで、前記プロセッサ90は、メモリ91に記憶されている実行可能なプログラムコードを読み出すことにより、本願の上記の実施例で提供されるマルチソースデータのデータ処理方法を実現する。
【0154】
上記実施例を実現するために、本願は、コンピュータープログラムが記憶されているコンピュータ読み取り可能な記憶媒体を提供し、当該プログラムがプロセッサによって実行される場合、本願の上記の実施例で提供されるマルチソースデータのデータ処理方法を実現する。
【0155】
上記実施例を実現するために、本願は、コンピュータープログラム製品をさらに提供し、前記コンピュータープログラム製品における命令がプロセッサによって実行される場合、本願の上記の実施例で提供されるマルチソースデータのデータ処理方法を実現する。
【0156】
本明細書において、「1つの実施例」、「幾つかの実施例」、「例」、「具体例」或いは「一部の例」などの用語とは、当該実施例或いは例で説明された具体的特徴、構成、材料或いは特点を結合して、本願の少なくとも1つの実施例或いは実施例に含まれることを意味する。本明細書において、上記の用語の例示的な表現は、必ずしも同じ実施例または例を対象とする必要はない。また、説明された具体的特徴、構成、材料或いは特点は、いずれか1つ或いは複数の実施例または例において適切に結合することが可能である。また、矛盾しない限り、当業者は、本明細書の異なる実施例または例、および、異なる実施例または例における特徴を結合したり、組み合わせたりすることができる。
【0157】
また、用語「第1」、「第2」とは比較的重要性を示している又は暗示しているわけではなく、単に説明のためのものであり、示される技術的特徴の数を暗示するわけでもない。そのため、「第1」、「第2」で限定される特徴は、少なくとも1つの当該特徴を明示又は暗示的に含むことが可能である。本出願の記載の中において、「複数」の意味とは、明確的に限定される以外に、2つ又は2つ以上を意味する。
【0158】
フローチャート又はその他の方式で説明された、いかなるプロセス又は方法に対する説明は、特定な論理的機能又はプロセスのステップを実現するためのコマンドのコードを実行可能な1つ又はそれ以上のモジュール、断片若しくはセグメントとして理解することが可能であり、さらに、本発明の好ましい実施形態の範囲はその他の実現を含み、示された、又は、記載の順番に従うことなく、係る機能に基づいてほぼ同時にまたは逆の順序に従って機能を実行することを含み、これは当業者が理解すべきことである。
【0159】
フローチャートに示された、又はその他の方式で説明された論理及び/又はステップは、例えば、論理機能を実現させるための実行可能なコマンドのシーケンスリストとして見なされることが可能であり、コマンド実行システム、装置、又はデバイス(プロセッサのシステム、又はコマンド実行システム、装置、デバイスからコマンドを取得して実行することが可能なその他のシステムを含むコンピュータによるシステム)が使用できるように提供し、又はこれらのコマンドを組み合わせて使用するコマンド実行システム、装置、又はデバイスに使用されるために、いかなるコンピュータ読取可能媒体にも具体的に実現されることが可能である。本明細書において、「コンピュータ読取可能媒体」は、コマンド実行システム、装置、デバイス、又はこれらのコマンドを組み合わせて実行するシステム、装置又はデバイスが使用できるように提供するため、プログラムを格納、記憶、通信、伝搬又は伝送する装置であってもよい。コンピュータ読み取り可能媒体のより具体的例(非網羅的なリスト)として、1つ又は複数の布配線を備える電気接続部(電子機器)、ポータブルコンピュータディスク(磁気装置)、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去書き込み可能リード・オンリー・メモリ(EPROM又はフラッシュメモリ)、光ファイバー装置、及びポータブル読み取り専用メモリ(CDROM)を少なくとも含む。また、コンピュータ読み取り可能媒体は、そのうえで前記プログラムを印字できる紙又はその他の適切な媒体であってもよく、例えば紙又はその他の媒体に対して光学的スキャンを行い、そして編集、解釈又は必要に応じてその他の適切の方式で処理して電子的方式で前記プログラムを得、その後コンピュータメモリに記憶することができるためである。
【0160】
なお、本願の各部分は、ハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせによって実現されることができる。上記実施形態において、複数のステップ又は方法は、メモリに記憶された、適当なコマンド実行システムによって実行されるソフトウェア又はファームウェアによって実施されることができる。例えば、ハードウェアによって実現するとした場合、別の実施形態と同様に、データ信号に対して論理機能を実現する論理ゲート回路を有する離散論理回路、適切な混合論理ゲート回路を有する特定用途向け集積回路、プログラマブルゲートアレイ(GPA)、フィールドプログラマブルゲートアレイ(FPGA)などといった本技術分野において公知である技術のうちのいずれか1つ又はそれらの組み合わせによって実現される。
【0161】
当業者は、上記の実施例における方法に含まれるステップの全部又は一部を実現するのは、プログラムによって対応するハードウェアを指示することによって可能であることを理解することができる。前記プログラムは、コンピュータ読取可能な媒体に記憶されてもよく、当該プログラムが実行されるとき、方法の実施形態に係るステップのうちの1つ又はそれらの組み合わせを含むことができる。
【0162】
また、本願の各実施例における各機能ユニットは、1つの処理モジュールに統合されてよく、別個の物理的な個体であってもよく、2つ又は2つ以上のユニットが1つのモジュールに統合されてもよい。上記の統合モジュールは、ハードウェアで実現されてもよく、ソフトウェア機能モジュールで実現されてもよい。上記の統合モジュールが、ソフトウェア機能モジュールで実現され、しかも独立した製品として販売又は使用される場合、コンピュータ読取可能な記憶媒体に記憶されてもよい。
【0163】
上記の記憶媒体は、読み取り専用メモリ、磁気ディスク、光ディスクなどであってもよい。以上、本発明の実施例を図示して説明したが、上記実施例は例示であり、本願の制限を理解することはできず、当業者は本願の範囲内で上記実施例を変更、修正、置換、および変形することができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2023-09-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
データ提供ノードに適用されるマルチソースデータのデータ処理方法であって、
前記データ提供ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成するステップであって、他の参加ノードには、他のデータ提供ノードとデータ使用ノードとが含まれるステップと、
ローカルサンプルデータを前記暗号化公開鍵で暗号化して、暗号文データを生成し、コーディネーションノードに送信して機械学習モデルのトレーニングを行うステップと、
前記コーディネーションノードによってトレーニングされた前記機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信するステップであって、前記暗号文モデルパラメーターが、前記評価公開鍵と受信した前記暗号文データとに基づいて、前記コーディネーションノードによって決定されるステップと、
前記暗号文モデルパラメーターを前記秘密鍵セグメントで復号化し、復号化したモデルパラメーターセグメントを前記データ使用ノードに送信するステップと、
を含む、マルチソースデータのデータ処理方法。
【請求項2】
前記データ提供ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成するステップが、
前記秘密鍵セグメントを生成し、前記秘密鍵セグメントに基づいて、前記データ提供ノード自体の暗号化公開鍵セグメントと前記評価公開鍵に対応するターゲット中間結果とを生成するステップと、
前記暗号化公開鍵セグメントと前記ターゲット中間結果とをブロードキャストするステップと、
前記他の参加ノードから送信されたそれぞれの前記暗号化公開鍵セグメントと前記ターゲット中間結果とを受信するステップと、
各前記暗号化公開鍵セグメントに基づいて前記暗号化公開鍵を生成し、各前記ターゲット中間結果に基づいて前記評価公開鍵を生成するステップと、
を含む請求項1に記載のマルチソースデータのデータ処理方法。
【請求項3】
前記評価公開鍵を生成した後、
前記評価公開鍵を前記コーディネーションノードに送信するステップを含む請求項2に記載のマルチソースデータのデータ処理方法。
【請求項4】
前記データ提供ノードの秘密鍵セグメントを生成するステップが、
鍵生成パラメーターを取得するステップであって、前記鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれるステップと、
前記共通パラメーターと秘密鍵生成アルゴリズムとに基づいて、前記秘密鍵セグメントを取得するステップと、
を含む請求項2に記載のマルチソースデータのデータ処理方法。
【請求項5】
前記秘密鍵セグメントに基づいて、前記データ提供ノード自体の暗号化公開鍵セグメントと前記評価公開鍵に対応するターゲット中間結果とを生成するステップが、
前記秘密鍵セグメント、前記共通乱数及び暗号化公開鍵生成アルゴリズムに基づいて、前記暗号化公開鍵セグメントを生成するステップと、
前記秘密鍵セグメントと評価公開鍵生成アルゴリズムとに基づいて、前記ターゲット中間結果を生成するステップと、
を含む請求項4に記載のマルチソースデータのデータ処理方法。
【請求項6】
前記秘密鍵セグメントと評価公開鍵生成アルゴリズムとに基づいて、前記ターゲット中間結果を生成するステップが、
前記秘密鍵セグメント、前記共通乱数及び評価公開鍵生成アルゴリズムに基づいて前記評価公開鍵の第1の中間結果を生成し、前記第1の中間結果をブロードキャストするステップと、
他のデータ提供ノードから送信されたそれぞれの前記第1の中間結果を受信するステップと、
自体の前記第1の中間結果と前記他のデータ提供ノードの前記第1の中間結果とに基づいて、前記評価公開鍵の第2の中間結果を取得するステップと、
前記秘密鍵セグメント、前記共通乱数及び前記第2の中間結果に基づいて前記評価公開鍵のターゲット中間結果を取得し、前記ターゲット中間結果をブロードキャストするステップと、
を含む請求項5に記載のマルチソースデータのデータ処理方法。
【請求項7】
データ使用ノードに適用されるマルチソースデータのデータ処理方法であって、
前記データ使用ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成するステップであって、他の参加ノードにはデータ提供ノードが含まれるステップと、
前記コーディネーションノードによってトレーニングされた前記機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信するステップであって、前記暗号文モデルパラメーターが、前記評価公開鍵と受信した前記データ提供ノードの暗号文データとに基づいて、前記コーディネーションノードによって決定されるステップと、
前記暗号文モデルパラメーターを前記秘密鍵セグメントで復号化し、第1のモデルパラメーターセグメントを取得するステップと、
前記他の参加ノードから送信された第2のモデルパラメーターセグメントを受信するステップと、
前記第1のモデルパラメーターセグメントと前記第2のモデルパラメーターセグメントとに基づいて、前記機械学習モデルを取得するステップと、
を含む、マルチソースデータのデータ処理方法。
【請求項8】
前記データ使用ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成するステップが、
前記データ使用ノードの秘密鍵セグメントを生成し、前記秘密鍵セグメントに基づいて前記データ使用ノード自体の暗号化公開鍵セグメントを生成するステップと、
前記暗号化公開鍵セグメントをブロードキャストするステップと、
を含む請求項7に記載のマルチソースデータのデータ処理方法。
【請求項9】
前記データ使用ノードの秘密鍵セグメントを生成するステップが、
鍵生成パラメーターを取得するステップであって、前記鍵生成パラメーターには、共通パラメーターと共通乱数とが含まれるステップと、
前記共通パラメーターと秘密鍵生成アルゴリズムとに基づいて、前記秘密鍵セグメントを取得するステップと、
を含む請求項8に記載のマルチソースデータのデータ処理方法。
【請求項10】
コーディネーションノードに適用されるマルチソースデータのデータ処理方法であって、
各データ提供ノードから送信された評価キーを受信するステップと、
各前記データ提供ノードから送信された暗号文データを受信するステップであって、前記暗号文データは、前記データ提供ノードが自体のサンプルデータを暗号化公開鍵で暗号化した後に生成されたものであるステップと、
前記データ提供ノードを協調して機械学習モデルのトレーニングを行って、前記機械学習モデルのモデルパラメーターを出力するステップと、
前記モデルパラメーターを前記評価公開鍵で暗号化して、暗号文モデルパラメーターを取得するステップと、
前記暗号文モデルパラメーターを各前記データ提供ノード及びデータ使用ノードにそれぞれ送信して復号化するステップと、
を含む、マルチソースデータのデータ処理方法。
【請求項11】
データ提供ノードに適用されるマルチソースデータのデータ処理装置であって、
前記データ提供ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成する鍵生成モジュールであって、他の参加ノードには、他のデータ提供ノードとデータ使用ノードとが含まれる鍵生成モジュールと、
ローカルサンプルデータを前記暗号化公開鍵で暗号化して、暗号文データを生成し、コーディネーションノードに送信して機械学習モデルのトレーニングを行う暗号化モジュールと、
前記コーディネーションノードによってトレーニングされた前記機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信する受信モジュールであって、前記暗号文モデルパラメーターが、前記評価公開鍵と受信した前記暗号文データとに基づいて、前記コーディネーションノードによって決定される受信モジュールと、
前記暗号文モデルパラメーターを前記秘密鍵セグメントで復号化し、復号化したモデルパラメーターセグメントを前記データ使用ノードに送信する復号化モジュールと、
を備える、マルチソースデータのデータ処理装置。
【請求項12】
データ使用ノードに適用されるマルチソースデータのデータ処理装置であって、
前記データ使用ノード自体の秘密鍵セグメント、暗号化公開鍵及び評価公開鍵を生成する鍵生成モジュールであって、他の参加ノードにはデータ提供ノードが含まれる鍵生成モジュールと、
前記コーディネーションノードによってトレーニングされた前記機械学習モデルのモデルパラメーターに対応する暗号文モデルパラメーターを受信する第1の受信モジュールであって、前記暗号文モデルパラメーターが、前記評価公開鍵と受信した前記データ提供ノードの暗号文データとに基づいて、前記コーディネーションノードによって決定される第1の受信モジュールと、
前記暗号文モデルパラメーターを前記秘密鍵セグメントで復号化し、第1のモデルパラメーターセグメントを取得する復号化モジュールと、
前記他の参加ノードから送信された第2のモデルパラメーターセグメントを受信する第2の受信モジュールと、
前記第1のモデルパラメーターセグメントと前記第2のモデルパラメーターセグメントとに基づいて、前記機械学習モデルを取得する取得モジュールと、
を備える、マルチソースデータのデータ処理装置。
【請求項13】
コーディネーションノードに適用されるマルチソースデータのデータ処理装置であって、
データ提供ノードから送信された評価キーを受信する第1の受信モジュールと、
各前記データ提供ノードから送信された暗号文データを受信する第2の受信モジュールであって、前記暗号文データは、前記データ提供ノードが自体のサンプルデータを暗号化公開鍵で暗号化した後に生成したものである第2の受信モジュールと、
前記データ提供ノードを協調して機械学習モデルのトレーニングを行って、前記機械学習モデルのモデルパラメーターを出力する協調モジュールと、
前記モデルパラメーターを前記評価公開鍵で暗号化して、暗号文モデルパラメーターを取得する暗号化モジュールと、
前記暗号文モデルパラメーターを各前記データ提供ノード及びデータ使用ノードにそれぞれ送信して復号化する送信モジュールと、
を含む、マルチソースデータのデータ処理装置。
【請求項14】
プロセッサとメモリとを備え、
前記プロセッサが、前記メモリに記憶されている実行可能なプログラムコードを読み出すことにより、請求項1から6のいずれか一項に記載のマルチソースデータのデータ処理方法、請求項7から9のいずれか一項に記載のマルチソースデータのデータ処理方法又は請求項10に記載のマルチソースデータのデータ処理方法を実現するように、前記実行可能なプログラムコードに対応するプログラムを実現する電子機器。
【請求項15】
コンピュータープログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータープログラムがプロセッサによって実行される場合、請求項1から6のいずれか一項に記載のマルチソースデータのデータ処理方法、請求項7から9のいずれか一項に記載のマルチソースデータのデータ処理方法又は請求項10に記載のマルチソースデータのデータ処理方法を実現するコンピュータ読み取り可能な記憶媒体。
【国際調査報告】