KR20230148200A - 멀티소스 데이터의 데이터 처리 방법, 장치 및 전자 기기, 저장 매체 - Google Patents
멀티소스 데이터의 데이터 처리 방법, 장치 및 전자 기기, 저장 매체 Download PDFInfo
- Publication number
- KR20230148200A KR20230148200A KR1020237031868A KR20237031868A KR20230148200A KR 20230148200 A KR20230148200 A KR 20230148200A KR 1020237031868 A KR1020237031868 A KR 1020237031868A KR 20237031868 A KR20237031868 A KR 20237031868A KR 20230148200 A KR20230148200 A KR 20230148200A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- public key
- fragment
- node
- ciphertext
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 48
- 239000012634 fragment Substances 0.000 claims abstract description 225
- 238000010801 machine learning Methods 0.000 claims abstract description 71
- 238000012549 training Methods 0.000 claims abstract description 57
- 238000004422 calculation algorithm Methods 0.000 claims description 60
- 238000012545 processing Methods 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 abstract description 37
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0433—Key management protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/601—Broadcast encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
본 출원은 멀티소스 데이터의 데이터 처리 방법 및 장치를 제공한다. 당해 방법은 상기 데이터 제공 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하는 단계 - 기타 참여 노드는 기타 데이터 제공 노드와 데이터 사용 노드를 포함함 -; 암호화 공개키를 사용하여 로컬 샘플 데이터를 암호화하여, 암호문 데이터를 생성하고, 조정 노드에 송신하여 기계 학습 모델의 트레이닝을 수행하는 단계; 조정 노드에서 트레이닝된 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하는 단계 - 암호문 모델 파라미터는 조정 노드가 산출 공개키와 수신한 암호문 데이터에 따라 결정됨 -; 상기 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화하고, 복호화 후의 모델 파라미터 프래그먼트를 데이터 사용 노드에 송신하는 단계;를 포함한다.
Description
본 출원은 출원 번호가 202110369324.2이고, 출원일이 2021년 04월 06일인 중국 특허 출원의 우선권을 주장한다. 당해 중국 특허 출원의 전부 내용을 참고로 본 출원에 도입한다.
본 출원은 기계 학습 분야에 관한 것이고, 특히 멀티소스 데이터의 데이터 처리 방법, 장치 및 전자 기기, 저장 매체에 관한 것이다.
일반적으로, 인공 지능을 필요로 하는 데이터는 여러 분야와 관련되고, 이러한 데이터는 종종 보통 부동한 플랫폼이 소유하고 있고, 효율적인 기계 학습 모델을 구축하기 위해서는 일반적으로 복수의 플랫폼에서 관련된 다양한 데이터를 획득해야 한다. 멀티소스 데이터의 기계 학습 장면에서, 데이터의 안전과 프라이버시는 핵심 문제이다.
본 출원은 적어도 일정한 정도에서 관련 기술에서의 기술 문제 중의 하나를 해결한다. 이를 위해, 본 출원의 하나의 목적은 데이터 고립 섬(isolated data island)을 타파하는 것에 기반하여, 멀티소스 데이터의 데이터 처리를 구현하여, 성능이 더 좋은 기계 학습 모델을 획득한다.
본 출원의 첫 번째 목적은 멀티소스 데이터의 데이터 처리 방법을 제공한다.
본 출원의 두 번째 목적은 다른 멀티소스 데이터의 데이터 처리 방법을 제공한다.
본 출원의 세 번째 목적은 다른 멀티소스 데이터의 데이터 처리 방법을 제공한다.
본 출원의 네 번째 목적은 멀티소스 데이터의 데이터 처리 장치를 제공한다.
본 출원의 다섯 번째 목적은 다른 멀티소스 데이터의 데이터 처리 장치를 제공한다.
본 출원의 여섯 번째 목적은 다른 멀티소스 데이터의 데이터 처리 장치를 제공한다.
본 출원의 일곱 번째 목적은 전자 기기를 제공한다.
본 출원의 여덟 번째 목적은 컴퓨터 판독 가능 저장 매체를 제공한다.
상술한 목적을 달성하기 위해, 본 출원의 제1 측면의 실시예는 데이터 제공 노드에 적용되는 멀티소스 데이터의 데이터 처리 방법을 제공하고, 상기 방법은, 상기 데이터 제공 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하는 단계 - 상기 기타 참여 노드는 기타 데이터 제공 노드와 데이터 사용 노드를 포함함 -; 암호화 공개키를 사용하여 로컬 샘플 데이터를 암호화하여, 암호문 데이터를 생성하고, 기계 학습 모델의 조정 노드에 송신하여 기계 학습 모델의 트레이닝을 수행하는 단계; 조정 노드에서 트레이닝된 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하는 단계 - 암호문 모델 파라미터는 조정 노드가 산출 공개키와 수신한 암호문 데이터에 따라 결정됨 -; 및 데이터 제공 노드 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화하고, 복호화 후의 모델 파라미터 프래그먼트를 데이터 사용 노드에 송신하는 단계;를 포함한다.
상술한 목적을 달성하기 위해, 본 출원의 제2 측면의 실시예는 데이터 사용 노드에 적용되는 멀티소스 데이터의 데이터 처리 방법을 제공하고, 상기 방법은, 데이터 사용 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하는 단계 - 기타 참여 노드는 데이터 제공 노드를 포함함 -; 조정 노드에서 트레이닝된 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하는 단계 - 암호문 모델 파라미터는 조정 노드가 산출 공개키와 수신한 데이터 제공 노드의 암호문 데이터에 따라 결정됨 -; 데이터 사용 노드 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화하여, 제1 모델 파라미터 프래그먼트를 획득하는 단계; 기타 참여 노드가 송신한 제2 모델 파라미터 프래그먼트를 수신하는 단계; 및 제1 모델 파라미터 프래그먼트와 제2 모델 파라미터 프래그먼트에 따라, 기계 학습 모델을 획득하는 단계;를 포함한다.
상술한 목적을 달성하기 위해, 본 출원의 제3 측면의 실시예는 조정 노드에 적용되는 멀티소스 데이터의 데이터 처리 방법을 제공하고, 당해 방법은 각 데이터 제공 노드가 송신한 산출 키를 수신하는 단계; 각 데이터 제공 노드가 송신한 암호문 데이터를 수신하는 단계 - 암호문 데이터는 데이터 제공 노드가 암호화 공개키를 사용하여 자체의 샘플 데이터를 암호화한 후에 생성됨 -; 데이터 제공 노드를 조정하여 기계 학습 모델의 트레이닝을 수행하고, 기계 학습 모델의 모델 파라미터를 출력하는 단계; 산출 공개키를 사용하여 모델 파라미터를 암호화하여, 암호문 모델 파라미터를 획득하는 단계; 및 암호문 모델 파라미터를 각 데이터 제공 노드 및 데이터 사용 노드에 각각 송신하여 복호화하는 단계;를 포함한다.
상술한 목적을 달성하기 위해, 본 출원의 제4 측면의 실시예는 데이터 제공 노드에 적용되는 멀티소스 데이터의 데이터 처리 장치를 제공하고, 당해 장치는, 데이터 제공 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하기 위한 키 생성 모듈 - 기타 참여 노드는 기타 데이터 제공 노드와 데이터 사용 노드를 포함함 -; 암호화 공개키를 사용하여 로컬 샘플 데이터를 암호화하여, 암호문 데이터를 생성하고, 조정 노드에 송신하여 기계 학습 모델의 트레이닝을 수행하기 위한 암호화 모듈; 조정 노드에서 트레이닝된 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하기 위한 수신 모듈 - 암호문 모델 파라미터는 조정 노드가 산출 공개키와 수신한 암호문 데이터에 따라 결정됨 -; 및 데이터 제공 노드 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화하고, 복호화 후의 모델 파라미터 프래그먼트를 데이터 사용 노드에 송신하기 위한 복호화 모듈;을 포함한다.
상술한 목적을 달성하기 위해, 본 출원의 제5 측면의 실시예는 데이터 사용 노드에 적용되는 멀티소스 데이터의 데이터 처리 장치를 제공하고, 당해 장치는, 데이터 사용 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하기 위한 키 생성 모듈 - 기타 참여 노드는 데이터 제공 노드를 포함함 -; 조정 노드에서 트레이닝된 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하기 위한 제1 수신 모듈 - 암호문 모델 파라미터는 조정 노드가 산출 공개키와 수신한 데이터 제공 노드의 암호문 데이터에 따라 결정됨 -; 데이터 사용 노드 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화하여, 제1 모델 파라미터 프래그먼트를 획득하기 위한 복호화 모듈; 기타 참여 노드가 송신한 제2 모델 파라미터 프래그먼트를 수신하기 위한 제2 수신 모듈; 및 제1 모델 파라미터 프래그먼트와 제2 모델 파라미터 프래그먼트에 따라, 기계 학습 모델을 획득하기 위한 획득 모듈;을 포함한다.
상술한 목적을 달성하기 위해, 본 출원의 제6 측면의 실시예는 조정 노드에 적용되는 멀티소스 데이터의 데이터 처리 장치를 제공하고, 당해 장치는, 각 데이터 제공 노드가 송신한 산출 키를 수신하기 위한 제1 수신 모듈; 각 데이터 제공 노드가 송신한 암호문 데이터를 수신하기 위한 제2 수신 모듈 - 암호문 데이터는 데이터 제공 노드가 암호화 공개키를 사용하여 자체의 샘플 데이터를 암호화한 후에 생성됨 -; 데이터 제공 노드를 조정하여 기계 학습 모델의 트레이닝을 수행하고, 기계 학습 모델의 모델 파라미터를 출력하기 위한 조정 모듈; 산출 공개키를 사용하여 모델 파라미터를 암호화하여, 암호문 모델 파라미터를 획득하기 위한 암호화 모듈; 및 암호문 모델 파라미터를 각 데이터 제공 노드 및 데이터 사용 노드에 각각 송신하여 복호화하기 위한 송신 모듈;을 포함한다.
상술한 목적을 달성하기 위해, 본 출원의 제7 측면의 실시예는 프로세서와 메모리를 포함하는 전자 기기를 제공한다. 프로세서가 메모리에 저장된 실행 가능 프로그램 코드를 판독하는 것을 통해 실행 가능 프로그램 코드에 대응하는 프로그램을 실행하여, 상술한 각 측면에서 제공하는 멀티소스 데이터의 데이터 처리 방법을 구현한다.
상술한 목적을 달성하기 위해, 본 출원의 제8 측면의 실시예는 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 저장 매체를 제공하고, 당해 프로그램이 프로세서에 의해 실행될 경우, 상술한 각 측면에서 제공하는 멀티소스 데이터의 데이터 처리 방법을 구현한다.
본 출원의 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법 및 장치는, 멀티 임계값 동형 암호화 메커니즘을 구축하여, 복수의 데이터 제공 노드의 암호화 데이터에 대해 동형 암호화를 수행하는 목적을 구현할 수 있고, 동형 암호화의 응용 장면을 확장할 뿐만 아니라, 조정 계단에서 산출 공개키에 기반하여 암호화 데이터를 더 암호화하여, 연합 학습 모델 트레이닝의 안전성을 더 잘 확보할 수 있다. 임계값 동형 암호화 기술에 기반하여, 복수의 데이터 소스로부터 데이터를 동시에 획득하여 모델 트레이닝을 수행하는 과정에서, 곳곳의 데이터의 안전, 및 모델 트레이닝의 안전을 확보할 수 있다. 또한 데이터 고립 섬을 타파하는 것에 기반하여, 복수의 데이터 소스를 동시에 트레이닝하는 것을 구현하여 성능이 더 좋은 기계 학습 모델을 획득한다. 또한 동형 암호화 알고리즘에 기반하여 데이터를 전송하여, 데이터 제공 노드의 샘플 데이터의 안전성을 보호하고, 데이터 제공자의 정보 유출을 방지할 수 있을 뿐만 아니라, 트레이닝 모델의 모델 파라미터의 안전성을 확보할 수 있다.
본 출원의 부가적인 측면과 장점은 아래의 설명에서 부분적으로 제공되고, 부분은 아래의 설명에서 뚜렷해지거나 본 출원의 실천을 통해 이해할 수 있다.
도 1은 본 출원에서 제공하는 멀티소스 데이터의 데이터 처리 방법의 응용 장면의 개략도이다.
도 2는 본 출원의 일 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법의 흐름도이다.
도 3은 본 출원의 다른 실시예에서 제공하는 키 생성 방법의 흐름도이다.
도 4는 본 출원의 다른 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법의 흐름도이다.
도 5는 본 출원의 다른 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법의 흐름도이다.
도 6은 본 출원의 일 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 장치의 구조 개략도이다.
도 7은 본 출원의 다른 실시예에서 제공하는 다른 멀티소스 데이터의 데이터 처리 장치의 구조 개략도이다.
도 8은 본 출원의 다른 실시예에서 제공하는 다른 멀티소스 데이터의 데이터 처리 장치의 구조 개략도이다.
도 9는 본 출원의 일 실시예에서 제공하는 전자 기기의 구조 개략도이다.
도 2는 본 출원의 일 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법의 흐름도이다.
도 3은 본 출원의 다른 실시예에서 제공하는 키 생성 방법의 흐름도이다.
도 4는 본 출원의 다른 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법의 흐름도이다.
도 5는 본 출원의 다른 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법의 흐름도이다.
도 6은 본 출원의 일 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 장치의 구조 개략도이다.
도 7은 본 출원의 다른 실시예에서 제공하는 다른 멀티소스 데이터의 데이터 처리 장치의 구조 개략도이다.
도 8은 본 출원의 다른 실시예에서 제공하는 다른 멀티소스 데이터의 데이터 처리 장치의 구조 개략도이다.
도 9는 본 출원의 일 실시예에서 제공하는 전자 기기의 구조 개략도이다.
아래에는 본 출원의 실시예를 상세히 설명한다. 상기 실시예의 예는 도면에 도시된다. 여기서 처음부터 끝까지 동일하거나 유사한 기호는 동일하거나 유사한 컴포넌트 또는 동일하거나 유사한 기능을 가진 컴포넌트를 나타낸다. 아래의 도면을 참조하여 설명되는 실시예는 본 출원을 해석하는데 사용되는 예이고, 본 출원에 대한 제한으로 이해해서는 안된다.
예시적으로, 도 1은 본 출원에서 제공하는 멀티소스 데이터의 데이터 처리 방법의 응용 장면의 개략도이다. 도 1에 도시된 바와 같이, 당해 응용 장면은 적어도 하나의 데이터 제공 노드(도 1은 2개의 데이터 제공 노드와 하나의 데이터 사용 노드를 도시하고, 각각 데이터 제공 노드(111), 데이터 제공 노드(112), 데이터 사용 노드(113)이다), 네트워크(12) 및 조정 노드(13)를 포함할 수 있다. 여기서, 각 데이터 제공 노드와 데이터 사용 노드(13)는 모두 네트워크(12)를 통해 통신할 수 있다. 데이터 사용 노드(113)는 각 데이터 제공 노드와 네트워크(12)를 통해 각각 통신하고, 데이터 사용 노드(113)와 조정 노드(13)는 네트워크(12)를 통해 통신할 수 있다. 각 데이터 제공 노드 사이는 모두 네트워크(12)를 통해 통신할 수 있다.
설명해야 하는 바로는, 도 1은 본 출원의 실시예에서 제공하는 응용 장면의 개략도일 뿐, 본 출원의 실시예는 도 1에 포함된 기기에 대해 한정하지 않고, 도 1의 기기 사이의 위치 관계를 한정하지도 않는다. 예를 들어, 도 1에 도시된 응용 장면에서, 데이터 저장 기기를 포함할 수도 있고, 당해 데이터 저장 기기는 데이터 제공 노드, 데이터 사용 노드 및 조정 노드에 대해 외부 메모리일 수 있고, 내부에 통합된 내부 메모리일 수도 있다.
아래는, 구체적인 실시예를 통해 본 출원의 기술 방안을 상세히 설명한다. 설명해야 하는 바로는, 아래의 몇개의 구체적인 실시예는 서로 결합할 수 있고, 동일하거나 유사한 개념 또는 과정에 대해 일부 실시예에서 더 이상 설명하지 않을 수 있다.
도 2는 본 출원의 일 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법의 흐름도이다. 도 2에 도시된 바와 같이, 실행 주체는 데이터 제공 노드이고, 데이터 제공 노드는 전자상거래류 서버, 소셜류 서버, 통신류 서버 등 사용자의 멀티 데이터를 가진 전자 기기일 수 있다.
도 2에 도시된 바와 같이, 멀티소스 데이터의 데이터 처리 방법은 하기의 단계S201 내지 단계S204를 포함한다.
S201, 데이터 제공 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성한다.
여기서, 기타 참여 노드는 기타 데이터 제공 노드와 데이터 사용 노드를 포함한다.
기계 학습의 발전에 따라 점점 더 많은 기계 학습 기술이 각종 분야에 응용되고 있다. 데이터의 수량과 품질은 종종 기계 학습 모델 효과의 상한을 결정한다. 그러나 규제가 엄격해지고, 사람들이 데이터 안전 및 프라이버시 보호에 대한 관심이 점점 중요시되면서, 데이터 고립 섬 현상이 형성된다. 이런 장면에서, 연합 학습(Federated Learning)이 생겨났는데, 이는 참여 노드가 데이터를 공유하지 않는 기초에서 연합 트레이닝하여, 데이터 고립 섬의 난제를 해결한다. 그러나 여러 부문 또는 여러 기관이 연합 트레이닝을 구축하는 협력 장면에서, 각 측은 그들이 공유하는 샘플과 각자의 다른 특징 집합을 통해 모델을 구축할 수 있기를 희망하며, 마찬가지로 사용자의 프라이버시를 누설하지 않기를 희망한다.
본 출원의 실시예에서, 데이터 제공 노드와 기타 참여 노드가 상호 협력하는 방식을 통해, 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성한다. 일부 실시예에서, 데이터 제공 노드는 자체의 키 생성 파라미터를 획득할 수 있고, 여기서, 키 생성 파라미터는 공통 파라미터와 공통 난수를 포함한다. 나아가, 데이터 제공 노드는 자체의 키 생성 파라미터에 기반하여, 자체의 개인키 프래그먼트, 및 암호화 공개키 프래그먼트 및 산출 공개키의 일부 내용을 생성하고, 기타 참여 노드와 인터랙션하며, 자체의 암호화 공개키 프래그먼트 및 산출 공개키의 일부 내용을, 기타 참여 노드에 공유한다. 상응하게 기타 참여 노드는 마찬가지로 자체의 암호화 공개키 프래그먼트 및 산출 공개키의 일부 내용을 공유한다. 데이터 제공 노드는 기타 참여 노드의 암호화 공개키 프래그먼트를 획득한 후에 암호화 공개키를 획득할 수 있고, 유사하게, 획득된 산출 공개키의 일부 내용에 기반하여, 산출 공개키를 획득할 수도 있다. 여기서, 기타 참여 노드는 기타 데이터 제공 노드, 및 데이터 사용 노드를 포함한다. 기타 데이터 제공 노드는 실행 주체로서의 데이터 제공 노드와 같은 유형의 서버일 수 있고, 기타 유형의 서버일 수도 있으며, 양자는 서로 다른 차원의 샘플 데이터를 제공한다.
S202, 암호화 공개키를 사용하여 로컬 샘플 데이터를 암호화하여, 암호문 데이터를 생성하고, 조정 노드에 송신하여 기계 학습 모델의 트레이닝을 수행한다.
복수의 데이터 제공 노드가 데이터를 동시에 제공해야 하는 경우, 데이터 제공 노드의 데이터가 유출되거나 절취되는 것을 피하기 위해, 본 출원의 실시예에서, 데이터 제공 노드는 암호화 공개키를 사용하여 자체의 로컬 데이터를 암호화하고, 그 다음에 하나의 암호문 데이터를 생성할 필요가 있다. 암호문 데이터를 생성한 후, 데이터 제공 노드는 암호문 데이터를 조정 노드에 송신한다. 암호화 공개키를 통해 샘플 데이터를 암호화함으로써, 데이터 제공 노드가 자신의 샘플 데이터를 알 수 있고, 기타 데이터 제공 노드, 기계 학습 모델의 조정 노드가, 전체 멀티소스 데이터 기계 학습의 과정에서 샘플 데이터의 실제 내용을 획득할 수 없도록 하며, 각 데이터 제공 노드의 샘플 데이터가 비교적 높은 안전성을 가지고, 데이터의 유출을 피할 수 있다.
상응하게, 조정 노드는 복수의 데이터 제공 노드가 송신한 각자의 암호문 데이터를 수신할 수 있고, 나아가, 기계 학습 모델을 획득하기 위해, 조정 노드는 각 암호문 데이터를 획득한 후, 이러한 암호문 데이터에 기반하여 기계 학습 모델의 트레이닝을 수행할 수 있다.
계속 도 1의 장면을 예로 들면, 데이터 제공 노드(111)는 암호화 공개키를 사용하여 로컬 샘플 데이터 u1을 암호화하여, 암호문 데이터 ct1을 생성하고, 데이터 제공 노드(112)는 암호화 공개키를 사용하여 로컬 샘플 데이터 u2를 암호화하여, 암호문 데이터 ct2를 생성한다. 조정 노드(13)는 각 데이터 제공 노드가 송신한 각자의 암호문 데이터를 수신할 수 있다.
S203, 조정 노드에서 트레이닝된 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하고, 암호문 모델 파라미터는 조정 노드가 산출 공개키와 수신한 암호문 데이터에 따라 결정된다.
조정 노드는 각 데이터 제공 노드가 송신한 암호문 데이터를 수신한 후, 동형 암호화 알고리즘을 사용하여 각 암호문 데이터를 처리하고, 처리 후의 암호문 데이터에 기반하여 기계 학습 모델의 트레이닝과 테스트를 수행하고, 나아가 하나의 암호문 모델을 획득한다. 나아가, 조정 노드는 산출 공개키에 기반하여 암호문 모델의 모델 파라미터를 암호화하고 계산하며, 암호문 모델 파라미터를 생성하고, 그 다음에 암호문 모델 파라미터를 각 데이터 제공 노드와 데이터 사용 노드에 각각 송신한다.
상응하게, 데이터 제공 노드는 조정 노드가 송신한 암호문 모델 파라미터를 수신할 수 있다.
S204, 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화하고, 복호화 후의 모델 파라미터 프래그먼트를 데이터 사용 노드에 송신한다.
각 데이터 제공 노드 자체 데이터의 안전성을 확보하기 위해, 본 출원의 실시예에서, 각 데이터 제공 노드는 완전한 개인키를 직접 획득할 수 없고, 각 데이터 제공 노드는 개인키의 일부 내용, 즉 하나의 개인키 프래그먼트를 가지고 있다. 암호문 모델 파라미터를 수신한 후, 데이터 제공 노드는 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화할 수 있다. 사용하는 개인키 프래그먼트를 복호화하므로, 완전한 모델 파라미터를 복호화할 수 없고, 본 출원의 실시예에서, 암호문 모델 파라미터를 복호화한 후, 하나의 모델 파라미터 프래그먼트를 획득한다.
멀티소스 데이터 기계 학습의 장면에서, 기계 학습 모델의 모델 파라미터는 종종 데이터 사용 노드에 의해서만 획득되고, 본 출원의 실시예에서, 데이터 제공 노드는 권한을 부여받은 상황에서, 복호화된 모델 파라미터 프래그먼트를 데이터 사용 노드에 송신할 수 있고, 데이터 사용 노드는 충분히 많은 모델 파라미터 프래그먼트를 획득한 후, 비밀 공유 원칙에 기반하여, 모델 파라미터를 복원하고, 나아가 트레이닝 후의 기계 학습 모델을 획득한다.
본 출원의 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법은, 멀티 임계값 동형 암호화 메커니즘을 구축하여, 복수의 데이터 제공 노드의 암호화 데이터에 대해 동형 암호화를 수행하는 목적을 구현할 수 있고, 동형 암호화의 응용 장면을 확장할 뿐만 아니라, 조정 계단에서 산출 공개키에 기반하여 암호화 데이터를 더 암호화하여, 연합 학습 모델 트레이닝의 안전성을 더 잘 확보할 수 있다. 임계값 동형 암호화 기술에 기반하여, 복수의 데이터 소스로부터 데이터를 동시에 획득하여 모델 트레이닝함으로써, 곳곳의 데이터의 안전, 및 모델 트레이닝의 안전을 확보할 수 있다. 또한 데이터 고립 섬을 타파하는 것에 기반하여, 복수의 데이터 소스를 동시에 트레이닝하는 것을 구현하여 성능이 더 좋은 기계 학습 모델을 획득한다. 또한 동형 암호화 알고리즘에 기반하여 데이터를 전송하여, 데이터 제공 노드의 샘플 데이터의 안전성을 보호하고, 데이터 제공자의 정보 유출을 방지할 수 있을 뿐만 아니라, 트레이닝 모델의 모델 파라미터의 안전성을 확보할 수 있다.
상술한 실시예에 기반하여, 데이터의 암호화 및 복호화를 구현하기 위해, 암호화 공개키를 사용하여 로컬 데이터를 암호화하여, 암호문 데이터를 생성하기 전에, 또한 데이터 제공 노드와 데이터 사용 노드 사이에서 상호 협력하여, 키를 생성해야 하고, 여기서, 키는 공개키와 개인키를 포함한다. 본 출원의 실시예에서, 암호화에 사용되는 공개키는 암호화 공개키와 산출 공개키를 포함한다. 본 출원의 실시예에서, 오류 학습 문제(Learning With Errors, LWE)에 기반한 계층 동형 암호화(BGV) 알고리즘을 사용한다. 설명해야 하는 바로는, 부호E.PubKeygen( s ; A)를 사용하여, 고정된 계수 A를사용하여 실행하는 암호화 공개키 생성 알고리즘을 나타낸다. 부호E.PubKeygen( s ; A; e )를 사용하여, 고정된 계수 A와 노이즈 e 를 사용하여 실행하는 암호화 공개키 생성 알고리즘을 나타낸다.
아래는 키의 생성 과정을 설명한다.
도 3은 본 출원의 다른 실시예에서 제공하는 키 생성 방법의 흐름도이다. 도 3에 도시된 바와 같이, 실행 주체는 데이터 제공 노드이고, 키 생성 과정은 하기의 단계S301 내지 단계S306을 포함한다.
S301, 데이터 제공 노드의 개인키 프래그먼트를 생성한다. 각 데이터 제공 노드는 키를 생성하기 위한 키 생성 파라미터를 가지고 있고, 당해 키 생성 파라미터에 기반하여 키를 생성한다. 여기서, 키 생성 파라미터는 공통 파라미터와 공통 난수를 포함한다. 공통 파라미터는 =이고, 여기서, 는 LWE에 기반한 계층 BGV알고리즘의 파라미터이고, d는 암호문의 모델를 나타내고, κ, m, n, 및 은 상술한 알고리즘의 파라미터이고, 여기서, k는 안전 파라미터이고, m, n, 은 각각 차원이고, 및 는 키 확률 분포 및 노이즈 확률 분포를 각각 나타낸다. 는 확률 분포 및 의 경계이다. (또는 )를 샘플링할 때마다, (또는 )를 검사하고, 조건을 만족시키지 않을 경우, 다시 샘플링한다. 는 산출 키 계산의 노이즈 경계이고, 는 암호화 계산의 노이즈 경계이고, 는 복호화 계산의 노이즈 경계이다.
일부 실시예에서, 공통 난수는, 를 포함한다. 여기서,, ; , [n]는 1에서 n까지의 모든 정수를 포함하는 집합을 나타내고, ; N은 데이터 제공 노드의 개수이고, D는 LWE에 기반한 계층 BGV 알고리즘이고, 회로를 지원하는 최대 곱셈 레벨이다.
나아가, 데이터 제공 노드가 키 생성 파라미터를 획득한 후, 당해 키 생성 파라미터와 개인키 생성 알고리즘에 기반하여, 자체의 개인키 프래그먼트를 생성할 수 있다. 여기서, 개인키 생성 알고리즘은 E.SymKeygen(params)이고, 키 생성 파라미터 내의 공통 파라미터를 당해 개인키 생성 알고리즘에 입력하여, 데이터 제공 노드에 대응되는 개인키 프래그먼트를 출력할 수 있다.
데이터 제공 노드 P k 는 키 생성 파라미터 내의 공통 파라미터를 사용하여, 자신의 개인키 프래그먼트를 생성하고, 우선 P k 는 LWE에 기반한 계층 BGV알고리즘의 개인키 생성 알고리즘을 호출하여, 각각의 에 대해, 를 생성한다.
S302, 개인키 프래그먼트에 기반하여 데이터 제공 노드 자체의 암호화 공개키 프래그먼트를 생성한다.
나아가, 데이터 제공 노드는 개인키 프래그먼트를 획득한 후, 당해 개인키 프래그먼트, 공통 난수 및 암호화 공개키 생성 알고리즘에 기반하여, 데이터 제공 노드의 암호화 공개키 프래그먼트를 생성할 수 있다. 여기서, 암호화 공개키 생성 알고리즘은 E.PubKeygen(s)이다. 개인키 프래그먼트 및 공통 난수를 당해 암호화 공개키 생성 알고리즘에 입력하여, 데이터 제공 노드에 대응되는 암호화 공개키 프래그먼트를 출력할 수 있다.
데이터 제공 노드P k 는 개인키 프래그먼트 및 키 생성 파라미터 내의 공통 난수를 사용하여, 자신의 암호화 공개키 프래그먼트 를 생성하고, 우선 P k 는 LWE에 기반한 계층 BGV알고리즘의 암호화 공개키 생성 알고리즘을 호출하여, 각각의 에 대해, 를 생성하고, 여기서, 이다.
S303, 개인키 프래그먼트에 기반하여 산출 공개키에 대응되는 목표 중간 결과를 생성한다.
데이터 제공 노드는 개인키 프래그먼트를 획득한 후, 당해 개인키 프래그먼트, 공통 난수 및 산출 공개키 생성 알고리즘에 기반하여, 당해 데이터 제공 노드에 대응되는 산출 공개키의 제1 중간 결과를 생성할 수 있다. 여기서, 산출 공개키 생성 알고리즘은 E.symEnc(s)이다. 개인키 프래그먼트 및 공통 난수를 당해 산출 공개키 생성 알고리즘에 입력하여, 데이터 제공 노드에 대응되는 산출 공개키의 제1 중간 결과를 출력할 수 있다.
데이터 제공 노드 P k 는 개인키 프래그먼트 및 키 생성 파라미터 내의 공통 난수를 사용하여, 산출 공개키의 제1 중간 결과를 생성한다. 우선 P k 는 산출 공개키 생성 알고리즘을 호출하고, 각각의 에 대해, , [n]는 1로부터 n까지의 모든 정수를 포함하는 집합을 나타내고, , 하기와 같은 계산을 수행한다.
,
여기서, ; 는 가 나타내는 i전째 분량을 나타낸다.
또한 상술한 각 d, i, τ 및 각각의 에 대해, 데이터 제공 노드 P k 는 를 계산하고, 여기서, 이다.
산출 공개키의 제1 중간 결과를 획득한 후, 자체의 제1 중간 결과를 기타 데이터 제공 노드에 송신할 수 있다. 예를 들어, 데이터 제공 노드는 자체의 제1 중간 결과를 브로드캐스트할 수 있다. 유사하게, 기타 데이터 제공 노드는 각자의 제1 중간 결과를 브로드캐스트할 수도 있다. 상응하게, 데이터 제공 노드는 기타 데이터 제공 노드가 브로드캐스트한 각자의 제1 중간 결과를 수신할 수 있다. 기타 데이터 제공 노드의 제1 중간 결과를 획득한 후, 자체의 제1 중간 결과를 결합하여, 산출 공개키의 제2 중간 결과를 더 획득할 수 있다.
데이터 제공 노드 P k 가 를 획득하면, 제2 중간 결과를 계산할 수 있다. P k 는 에 기반하여 제2 중간 결과를 계산할 수 있다. 모든 데이터 소유자가 프로토콜을 모두 준수할 경우, 이고, 여기서 이다. 구현 예시에서, 산출 공개키가 이고, 계산된 제2 중간 결과 가 이미 상술한 산출 공개키에 가깝다.
나아가, 제2 중간 결과를 획득한 후, 데이터 제공 노드는 개인키 프래그먼트, 키 생성 파라미터 내의 공통 난수 및 제2 중간 결과에 기반하여, 산출 공개키의 목표 중간 결과를 획득할 수 있다.
예를 들어, 데이터 제공 노드 P k 는 제2 중간 결과를 획득하고, 각각의 , , , , , , 에 대해, 상술한 조작을 거친 후, 산출 공개키에 대응되는 목표 중간 결과 가 에 더 접근하도록 할 수 있고, 산출 공개키에서 한 걸음 더 가까워진다.
S304, 암호화 공개키 프래그먼트 및 산출 공개키에 대응되는 목표 중간 결과를 브로드캐스트한다.
S305, 기타 참여 노드가 송신한 각자의 암호화 공개키 프래그먼트와 목표 중간 결과를 수신한다.
S306, 각 암호화 공개키 프래그먼트에 기반하여, 암호화 공개키를 생성하고, 각 목표 중간 결과에 기반하여, 산출 공개키를 생성한다.
아래는 단계S304~S306의 구체적인 처리를 상세히 설명한다.
본 출원의 실시예에서, 데이터 제공 노드가 자체의 암호화 공개키 프래그먼트를 획득한 후, 자체의 암호화 공개키 프래그먼트를 기타 데이터 제공 노드에 송신할 수 있다. 예를 들어, 데이터 제공 노드는 자체의 암호화 공개키 프래그먼트를 브로드캐스트할 수 있다. 유사하게, 기타 참여 노드도 각자의 암호화 공개키 프래그먼트를 브로드캐스트할 수 있다. 상응하게, 데이터 제공 노드는 기타 참여 노드는 브로드캐스트된 각자의 암호화 공개키 프래그먼트를 수신할 수 있다. 기타 참여 노드의 암호화 공개키 프래그먼트를 획득한 후에, 자체의 암호화 공개키 프래그먼트를 결합하여, 암호화 공개키를 복원할 수 있다.
데이터 제공 노드 P k 는 를 획득하고, 여기서, 는 모든 데이터 제공 노드의 암호화 공개키 프래그먼트의 집합을 나타내는데 사용된다. P k 가 당해 집합을 획득한 후, 암호화 공개키 를 계산할 수 있다. P k 는 에 기반하여 암호화 공개키를 계산할 수 있다.
동형 암호화 과정에서, 각 데이터 제공 노드가 모두 프로토콜을 따르고, 즉 각 데이터 제공 노드가 신뢰할 수 있는 데이터 제공자인 경우, 암호화 공개키 생성 알고리즘은 이고, 여기서, , , 이고, 여기서, , 이다.
나아가, 데이터 제공 노드가 산출 공개키의 목표 중간 결과를 획득한 후, 목표 중간 결과를 기타 참여 노드에 송신할 수 있다. 예를 들어, 데이터 제공 노드는 자체의 목표 중간 결과를 브로드캐스트할 수 있다. 유사하게, 기타 데이터 제공 노드도 각자의 목표 중간 결과를 브로드캐스트할 수 있다. 상응하게, 데이터 제공 노드는 기타 데이터 제공 노드가 브로드캐스트한 각자의 목표 중간 결과를 수신할 수 있다. 기타 데이터 제공 노드의 목표 중간 결과를 획득한 후, 자체의 목표 중간 결과를 결합하여, 산출 공개키를 복원할 수 있다.
데이터 제공 노드 P k 는 입력 setup, , 를 가지고, 산출 키 를 계산하여 출력한다. P k 는 하기와 같은 계산을 수행하고, 각각의 , , , , 에 대해, 하기와 같은 공식을 사용하여 산출 공개키를 계산할 수 있다.
상응하게, 기타 참여 노드는 기타 참여 노드가 브로드캐스트한 각자의 암호화 공개키 프래그먼트를 수신할 수 있고, 유사한 방식을 사용하여 완전한 암호화 공개키를 획득할 수 있다. 기타 참여 노드는 산출 공개키의 계산 공식을 사용하여, 산출 공개키를 계산할 수 있다. 예를 들어, 기타 참여 노드의 데이터 사용 노드는 데이터 제공 노드가 암호화 공개키를 획득하는 과정과 유사하고, 상술한 상호 협력 과정에 기반하여, 완전한 암호화 공개키와 산출 공개키를 획득할 수 있고, 여기서 더 이상 설명하지 않는다.
데이터 제공 노드가 암호화 공개키를 획득한 후, 암호화 알고리즘을 호출하고, 여기서, 암호화 알고리즘은 E.PubEnc pk ()이다, 당해 암호화 알고리즘을 이용하여 자체의 데이터를 암호화하여, 암호문 데이터를 획득한다. 예를 들어, 데이터 제공 노드 P k ,가 암호화 알고리즘을 호출하여 를 계산하고, 최종으로 암호문 데이터c k =를 획득하며, 여기서, 0은 곱셈 레벨이 0임을 나타내고, 이다.
산출 공개키를 획득한 후, 데이터 제공 노드는 산출 공개키를 조정 노드에 송신하여, 조정 노드가 당해 산출 공개키를 사용하여, 모델 파라미터를 암호화하여, 암호문 모델 파라미터를 생성하도록 할 수 있다.
예를 들어, 조정 노드는 Eval evk 암호화 알고리즘을 호출하고, 산출 공개키에 기반하여, 각 암호문 데이터를 암호화하며, 즉 Eval evk (m, c 1 , …, c n ) 는, 암호문 계산 결과를 계산할 수 있다. 여기서, 산출 알고리즘 Eval evk (m, c 1 , …, c n )와 E. Eval evk (m, c 1 , …, c n )는 동일하다.
본 출원의 실시예에서 제공하는 키 생성 과정에서, N개의 데이터 제공 노드와 데이터 사용 노드 사이의 두 라운드의 프로토콜을 수행하고, 입력은 setup이고, 출력은 산출 공개키 evk = 이고, 암호화 공개키 는, 각 데이터 소유자는 개인키의 부분를 획득한다. 본 출원의 실시예에서 멀티 동형 암호화 메커니즘을 구축하고, 복수의 데이터 제공 노드의 암호화 데이터에 대한 동형 암호화의 목적을 구현할 수 있고, 동형 암호화의 응용 장면을 확장한다. 나아가, 조정 계단은 산출 공개키에 기반하여 암호화 데이터를 더 암호화하여, 멀티소스 데이터의 데이터 처리의 안전성을 더 잘 확보할 수 있다.
도 4는 본 출원의 다른 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법의 흐름도이다. 도 4에 도시된 바와 같이, 실행 주체는 데이터 사용 노드이고, 멀티소스 데이터의 데이터 처리 방법은 하기의 단계S401 내지 단계S405를 포함한다.
S401, 데이터 사용 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하고, 기타 참여 노드는 데이터 제공 노드를 포함한다.
본 출원의 실시예에서, 데이터 사용 노드와 기타 참여 노드 상호가 협력하는 방식을 통해, 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성한다. 여기서, 기타 참여 노드는 적어도 하나의 데이터 제공 노드를 포함한다. 일부 구현에서, 데이터 사용 노드는 키 생성 파라미터를 획득할 수 있고, 키 생성 파라미터는 공통 파라미터와 공통 난수를 포함한다. 데이터 사용 노드는 키 생성 파라미터에 기반하여, 자체의 개인키 프래그먼트를 생성할 수 있다. 여기서, 데이터 사용 노드가 자체의 개인키 프래그먼트를 생성하는 과정은, 데이터 제공 노드가 자체의 개인키 프래그먼트를 생성하는 과정과 유사하고, 상술한 실시예의 관련 내용의 설명을 참조할 수 있으며, 여기서 더 이상 설명하지 않는다.
데이터 사용 노드는 자체의 개인키 프래그먼트를 획득한 후, 개인키 프래그먼트에 기반하여 데이터 사용 노드 자체의 암호화 공개키 프래그먼트를 생성하고, 암호화 공개키 프래그먼트를 브로드캐스트한다. 상응하게, 데이터 사용 노드는 데이터 제공 노드에 의해 송신된 암호화 공개키 프래그먼트를 수신할 수 있고, 각 암호화 공개키 프래그먼트에 기반하여 암호화 공개키를 결정할 수 있다. 여기서, 데이터 사용 노드가 암호화 공개키 프래그먼트를 획득하는 과정은, 데이터 제공 노드가 암호화 공개키를 획득하는 과정과 유사하고, 상술한 실시예의 관련 내용의 설명을 참조할 수 있으며, 여기서 더 이상 설명하지 않는다.
데이터 사용 노드가 자체의 개인키 프래그먼트를 획득한 후, 개인키 프래그먼트에 기반하여 데이터 사용 노드 자체의 산출 공개키 프래그먼트에 대응되는 목표 중간 결과를 생성하고, 목표 중간 결과를 브로드캐스트한다. 상응하게, 데이터 사용 노드는 데이터 제공 노드가 송신한 데이터 제공측이 송신한 산출 공개키의 목표 중간 결과를 획득할 수 있고, 나아가, 각 목표 중간 결과에 기반하여, 산출 공개키를 획득한다. 여기서, 데이터 사용 노드가 산출 공개키를 획득하는 과정은, 데이터 제공 노드가 산출 공개키를 획득하는 과정과 유사하고, 상술한 실시예의 관련 내용의 설명을 참조할 수 있으며, 여기서 더 이상 설명하지 않는다.
복수의 데이터 제공 노드가 데이터를 동시에 제공해야 하고, 데이터 제공 노드의 데이터가 유출되거나 절취되는 것을 피하기 위해, 본 출원의 실시예에서, 데이터 제공 노드는 암호화 공개키를 사용하여 자체의 로컬 데이터를 암호화하고, 그 다음에 하나의 암호문 데이터를 생성할 필요가 있다. 암호문 데이터를 생성한 후, 데이터 제공 노드는 암호문 데이터를 조정 노드에 송신한다.
상응하게, 조정 노드는 복수의 데이터 제공 노드가 송신한 각자의 암호문 데이터를 수신할 수 있고, 나아가, 기계 학습 모델을 획득하기 위해, 조정 노드는 각 암호문 데이터를 획득한 후, 이러한 암호문 데이터에 기반하여 기계 학습 모델의 트레이닝을 수행할 수 있다.
S402, 조정 노드에서 트레이닝된 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하고, 암호문 모델 파라미터는 상기 조정 노드가 산출 공개키와 수신한 데이터 제공 노드의 암호문 데이터에 따라 결정된다.
조정 노드는 각 데이터 제공 노드가 송신한 암호문 데이터를 수신한 후, 동형 암호화 알고리즘을 사용하여 각 암호문 데이터를 처리하고, 처리 후의 암호문 데이터에 기반하여 기계 학습 모델의 트레이닝과 테스트를 수행하고, 나아가 하나의 암호문 모델을 획득한다. 나아가, 조정 노드는 산출 공개키에 기반하여 암호문 모델의 모델 파라미터를 암호화하고 계산하며, 암호문 모델 파라미터를 생성하고, 그 다음에 암호문 모델 파라미터를 각 데이터 제공 노드와 데이터 사용 노드에 각각 송신한다.
상응하게, 데이터 사용 노드는 조정 노드가 송신한 암호문 모델 파라미터를 수신할 수 있다.
S403, 데이터 사용 노드 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화하여, 제1 모델 파라미터 프래그먼트를 획득한다.
본 출원의 실시예에서, 데이터 사용 노드는 완전한 개인키를 직접 획득할 수 없고, 개인키의 일부 내용, 즉 하나의 개인키 프래그먼트를 가지고 있다. 암호문 모델 파라미터를 수신한 후, 데이터 사용 노드는 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화할 수 있고, 사용하는 개인키 프래그먼트를 복호화하므로, 완전한 모델 파라미터를 복호화할 수 없고, 본 출원의 실시예에서, 데이터 사용 노드는 암호문 모델 파라미터를 복호화한 후, 하나의 모델 파라미터 프래그먼트, 즉 제1 모델 파라미터 프래그먼트를 획득한다.
S404, 기타 참여 노드가 송신한 제2 모델 파라미터 프래그먼트를 수신한다.
각 데이터 제공 노드 자체 데이터의 안전성을 확보하기 위해, 본 출원의 실시예에서, 각 데이터 제공 노드는 완전한 개인키를 직접 획득할 수 없고, 각 데이터 제공 노드는 개인키의 일부 내용, 즉 하나의 개인키 프래그먼트를 가지고 있다. 암호문 모델 파라미터를 수신한 후, 데이터 제공 노드는 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화하고, 하나의 모델 파라미터 프래그먼트, 즉 제2 모델 파라미터 프래그먼트를 획득할 수 있다. 제2 모델 파라미터 프래그먼트를 획득한 후, 완전한 데이터를 복호화할 수 있도록 하기 위해, 데이터 제공 노드가 권한을 부여받은 상황에서, 제2 모델 파라미터 프래그먼트를 기타 참여 노드에 송신하여, 데이터 사용 노드가 자신의 제2 모델 파라미터 프래그먼트를 획득할 수도 있도록 할 수 있고, 데이터 사용 노드가 명문의 모델 파라미터를 복호화할 수 있도록 한다.
일부 실시예에서, 각 데이터 제공 노드는 자체의 제2 모델 파라미터 프래그먼트를 외부로 브로드캐스트하고, 데이터 사용 노드는 각 제2 모델 파라미터 프래그먼트를 모니터링할 수 있다. 일부 실시예에서, 데이터 제공 노드는 데이터 사용 노드에 각자의 제2 모델 파라미터 프래그먼트를 직접 송신할 수도 있다. 여기서는 예시일 뿐이며, 본 출원의 실시예에서 제2 모델 파라미터 프래그먼트의 송신 방식에 대해 구체적인 제한을 하지 않는다.
데이터 제공 노드 P k 는 자체의 개인키 프래그먼트를 사용하여 수신한 암호문 모델 파라미터를 복호화하고, P k 는 제2 모델 파라미터 프래그먼트 를 계산하고, 여기서, 이다. 그 다음에, P k 는 당해 제2 모델 파라미터 프래그먼트 w k 를 외부로 브로드캐스트한다.
상응하게, 데이터 사용 노드는 각 데이터 제공 노드가 송신한 제2 모델 파라미터 프래그먼트를 수신할 수 있다.
S405, 제1 모델 파라미터 프래그먼트와 제2 모델 파라미터 프래그먼트에 따라, 기계 학습 모델을 획득한다.
비밀 공유 메커니즘에 기반하여, 충분히 많은 비밀 조각을 획득해야만, 비밀을 복원할 수 있다. 본 출원의 실시예에서, 데이터 제공 노드 사이는 복호화된 중간 복호화 데이터를 데이터 사용 노드에 공유할 수 있어, 데이터 사용 노드가 충분히 많은 모델 파라미터 프래그먼트를 획득할 수 있으며, 나아가 명문 모델 파라미터를 복호화하는 것을 확보할 수 있다. 본 출원의 실시예에서, 데이터 사용 노드는 데이터 제공 노드가 송신한 모델 파라미터 프래그먼트 를 수신할 수 있고, c = (v, w, D)이며, 여기서, D는 곱셈 레벨이다. 데이터 사용 노드는 제1 모델 파라미터 프래그먼트와 제2 모델 파라미터 프래그먼트를 융합하고, 예를 들어 제1 모델 파라미터 프래그먼트와 제2 모델 파라미터 프래그먼트를 동형으로 더하거나 곱하면, 명문 모델 파라미터를 복호화할 수 있고, 나아가 트레이닝 후의 기계 학습 모델을 획득한다.
데이터 제공 노드 P k 는 자체의 를 획득할 수 있고, 데이터 사용 노드는 제1 모델 파라미터 프래그먼트와 제2 모델 파라미터 프래그먼트를 하기와 같은 공식:으로 융합한다. 나아가, 공식 에 기반하여, 명문 모델 파라미터를 복호화할 수 있다.
본 실시예에서 제공하는 기계 학습 모델 멀티소스 데이터의 데이터 처리 방법은, 멀티 임계값 동형 암호화 메커니즘을 구축하여, 복수의 데이터 제공 노드의 암호화 데이터에 대해 동형 암호화를 수행하는 목적을 구현할 수 있고, 동형 암호화의 응용 장면을 확장할 뿐만 아니라, 조정 계단에서 산출 공개키에 기반하여 암호화 데이터를 더 암호화하여, 연합 학습 모델 트레이닝의 안전성을 더 잘 확보할 수 있다. 임계값 동형 암호화 기술에 기반하여, 복수의 데이터 소스로부터 데이터를 동시에 획득하여 시뮬레이션 트레이닝을 수행하므로, 곳곳의 데이터의 안전, 및 모델 트레이닝의 안전을 확보할 수 있다. 또한 데이터 고립 섬을 타파하는 것에 기반하여, 복수의 데이터 소스를 동시에 트레이닝하는 것을 구현하여, 성능이 더 좋은 기계 학습 모델을 획득한다. 또한 동형 암호화 알고리즘에 기반하여 데이터를 전송하여, 데이터 제공 노드의 샘플 데이터의 안전성을 보호하고, 데이터 제공자의 정보 유출을 방지할 수 있을 뿐만 아니라, 트레이닝 모델의 모델 파라미터의 안전성을 확보할 수 있다.
상술한 실시예에 기반하여, 데이터의 암호화 및 복호화를 구현하기 위해, 암호화 공개키를 사용하여 로컬 데이터를 암호화하여, 암호문 데이터를 생성하기 전에, 또한 데이터 사용 노드와 데이터 제공 노드 사이에서 상호 협력하여, 키를 생성해야 한다.
데이터 사용 노드는 우선 자체의 개인키 프래그먼트를 생성하고, 그 다음에 당해 개인키 프래그먼트에 기반하여 데이터 사용 노드 자체의 암호화 공개키 프래그먼트를 생성하고, 암호화 공개키 프래그먼트를 브로드캐스트하여, 데이터 제공 노드가 암호화 공개키 프래그먼트를 획득할 수 있고, 나아가 암호화 공개키를 획득하도록 한다. 구체적으로, 데이터 사용 노드가 키 생성 파라미터를 획득하고, 키 생성 파라미터는 공통 파라미터와 공통 난수를 포함하며, 공통 파라미터와 개인키 생성 알고리즘에 기반하여, 개인키 프래그먼트를 획득한다. 데이터 사용 노드가 자체의 개인키 프래그먼트를 생성하는 구체적인 과정에 대해, 데이터 제공 노드가 개인키를 생성하는 구체적인 과정을 참조할 수 있으며, 여기서 더 이상 설명하지 않는다.
도 5는 본 출원의 다른 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법의 흐름도이다. 도 5에 도시된 바와 같이, 실행 주체는 조정 노드이고, 멀티소스 데이터의 데이터 처리 방법은 하기의 단계S501 내지 단계S505를 포함한다.
S501, 각 데이터 제공 노드가 송신한 산출 키를 수신한다.
데이터 제공 노드에서 데이터 제공 노드가 산출 키를 생성하는 과정은, 상술한 실시예의 관련 내용의 기재를 참조할 수 있고, 여기서 더 이상 설명하지 않는다.
데이터 제공 노드가 산출 키를 생성한 후, 조정 노드가 전송한 모델 파라미터의 안전성을 확보하기 위해, 데이터 제공 노드는 생성한 산출 키를 조정 노드에 송신한다.
S502, 각 데이터 제공 노드가 송신한 암호문 데이터를 수신하고, 암호문 데이터는 데이터 제공 노드가 암호화 공개키를 사용하여 자체의 샘플 데이터를 암호화한 후에 생성된다.
기계 학습 모델의 트레이닝을 구현하기 위해, 데이터 제공 노드는 샘플 데이터가 암호화 공개키의 암호화를 거쳐 생성된 암호문 데이터를 조정 노드에 송신해야 한다. 조정 노드는 각 데이터 제공 노드가 송신한 암호문 데이터를 수신한 후, 각 암호문 데이터에 기반하여 기계 학습 모델의 트레이닝을 수행할 수 있다.
S503, 데이터 제공 노드를 조정하여 기계 학습 모델의 트레이닝을 수행하고, 기계 학습 모델의 모델 파라미터를 출력한다.
일부 실시예에서, 조정 노드 동형 암호화 알고리즘을 사용하여 각 암호문 데이터를 처리하고, 그 다음에 각 데이터 제공 노드를 조정하며, 처리 후의 암호문 데이터에 기반하여 기계 학습 모델의 트레이닝과 테스트를 수행하고, 나아가 하나의 암호문의 기계 학습 모델을 획득한다.
S504, 산출 공개키를 사용하여 모델 파라미터를 암호화하여, 암호문 모델 파라미터를 획득한다.
S505, 암호문 모델 파라미터를 각 데이터 제공 노드 및 데이터 사용 노드에 각각 송신하여 복호화한다.
조정 노드는 산출 공개키에 기반하여 암호문 모델의 모델 파라미터를 암호화하고 계산하며, 암호문 모델 파라미터를 생성하고, 그 다음에 암호문 모델 파라미터를 각 데이터 제공 노드와 데이터 사용 노드에 각각 송신한다.
상응하게, 데이터 사용 노드는 조정 노드가 송신한 암호문 모델 파라미터를 수신할 수 있다.
본 출원의 실시예에서, 데이터 사용 노드는 완전한 개인키를 직접 획득할 수 없고, 개인키의 일부 내용, 즉 하나의 개인키 프래그먼트를 가지고 있다. 암호문 모델 파라미터를 수신한 후, 데이터 사용 노드는 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화할 수 있고, 사용하는 개인키 프래그먼트를 복호화하므로, 완전한 모델 파라미터를 복호화할 수 없고, 본 출원의 실시예에서, 데이터 사용 노드는 암호문 모델 파라미터를 복호화한 후, 하나의 모델 파라미터 프래그먼트, 즉 제1 모델 파라미터 프래그먼트를 획득한다.
각 데이터 제공 노드 자체 데이터의 안전성을 확보하기 위해, 본 출원의 실시예에서, 각 데이터 제공 노드는 완전한 개인키를 직접 획득할 수 없고, 각 데이터 제공 노드는 개인키의 일부 내용, 즉 하나의 개인키 프래그먼트를 가지고 있다. 암호문 모델 파라미터를 수신한 후, 데이터 제공 노드는 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화하여, 하나의 모델 파라미터 프래그먼트, 즉 제2 모델 파라미터 프래그먼트를 획득할 수 있다. 제2 모델 파라미터 프래그먼트를 획득한 후, 완전한 데이터를 복호화할 수 있도록 하기 위해, 데이터 제공 노드가 권한을 부여받은 상황에서, 제2 모델 파라미터 프래그먼트를 기타 참여 노드에 송신하여, 데이터 사용 노드가 자신의 제2 모델 파라미터 프래그먼트를 획득할 수도 있도록 할 수 있고, 데이터 사용 노드가 명문의 모델 파라미터를 복호화할 수 있도록 한다.
일부 실시예에서, 각 데이터 제공 노드는 자체의 제2 모델 파라미터 프래그먼트를 외부로 브로드캐스트하고, 데이터 사용 노드는 각 제2 모델 파라미터 프래그먼트를 모니터링할 수 있다. 일부 실시예에서, 데이터 제공 노드는 데이터 사용 노드에 각자의 제2 모델 파라미터 프래그먼트를 직접 송신할 수도 있다. 여기서는 예시일 뿐이며, 본 출원의 실시예에서 제2 모델 파라미터 프래그먼트의 송신 방식에 대해 구체적인 제한을 하지 않는다.
상응하게, 데이터 사용 노드는 각 데이터 제공 노드가 송신한 제2 모델 파라미터 프래그먼트를 수신할 수 있다.
비밀 공유 메커니즘에 기반하여, 충분히 많은 비밀 조각을 획득해야만, 비밀을 복원할 수 있다. 본 출원의 실시예에서, 데이터 제공 노드 사이는 복호화된 중간 복호화 데이터를 데이터 사용 노드에 공유할 수 있어, 데이터 사용 노드가 충분히 많은 모델 파라미터 프래그먼트를 획득하도록 확보할 수 있으며, 나아가 명문 모델 파라미터를 복호화하여, 트레이닝 후의 기계 학습 모델을 획득할 수 있다.
본 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법은, 멀티 임계값 동형 암호화 메커니즘을 구축하여, 복수의 데이터 제공 노드의 암호화 데이터에 대해 동형 암호화를 수행하는 목적을 구현할 수 있고, 동형 암호화의 응용 장면을 확장할 뿐만 아니라, 조정 계단에서 산출 공개키에 기반하여 암호화 데이터를 더 암호화하여, 연합 학습 모델 트레이닝의 안전성을 더 잘 확보할 수 있다. 임계값 동형 암호화 기술에 기반하여, 복수의 데이터 소스로부터 데이터를 동시에 획득하여 시뮬레이션 트레이닝을 수행함으로써, 곳곳의 데이터의 안전, 및 모델 트레이닝의 안전을 확보할 수 있다. 또한 데이터 고립 섬을 타파하는 것에 기반하여, 복수의 데이터 소스를 동시에 트레이닝하는 것을 구현하여, 성능이 더 좋은 기계 학습 모델을 획득한다. 또한 동형 암호화 알고리즘에 기반하여 데이터를 전송하여, 데이터 제공 노드의 샘플 데이터의 안전성을 보호하고, 데이터 제공자의 정보 유출을 방지할 수 있을 뿐만 아니라, 트레이닝 모델의 모델 파라미터의 안전성을 확보할 수 있다.
아래는 상술한 실시예의 동형 암호화 알고리즘에서의 부호에 대해 설명 및 약정한다.
E를 사용하여 LWE에 기반한 계층 BGV알고리즘을 나타내고, 회로를 지원하는 최대 곱셈 레벨은 D이며, 명문 공간은 {0, 1}이다. TFHE를 사용하여 임계값 동형 암호화를 나타낸다. N개의 데이터 소유자, 하나의 데이터 사용자가 있다고 가정한다. 굵은 소문자를 사용하여 벡터를 나타내고, 소문자는 스칼라를 나타낸다. s 가 벡터일 경우, 그러면, s [i]는 s 의 i번째 분량을 나타내고, s [0] = 1을 약정한다. D가 유한 집합 S에서의 확률 분포를 나타낸다고 가정하고, x ←D 는 x가 D인 샘플링을 나타내고, x S는 x가 S에서 균일하게 분포된 샘플링을 나타낸다. 모든 대수의 밑부분은 모두 2이다. n가 양의 정수인 경우, [n]는 1로부터 n까지의 모든 정수를 포함하는 집합을 나타낸다.
E는 하기와 같은 기본 구성 요소를 포함하고:
1), params는 모든 알고리즘의 암묵적인 입력이고, 는 안전 파라미터이며, q는 홀수 모드이고, m 및 n는 차원이며, 및 는 에서의 확률 분포이고;
2)E.SymKeygen(params): 개인키를 생성하고;
3)E.PubKeygen( s ): , 를 생성하고, 를 설치하며, 개인키 s 에 대한 공개키 를 출력하고;
4)E.SymEnc s ():를 암호화해야 하고, , 를 선택하며, 를 설치하고, 암호문 을 출력하며;
5)E.PubEnc pk (): 공개키 pk = (A, p ) 를 사용하여 를 암호화해야 하고, 를 선택하며, , 를 설치하고, 암호문 c = ( a , b)을 출력하며;
6)c = ( a , b)를 복호화하고, 명문를 출력하며;
7)산출 알고리즘 E.Eval evk (f, c 1 , …, c l ), 산출 키 evk를 사용하여 함수 f를 계산하고, f: {0, 1} l → {0, 1}는 불리안 회로(boolean circuit)를 나타내고, 그의 입력은 l개의 암호문 c 1 , …, c l 이고, 출력은 암호문 결과 c f 이다.
부호E.PubKeygen( s ; A)를 사용하여, 고정된 계수 A를 사용하여 공개키 생성 알고리즘을 실행하는 것을 나타낸다. 부호E.PubKeygen( s ; A; e )를 사용하여, 고정된 계수 A 및 노이즈 a 를 사용하여 공개키 생성 알고리즘을 실행하는 것을 나타낸다. 부호E.SymEnc s (; a )를 사용하여, 고정 계수 a 및 개인키 s를 사용하여 를 암호화하는 것을 나타낸다. 부호E.SymEnc s ( ; a ; e)를 사용하여, 고정 계수 a , 노이즈 e, 개인키 s 를 사용하여 를 암호화하는 것을 나타낸다.
도 6은 본 출원의 일 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 장치의 구조 개략도이다. 도 6에 도시된 바와 같이, 데이터 제공 노드에 적용되는 당해 멀티소스 데이터의 데이터 처리 장치는 키 생성 모듈(60), 암호화 모듈(61), 수신 모듈(62) 및 복호화 모듈(63)을 포함한다.
키 생성 모듈(60)은, 데이터 제공 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하고, 기타 참여 노드는 기타 데이터 제공 노드와 데이터 사용 노드를 포함한다.
암호화 모듈(61)은, 암호화 공개키를 사용하여 로컬 샘플 데이터를 암호화하여, 암호문 데이터를 생성하고, 조정 노드에 송신하여 기계 학습 모델의 트레이닝을 수행한다.
수신 모듈(62)은, 조정 노드에서 트레이닝된 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하고, 암호문 모델 파라미터는 조정 노드가 산출 공개키와 수신한 암호문 데이터에 따라 결정된다.
복호화 모듈(63)은, 데이터 제공 노드 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화하고, 복호화 후의 모델 파라미터 프래그먼트를 데이터 사용 노드에 송신한다.
일부 실시예에서, 키 생성 모듈(60)은 제1 생성 유닛(601), 송신 유닛(602), 수신 유닛(603) 및 제2 생성 유닛(604)을 포함한다.
제1 생성 유닛(601)은, 데이터 제공 노드의 개인키 프래그먼트를 생성하고, 개인키 프래그먼트에 기반하여 데이터 제공 노드 자체의 암호화 공개키 프래그먼트와 산출 공개키에 대응되는 목표 중간 결과를 생성한다.
송신 유닛(602)은, 암호화 공개키 프래그먼트와 목표 중간 결과를 브로드캐스트한다.
수신 유닛(603)은, 기타 참여 노드가 송신한 각자의 암호화 공개키 프래그먼트와 목표 중간 결과를 수신한다.
제2 생성 유닛(604)은, 각 암호화 공개키 프래그먼트와 각 목표 중간 결과에 따라, 암호화 공개키와 산출 공개키를 생성한다.
나아가, 송신 유닛(602)은 또한, 산출 공개키를 생성한 후, 산출 공개키를 조정 노드에 송신한다.
나아가, 제1 생성 유닛(601)은 또한, 키 생성 파라미터를 획득하고, 키 생성 파라미터는 공통 파라미터와 공통 난수를 포함하고; 공통 파라미터와 개인키 생성 알고리즘에 기반하여, 개인키 프래그먼트를 획득한다.
나아가, 제1 생성 유닛(601)은 또한, 개인키 프래그먼트, 공통 난수 및 암호화 공개키 생성 알고리즘에 기반하여, 암호화 공개키 프래그먼트를 생성하고; 개인키 프래그먼트와 산출 공개키 생성 알고리즘에 기반하여, 목표 중간 결과를 생성한다.
나아가, 제1 생성 유닛(601)은 또한, 개인키 프래그먼트, 공통 난수 및 산출 공개키 생성 알고리즘에 기반하여, 산출 공개키의 제1 중간 결과를 생성하고, 제1 중간 결과를 브로드캐스트하고; 기타 데이터 제공 노드가 송신한 각자의 제1 중간 결과를 수신하고; 자체의 제1 중간 결과와 기타 데이터 제공 노드의 제1 중간 결과에 기반하여, 산출 공개키의 제2 중간 결과를 획득하고; 개인키 프래그먼트, 공통 난수 및 제2 중간 결과에 기반하여, 산출 공개키의 목표 중간 결과를 획득하고, 목표 중간 결과를 브로드캐스트한다.
본 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 장치는, 멀티 임계값 동형 암호화 메커니즘을 구축하여, 복수의 데이터 제공 노드의 암호화 데이터에 대해 동형 암호화를 수행하는 목적을 구현할 수 있고, 동형 암호화의 응용 장면을 확장할 뿐만 아니라, 조정 계단에서 산출 공개키에 기반하여 암호화 데이터를 더 암호화하여, 연합 학습 모델 트레이닝의 안전성을 더 잘 확보할 수 있다. 임계값 동형 암호화 기술에 기반하여, 복수의 데이터 소스로부터 데이터를 동시에 획득하여 시뮬레이션 트레이닝함으로써, 곳곳의 데이터의 안전, 및 모델 트레이닝의 안전을 확보할 수 있다. 또한 데이터 고립 섬을 타파하는 것에 기반하여, 복수의 데이터 소스의 동시에 트레이닝을 구현하여, 성능이 더 좋은 기계 학습 모델을 획득한다. 또한 동형 암호화 알고리즘에 기반하여 데이터를 전송하여, 데이터 제공 노드의 샘플 데이터의 안전성을 보호하고, 데이터 제공자의 정보 유출을 방지할 수 있을 뿐만 아니라, 트레이닝 모델의 모델 파라미터의 안전성을 확보할 수 있다.
도 7은 출원의 일 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 장치의 구조 개략도이다. 도 7에 도시된 바와 같이, 데이터 사용 노드에 적용되는 당해 멀티소스 데이터의 데이터 처리 장치는 키 생성 모듈(70), 제1 수신 모듈(71), 복호화 모듈(72), 제2 수신 모듈(73) 및 획득 모듈(74)을 포함한다.
키 생성 모듈(70)은, 데이터 사용 노드의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하고, 기타 참여 노드는 데이터 제공 노드를 포함한다.
제1 수신 모듈(71)은, 조정 노드에서 트레이닝된 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하고, 암호문 모델 파라미터는 조정 노드가 산출 공개키와 수신한 데이터 제공 노드의 암호문 데이터에 따라 결정된다.
복호화 모듈(72)은, 데이터 사용 노드 자체의 개인키 프래그먼트를 사용하여, 암호문 모델 파라미터를 복호화하여, 제1 모델 파라미터 프래그먼트를 획득한다.
제2 수신 모듈(73)은, 기타 참여 노드가 송신한 제2 모델 파라미터 프래그먼트를 수신한다.
획득 모듈(74)은, 제1 모델 파라미터 프래그먼트와 제2 모델 파라미터 프래그먼트에 따라, 기계 학습 모델을 획득한다.
나아가, 키 생성 모듈(70)은, 생성 유닛(701)과 송신 유닛(702)을 포함한다.
생성 유닛(701)은, 데이터 사용 노드의 개인키 프래그먼트를 생성하고, 개인키 프래그먼트에 기반하여 데이터 사용 노드 자체의 암호화 공개키 프래그먼트를 생성한다.
송신 유닛(702)은, 암호화 공개키 프래그먼트를 브로드캐스트한다.
나아가, 생성 유닛(701)은 또한, 키 생성 파라미터를 획득하고, 키 생성 파라미터는 공통 파라미터와 공통 난수를 포함하고; 공통 파라미터와 개인키 생성 알고리즘에 기반하여, 개인키 프래그먼트를 획득한다.
본 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 장치는, 멀티 임계값 동형 암호화 메커니즘을 구축하여, 복수의 데이터 제공 노드의 암호화 데이터에 대해 동형 암호화를 수행하는 목적을 구현할 수 있고, 동형 암호화의 응용 장면을 확장할 뿐만 아니라, 조정 계단에서 산출 공개키에 기반하여 암호화 데이터를 더 암호화하여, 연합 학습 모델 트레이닝의 안전성을 더 잘 확보할 수 있다. 임계값 동형 암호화 기술에 기반하여, 복수의 데이터 소스로부터 데이터를 동시에 획득하여 시뮬레이션 트레이닝함으로써, 곳곳의 데이터의 안전, 및 모델 트레이닝의 안전을 확보할 수 있다. 또한 데이터 고립 섬을 타파하는 것에 기반하여, 복수의 데이터 소스의 동시에 트레이닝을 구현하여, 성능이 더 좋은 기계 학습 모델을 획득한다. 또한 동형 암호화 알고리즘에 기반하여 데이터를 전송하여, 데이터 제공 노드의 샘플 데이터의 안전성을 보호하고, 데이터 제공자의 정보 유출을 방지할 수 있을 뿐만 아니라, 트레이닝 모델의 모델 파라미터의 안전성을 확보할 수 있다.
도 8은 본 출원의 일 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 장치의 구조 개략도이다. 도 8에 도시된 바와 같이, 조정 노드에 적용되는 당해 멀티소스 데이터의 데이터 처리 장치는 제1 수신 모듈(80), 제2 수신 모듈(81), 조정 모듈(82), 암호화 모듈(83) 및 송신 모듈(84)을 포함한다.
제1 수신 모듈(80)은, 각 데이터 제공 노드가 송신한 산출 키를 수신한다.
제2 수신 모듈(81)은, 각 데이터 제공 노드가 송신한 암호문 데이터를 수신하고, 암호문 데이터는 데이터 제공 노드가 암호화 공개키를 사용하여 자체의 샘플 데이터를 암호화한 후에 생성된다.
조정 모듈(82)은, 데이터 제공 노드를 조정하여 기계 학습 모델의 트레이닝을 수행하고, 기계 학습 모델의 모델 파라미터를 출력한다.
암호화 모듈(83)은, 산출 공개키를 사용하여 모델 파라미터를 암호화하여, 암호문 모델 파라미터를 획득한다.
송신 모듈(84)은, 암호문 모델 파라미터를 각 데이터 제공 노드 및 데이터 사용 노드에 각각 송신하여 복호화한다.
본 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 장치는, 멀티 임계값 동형 암호화 메커니즘을 구축하여, 복수의 데이터 제공 노드의 암호화 데이터에 대해 동형 암호화를 수행하는 목적을 구현할 수 있고, 동형 암호화의 응용 장면을 확장할 뿐만 아니라, 조정 계단에서 산출 공개키에 기반하여 암호화 데이터를 더 암호화하여, 연합 학습 모델 트레이닝의 안전성을 더 잘 확보할 수 있다. 임계값 동형 암호화 기술에 기반하여, 복수의 데이터 소스로부터 데이터를 동시에 획득하여 시뮬레이션 트레이닝함으로써, 곳곳의 데이터의 안전, 및 모델 트레이닝의 안전을 확보할 수 있다. 또한 데이터 고립 섬을 타파하는 것에 기반하여, 복수의 데이터 소스의 동시에 트레이닝을 구현하여 성능이 더 좋은 기계 학습 모델을 획득한다. 또한 동형 암호화 알고리즘에 기반하여 데이터를 전송하여, 데이터 제공 노드의 샘플 데이터의 안전성을 보호하고, 데이터 제공자의 정보 유출을 방지할 수 있을 뿐만 아니라, 트레이닝 모델의 모델 파라미터의 안전성을 확보할 수 있다.
설명해야 하는 바로는, 전술한 멀티소스 데이터의 데이터 처리 방법의 실시예의 해석 설명은 당해 실시예의 멀티소스 데이터의 데이터 처리 장치에 적용될 수도 있고, 여기서 더 이상 설명하지 않는다.
상술한 실시예를 구현하기 위해, 본 출원은 전자 기기를 더 제공하고, 프로세서(90)와 메모리(91)를 포함하고, 상기 프로세서(90)가 상기 메모리(91)에 저장된 실행 가능 프로그램 코드를 판독하는 것을 통해 상기 실행 가능 프로그램 코드에 대응하는 프로그램을 실행하여, 본 출원의 전술한 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법을 구현한다.
상술한 실시예를 구현하기 위해, 본 출원은 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 저장 매체를 더 제공하고, 당해 프로그램이 프로세서에 의해 실행될 경우, 본 출원의 전술한 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법을 구현한다.
상술한 실시예를 구현하기 위해, 본 출원은 컴퓨터 프로그램 제품을 더 제공하고, 상기 컴퓨터 프로그램 제품 중의 명령이 프로세서에 의해 실행될 경우, 본 출원의 전술한 실시예에서 제공하는 멀티소스 데이터의 데이터 처리 방법을 구현한다.
본 명세서의 설명에서, 참고 용어 “일 실시예”, “일부 실시예”, “예시”, “구체적인 예시”, 또는 “일부 예시” 등 설명은 당해 실시예 또는 예시와 함께 설명된 구체적인 특징, 구조, 재료 또는 특점이 본 출원의 적어도 하나의 실시예 또는 예시에 포함됨을 의미한다. 본 명세서에서 상기 용어에 대한 예시적 표현은 동일한 실시예 또는 예시를 반드시 가리키는 것은 아니다. 또한, 설명된 구체적인 특징, 구조, 재료 또는 특점은 임의의 하나 또는 다수의 실시예 또는 예시에서 적절한 형태로 결합될 수 있다. 또한, 본 기술 분야의 통상의 지식을 가진 자는 본 명세서에서 설명된 서로 다른 실시예 또는 예시 및 서로 다른 실시예 또는 예시의 구성요소를 결합하고 조합할 수 있다.
또한, 용어 “제1”, “제2”는 설명의 목적으로만 이용되며, 상대적인 중요성을 나타내거나 또는 암시하거나, 또는 나타낸 구성요소의 수량을 암묵적으로 가리키는 것으로 이해해서는 안된다. 따라서 “제1”, “제2”로 한정된 구성요소는 적어도 하나의 당해 구성요소를 명시 또는 암묵적으로 포함할 수 있다. 본 출원에 대한 설명에서 별도로 명확하고 구체적인 한정이 없는 한, “다수”의 의미는 적어도 2개, 예를 들어 2개 또는 3개 등이다.
흐름도 또는 여기서 기타 방식으로 설명된 모든 프로세스 또는 방법에 관한 설명은, 특정의 로직 기능 또는 프로세스의 단계를 구현하기 위한 하나 또는 그 이상의 실행가능 명령의 코드를 포함하는 모듈, 세그먼트 또는 파트를 나타내는 것으로 이해할 수 있다. 또한 본 출원의 바람직한 실시형태의 범위는 그 밖의 다른 구현을 포함하며, 여기서는 예시된 또는 토론된 순서에 따르지 않아도 된다. 이는 언급된 기능이 실질적으로 동시에 또는 상반되는 순서에 따라 기능을 수행하는 것을 포함하며 본 출원의 실시예가 속한 기술 분야의 통상의 지식을 가진 자는 이를 이해해야 한다.
흐름도에 나타내거나 또는 여기서 기타 방식으로 설명된 로직 및/또는 단계는 예를 들어, 로직 기능을 구현하기 위한 실행가능 명령의 시퀀스 리스트로 볼 수 있으며, 명령 실행 시스템, 장치 또는 기기(예를 들어 컴퓨터 기반 시스템, 또는 프로세서를 포함하는 시스템, 또는 명령 실행 시스템, 장치 또는 기기로부터 명령을 추출하여 명령을 실행시킬 수 있는 기타 시스템)가 사용하도록, 또는 이들 명령 실행 시스템, 장치 또는 기기와 결합하여 사용되도록, 모든 컴퓨터 판독 가능 매체에서 구체적으로 구현될 수 있다. 본 명세서에서 “컴퓨터 판독 가능 매체”는 프로그램을 포함, 저장, 통신, 전파 또는 전송하여 명령 실행 시스템, 장치 또는 기기가 사용하도록 하거나, 또는 이들 명령 실행 시스템, 장치 또는 기기와 결합하여 사용될 수 있는 모든 장치일 수 있다. 컴퓨터 판독 가능 매체의 더 구체적인 예시(비전면적인 리스트, non exhaustive list)로는, 하나 또는 다수의 배선을 가진 전기적 연결부(전자 장치), 휴대용 컴퓨터 디스크 박스(자기 장치), 램(RAM), 롬(ROM), 소거 가능 및 프로그램 가능한 판독전용 메모리(EPROM 또는 플래시 메모리), 광섬유 장치, 및 휴대용 씨디롬(CDROM)을 포함한다. 또한, 컴퓨터 판독 가능 매체는 상기 프로그램이 인쇄될 수 있는 용지 또는 기타 적절한 매체일 수도 있다. 그 이유는, 예를 들어 용지 또는 기타 매체에 대해 광학적 스캔을 진행하고, 이어서 편집, 디코딩 또는 필요시 기타 적절한 방식으로 처리하여 전자 형태로 상기 프로그램을 얻은 후 이를 컴퓨터 메모리에 저장할 수 있기 때문이다.
본 출원의 각 파트는 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있음을 이해해야 한다. 상기 실시형태에서, 다수의 단계 또는 방법은, 메모리에 저장되어 적절한 명령 실행 시스템에 의해 실행되는 소프트웨어 또는 펌웨어를 통해 구현될 수 있다. 예를 들어, 하드웨어를 통해 구현되는 경우, 다른 실시형태에서와 마찬가지로, 본 분야에서 널리 알려진 하기 기술 중의 임의의 하나 또는 이들의 조합을 통해 구현될 수 있다. 상기 “기술”은 데이터 신호에 대해 로직 기능을 구현하기 위한 로직 게이트 회로를 갖춘 이산 로직 회로, 적절한 조합 로직 게이트 회로를 갖춘 전용 집적 회로, 프로그램 가능 게이트 어레이(PGA), 필드-프로그램 가능 게이트 어레이(FPGA) 등이다.
본 기술 분야 통상의 지식을 가진 자는, 상기 실시예에 따른 방법에 포함된 전체 또는 일부 단계는 프로그램을 통해 관련 하드웨어를 명령함으로써 구현할 수 있으며, 상기 프로그램은 컴퓨터 판독 가능 매체에 저장되며, 당해 프로그램은 실행 시 방법 실시예에 따른 단계 중 하나 또는 그 조합을 포함함을 이해할 수 있다.
또한, 본 출원의 각 실시예에 따른 각 기능 유닛은 하나의 처리 모듈에 집적될 수 있으며, 각 유닛이 독립적으로, 물리적으로 존재할 수도 있으며, 2개 또는 2개 이상의 유닛이 하나의 모듈에 집적될 수도 있다. 상기 집적된 모듈은 하드웨어의 형태로 구현될 수 있으며, 소프트웨어 기능 모듈의 형태로 구현될 수도 있다. 상기 집적된 모듈은 소프트웨어 기능 모듈의 형태로 구현되고 독립적인 제품으로 판매 또는 사용되는 경우, 하나의 컴퓨터 판독 가능 저장 매체에 저장될 수도 있다.
이상 언급된 저장 매체는 롬, 자기 디스크 또는 씨디롬 등일 수 있다. 위에서 본 출원의 실시예를 나타내고 설명했으나, 상기 실시예는 예시적인 것임을 이해할 수 있으며, 본 출원을 한정하는 것으로 이해해서는 안된다. 본 기술 분야의 통상의 지식을 가진 자는 본 출원의 범위 내에서 상기 실시예를 변경, 수정, 교체 및 변형할 수 있다.
Claims (22)
- 데이터 제공 노드에 적용되는 멀티소스 데이터의 데이터 처리 방법에 있어서,
상기 데이터 제공 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하는 단계 - 기타 참여 노드는 기타 데이터 제공 노드와 데이터 사용 노드를 포함함 -;
상기 암호화 공개키를 사용하여 로컬 샘플 데이터를 암호화하여, 암호문 데이터를 생성하고, 조정 노드에 송신하여 기계 학습 모델의 트레이닝을 수행하는 단계;
상기 조정 노드에서 트레이닝된 상기 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하는 단계 - 상기 암호문 모델 파라미터는 상기 조정 노드가 상기 산출 공개키와 수신한 상기 암호문 데이터에 따라 결정됨 -; 및
상기 개인키 프래그먼트를 사용하여, 상기 암호문 모델 파라미터를 복호화하고, 복호화 후의 모델 파라미터 프래그먼트를 상기 데이터 사용 노드에 송신하는 단계;를 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 방법. - 제1항에 있어서,
상기 데이터 제공 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하는 단계는,
상기 개인키 프래그먼트를 생성하고, 상기 개인키 프래그먼트에 기반하여 상기 데이터 제공 노드 자체의 암호화 공개키 프래그먼트와 상기 산출 공개키에 대응되는 목표 중간 결과를 생성하는 단계;
상기 암호화 공개키 프래그먼트와 상기 목표 중간 결과를 브로드캐스트하는 단계;
상기 기타 참여 노드가 송신한 각자의 상기 암호화 공개키 프래그먼트와 상기 목표 중간 결과를 수신하는 단계; 및
각 상기 암호화 공개키 프래그먼트에 기반하여, 상기 암호화 공개키를 생성하고, 각 상기 목표 중간 결과에 기반하여, 상기 산출 공개키를 생성하는 단계;를 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 방법. - 제2항에 있어서,
상기 산출 공개키를 생성한 후,
상기 산출 공개키를 상기 조정 노드에 송신하는 단계를 더 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 방법. - 제2항에 있어서,
상기 데이터 제공 노드의 개인키 프래그먼트를 생성하는 단계는,
키 생성 파라미터를 획득하는 단계 - 상기 키 생성 파라미터는 공통 파라미터와 공통 난수를 포함함 -; 및
상기 공통 파라미터와 개인키 생성 알고리즘에 기반하여, 상기 개인키 프래그먼트를 획득하는 단계;를 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 방법. - 제4항에 있어서,
상기 개인키 프래그먼트에 기반하여 상기 데이터 제공 노드 자체의 암호화 공개키 프래그먼트와 상기 산출 공개키에 대응되는 목표 중간 결과를 생성하는 단계는,
상기 개인키 프래그먼트, 상기 공통 난수 및 암호화 공개키 생성 알고리즘에 기반하여, 상기 암호화 공개키 프래그먼트를 생성하는 단계; 및
상기 개인키 프래그먼트와 산출 공개키 생성 알고리즘에 기반하여, 상기 목표 중간 결과를 생성하는 단계;를 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 방법. - 제5항에 있어서,
상기 개인키 프래그먼트와 산출 공개키 생성 알고리즘에 기반하여, 상기 목표 중간 결과를 생성하는 단계는,
상기 개인키 프래그먼트, 상기 공통 난수 및 산출 공개키 생성 알고리즘에 기반하여, 상기 산출 공개키의 제1 중간 결과를 생성하고, 상기 제1 중간 결과를 브로드캐스트하는 단계;
상기 기타 데이터 제공 노드가 송신한 각자의 상기 제1 중간 결과를 수신하는 단계;
자체의 상기 제1 중간 결과와 상기 기타 데이터 제공 노드의 상기 제1 중간 결과에 기반하여, 상기 산출 공개키의 제2 중간 결과를 획득하는 단계; 및
상기 개인키 프래그먼트, 상기 공통 난수 및 상기 제2 중간 결과에 기반하여, 상기 산출 공개키의 목표 중간 결과를 획득하고, 상기 목표 중간 결과를 브로드캐스트하는 단계;를 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 방법. - 데이터 사용 노드에 적용되는 멀티소스 데이터의 데이터 처리 방법에 있어서,
상기 데이터 사용 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하는 단계 - 상기 기타 참여 노드는 데이터 제공 노드를 포함함 -;
상기 조정 노드에서 트레이닝된 상기 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하는 단계 - 상기 암호문 모델 파라미터는 상기 조정 노드가 상기 산출 공개키와 수신한 상기 데이터 제공 노드의 암호문 데이터에 따라 결정됨 -;
상기 개인키 프래그먼트를 사용하여, 상기 암호문 모델 파라미터를 복호화하여, 제1 모델 파라미터 프래그먼트를 획득하는 단계;
상기 기타 참여 노드가 송신한 제2 모델 파라미터 프래그먼트를 수신하는 단계; 및
상기 제1 모델 파라미터 프래그먼트와 상기 제2 모델 파라미터 프래그먼트에 따라, 상기 기계 학습 모델을 획득하는 단계;를 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 방법. - 제7항에 있어서,
상기 데이터 사용 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하는 단계는,
상기 데이터 사용 노드의 개인키 프래그먼트를 생성하고, 상기 개인키 프래그먼트에 기반하여 상기 데이터 사용 노드 자체의 암호화 공개키 프래그먼트를 생성하는 단계; 및
상기 암호화 공개키 프래그먼트를 브로드캐스트하는 단계;를 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 방법. - 제8항에 있어서,
상기 상기 데이터 사용 노드의 개인키 프래그먼트를 생성하는 단계는,
키 생성 파라미터를 획득하는 단계 - 상기 키 생성 파라미터는 공통 파라미터와 공통 난수를 포함함 -; 및
상기 공통 파라미터와 개인키 생성 알고리즘에 기반하여, 상기 개인키 프래그먼트를 획득하는 단계;를 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 방법. - 조정 노드에 적용되는 멀티소스 데이터의 데이터 처리 방법에 있어서,
각 데이터 제공 노드가 송신한 산출 키를 수신하는 단계;
각 상기 데이터 제공 노드가 송신한 암호문 데이터를 수신하는 단계 - 상기 암호문 데이터는 상기 데이터 제공 노드가 암호화 공개키를 사용하여 자체의 샘플 데이터를 암호화한 후에 생성됨 -;
상기 데이터 제공 노드를 조정하여 기계 학습 모델의 트레이닝을 수행하고, 상기 기계 학습 모델의 모델 파라미터를 출력하는 단계;
상기 산출 공개키를 사용하여 상기 모델 파라미터를 암호화하여, 암호문 모델 파라미터를 획득하는 단계; 및
상기 암호문 모델 파라미터를 각 상기 데이터 제공 노드 및 데이터 사용 노드에 각각 송신하여 복호화하는 단계;를 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 방법. - 데이터 제공 노드에 적용되는 멀티소스 데이터의 데이터 처리 장치에 있어서,
상기 데이터 제공 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하기 위한 키 생성 모듈 - 기타 참여 노드는 기타 데이터 제공 노드와 데이터 사용 노드를 포함함 -;
상기 암호화 공개키를 사용하여 로컬 샘플 데이터를 암호화하여, 암호문 데이터를 생성하고, 조정 노드에 송신하여 기계 학습 모델의 트레이닝을 수행하기 위한 암호화 모듈;
상기 조정 노드에서 트레이닝된 상기 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하기 위한 수신 모듈 - 상기 암호문 모델 파라미터는 상기 조정 노드가 상기 산출 공개키와 수신한 상기 암호문 데이터에 따라 결정됨 -; 및
상기 개인키 프래그먼트를 사용하여, 상기 암호문 모델 파라미터를 복호화하고, 복호화 후의 모델 파라미터 프래그먼트를 상기 데이터 사용 노드에 송신하기 위한 복호화 모듈;을 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 장치. - 제11항에 있어서,
상기 키 생성 모듈은,
상기 데이터 제공 노드의 개인키 프래그먼트를 생성하고, 상기 개인키 프래그먼트에 기반하여 상기 데이터 제공 노드 자체의 암호화 공개키 프래그먼트와 상기 산출 공개키에 대응되는 목표 중간 결과를 생성하기 위한 제1 생성 유닛;
상기 암호화 공개키 프래그먼트와 상기 목표 중간 결과를 브로드캐스트하기 위한 송신 유닛;
상기 기타 참여 노드가 송신한 각자의 상기 암호화 공개키 프래그먼트와 상기 목표 중간 결과를 수신하기 위한 수신 유닛; 및
각 상기 암호화 공개키 프래그먼트와 각 상기 목표 중간 결과에 따라, 상기 암호화 공개키와 상기 산출 공개키를 생성하기 위한 제2 생성 유닛;을 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 장치. - 제12항에 있어서,
상기 송신 유닛은 또한, 상기 산출 공개키를 생성한 후, 상기 산출 공개키를 상기 조정 노드에 송신하는데 사용되는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 장치. - 제12항에 있어서,
상기 제1 생성 유닛은 또한,
키 생성 파라미터를 획득하고, 상기 키 생성 파라미터는 공통 파라미터와 공통 난수를 포함하고;
상기 공통 파라미터와 개인키 생성 알고리즘에 기반하여, 상기 개인키 프래그먼트를 획득하는데 사용되는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 장치. - 제14항에 있어서,
상기 제1 생성 유닛은 또한,
상기 개인키 프래그먼트, 상기 공통 난수 및 암호화 공개키 생성 알고리즘에 기반하여, 상기 암호화 공개키 프래그먼트를 생성하고;
상기 개인키 프래그먼트와 산출 공개키 생성 알고리즘에 기반하여, 상기 목표 중간 결과를 생성하는데 사용되는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 장치. - 제15항에 있어서,
상기 제1 생성 유닛은 또한,
상기 개인키 프래그먼트, 상기 공통 난수 및 산출 공개키 생성 알고리즘에 기반하여, 상기 산출 공개키의 제1 중간 결과를 생성하고, 상기 제1 중간 결과를 브로드캐스트하고;
상기 기타 데이터 제공 노드가 송신한 각자의 상기 제1 중간 결과를 수신하고;
자체의 상기 제1 중간 결과와 상기 기타 데이터 제공 노드의 상기 제1 중간 결과에 기반하여, 상기 산출 공개키의 제2 중간 결과를 획득하고;
상기 개인키 프래그먼트, 상기 공통 난수 및 상기 제2 중간 결과에 기반하여, 상기 산출 공개키의 목표 중간 결과를 획득하고, 상기 목표 중간 결과를 브로드캐스트하는데 사용되는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 장치. - 데이터 사용 노드에 적용되는 멀티소스 데이터의 데이터 처리 장치에 있어서,
상기 데이터 사용 노드 자체의 개인키 프래그먼트, 암호화 공개키 및 산출 공개키를 생성하기 위한 키 생성 모듈 - 상기 기타 참여 노드는 데이터 제공 노드를 포함함 -;
상기 조정 노드에서 트레이닝된 상기 기계 학습 모델의 모델 파라미터에 대응되는 암호문 모델 파라미터를 수신하기 위한 제1 수신 모듈 - 상기 암호문 모델 파라미터는 상기 조정 노드가 상기 산출 공개키와 수신한 상기 데이터 제공 노드의 암호문 데이터에 따라 결정됨 -;
상기 개인키 프래그먼트를 사용하여, 상기 암호문 모델 파라미터를 복호화하여, 제1 모델 파라미터 프래그먼트를 획득하기 위한 복호화 모듈;
상기 기타 참여 노드가 송신한 제2 모델 파라미터 프래그먼트를 수신하기 위한 제2 수신 모듈; 및
상기 제1 모델 파라미터 프래그먼트와 상기 제2 모델 파라미터 프래그먼트에 따라, 상기 기계 학습 모델을 획득하기 위한 획득 모듈;을 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 장치. - 제17항에 있어서,
상기 키 생성 모듈은,
상기 데이터 사용 노드의 개인키 프래그먼트를 생성하고, 상기 개인키 프래그먼트에 기반하여 상기 데이터 사용 노드 자체의 암호화 공개키 프래그먼트를 생성하기 위한 생성 유닛; 및
상기 암호화 공개키 프래그먼트를 브로드캐스트하기 위한 송신 유닛;을 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 장치. - 제18항에 있어서,
상기 생성 유닛은 또한,
키 생성 파라미터를 획득하고, 상기 키 생성 파라미터는 공통 파라미터와 공통 난수를 포함하고;
상기 공통 파라미터와 개인키 생성 알고리즘에 기반하여, 상기 개인키 프래그먼트를 획득하는데 사용되는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 장치. - 조정 노드에 적용되는 멀티소스 데이터의 데이터 처리 장치에 있어서,
데이터 제공 노드가 송신한 산출 키를 수신하기 위한 제1 수신 모듈;
각 상기 데이터 제공 노드가 송신한 암호문 데이터를 수신하기 위한 제2 수신 모듈 - 상기 암호문 데이터는 상기 데이터 제공 노드가 암호화 공개키를 사용하여 자체의 샘플 데이터를 암호화한 후에 생성됨 -;
상기 데이터 제공 노드를 조정하여 기계 학습 모델의 트레이닝을 수행하고, 상기 기계 학습 모델의 모델 파라미터를 출력하기 위한 조정 모듈;
상기 산출 공개키를 사용하여 상기 모델 파라미터를 암호화하여, 암호문 모델 파라미터를 획득하기 위한 암호화 모듈; 및
상기 암호문 모델 파라미터를 각 상기 데이터 제공 노드 및 데이터 사용 노드에 각각 송신하여 복호화하기 위한 송신 모듈;을 포함하는,
것을 특징으로 하는 멀티소스 데이터의 데이터 처리 장치. - 전자 기기에 있어서,
프로세서와 메모리를 포함하고;
상기 프로세서가 상기 메모리에 저장된 실행 가능 프로그램 코드를 판독하는 것을 통해 상기 실행 가능 프로그램 코드에 대응하는 프로그램을 실행하여, 제1항 내지 제6항 중 어느 한 항의 멀티소스 데이터의 데이터 처리 방법, 또는 제7항 내지 제9항 중 어느 한 항의 멀티소스 데이터의 데이터 처리 방법, 또는 제10항의 멀티소스 데이터의 데이터 처리 방법을 구현하는,
것을 특징으로 하는 전자 기기. - 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독 가능 저장 매체에 있어서,
당해 프로그램이 프로세서에 의해 실행될 경우, 제1항 내지 제6항 중 어느 한 항의 멀티소스 데이터의 데이터 처리 방법, 또는 제7항 내지 제9항 중 어느 한 항의 멀티소스 데이터의 데이터 처리 방법, 또는 제10항의 멀티소스 데이터의 데이터 처리 방법을 구현하는,
것을 특징으로 하는 컴퓨터 판독 가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110369324.2 | 2021-04-06 | ||
CN202110369324.2A CN113807537B (zh) | 2021-04-06 | 2021-04-06 | 多源数据的数据处理方法、装置及电子设备、存储介质 |
PCT/CN2022/085192 WO2022213957A1 (zh) | 2021-04-06 | 2022-04-02 | 多源数据的数据处理方法、装置及电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230148200A true KR20230148200A (ko) | 2023-10-24 |
Family
ID=78892972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237031868A KR20230148200A (ko) | 2021-04-06 | 2022-04-02 | 멀티소스 데이터의 데이터 처리 방법, 장치 및 전자 기기, 저장 매체 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240048360A1 (ko) |
JP (1) | JP2024510658A (ko) |
KR (1) | KR20230148200A (ko) |
CN (1) | CN113807537B (ko) |
WO (1) | WO2022213957A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807537B (zh) * | 2021-04-06 | 2023-12-05 | 京东科技控股股份有限公司 | 多源数据的数据处理方法、装置及电子设备、存储介质 |
CN114331658B (zh) * | 2021-12-30 | 2024-09-10 | 航天信息股份有限公司 | 一种税电指标计算方法及装置 |
CN117978388B (zh) * | 2024-03-29 | 2024-06-07 | 北京数牍科技有限公司 | 密钥生成的方法、装置、设备、介质及程序产品 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10348704B2 (en) * | 2015-07-30 | 2019-07-09 | Helder Silvestre Paiva Figueira | Method for a dynamic perpetual encryption cryptosystem |
US9876636B2 (en) * | 2016-01-07 | 2018-01-23 | Empire Technology Development Llc | Homomorphic public-key encryption scheme |
US11586743B2 (en) * | 2018-03-22 | 2023-02-21 | Via Science, Inc. | Secure data processing |
CN109241016B (zh) * | 2018-08-14 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN109992979B (zh) * | 2019-03-15 | 2020-12-11 | 暨南大学 | 一种岭回归训练方法、计算设备、介质 |
CN110348231B (zh) * | 2019-06-18 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 实现隐私保护的数据同态加解密方法及装置 |
CN110572253B (zh) * | 2019-09-16 | 2023-03-24 | 济南大学 | 一种联邦学习训练数据隐私性增强方法及系统 |
CN111460478B (zh) * | 2020-03-30 | 2022-05-13 | 西安电子科技大学 | 一种面向协同深度学习模型训练的隐私保护方法 |
CN111898137A (zh) * | 2020-06-30 | 2020-11-06 | 深圳致星科技有限公司 | 一种联邦学习的隐私数据处理方法、设备及系统 |
CN112232527B (zh) * | 2020-09-21 | 2024-01-23 | 北京邮电大学 | 安全的分布式联邦深度学习方法 |
CN112183767A (zh) * | 2020-09-30 | 2021-01-05 | 哈尔滨工业大学(深圳) | 一种多密钥下模型聚合的联邦学习方法及相关设备 |
CN112183765B (zh) * | 2020-10-30 | 2022-06-14 | 浙江大学 | 一种用于共享学习的多源多模态数据预处理方法及系统 |
CN113807537B (zh) * | 2021-04-06 | 2023-12-05 | 京东科技控股股份有限公司 | 多源数据的数据处理方法、装置及电子设备、存储介质 |
-
2021
- 2021-04-06 CN CN202110369324.2A patent/CN113807537B/zh active Active
-
2022
- 2022-04-02 JP JP2023557440A patent/JP2024510658A/ja active Pending
- 2022-04-02 US US18/281,694 patent/US20240048360A1/en active Pending
- 2022-04-02 WO PCT/CN2022/085192 patent/WO2022213957A1/zh active Application Filing
- 2022-04-02 KR KR1020237031868A patent/KR20230148200A/ko active Search and Examination
Also Published As
Publication number | Publication date |
---|---|
CN113807537A (zh) | 2021-12-17 |
JP2024510658A (ja) | 2024-03-08 |
CN113807537B (zh) | 2023-12-05 |
WO2022213957A1 (zh) | 2022-10-13 |
US20240048360A1 (en) | 2024-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11206132B2 (en) | Multiparty secure computing method, device, and electronic device | |
US20230108682A1 (en) | Data processing method and apparatus, device, and computer-readable storage medium | |
KR20230148200A (ko) | 멀티소스 데이터의 데이터 처리 방법, 장치 및 전자 기기, 저장 매체 | |
JP2009529714A (ja) | 復号可能かつ検索可能な暗号化のための方法およびシステム | |
JP2016158189A (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
WO2021106077A1 (ja) | ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム | |
CN105024807A (zh) | 数据处理方法及系统 | |
WO2022213956A1 (zh) | 数据传输方法、装置及电子设备、存储介质 | |
CN112000985B (zh) | 具有指定条件关键字搜索功能的代理重加密方法和系统 | |
CN113225371A (zh) | 一种电力物联网终端控制指令加解密系统及方法 | |
Yuan et al. | Novel threshold changeable secret sharing schemes based on polynomial interpolation | |
CN117828673B (zh) | 基于区块链的数据流通与隐私保护方法及装置 | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
CN114301677A (zh) | 秘钥协商方法、装置、电子设备及存储介质 | |
Prajapat et al. | A privacy preserving quantum authentication scheme for secure data sharing in wireless body area networks | |
JPWO2016199507A1 (ja) | 鍵交換方法、鍵交換システム、鍵配送装置、通信装置、およびプログラム | |
KR101695361B1 (ko) | 페어링 연산 및 비밀키를 이용한 술어 암호화 방법 | |
KR20140148295A (ko) | 브로드캐스트 암호화 방법 및 시스템 | |
CN113645022B (zh) | 一种确定隐私集合交集方法、装置、电子设备及存储介质 | |
Peng et al. | On the security of fully homomorphic encryption for data privacy in Internet of Things | |
CN115361196A (zh) | 一种基于区块链网络的业务交互方法 | |
Lee et al. | Three-party authenticated key agreements for optimal communication | |
Wang et al. | Secure decision tree classification with decentralized authorization and access control | |
CN109218016B (zh) | 数据传输方法及装置、服务器、计算机设备和存储介质 | |
KR101865703B1 (ko) | 키 생성 방법 및 장치, 암호화 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |