본 프로젝트는 Microsoft SEAL 기반 동형암호(FHE)를 활용하여, 에너지 사용 데이터를 암호화된 상태 그대로 분석 및 시계열 예측하는 시스템입니다. 데이터 프라이버시를 보장하면서도 합산, 이상 탐지, 예측과 같은 실질적인 분석 기능을 제공합니다.
- 보안성: 원본 데이터를 복호화하지 않고 연산 수행
- 분석 기능: 합산, 이상 탐지, 시계열 예측 지원
- 암호 스킴: BFV(정수), CKKS(실수)
- 적용 도메인: 전기·가스 에너지 사용 데이터
-
개별연구
- 2024년 2학기 (동형암호 활용 연구) (2024.09 ~ 2024.12)
- 2025년 여름학기 (PET 심화 연구) (2025.06 ~ 2025.07)
에너지 사용 데이터는 개인의 생활 패턴을 직접적으로 반영하는 민감 정보입니다. 기존 분석 방식은 평문 기반 처리로 인해 데이터 유출 위험이 존재하며, 이를 해결하기 위한 안전한 분석 방식이 요구됩니다.
Microsoft SEAL 라이브러리를 활용하여, 암호화된 에너지 사용 데이터를 기반으로 다음 기능을 수행하는 분석 시스템을 구현합니다.
- 구간 합산
- 이상 탐지
- 시계열 예측 (AR 계열 모델)
- BFV 스킴: 정수 기반 데이터 (전기 사용량)
- CKKS 스킴: 실수 기반 데이터 (전기·가스 사용량)
-
구간 합산: 지정 기간의 사용량 합계를 암호문 상태에서 계산
-
이상 탐지: 급격한 증가·감소 패턴 탐지
-
시계열 예측
- AR (자기회귀)
- ARMA (자기회귀 + 이동평균)
- ARIMA (차분 포함)
- SARIMA (계절성 포함)
-
언어: C++ (C++17 이상)
-
IDE: Visual Studio 2022
-
암호 라이브러리: Microsoft SEAL
-
데이터
- 한국소비자원 전기 사용량
- 한국소비자원 가스 사용량 (공공데이터포털 제공)
- C++17 이상 컴파일러
- Microsoft SEAL 라이브러리 설치 https://github.com/microsoft/SEAL
아래 CSV 파일을 프로젝트 디렉토리에 추가합니다.
한국소비자원_에너지 사용량 (전기)_20240731.csv한국소비자원_에너지 사용량 (가스)_20250228.csv
ctrl + F51: BFV (정수 기반, 전기 데이터)2: CKKS (실수 기반, 전기 / 가스 선택)
-
BFV 모드
1: 구간 합산2: 이상 탐지
-
CKKS 모드
1: AR2: ARMA3: ARIMA4: SARIMA
| 분석 종류 | 결과 |
|---|---|
| 구간 합산 | ![]() |
| 이상 탐지 | ![]() |
| AR 예측 | ![]() |
| ARMA 예측 | ![]() |
| ARIMA 예측 | ![]() |
| SARIMA 예측 | ![]() |
- 정밀도 손실 CKKS 스킴 특성상 스케일링 및 모듈러 연산 과정에서 근사 오차 발생
- 성능 제한 암호문 연산으로 인해 평문 대비 실행 시간 증가
- 합산 오차 구간 합산 결과에서 약 ±50,000 kWh 수준의 오차 존재





