본 과제는 암호화된 상태에서도 데이터를 계산하고 분석할 수 있는 '동형암호' 기술 중, 실수(소수점 포함 숫자) 연산에 특화된 동형암호를 이용하여 중요한 통계 데이터를 안전하게 분석하는 시스템을 개발하는 연구임.
연구 목표는 공공 빅데이터 체계에 실제 적용 가능한 실수연산 기반의 동형암호 통계분석 솔루션을 개발하는 데 있음. 이는 암호화된 상태로 대용량 데이터 처리가 가능한 동형통계분석 솔루션, 다양한 통계분석 라이브러리(기술통계 18개, 통계분석 5개, 가설검정 5개, 고급통계 8개), 그리고 CKKS 최적화 기술(연산속도 200배 이하, 저장공간 10배 이하, 정확도 0.01% 이하, 5천만 레코드 이상 처리)을 포함함. 핵심 연구 내용은 통계 데이터 보호를 위한 동형통계분석 솔루션 개발로, 선형 데이터 변환, 동형암호키 관리, 암호문 데이터 통합, 복호화/데이터 검증 모듈 개발 및 라이브러리 통합을 포함함. 또한, 동형통계분석 라이브러리 개발을 위해 가설검정 및 고급통계분석 소프트웨어를 개발하고, 대용량 데이터 처리를 위한 메모리 관리 최적화 및 병렬 처리 기술을 개발함. 마지막으로 동형통계분석용 CKKS 최적화 기술을 개발하여 재부팅 속도, 저장공간, 정확도, 결과값 보호를 고도화함. 기대 효과는 개발된 솔루션을 통계청 등 정부·공공기관의 민감 데이터 활용에 적용하여 국가 데이터 이용 기반을 조성하는 데 있음. 또한, 마이데이터, 데이터 안심구역 등 데이터/AI 분야에서 프라이버시 유출 문제를 해결하여 데이터 사업을 활성화하고 디지털 뉴딜에 기여함. 글로벌 동형암호 시장 진출 가능성을 확보하고, 개인정보보호 규제 강화에 대응하여 데이터 유출을 원천적으로 방지함으로써 데이터 사업 발전에 크게 기여할 것으로 전망됨.
ㆍ (최종목표) 공공 빅데이터 체계 구축에 실제 적용 가능한 실수연산 기반의 동형암호를 활용한 통계분석 솔루션 개발 - 암호화된 상태로 대용량 데이터의 처리가 가능한 동형통계분석 솔루션 - 동형통계분석 라이브러리(기술통계 18개, 통계분석 5개, 가설검정 5개, 고급통계 8개) - 동형통계분석용 CKKS 최적화 기술(연산속도, 저장공간, 정확도, ...
동형암호
통계분석
프라이버시 보존 데이터분석
데이터 융합
클라우드 보안
3
주관|
2022년 3월-2024년 12월
|1,738,500,000원
실수연산 기반의 동형암호를 활용한 통계 분석 알고리즘 및 모듈 개발
본 과제는 공공 빅데이터 환경에서 민감한 데이터의 프라이버시를 보호하면서도 통계 분석을 가능하게 하는 실수연산 기반의 동형암호 기술을 활용한 통계 분석 알고리즘 및 모듈을 개발하는 연구임. 이는 암호화된 상태로 데이터를 처리하여 개인정보 유출 위험을 근본적으로 해소하는 것을 목표로 함.
연구 목표는 공공 빅데이터 체계에 실제 적용 가능한 동형통계분석 솔루션을 개발하는 데 있음. 이를 위해 암호화된 상태로 대용량 데이터 처리가 가능한 동형통계분석 솔루션을 구축하고, 기술통계 18개, 통계분석 5개, 가설검정 5개, 고급통계 8개 항목을 포함하는 동형통계분석 라이브러리를 개발함. 또한, 연산속도, 저장공간, 정확도, 출력보호 측면에서 CKKS 동형암호 최적화 기술을 확보함. 핵심 연구 내용은 통계청의 요구사항을 반영한 동형통계분석 솔루션 구조 설계 및 보안성 검증, 데이터 전처리 및 암호화 기술 개발임. 동형암호 라이브러리 및 시뮬레이터를 활용하여 연구 효율성을 높이고, 대용량 데이터로 검증을 진행함. 동형통계분석 라이브러리 개발을 통해 다양한 통계 소프트웨어와 고급통계분석 알고리즘을 동형암호화하는 방법을 설계함. 더불어 CKKS 최적화 기술 개발을 위해 재부팅 속도 최적화 알고리즘, CKKS 호환 대칭키 암호 알고리즘 설계, 비선형 함수 다항식 근사 정확도 개선, CKKS 복호화 noise 연구 등을 수행함. 기대 효과는 개발된 세계 최고 수준의 동형통계분석 솔루션을 K-통계시스템에 적용하여 정부·공공기관의 민감 데이터 활용 기반을 조성하는 것임. 마이데이터, 데이터 안심구역 등 데이터/AI 분야에서 프라이버시 유출 문제를 해결하여 데이터 사업 활성화와 디지털뉴딜에 기여하며, 국내외 시장 진출을 통해 데이터 사업 발전에 기여할 것으로 예상됨.
본 연구에서 제안하는 구체적인 연구 내용은 아래의 3가지로 요약이 가능하다.
1) CKSS 방법에서 발생하는 오차의 원인 및 가능 연산 범위 파악
본 연구에서는 CKKS [1] 및 이의 RNS (Residue Number System) variant [17,18] 에 대하여 각 구성 요소를 분석하여 연산별 가능한 입력값/결과값의 범위 및 오차의 정도를 파라미터값을 이용하여 분석한다. 구체적인 내용은 다음과 같다.
- Canonical embedding 과정 및 Rotation 연산에서 발생하는 연산 결과의 오차 및 입력값의 범위에 따른 문제 파악한다.
- 재부팅 연산의 선형 변환 및 'mod q' 연산 근사에 발생하는 오차를 각각 분석하고 파라미터와의 관계 파악한다.
- 위의 요소에 추가하여 동형암호 구현의 다른 모든 부분에서도 오차를 발생시키는 요소가 없는지 분석한다.
2) 근사 동형 암호의 성능 개선
(a) 계산적 효율성을 제외한 성능 요소
- 1)단계에서의 CKKS 방법의 심층 분석 결과를 바탕으로 연산 시에 발생하는 오차를 줄일 수 있는 다양한 방법에 대해 시도하고 이를 통하여 CKKS 방법의 각 연산으로 발생되는 근사로 인한 결과값의 오차를 줄이는 것을 목표로 한다.
- 재부팅으로 인해 발생되는 평문 공간의 한계를 개선하고, 다양한 근사 연산으로 인한 결과값의 오차를 감소시킬 수 있는 방법을 찾아 적용할 수 있도록 연구할 예정이다.
- 재부팅 가능 범위를 확대하여 현재의 CKKS 방법에는 적용이 어려운 Y. Lee 등의 방법 [19]을 적용을 시도할 것이다.
- CKKS 동형암호의 큰 문제점인 매우 큰 메모리를 차지하는 파라미터 및 사전 계산 데이터에 있음 (수십 GB) 을 개선하기 위한 메모리 효율적인 CKKS 방법에 대한 연구를 시도한다.
(b) 계산적 효율성 측면에서의 성능 요소
- 최근의 GPU를 이용한 연구 [20] 및 이에 대한 확장은 CKKS 방법에서 재부팅에 필요한 시간을 30~40여초에서 1초 미만으로 줄여서 CKKS 방법의 계산상의 큰 문제점이었던 재부팅의 성능을 대폭 개선할 수 있을 것으로 예상된다.
- 본 연구에서는 위 연구의 연장선으로, GPU의 사용의 가장 큰 장벽인 Memory-GPU 간 통신 비용을 고려한 효율적인 동형암호 구현에 대한 연구를 수행할 예정이다.
- 또한 동형암호가 네트워크 보안등의 목적으로 쓰이기 위해서는 서버 수준이 아닌 경량화된 계산 환경에서도 동작이 가능해야 함. 본 연구에서는 경량화된 환경에서 동형암호 알고리즘의 적용 가능성에 대해 검증하는 연구를 수행할 예정이다.
3) CKKS의 프라이버시 보존 응용에의 적용시 발생할 수 있는 문제점 파악 및 개선
- CKKS 동형암호의 심층 분석은 CKKS의 구동을 위해 필요한 가용 자원 및 제공 정확도의 관계를 명확히 제공할 것이며 이를 바탕으로 CKKS 암호시스템의 각 응용 분야에 대한 활용 가능성 및 활용 정도를 확인할 수 있을 것으로 예상된다.
- CKKS의 성능을 개선한 이후의 필요 계산량/저장 공간/전력 소모량/데이터 표현 범위 등을 바탕으로 좀 더 다양한 동형암호의 응용 분야에 대해 제시하며 이를 실현할 수 있는 가능성을 검증할 수 있는 연구를 수행하고자 한다.
- 특히 경량화된 환경에서의 완전동형암호 적용으로 인하여 생길 수 있는 새로운 응용에 대해 집중적으로 탐색할 예정이다.
- 추후 시스템 및 구현 수준에서의 동형암호 알고리즘의 성능 개선 연구들에 대한 기준 연구가 될 수 있도록 다양한 수준의 성능 분석 결과를 연구 결과에 포함 시킬 계획이다.
본 연구에서 제안하는 구체적인 연구 내용은 아래의 3가지로 요약이 가능하다.
1) CKSS 방법에서 발생하는 오차의 원인 및 가능 연산 범위 파악
본 연구에서는 CKKS [1] 및 이의 RNS (Residue Number System) variant [17,18] 에 대하여 각 구성 요소를 분석하여 연산별 가능한 입력값/결과값의 범위 및 오차의 정도를 파라미터값을 이용하여 분석한다. 구체적인 내용은 다음과 같다.
- Canonical embedding 과정 및 Rotation 연산에서 발생하는 연산 결과의 오차 및 입력값의 범위에 따른 문제 파악한다.
- 재부팅 연산의 선형 변환 및 'mod q' 연산 근사에 발생하는 오차를 각각 분석하고 파라미터와의 관계 파악한다.
- 위의 요소에 추가하여 동형암호 구현의 다른 모든 부분에서도 오차를 발생시키는 요소가 없는지 분석한다.
2) 근사 동형 암호의 성능 개선
(a) 계산적 효율성을 제외한 성능 요소
- 1)단계에서의 CKKS 방법의 심층 분석 결과를 바탕으로 연산 시에 발생하는 오차를 줄일 수 있는 다양한 방법에 대해 시도하고 이를 통하여 CKKS 방법의 각 연산으로 발생되는 근사로 인한 결과값의 오차를 줄이는 것을 목표로 한다.
- 재부팅으로 인해 발생되는 평문 공간의 한계를 개선하고, 다양한 근사 연산으로 인한 결과값의 오차를 감소시킬 수 있는 방법을 찾아 적용할 수 있도록 연구할 예정이다.
- 재부팅 가능 범위를 확대하여 현재의 CKKS 방법에는 적용이 어려운 Y. Lee 등의 방법 [19]을 적용을 시도할 것이다.
- CKKS 동형암호의 큰 문제점인 매우 큰 메모리를 차지하는 파라미터 및 사전 계산 데이터에 있음 (수십 GB) 을 개선하기 위한 메모리 효율적인 CKKS 방법에 대한 연구를 시도한다.
(b) 계산적 효율성 측면에서의 성능 요소
- 최근의 GPU를 이용한 연구 [20] 및 이에 대한 확장은 CKKS 방법에서 재부팅에 필요한 시간을 30~40여초에서 1초 미만으로 줄여서 CKKS 방법의 계산상의 큰 문제점이었던 재부팅의 성능을 대폭 개선할 수 있을 것으로 예상된다.
- 본 연구에서는 위 연구의 연장선으로, GPU의 사용의 가장 큰 장벽인 Memory-GPU 간 통신 비용을 고려한 효율적인 동형암호 구현에 대한 연구를 수행할 예정이다.
- 또한 동형암호가 네트워크 보안등의 목적으로 쓰이기 위해서는 서버 수준이 아닌 경량화된 계산 환경에서도 동작이 가능해야 함. 본 연구에서는 경량화된 환경에서 동형암호 알고리즘의 적용 가능성에 대해 검증하는 연구를 수행할 예정이다.
3) CKKS의 프라이버시 보존 응용에의 적용시 발생할 수 있는 문제점 파악 및 개선
- CKKS 동형암호의 심층 분석은 CKKS의 구동을 위해 필요한 가용 자원 및 제공 정확도의 관계를 명확히 제공할 것이며 이를 바탕으로 CKKS 암호시스템의 각 응용 분야에 대한 활용 가능성 및 활용 정도를 확인할 수 있을 것으로 예상된다.
- CKKS의 성능을 개선한 이후의 필요 계산량/저장 공간/전력 소모량/데이터 표현 범위 등을 바탕으로 좀 더 다양한 동형암호의 응용 분야에 대해 제시하며 이를 실현할 수 있는 가능성을 검증할 수 있는 연구를 수행하고자 한다.
- 특히 경량화된 환경에서의 완전동형암호 적용으로 인하여 생길 수 있는 새로운 응용에 대해 집중적으로 탐색할 예정이다.
- 추후 시스템 및 구현 수준에서의 동형암호 알고리즘의 성능 개선 연구들에 대한 기준 연구가 될 수 있도록 다양한 수준의 성능 분석 결과를 연구 결과에 포함 시킬 계획이다.