스물두줄

정보관리기술사 · 개념서 · 정보보안

동형 암호

설명 영상 동형암호 · 2:32

왜 배우는가: 동형암호는 데이터를 암호화한 채 연산하게 해 클라우드·의료·AI 같은 신뢰할 수 없는 환경에서 개인정보를 보호하는 핵심 기술이다. 최근 기술 동향과 함께 시험에서 정의와 유형을 묻는 문항으로 반복 출제되고 있다.

출제 이력: 제133회 1교시 5번, 제125회 1교시 2번

1. 한 줄 정의와 핵심 키워드

동형암호는 암호문 상태에서 연산한 결과를 복호화하면 평문 연산 결과와 같아지는 암호 기법이다.

  • 동형암호(Homomorphic Encryption)
  • 암호문(Ciphertext)
  • 평문(Plaintext)
  • 준동형사상(Homomorphism)
  • 부분동형암호(PHE)
  • 완전동형암호(FHE)
  • 격자 기반 암호(Lattice-based Cryptography)

2. 개념 풀이

쉽게 말하면 금고를 열지 않고 금고 속 물건을 가공하는 기술이다. 데이터를 암호화한 채로 계산을 맡겨도, 결과를 복호화하면 원래 데이터로 계산한 결과와 같다. 키를 가진 쪽만 결과를 볼 수 있으므로 계산을 맡기는 쪽은 내용을 알 수 없다.

정식 정의는 다음과 같다. 동형암호는 비밀키 접근 없이 암호화된 데이터에 대해 연산을 수행할 수 있게 하는 암호화의 한 형태다. 연산 결과도 암호화된 상태로 남는다. 공개키 암호의 확장된 형태로 이해할 수 있다. 암호문끼리의 연산이 평문끼리의 연산과 대응되도록 암호화 함수가 설계된다.

'동형(Homomorphic)'이라는 말은 대수학의 준동형사상(Homomorphism)에서 왔다. 암호화 함수와 복호화 함수는 평문 공간과 암호문 공간 사이의 준동형사상으로 동작한다. 즉 두 공간의 연산 구조가 보존된다. 예를 들어 평문 a+b를 암호문에서 계산하면 복호화했을 때 a+b가 나온다.

동형암호에는 다음 용어가 함께 쓰인다. 암호문 공간은 암호화 결과가 속한 집합이다. 노이즈(Noise)는 격자 기반 방식에서 암호문에 섞이는 작은 오차로, 연산이 거듭되면 커져서 복호화 오류를 일으킨다. 부트스트래핑(Bootstrapping)은 노이즈를 줄여 연산을 계속 가능하게 하는 기법이다. 이 세 용어는 완전동형암호를 설명할 때 반드시 등장한다.

3. 등장 배경과 필요성

데이터를 저장하거나 처리할 때마다 복호화했다가 다시 암호화하면 보안 위험과 자원 소모가 커진다. 평문이 잠깐이라도 노출되는 순간이 생기기 때문이다. 동형암호는 이 문제를 해결하려고 등장했다. 암호화 상태에서도 연산이 가능하면 실행 환경에는 키를 줄 필요가 없다. 데이터를 가진 쪽만 키를 가진다.

1978년 Rivest, Adleman, Dertouzos가 암호화 상태 연산 개념을 처음 제시했다. 이후 연구가 오래 정체되다가, 2009년 Gentry가 이상격자(ideal lattice)를 기반으로 한 최초의 완전동형암호 방식을 발표하면서 실현 가능성이 열렸다. 이 시점 이후 격자 기반 학습 문제(LWE, RLWE)를 이용한 방식이 주류가 되었다.

필요성은 개인정보 규제가 강한 분야에서 특히 크다. 의료 데이터는 공유가 어려워 예측 분석 서비스가 막혀 있었다. 동형암호를 쓰면 데이터를 외부에 암호화 상태로 맡겨 분석을 의뢰할 수 있어, 프라이버시 우려를 줄이면서 새로운 서비스를 만들 수 있다. 최근에는 국가 보안 정책에서도 클라우드 데이터 보호 수단으로 검토되고 있다.

4. 구성요소·원리·절차

동형암호 시스템은 키 생성, 암호화, 암호문 연산, 복호화의 네 단계로 구성된다. 연산을 수행하는 서버는 비밀키를 가지지 않고 암호문만 다룬다. 따라서 키 생성기(Key Generator)와 평가기(Evaluator)가 분리되는 것이 핵심 구조다.

구성요소역할비고
키 생성기공개키·비밀키·평가키 생성비밀키는 데이터 소유자만 보관
암호화기평문을 암호문으로 변환공개키 사용
평가기(Evaluator)암호문 상태에서 덧셈·곱셈 수행비밀키 불필요, 평가키 사용
복호화기연산 결과 암호문을 평문으로 변환비밀키 사용

표의 구성은 공개키 암호의 키 구조를 확장한 것이다. 평가기는 암호문만 받아 결과 암호문을 만들기 때문에 신뢰할 수 없는 클라우드에서도 동작한다.

동작 원리는 암호화 함수 E와 연산이 준동형(Homomorphism) 관계를 만족하는 데 있다. 평문 연산 m_1 \circ m_2에 대해 D(E(m_1) \star E(m_2)) = m_1 \circ m_2가 성립해야 한다. 여기서 \star는 암호문 공간의 연산이다. 이 관계가 성립하면 복호화 결과가 평문 연산 결과와 같다.

노이즈(Noise)가 핵심 제약이다. 격자 기반 방식에서 암호문에는 작은 오차가 섞여 있고, 덧셈은 오차를 조금 키우며 곱셈은 오차를 크게 키운다. 오차가 임계값을 넘으면 복호화가 실패한다. 이를 막기 위해 재암호화(Bootstrapping)로 노이즈를 줄인다. 재암호화는 연산 비용이 커서 FHE 성능의 병목이 된다.

절차는 다음과 같다.

  • 데이터 소유자가 키 생성기로 공개키, 비밀키, 평가키를 만든다.
  • 소유자가 공개키로 평문을 암호화하고 암호문을 클라우드에 전달한다.
  • 평가기가 평가키와 암호문으로 덧셈·곱셈 회로를 수행한다.
  • 노이즈가 임계값에 가까우면 재암호화를 수행한다.
  • 결과 암호문을 소유자에게 반환한다.
  • 소유자가 비밀키로 복호화하여 평문 결과를 얻는다.

평가기는 비밀키 없이 암호문 연산만 수행한다. 이것이 동형암호의 구조적 특징이다.

동형암호 연산 절차

5. 관련 법령·기준·표준

동형암호는 국내 법령이나 고시로 의무화된 기준이 아직 없다. 개인정보 보호 측면에서는 「개인정보 보호법」의 가명정보·익명정보 처리 원칙과 연계하여 검토한다. 기술 측면에서는 학계와 산업계의 파라미터 권고가 쓰인다.

항목내용기준 수치·조건근거
기반 난제격자 기반 LWE·RLWE보안 수준은 파라미터로 결정격자 기반 암호 자료
완전동형 최초 방식Gentry 방식(이상 격자)2009년 제안위키백과 자료
부분동형 대표Paillier덧셈 동형 또는 곱셈 동형 한쪽Paillier 자료
보안 파라미터격자 차원 및 노이즈 크기파라미터에 따라 보안 수준 결정학계 권고
노이즈 임계복호화 가능 범위노이즈가 임계값을 넘으면 복호화 실패원리
국내 연구 동향FPGA 기반 가속기술 개발 동향연구 동향

동형암호의 표준화 여부는 관련 표준 자료를 확인해야 한다. 양자내성암호 표준(ML-KEM, ML-DSA)과는 별개의 기술 영역이다.

완전동형암호와 부분동형암호의 구분은 표준 기준이 아니라 기능 범위에 따른 분류다. 기준 수치보다 파라미터 선택과 연산 깊이 관리가 실무 쟁점이다.

6. 유형과 비교

동형암호는 지원하는 연산의 범위와 연산 횟수 제한에 따라 세 유형으로 나눈다. 가장 좁은 범위는 부분동형암호(Partially Homomorphic Encryption, PHE)이고, 그 다음이 다항동형암호(Somewhat Homomorphic Encryption, SWHE), 가장 넓은 범위가 완전동형암호(Fully Homomorphic Encryption, FHE)다. 세 유형은 연산 종류와 횟수 제한의 차이로 구분한다.

구분부분동형암호(PHE)다항동형암호(SWHE)완전동형암호(FHE)
지원 연산덧셈 또는 곱셈 중 하나제한된 횟수의 덧셈·곱셈임의 회로(덧셈·곱셈 모두)
연산 횟수제한 없음(한 종류)제한 있음(노이즈 누적)제한 없음(부트스트래핑)
대표 방식PaillierBGV 초기형, 제한된 다항식 방식Gentry 방식
주요 용도전자투표, 합계 집계제한된 통계 연산임의 분석, 머신러닝 추론

이어지는 내용

로그인하면 하루 2페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 단원 읽기