KR20230064893A - 분산 해독 키 기반의 연합 학습 방법 - Google Patents

분산 해독 키 기반의 연합 학습 방법 Download PDF

Info

Publication number
KR20230064893A
KR20230064893A KR1020210150473A KR20210150473A KR20230064893A KR 20230064893 A KR20230064893 A KR 20230064893A KR 1020210150473 A KR1020210150473 A KR 1020210150473A KR 20210150473 A KR20210150473 A KR 20210150473A KR 20230064893 A KR20230064893 A KR 20230064893A
Authority
KR
South Korea
Prior art keywords
sequence
server
decryption
client
parameter
Prior art date
Application number
KR1020210150473A
Other languages
English (en)
Other versions
KR102651443B1 (ko
Inventor
임혁
박재형
Original Assignee
광주과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 광주과학기술원 filed Critical 광주과학기술원
Priority to KR1020210150473A priority Critical patent/KR102651443B1/ko
Publication of KR20230064893A publication Critical patent/KR20230064893A/ko
Application granted granted Critical
Publication of KR102651443B1 publication Critical patent/KR102651443B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 클라이언트로부터 개인 정보가 유출되는 것을 방지하기 위해, 분산 해독 키를 통한 파라미터의 부분 해독 및 동형암호 연산을 이용하여 글로벌 파라미터를 생성하는 연합 학습 방법에 관한 것이다. 본 발명의 일 실시예에 따른 분산 해독 키 기반의 연합 학습 방법은 각 클라이언트로부터 파라미터를 수신하는 단계, 상기 파라미터에 노이즈를 부가하여 암호 시퀀스를 생성하고, 상기 암호 시퀀스를 부분 해독하여 부분해독 시퀀스를 생성하는 단계, 상기 부분해독 시퀀스를 협동 서버에 송신하고, 상기 협동 서버로부터 완전해독 시퀀스의 평균값을 수신하는 단계, 상기 완전해독 시퀀스의 평균값에서 상기 노이즈의 평균값을 감산하여 글로벌 파라미터를 생성하는 단계 및 상기 글로벌 파라미터를 상기 각 클라이언트에 배포하는 단계를 포함하는 것을 특징으로 한다.

Description

분산 해독 키 기반의 연합 학습 방법{FEDERATED LEARNING METHOD BASED ON PARTIAL DECRYPTION KEY}
본 발명은 클라이언트로부터 개인 정보가 유출되는 것을 방지하기 위해, 분산 해독 키를 통한 파라미터의 부분 해독 및 동형암호 연산을 이용하여 글로벌 파라미터를 생성하는 연합 학습 방법에 관한 것이다.
연합 학습(federated learning)은 다수의 클라이언트와 하나의 서버가 협력하여 단일의 글로벌 모델을 학습하는 방법을 의미한다.
도 1을 참조하면, 연합 학습 방법 하에서, 각 클라이언트들(Client 1, 2, …, n)은 서버로부터 신경망 모델과 글로벌 파라미터를 다운로드한 후, 각자 자신의 데이터를 사용하여 글로벌 파라미터가 적용된 신경망 모델을 학습시키고, 학습된 파라미터(
Figure pat00001
, 이하 학습 파라미터)를 서버에 업로드한다. 한편, 서버는 클라이언트들로부터 수집된 학습 파라미터의 평균값(
Figure pat00002
)으로 글로벌 파라미터를 갱신하고, 갱신된 글로벌 파라미터를 클라이언트들에 배포(broadcast)한다.
이러한 연합 학습 과정에서 서버와 클라이언트 간에 송수신되는 데이터를 보호하기 위하여 데이터의 암호화 기술이 이용된다. 그러나, 기존의 연합 학습 방법에 의하면 모든 클라이언트가 모두 같은 해독 키(decryption key)를 이용하여 글로벌 파라미터를 해독함에 따라, 어느 한 클라이언트만 해킹되더라도 연합 학습 시스템 전체의 보안이 깨지는 문제가 있다.
또한, 기존의 연합 학습 방법에서, 일부 클라이언트가 공격자(attacker)인 경우 적대적 생성 신경망(Generative Adversarial Network; GAN)을 이용하여 다른 클라이언트의 고유 정보를 추론할 수 있다는 문제가 학계에 보고되고 있다.
이에 따라, 암호화 기술을 이용한 연합 학습 방법에 있어서, 학습 시스템의 보안 및 클라이언트의 데이터 프라이버시를 보장할 수 있는 기술이 요구되고 있다.
본 발명은 서버와 협동 서버가 각각 분산 해독 키를 이용하여 클라이언트에서 수집된 파라미터를 부분 해독하는 것을 목적으로 한다.
또한, 본 발명은 동형암호 연산을 이용하여 서버와 협동 서버 사이에서 송수신되는 중간 데이터에 대한 보안을 강화하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 해독 키 기반의 연합 학습 방법은 각 클라이언트로부터 파라미터를 수신하는 단계, 상기 파라미터에 노이즈를 부가하여 암호 시퀀스를 생성하고, 상기 암호 시퀀스를 부분 해독하여 부분해독 시퀀스를 생성하는 단계, 상기 부분해독 시퀀스를 협동 서버에 송신하고, 상기 협동 서버로부터 완전해독 시퀀스의 평균값을 수신하는 단계, 상기 완전해독 시퀀스의 평균값에서 상기 노이즈의 평균값을 감산하여 글로벌 파라미터를 생성하는 단계 및 상기 글로벌 파라미터를 상기 각 클라이언트에 배포하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 파라미터들, 상기 노이즈들, 상기 완전해독 시퀀스들의 평균값 및 상기 글로벌 파라미터는 퍼블릭 키를 통해 암호화되는 것을 특징으로 한다.
일 실시예에서, 상기 파라미터에 상기 노이즈를 부가하는 단계는 임의의 데이터를 생성하고, 퍼블릭 키를 통해 상기 임의의 데이터를 암호화하여 상기 노이즈를 생성하는 단계를 더 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 파라미터에 상기 노이즈를 부가하는 단계는 상기 각 클라이언트에 의해 암호화된 상기 파라미터에, 암호화된 상기 노이즈를 부가하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 파라미터에 상기 노이즈를 부가하는 단계는 동형암호 덧셈 연산을 통해 상기 파라미터에 상기 노이즈를 부가하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 협동 서버는 상기 각 클라이언트별 부분해독 시퀀스를 완전 해독하여 상기 각 클라이언트별로 완전해독 시퀀스를 생성하고, 상기 완전해독 시퀀스의 평균값을 생성하는 것을 특징으로 한다.
일 실시예에서, 상기 부분해독 시퀀스를 생성하는 단계는 제1 분산 해독 키를 통해 상기 암호 시퀀스를 부분 해독하여 상기 부분해독 시퀀스를 생성하는 단계를 포함하고, 상기 협동 서버는 제2 분산 해독 키를 통해 상기 각 클라이언트별 부분해독 시퀀스를 완전 해독하여 상기 각 클라이언트별 완전해독 시퀀스를 생성하는 것을 특징으로 한다.
일 실시예에서, 상기 글로벌 파라미터를 생성하는 단계는 상기 협동 서버에서 암호화된 상기 완전해독 시퀀스의 평균값에서, 암호화된 상기 노이즈의 평균값을 감산하여 상기 글로벌 파라미터를 생성하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 글로벌 파라미터를 생성하는 단계는 동형암호 뺄셈 연산을 통해 상기 완전해독 시퀀스의 평균값에서 상기 노이즈의 평균값을 감산하여 상기 글로벌 파라미터를 생성하는 단계를 포함하는 것을 특징으로 한다.
본 발명은 서버와 협동 서버가 각각 분산 해독 키를 이용하여 클라이언트에서 수집된 파라미터를 부분 해독함으로써, 서버 또는 협동 서버가 해킹되더라도 파라미터를 완전 해독할 수 없게 하여 시스템 보안이 강화되는 장점이 있다.
또한, 본 발명은 동형암호 연산을 이용하여 서버와 협동 서버 사이에서 송수신되는 중간 데이터에 대한 보안을 강화함으로써, 중간 데이터가 탈취되더라도 원 데이터를 복원할 수 없게 하여 시스템 보안이 강화되는 장점이 있다.
상술한 효과와 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.
도 1은 연합 학습을 설명하기 위한 도면.
도 2는 본 발명의 일 실시예에 따른 연합 학습 시스템을 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 분산 해독 키 기반의 연합 학습 방법을 도시한 순서도.
도 4는 본 발명의 일 실시예에 따른 분산 해독 키 기반의 연합 학습을 위한 서버, 협동 서버 및 클라이언트의 동작을 도시한 도면.
도 5는 동형암호를 설명하기 위한 도면.
도 6은 클라이언트, 서버, 협동 서버 사이에서 송수신되는 암호화 정보를 도시한 도면.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
본 명세서에서 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것으로, 특별히 반대되는 기재가 없는 한, 제1 구성요소는 제2 구성요소일 수도 있음은 물론이다.
또한, 본 명세서에서 "상부 (또는 하부)" 또는 구성요소의 "상 (또는 하)"에 임의의 구성이 배치된다는 것은, 임의의 구성이 상기 구성요소의 상면 (또는 하면)에 접하여 배치되는 것뿐만 아니라, 상기 구성요소와 상기 구성요소 상에 (또는 하에) 배치된 임의의 구성 사이에 다른 구성이 개재될 수 있음을 의미할 수 있다.
또한, 본 명세서에서 어떤 구성요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 상기 구성요소들은 서로 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성요소 사이에 다른 구성요소가 "개재"되거나, 각 구성요소가 다른 구성요소를 통해 "연결", "결합" 또는 "접속"될 수도 있는 것으로 이해되어야 할 것이다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서, "A 및/또는 B" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, A, B 또는 A 및 B 를 의미하며, "C 내지 D" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, C 이상이고 D 이하인 것을 의미한다
본 발명은 클라이언트로부터 개인 정보가 유출되는 것을 방지하기 위해, 분산 해독 키를 통한 파라미터의 부분 해독 및 동형암호 연산을 이용하여 글로벌 파라미터를 생성하는 연합 학습 방법에 관한 것이다. 이하, 도 2 내지 도 6을 참조하여 본 발명의 일 실시예에 따른 분산 해독 키 기반의 연합 학습 방법을 구체적으로 설명하도록 한다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 연합 학습 시스템(1)은 종래 연합 학습과 같이 서버(10)와, 해당 서버(10)에 접속된 복수의 클라이언트(20)를 포함하며, 추가적으로 서버(10)와 연계 동작하는 협동 서버(30)를 더 포함할 수 있다. 서버(10)와 클라이언트(20)는 신경망(neural network) 모델을 공유하며, 서버(10)는 클라이언트(20)에서 학습된 파라미터에 기초하여 신경망 모델에 적용되는 글로벌 파라미터를 생성 및 배포할 수 있다.
이러한 연합 학습 방법은 서버(10)가 각 클라이언트(20)의 데이터를 수집하지 않으므로 데이터 보안에 유리하고, 신경망 모델 학습을 위한 리소스를 분산하게 되어 학습 효율성이 높아 최근 다양한 분야에 이용되고 있다. 또한, 최근에는 데이터 보안을 강화하기 위하여 연합 학습 시 서버(10)와 클라이언트(20) 사이에서 송수신되는 데이터에 암호화 기술을 적용하고 있다.
그러나, 연합 학습 방법에서 모든 클라이언트(20)가 모두 같은 해독 키를 이용하는 현재 방법에 의하면, 어느 한 클라이언트(20)만 해킹되더라도 연합 학습 시스템(1) 전체의 보안이 깨지는 문제가 있으며, 일부 클라이언트(20)가 공격자인 경우 적대적 생성 신경망(GAN)을 통해 다른 클라이언트(20)의 고유 정보를 추론할 수 있다는 문제가 학계에 보고되고 있다.
본 발명은 이러한 문제점을 해결하기 위한 방법에 관한 것이며, 발명의 동작은 도 2에 도시된 서버(10)에 의해 수행될 수 있다. 한편, 후술되는 동작을 위하여 서버(10) 및 협동 서버(30)는 DSP(digital signal processor), DSPD(digital signal processing device), PLD(programmable logic device), 제어기(controller), 프로세서(processor), 마이크로컨트롤러(micro-controller), 메모리(memory) 중 적어도 하나의 물리적인 요소를 포함할 수 있다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 분산 해독 키 기반의 연합 학습 방법은 각 클라이언트(20)로부터 파라미터를 수신하는 단계(S10), 파라미터에 노이즈를 부가하여 암호 시퀀스를 생성하고, 암호 시퀀스에 대한 부분해독 시퀀스를 생성하는 단계(S20), 부분해독 시퀀스를 협동 서버(30)에 송신하는 단계(S30), 협동 서버(30)로부터 완전해독 시퀀스의 평균값을 수신하는 단계(S40), 완전해독 시퀀스의 평균값에서 노이즈의 평균값을 감산하여 글로벌 파라미터를 생성하는 단계(S50) 및 글로벌 파라미터를 각 클라이언트(20)에 배포하는 단계(S60)를 포함할 수 있다.
다만, 도 3에 도시된 분산 해독 키 기반의 연합 학습 방법은 일 실시예에 따른 것이고, 발명을 이루는 각 단계들이 도 3에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 구성요소가 부가, 변경 또는 삭제될 수 있다.
이하, 도 4를 참조하여, 도 3에 도시된 각 단계들을 구체적으로 설명하도록 하며, 이하에서는 서버(10)가 각 클라이언트(20)에서 학습된 파라미터의 평균값을 글로벌 파라미터로 선정하는 연합 학습 방식, 즉, FedAVG 방식을 이용하는 것으로 가정하여 설명하도록 한다.
도 4를 참조하면, 서버(10)와 클라이언트(20)는 신경망 모델을 공유할 수 있고, 서버(10)는 각 클라이언트(20)에게 글로벌 파라미터를 배포할 수 있다. 각 클라이언트(20)는 글로벌 파라미터가 적용된 신경망 모델을, 자신이 가진 훈련 데이터셋(training dataset)을 이용하여 학습시킬 수 있고, 이에 따라 신경망 모델의 각 노드(node)에 적용되는 파라미터(가중치(weight), 편향(bias) 등)가 학습될 수 있다.
서버(10)는 일정 주기에 따라 각 클라이언트(20)로부터 파라미터를 수신할 수 있다(S10). 여기서 일정 주기는 임의로 설정될 수 있으며, 각 주기마다 달라질 수도 있다.
각 클라이언트(20)는 서버(10)의 요청에 따라 자신이 학습한 파라미터(로컬 파라미터)를 서버(10)로 송신할 수 있다. 구체적으로, 제1 클라이언트는 자신이 학습한 제1 파라미터(w1)를, 제2 클라이언트는 자신이 학습한 제2 파라미터(w2)를, … 제n 클라이언트는 자신이 학습한 제n 파라미터(wn)를 서버(10)에 송신할 수 있다.
이 때, 각 클라이언트(20)는 파라미터를 암호화하여 송신할 수 있다. 본 발명에서 이용되는 암호 방식은 기 공개된 퍼블릭 키를 이용하여 암호화를 수행하되, 암호 해독을 위해서는 공개되지 않은 프라이빗 키가 필요한 공개 키 암호 방식(public-key cryptography)일 수 있다.
도 4에 도시된 바와 같이, 각 클라이언트(20)에는 한 쌍의 퍼블릭(public) 키 및 프라이빗(private) 키가 미리 저장될 수 있다. 이러한 퍼블릭 키와 프라이빗 키는 별도의 키 생성 서버(key generation server)에서 생성되되, 프라이빗 키는 개별 클라이언트(20)별로 달리 생성될 수 있다. 이에 따라, 각 클라이언트(20)는 같거나 다른 퍼블릭 키를 가질 수 있으나, 각 클라이언트(20)는 서로 다른 프라이빗 키를 가질 수 있다.
각 클라이언트(20)는 퍼블릭 키를 이용하여 자신이 학습한 파라미터를 암호화하고 이를 서버(10)에 송신할 수 있다. 이에 따라, 본 명세서에서 기술되는 파라미터는 퍼블릭 키에 의해 암호화된 데이터일 수 있다.
이하에서는 설명의 편의를 위해 제i 클라이언트로부터 송신된 파라미터를 mi로 표현하도록 하며, 제i 클라이언트가 갖는 퍼블릭 키에 의해 암호화된 파라미터를 [mi]pki로 표현하도록 한다.
한편, 이하에서는 제1 및 제2 클라이언트에서 수신된 파라미터를 통해 글로벌 파라미터를 생성하고, 이를 배포하는 과정을 설명하나, 후술되는 방법은 n개의 클라이언트(20)에 동일하게 적용될 수 있음은 당연하다.
각 클라이언트(20)로부터 파라미터가 수신되면, 서버(10)는 각 파라미터에 노이즈를 부가하여 암호 시퀀스를 생성하고, 암호 시퀀스를 부분 해독하여 부분해독 시퀀스를 생성할 수 있다(S20).
먼저, 서버(10)는 개별 클라이언트(20)별로 수신된 파라미터 각각에 노이즈를 부가하여 암호 시퀀스를 생성할 수 있다. 예를 들어, 제1 및 제2 클라이언트로부터 수신된 파라미터가 각각 [m1]pk1, [m2]pk2 인 경우 서버(10)는 각각의 파라미터에 노이즈를 부가하여 제1 및 제2 암호 시퀀스를 생성할 수 있다.
여기서 파라미터는 암호화된 데이터이므로, 서버(10)는 암호화된 노이즈를 파라미터에 부가할 수 있다. 이를 위해, 노이즈 역시 퍼블릭 키를 통해 암호화될 수 있다.
도 4에 도시된 바와 같이, 서버(10)에는 퍼블릭 키와, 후술되는 분할 프라이빗 키(partial private key, 이하, 분산 키)가 미리 저장될 수 있다. 이러한 퍼블릭 키와 분산 키는 별도의 키 생성 서버에서 생성될 수 있고, 서버(10)는 각 클라이언트(20)가 갖는 퍼블릭 키와, 각 클라이언트(20)가 갖는 프라이빗 키에 대응하는 분산 키를 가질 수 있다.
서버(10)는 퍼블릭 키를 이용하여 암호화된 노이즈를 생성하고, 이를 각 클라이언트(20)에서 수신된 파라미터에 부가할 수 있다. 보다 구체적으로, 서버(10)는 임의의 데이터를 생성하고, 퍼블릭 키를 통해 임의의 데이터를 암호화하여 노이즈를 생성할 수 있고, 생성된 노이즈를 파라미터에 부가할 수 있다.
예를 들어, 서버(10)는 제1 및 제2 클라이언트로부터 수신된 파라미터에 노이즈를 부가하기 위하여, 임의의 숫자(random number)인 r1, r2를 생성할 수 있고, 제1 클라이언트가 갖는 퍼블릭 키를 이용하여 r1을 암호화하고, 제2 클라이언트가 갖는 퍼블릭 키를 이용하여 r2를 암호화할 수 있다. 즉, 서버(10)는 암호화된 노이즈인 [r1]pk1, [r2]pk2를 생성할 수 있다.
이어서, 서버(10)는 제1 클라이언트로부터 수신된 파라미터 [m1]pk1에 [r1]pk1를 부가하여 [m1]pk1 + [r1]pk1의 제1 암호 시퀀스를 생성할 수 있고, 제2 클라이언트로부터 수신된 파라미터 [m2]pk2에 [r2]pk2를 부가하여 [m2]pk2 + [r2]pk2의 제2 암호 시퀀스를 생성할 수 있다. 이와 같은 방법으로 서버(10)는 모든 클라이언트(20)에 대한 암호 시퀀스를 생성할 수 있다.
한편, 서버(10)는 암호화된 파라미터와 암호화된 노이즈를 부가하기 위하여 동형암호(homomorphic encryption) 연산을 이용할 수 있다. 동형암호는 데이터를 암호화된 상태에서 연산할 수 있는 암호화 방법이다.
도 5를 참조하여 구체적으로 설명하면, 클라이언트 A는 파라미터 m1을 암호화하여 c1의 암호문을 생성할 수 있고, 클라이언트 B는 파라미터 m2를 암호화하여 c2의 암호문을 생성할 수 있다. c1 및 c2가 서버(10)에 송신되었을 때, 서버(10)는 c1과 c2를 더하여 새로운 암호문 cx를 생성할 수 있다. 이후, 클라이언트(20)는 서버(10)로부터 수신된 암호문 cx를 해독하여 m1+m2라는 결과를 얻을 수 있고, 이러한 관계가 성립되는 암호화 방법을 동형암호라 한다.
즉, 암호문들을 이용한 연산의 결과는 새로운 암호문이 되며, 새로운 암호문을 해독하여 얻은 결과는, 암호화 이전 데이터의 연산 결과와 같은 암호화 방식이 동형암호 방식이다.
전술한 암호 시퀀스를 생성함에 있어서, 서버(10)는 동형암호 덧셈 연산을 통해 파라미터에 노이즈를 부가할 수 있다. 이에 따라, 앞선 예시에서 암호화된 파라미터인 [m1]pk1와 암호화된 노이즈인 [r1]pk1는 암호화된 상태에서 더해질 수 있고, [m1]pk1 + [r1]pk1의 암호 시퀀스가 해독되는 경우 각 데이터가 암호화되기 이전 데이터의 연산 결과, 즉 m1+r1의 결과가 얻어질 수 있다.
암호 시퀀스 생성 이후, 서버(10)는 클라이언트(20)별 암호 시퀀스를 부분 해독하여 부분해독 시퀀스를 생성할 수 있다.
앞서 설명한 바와 같이, 서버(10)는 각 클라이언트(20)가 갖는 프라이빗 키에 대응하는 분산 키를 가질 수 있다. 특정 클라이언트(20)의 프라이빗 키는 분산되어 서버(10)와, 후술되는 협동 서버(30)에 각각 저장될 수 있으며, 서버(10)와 협동 서버(30)는 분산 키를 이용하여 데이터를 부분적으로 해독할 수 있다.
프라이빗 키는 도 4에 도시된 키 생성 서버에 의해 분산될 수 있으며, 키 생성 서버는 각 분산 키를 서버(10) 및 협동 서버(30)에 각각 배포할 수 있다. 이하에서는, 서버(10)에 저장된 분산 키를 제1 분산 해독 키, 협동 서버(30)에 저장된 분산 키를 제2 분산 해독 키로 지칭하도록 한다.
서버(10)는 제1 분산 해독 키를 통해 암호 시퀀스를 부분 해독하여 부분해독 시퀀스를 생성할 수 있다. 이하에서는 설명의 편의를 위해 제i 암호 시퀀스에 대응하는 부분해독 시퀀스를 CTi로 표현하도록 한다.
앞선 예에서, 제1 클라이언트에 대한 제1 암호 시퀀스가 [m1]pk1 + [r1]pk1이고, 제2 클라이언트에 대한 제2 암호 시퀀스가 [m2]pk2 + [r2]pk2일 때, 서버(10)는 제1 분산 해독 키를 통해 제1 및 제2 암호 시퀀스를 각각 부분 해독하여 CT1 및 CT2의 부분해독 시퀀스를 생성할 수 있다.
각 클라이언트(20)별로 부분해독 시퀀스가 생성되면, 서버(10)는 부분해독 시퀀스를 협동 서버(30)에 송신하고(S30), 협동 서버(30)로부터 완전해독 시퀀스의 평균값을 수신할 수 있다(S40). 여기서 협동 서버(30)는 서버(10)와 연계 동작하는 타 서버로서, 데이터 보안을 위해 서버(10)와는 다른 운영 주체에 의해 운영되는 서버일 수 있다.
앞서 설명한 바와 같이, 협동 서버(30)에는 각 클리이언트의 프라이빗 키가 분할된 제2 분산 해독 키가 저장될 수 있다. 협동 서버(30)는 제2 분산 해독 키를 통해 각 클라이언트(20)별 부분해독 시퀀스를 완전 해독하여 각 클라이언트(20)별 완전해독 시퀀스를 생성할 수 있고, 완전해독 시퀀스의 평균값을 생성할 수 있다.
한편, 분산 키를 이용한 완전 해독을 위해서는, 부분 해독되지 않은 원 데이터가 요구될 수 있다. 이에 따라, 서버(10)는 부분해독 시퀀스에 더하여 암호 시퀀스를 협동 서버(30)에 송신할 수 있다.
협동 서버(30)는 서버(10)로부터 수신된 부분해독 시퀀스에 제2 분산 해독 키를 적용하거나, 부분해독 시퀀스와 암호 시퀀스에 제2 분산 해독 키를 적용하여 완전해독 시퀀스를 생성할 수 있다.
앞선 예에서, 제1 클라이언트에 대한 제1 부분해독 시퀀스가 CT1이고, 제2 클라이언트에 대한 제2 부분해독 시퀀스가 CT2일 때, 협동 서버(30)는 제2 분산 해독 키를 통해 제1 및 제2 부분해독 시퀀스를 각각 완전 해독하여 m1+r1 및 m2+r2의 완전해독 시퀀스를 생성할 수 있다.
이어서, 협동 서버(30)는 완전해독 시퀀스의 평균값을 생성하고, 이를 서버(10)로 송신할 수 있다. 구체적으로, 협동 서버(30)는 완전해독 시퀀스의 평균값을 (m1+r1+m2+r2)/2로 생성할 수 있고, 이를 서버(10)로 송신할 수 있다.
한편, 협동 서버(30)는 데이터 송수신 때 발생할 수 있는 데이터 유출을 방지하기 위하여, 완전해독 시퀀스의 평균값을 암호화하여 서버(10)에 송신할 수 있다.
도 4에 도시된 바와 같이, 협동 서버(30)에도 클라이언트(20)별 퍼블릭 키가 미리 저장될 수 있다. 협동 서버(30)는 퍼블릭 키를 이용하여 완전해독 시퀀스의 평균값을 암호화할 수 있다. 앞선 예를 참조하면, 협동 서버(30)는 (m1+r1+m2+r2)/2의 완전해독 시퀀스를 제1 및 제2 클라이언트에 각각 대응하는 퍼블릭 키를 통해 암호화하여 [(m1+r1+m2+r2)/2]pk1와, [(m1+r1+m2+r2)/2]pk2를 생성할 수 있다. 이어서, 협동 서버(30)는 [(m1+r1+m2+r2)/2]pk1 및 [(m1+r1+m2+r2)/2]pk2를 서버(10)에 송신할 수 있다.
서버(10)는 협동 서버(30)로부터 수신된 완전해독 시퀀스의 평균값에서 노이즈의 평균값을 감산하여 글로벌 파라미터를 생성할 수 있다(S50).
제1 예에서, 협동 서버(30)로부터 수신된 완전해독 시퀀스의 평균값이 암호화되지 않은 경우, 서버(10)는 완전해독 시퀀스의 평균값에서 노이즈의 평균값을 감산하여 글로벌 파라미터를 생성할 수 있다.
구체적으로, 협동 서버(30)로부터 수신된 완전해독 시퀀스의 평균값이 (m1+r1+m2+r2)/2인 경우, 서버(10)는 해당 값에서 노이즈의 평균값인 (r1+r2)/2를 감산하여 (m1+m2)/2의 글로벌 파라미터를 생성할 수 있다.
제2 예에서, 협동 서버(30)로부터 수신된 완전해독 시퀀스의 평균값이 암호화된 경우, 서버(10)는 동형암호 뺄셈 연산을 통해 완전해독 시퀀스의 평균값에서 노이즈의 평균값을 감산하여 글로벌 파라미터를 생성할 수 있다.
구체적으로, 협동 서버(30)로부터 수신된 완전해독 시퀀스의 평균값이 [(m1+r1+m2+r2)/2]pk1 및 [(m1+r1+m2+r2)/2]pk2인 경우, 서버(10)는 해당 값에서, 제1 및 제2 클라이언트에 대응하는 퍼블릭 키로 각각 암호화된 노이즈의 평균값인 [(r1+r2)/2]pk1 및 [(r1+r2)/2]pk2를 감산하여 [(m1+m2)/2]pk1 및 [(m1+m2)/2]pk2의 글로벌 파라미터를 생성할 수 있다.
전술한 동작을 통해 서버(10)는 종래 가장 안정적으로 평가받는 FedAVG 방식과 동일한 글로벌 파라미터를 생성할 수 있다.
이어서, 서버(10)는 글로벌 파라미터를 각 클라이언트(20)에 배포할 수 있다(S60). 서버(10)는 데이터 송수신 때 발생할 수 있는 데이터 유출을 방지하기 위하여, 글로벌 파라미터를 암호화하여 클라이언트(20)에 송신할 수 있다.
앞선 제1 예와 같이 글로벌 파라미터가 암호화되지 않은 경우 서버(10)는 글로벌 파라미터를 각 클라이언트(20)에 대응하는 퍼블릭 키로 각각 암호화하여 클라이언트(20)에 송신할 수 있다. 반면에, 앞선 제2 예와 같이 동형암호 뺄셈 연산을 함으로써 글로벌 파라미터가 암호화되어 있는 경우, 서버(10)는 생성된 글로벌 파라미터를 그대로 클라이언트(20)에 송신할 수 있다.
각 클라이언트(20)는 자신이 가진 프라이빗 키를 이용하여, 서버(10)로부터 수신된 글로벌 파리미터를 해독할 수 있고, 이를 신경망 모델에 적용할 수 있다.
이하에서는 도 6을 참조하여, 전술한 발명의 동작을, 클라이언트(20), 서버(10) 및 협동 서버(30) 사이에서 송수신되는 데이터를 중심으로 정리하도록 한다.
도 6을 참조하면, 제1 및 제2 클라이언트에서 학습된 m1, m2 파라미터는 제1 및 제2 클라이언트가 가지고 있는 퍼블릭 키를 통해 [m1]pk1, [m2]pk2로 각각 암호화되어 서버(10)에 송신될 수 있다.
서버(10)의 노이즈(r1, r2) 부가 동작에 의해 [m1]pk1, [m2]pk2는 각각 [m1]pk1 + [r1]pk1, [m2]pk2 + [r2]pk2의 암호 시퀀스로 변환될 수 있고, 각 암호 시퀀스는 서버(10)에 의해 부분 해독되어 CT1, CT2의 부분해독 시퀀스로 변환될 수 있다. 각 암호 시퀀스와 부분해독 시퀀스는 협동 서버(30)에 송신될 수 있다.
협동 서버(30)의 부분해독 시퀀스에 대한 완전 해독 동작, 완전해독 시퀀스에 대한 평균값 연산 동작, 평균값에 대한 암호화 동작에 의해, [(m1+r1+m2+r2)/2]pk1, [(m1+r1+m2+r2)/2]pk2의 완전해독 시퀀스의 평균값이 생성될 수 있고, 이는 서버(10)에 송신될 수 있다.
서버(10)의 노이즈(r1, r2) 제거 동작에 의해 [(m1+r1+m2+r2)/2]pk1, [(m1+r1+m2+r2)/2]pk2는 각각 [(m1+m2)/2]pk1, [(m1+m2)/2]pk2의 글로벌 파라미터로 변환될 수 있고, 이는 각 클라이언트(20)에 배포될 수 있다.
전술한 바와 같이, 본 발명은 서버(10)와 협동 서버(30)가 각각 분산 해독 키를 이용하여 클라이언트(20)에서 수집된 파라미터를 부분 해독함으로써, 서버(10) 또는 협동 서버(30)가 해킹되더라도 파라미터를 완전 해독할 수 없게 하여 시스템 보안이 강화되는 장점이 있다.
다시 말해, 서버(10)가 보유하는 제1 분산 해독 키와 협동 서버(30)가 보유하는 제2 분산 해독 키 중 어느 하나가 해킹되더라도 클라이언트(20)에서 수집된 파라미터를 완전 해독할 수 없으므로, 클라이언트(20)의 데이터가 유출되는 것을 방지할 수 있다.
또한, 본 발명은 동형암호 연산을 이용하여 서버(10)와 협동 서버(30) 사이에서 송수신되는 중간 데이터에 대한 보안을 강화함으로써, 중간 데이터가 탈취되더라도 원 데이터를 복원할 수 없게 하여 시스템 보안이 강화되는 장점이 있다.
다시 말해, 서버(10)는 동형암호 연산을 통해 파라미터에 노이즈를 부가하여 중간 데이터를 생성하므로, 서버(10)에서 송신되는 중간 데이터가 탈취되더라도 서버(10)에서 임의로 생성한 노이즈를 모르는 상태에서는 원 데이터를 복원할 수 없어 클라이언트(20)의 데이터가 유출되는 것을 방지할 수 있다.
한편, 협동 서버(30)는 서버(10)로부터 수신된 데이터를 완전 해독한 후 이를 평균하여 중간데이터를 생성하는데, 협동 서버(30)에서 송신되는 중간 데이터가 탈취되는 경우에도 여전히 서버(10)에서 임의로 생성한 노이즈를 모르는 상태에서는 원 데이터를 복원할 수 없어 클라이언트(20)의 데이터가 유출되는 것을 방지할 수 있다.
즉, 동형암호 연산을 통해 파라미터에 노이즈가 부가된 상태에서는, 서버(10)와 협동 서버(30)가 보유하는 분산 해독 키가 모두 해킹되더라도 서버(10)에서 생성한 노이즈를 모르는 상태에서는 원 데이터를 복원할 수 없으므로, 데이터 보안이 크게 강화될 수 있다.
이상과 같이 본 발명에 대해서 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시 예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상의 범위 내에서 통상의 기술자에 의해 다양한 변형이 이루어질 수 있음은 자명하다. 아울러 앞서 본 발명의 실시 예를 설명하면서 본 발명의 구성에 따른 작용 효과를 명시적으로 기재하여 설명하지 않았을 지라도, 해당 구성에 의해 예측 가능한 효과 또한 인정되어야 함은 당연하다.

Claims (9)

  1. 각 클라이언트로부터 파라미터를 수신하는 단계;
    상기 파라미터에 노이즈를 부가하여 암호 시퀀스를 생성하고, 상기 암호 시퀀스를 부분 해독하여 부분해독 시퀀스를 생성하는 단계;
    상기 부분해독 시퀀스를 협동 서버에 송신하고, 상기 협동 서버로부터 완전해독 시퀀스의 평균값을 수신하는 단계;
    상기 완전해독 시퀀스의 평균값에서 상기 노이즈의 평균값을 감산하여 글로벌 파라미터를 생성하는 단계; 및
    상기 글로벌 파라미터를 상기 각 클라이언트에 배포하는 단계를 포함하는
    분산 해독 키 기반의 연합 학습 방법.
  2. 제1항에 있어서,
    상기 파라미터들, 상기 노이즈들, 상기 완전해독 시퀀스들의 평균값 및 상기 글로벌 파라미터는 퍼블릭 키를 통해 암호화되는
    분산 해독 키 기반의 연합 학습 방법.
  3. 제1항에 있어서,
    상기 파라미터에 상기 노이즈를 부가하는 단계는
    임의의 데이터를 생성하고, 퍼블릭 키를 통해 상기 임의의 데이터를 암호화하여 상기 노이즈를 생성하는 단계를 더 포함하는
    분산 해독 키 기반의 연합 학습 방법.
  4. 제1항에 있어서,
    상기 파라미터에 상기 노이즈를 부가하는 단계는
    상기 각 클라이언트에 의해 암호화된 상기 파라미터에, 암호화된 상기 노이즈를 부가하는 단계를 포함하는
    분산 해독 키 기반의 연합 학습 방법.
  5. 제1항에 있어서,
    상기 파라미터에 상기 노이즈를 부가하는 단계는
    동형암호 덧셈 연산을 통해 상기 파라미터에 상기 노이즈를 부가하는 단계를 포함하는
    분산 해독 키 기반의 연합 학습 방법.
  6. 제1항에 있어서,
    상기 협동 서버는 상기 각 클라이언트별 부분해독 시퀀스를 완전 해독하여 상기 각 클라이언트별로 완전해독 시퀀스를 생성하고, 상기 완전해독 시퀀스의 평균값을 생성하는
    분산 해독 키 기반의 연합 학습 방법.
  7. 제6항에 있어서,
    상기 부분해독 시퀀스를 생성하는 단계는
    제1 분산 해독 키를 통해 상기 암호 시퀀스를 부분 해독하여 상기 부분해독 시퀀스를 생성하는 단계를 포함하고,
    상기 협동 서버는 제2 분산 해독 키를 통해 상기 각 클라이언트별 부분해독 시퀀스를 완전 해독하여 상기 각 클라이언트별 완전해독 시퀀스를 생성하는
    분산 해독 키 기반의 연합 학습 방법.
  8. 제1항에 있어서,
    상기 글로벌 파라미터를 생성하는 단계는
    상기 협동 서버에서 암호화된 상기 완전해독 시퀀스의 평균값에서, 암호화된 상기 노이즈의 평균값을 감산하여 상기 글로벌 파라미터를 생성하는 단계를 포함하는
    분산 해독 키 기반의 연합 학습 방법.
  9. 제1항에 있어서,
    상기 글로벌 파라미터를 생성하는 단계는
    동형암호 뺄셈 연산을 통해 상기 완전해독 시퀀스의 평균값에서 상기 노이즈의 평균값을 감산하여 상기 글로벌 파라미터를 생성하는 단계를 포함하는
    분산 해독 키 기반의 연합 학습 방법.
KR1020210150473A 2021-11-04 2021-11-04 분산 해독 키 기반의 연합 학습 방법 KR102651443B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210150473A KR102651443B1 (ko) 2021-11-04 2021-11-04 분산 해독 키 기반의 연합 학습 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210150473A KR102651443B1 (ko) 2021-11-04 2021-11-04 분산 해독 키 기반의 연합 학습 방법

Publications (2)

Publication Number Publication Date
KR20230064893A true KR20230064893A (ko) 2023-05-11
KR102651443B1 KR102651443B1 (ko) 2024-03-26

Family

ID=86379220

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210150473A KR102651443B1 (ko) 2021-11-04 2021-11-04 분산 해독 키 기반의 연합 학습 방법

Country Status (1)

Country Link
KR (1) KR102651443B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005006663A1 (en) * 2003-06-24 2005-01-20 Docomo Communications Laboratories Usa, Inc. Location privacy for internet protocol networks using cryptographically protected prefixes
CN111611610A (zh) * 2020-04-12 2020-09-01 西安电子科技大学 联邦学习信息处理方法、系统、存储介质、程序、终端
CN113434873A (zh) * 2021-06-01 2021-09-24 内蒙古大学 一种基于同态加密的联邦学习隐私保护方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005006663A1 (en) * 2003-06-24 2005-01-20 Docomo Communications Laboratories Usa, Inc. Location privacy for internet protocol networks using cryptographically protected prefixes
CN111611610A (zh) * 2020-04-12 2020-09-01 西安电子科技大学 联邦学习信息处理方法、系统、存储介质、程序、终端
CN113434873A (zh) * 2021-06-01 2021-09-24 内蒙古大学 一种基于同态加密的联邦学习隐私保护方法

Also Published As

Publication number Publication date
KR102651443B1 (ko) 2024-03-26

Similar Documents

Publication Publication Date Title
EP3293934B1 (en) Cloud storage method and system
JP5361920B2 (ja) ファイルサーバシステム
WO2012111713A1 (ja) 鍵管理システム
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
JP2016513825A (ja) 安全通信方法および装置
US20140325225A1 (en) Self-authenticated method with timestamp
CN108768647B (zh) 一种区块链的随机数产生方法
CN107181584B (zh) 非对称完全同态加密及其密钥置换和密文交割方法
CN113239403A (zh) 一种数据共享方法及装置
JP2020532177A (ja) データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法
WO2013182632A1 (en) Random number distribution
Kaur et al. A random selective block encryption technique for secure image cryptography using blowfish algorithm
Reshma et al. Pairing-free CP-ABE based cryptography combined with steganography for multimedia applications
JP2005252384A (ja) 暗号化データ保管サーバシステム、暗号化データ保管方法及び再暗号化方法
JP5135070B2 (ja) 暗号文復号権限委譲システム
CN112787822B (zh) 一种大属性集下的基于sm9的属性加密方法及系统
CN111953487B (zh) 一种密钥管理系统
JPH10107832A (ja) 暗号同報メールシステム
KR20150081168A (ko) 래티스에서의 아이디 기반 브로드캐스트 방법
KR101695361B1 (ko) 페어링 연산 및 비밀키를 이용한 술어 암호화 방법
KR102651443B1 (ko) 분산 해독 키 기반의 연합 학습 방법
Pushpa Enhancing Data Security by Adapting Network Security and Cryptographic Paradigms
JP2006262425A (ja) 公開鍵暗号方式によるネットワーク上での相互認証および公開鍵の相互交換システム
CN113965319A (zh) 一种基于量子密钥分配系统的密钥管理系统和方法
Kavitha et al. Stagchain–a steganography based application working on a blockchain environment

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant