2020.09.04

암호화된 데이터에서 분석 정보와 통찰력 끌어내는 '동형암호'란 무엇인가

Ax Sharma | CSO
동형암호(Homomorphic encryption)를 사용하면 민감한 데이터에 대한 컴퓨팅 스토리지를 클라우드로 안전하게 아웃소싱할 수 있지만, 성능, 보호 및 유틸리티와의 상충 관계가 있다. 
 
ⓒ Getty Images Bank


동형암호란 무엇인가 

데이터의 기밀성을 보존하면서 대용량 데이터 셋을 사용해 계산을 수행해야 할 때 어떻게 하는가? 예를 들어 사용자 데이터에 대한 분석 정보를 수집하되 분석을 계산할 계산 엔진에 해당 내용을 노출하지는 않고자 한다. 또는 암호화된 문서 스토리지를 지원하는 클라우드 서비스 제공업체에서 사용자가 사전에 문서를 해독하지 않고 문서를 편집할 수 있도록 하려는 경우도 있다.

이런 경우, 동형암호를 사용할 수 있다. 동형암호는 먼저 데이터를 암호화된 형식으로 변환함으로써 데이터 저장과 계산을 클라우드 환경으로 '아웃소싱'하는 역량을 제공한다. 동형암호 기술에 대해 주목할 만한 부분은 암호화되지 않은 형식의 데이터를 사용할 때와 같은 방법으로 암호화된 데이터를 대상으로 원하는 작업과 계산을 수행함으로써 동일한 결과를 암호화된 형식으로 달성한다는 점이다.

이 분야의 '공식' 표준과 가이드, 개발 정보를 유지관리하는 업계 표준 컨소시엄인 동형암호 표준화(Homomorphic Encryption Standardization)에 따르면, “동형암호는 비밀 키에 대한 액세스를 요구하지 않으면서 암호화된 데이터를 대상으로 직접 계산을 수행할 수 있게 해준다는 면에서 기존 암호화 방법과 다르다. 이런 계산의 결과는 암호화된 형식으로 유지되며 나중에 비밀 키 소유자는 그 결과를 볼 수 있다.” 따라서 동일한 계산 분석 솔루션을 사용하더라도 어느 단계에서도 데이터의 기밀성이 훼손되지 않는다.

이와 같은 암호화 도구를 설계하고자 한 아이디어는 1970년대 후반 주로 실험적인 개념으로 제안됐다. 이후 2009년 크레이그 젠트리가 최초의 실용적인 개념을 고안하기까지 30년이 걸렸다.


동형암호의 차이점

HTTPS(SSL/TLS를 통해 가능해짐) 또는 엔드투엔드 채팅 메시징과 같은 산업 표준 암호화를 생각하면 모든 암호화는 본질적으로 안전하며 기밀성과 무결성이 보장된다고 전제하게 된다. 이것이 동형암호가 일반적인 암호시스템과 두드러지게 다른 부분이다.

동형암호의 암호 방식은 가단성(malleable)이 있도록, 즉 잘 변하도록 설계되는데, 이 말은 데이터의 무결성을 보장할 수 없다는 의미다. 결함이 아니라 암호화된 데이터를 사용한 작업을 쉽게 하기 위한 의도된 특징이다.

가단성은 암호화된 텍스트가 원본 텍스트의 의미를 변경하는 다른 유효한 암호화된 텍스트로 변형되도록 허용하는 암호화 알고리즘의 속성이다. 또한 데이터를 변형하는 사용자는 원래의 암호화되지 않은 데이터가 무엇인지 알 필요도 없고 추론할 필요도 없다.

예를 들어 필자가 CSO의 편집자에게 “CSO는 좋다”라는 내용의 암호화된 이메일을 전송했다. MitM(Man-in-the-Middle) 공격자는 이 암호화된 텍스트를 훔쳤으나 의미는 알지 못했고 대신 다른 암호화된 문자열로 변형했다. 그 결과 최종적으로 편집자가 해독한 메시지는 “나는 CSO가 싫다!”가 될 수 있다는 것이다.

물론 실제 이메일 암호화 시스템에는 알고리즘이나 구현에 취약점이 없는 한 데이터의 무결성을 보호하고 앞의 시나리오가 사실상 불가능하도록 하는 대비책이 있다.

예를 들어 부분적으로 동형인 RSA 암호시스템은 “패딩(padding)” 기능을 사용해 가단성의 영향을 최소화한다. 또한 메시지 인증 체크섬(예를 들어 MD5나 SHA 해시)도 데이터의 무결성을 검증하는 데 도움이 된다.

데이터의 기밀성은 가단성에 의해 영향을 받지 않으므로 이것은 걱정할 만한 부분은 아니다. 우려가 되는 부분은, 예를 들어 암호화된 데이터를 다루는 계산 엔진에서 알고리즘의 결함으로 인해 데이터 또는 암호화된 결과에 오류가 유입되는 경우다. 동형암호의 특성상 이런 오류를 찾기가 매우 어려울 수 있다.


동형암호의 유형

모든 데이터는 숫자다(컴퓨터는 이진수로 작동함). 수학의 한 분야인 암호화는 숫자로 움직인다. 즉, 암호화와 복호화(decryption, 암호 해독)는 복잡한 숫자 연산일 뿐이다. 동형암호에는 다음과 같은 세 가지 유형이 있다.
 
  • 부분 동형암호(Partially Homomorphic Encryption, PHE): 주어진 데이터 셋에 대해 무제한의 시간 동안 한 가지 유형의 수학 연산(예를 들어 곱셈)만 허용한다.
  •  
  • 약간의 동형암호(Somewhat Homomorphic Encryption, SHE): PHE에 비해 허용 범위가 넓지만 여전히 제한적이어서, 주어진 데이터 집합에 대해 덧셈과 곱셈을 몇 차례만 허용한다.
  •  
  • 완전 동형 암호(Fully Homomorphic Encryption, FHE): 최선의 방법으로, 데이터에 대해 횟수에 제한없이 다양한 유형의 연산을 허용하지만 대신 성능 측면에서 현저히 불리하다.

각각의 접근 방법은 성능, 유용성 또는 보호에 중점을 둔다. FHE는 상당한 고강도 연산이고 현재 시점에서 비효율적이다(따라서 실제 시나리오에서 성능이 떨어진다).

현재 동형암호 개발은 최적의 솔루션을 얻기 위해 이 3가지 사이에서 끊임없이 균형을 찾는 과정이다. FHE에는 예를 들어 클라우드 운영자가 암호화된 데이터에 대해 다양한 수학 연산을 수행할 수 있는 등의 혁신적인 가능성을 앞당길 잠재력이 있다.


동형암호 사용사례

1. 규제 및 프라이버시 중심 산업 
의료, 금융, 법률, 뱅킹과 같은 강도높은 규제를 받은 업계에서 데이터와 개인 식별 정보(Personally Identifiable Information, PII) 저장은 까다로운 문제다. 이런 업계에서는 보안 수단으로 암호화된 스토리지를 구현하지만 사용자 데이터에서 통찰력을 얻기 위해 먼저 이 데이터를 해독해야 할 때 더 큰 과제가 발생한다. 

예를 들어 환자 사례 파일에서 머신러닝을 사용하는 예측 분석 정보를 추출하면 의사가 질병에 대한 치료법을 파악하는 데 도움이 된다. 동형암호를 사용할 경우 환자 파일을 먼저 해독해야 할 필요성이 사라진다. 암호화된 환자 데이터에서 작동하고 결과 역시 암호화된 형식으로 생산하도록 분석 알고리즘을 맞춤 구성할 수 있다. 이 결과를 해독하면 암호화되지 않은 환자 파일에서 얻을 수 있는 것과 동일한 통찰력을 얻게 된다.

이 사용 사례는 온라인 광고까지 확장할 수 있다. GDPR과 같은 규정에 의한 제약이 증가하면서 사용자의 프라이버시를 보호하는 동시에 개인화된 광고를 제공하는 것이 어려워지고 있다. 동형암호는 사용자 정보의 기밀성을 저해하지 않고도 암호화된 사용자 데이터에서 분석 정보와 통찰력을 끌어낼 수 있게 해준다.

2. 아웃소싱된 클라우드 스토리지
데이터 스토리지 아웃소싱은 모든 요소를 구비한 안전한 데이터센터를 유지하는 데 따르는 인건비를 줄이고 골치아픈 문제도 없앨 수 있다는 면에서 비용 효율적인 전략이 될 수 있다. 또한 현지의 법적 보호가 충분하지 않은 이유로 프로젝트 차원에서 해외로 데이터베이스를 아웃소싱해야 하는 경우도 있다. 실제 사례로 비영리 행동주의자 조직인 위키리크스(WikiLeaks)는 주 서버를 스웨덴에 두고 있다.

암호화는 데이터 저장 문제를 해결하지만 암호화된 데이터를 암호화된 형식으로 추가하거나 수정하는 것은 동형암호가 해결할 수 있는 문제다. 또한 이렇게 되면 전 구글 엔지니어가 권한을 악용해 구글 플랫폼 사용자를 스토킹하는 것과 같은 사고가 발생할 가능성을 차단할 수 있다.

동형암호를 사용하면 데이터가 클라우드에 안전하게 저장되는 동시에 암호화된 정보를 계산하고 검색할 수 있다. 이상적인 환경에서는 클라우드의 데이터를 소유한 사용자만 동형암호 데이터와 결과를 해독할 수 있다.

이 기술로 테스트를 하고자 한다면 동형암호 표준화 웹사이트에서 제공하는 많은 동형암호 오픈소스 구현을 참고할 수 있다. 마이크로소프트 SEAL은 개발자가 엔드투엔드 암호화 데이터 스토리지 및 계산 서비스를 구축하는 데 도움을 주기 위해 “암호화된 데이터를 대상으로 직접 계산을 수행할 수 있게 해주는 암호화 라이브러리”를 제공한다. editor@itworld.co.kr 

 


2020.09.04

암호화된 데이터에서 분석 정보와 통찰력 끌어내는 '동형암호'란 무엇인가

Ax Sharma | CSO
동형암호(Homomorphic encryption)를 사용하면 민감한 데이터에 대한 컴퓨팅 스토리지를 클라우드로 안전하게 아웃소싱할 수 있지만, 성능, 보호 및 유틸리티와의 상충 관계가 있다. 
 
ⓒ Getty Images Bank


동형암호란 무엇인가 

데이터의 기밀성을 보존하면서 대용량 데이터 셋을 사용해 계산을 수행해야 할 때 어떻게 하는가? 예를 들어 사용자 데이터에 대한 분석 정보를 수집하되 분석을 계산할 계산 엔진에 해당 내용을 노출하지는 않고자 한다. 또는 암호화된 문서 스토리지를 지원하는 클라우드 서비스 제공업체에서 사용자가 사전에 문서를 해독하지 않고 문서를 편집할 수 있도록 하려는 경우도 있다.

이런 경우, 동형암호를 사용할 수 있다. 동형암호는 먼저 데이터를 암호화된 형식으로 변환함으로써 데이터 저장과 계산을 클라우드 환경으로 '아웃소싱'하는 역량을 제공한다. 동형암호 기술에 대해 주목할 만한 부분은 암호화되지 않은 형식의 데이터를 사용할 때와 같은 방법으로 암호화된 데이터를 대상으로 원하는 작업과 계산을 수행함으로써 동일한 결과를 암호화된 형식으로 달성한다는 점이다.

이 분야의 '공식' 표준과 가이드, 개발 정보를 유지관리하는 업계 표준 컨소시엄인 동형암호 표준화(Homomorphic Encryption Standardization)에 따르면, “동형암호는 비밀 키에 대한 액세스를 요구하지 않으면서 암호화된 데이터를 대상으로 직접 계산을 수행할 수 있게 해준다는 면에서 기존 암호화 방법과 다르다. 이런 계산의 결과는 암호화된 형식으로 유지되며 나중에 비밀 키 소유자는 그 결과를 볼 수 있다.” 따라서 동일한 계산 분석 솔루션을 사용하더라도 어느 단계에서도 데이터의 기밀성이 훼손되지 않는다.

이와 같은 암호화 도구를 설계하고자 한 아이디어는 1970년대 후반 주로 실험적인 개념으로 제안됐다. 이후 2009년 크레이그 젠트리가 최초의 실용적인 개념을 고안하기까지 30년이 걸렸다.


동형암호의 차이점

HTTPS(SSL/TLS를 통해 가능해짐) 또는 엔드투엔드 채팅 메시징과 같은 산업 표준 암호화를 생각하면 모든 암호화는 본질적으로 안전하며 기밀성과 무결성이 보장된다고 전제하게 된다. 이것이 동형암호가 일반적인 암호시스템과 두드러지게 다른 부분이다.

동형암호의 암호 방식은 가단성(malleable)이 있도록, 즉 잘 변하도록 설계되는데, 이 말은 데이터의 무결성을 보장할 수 없다는 의미다. 결함이 아니라 암호화된 데이터를 사용한 작업을 쉽게 하기 위한 의도된 특징이다.

가단성은 암호화된 텍스트가 원본 텍스트의 의미를 변경하는 다른 유효한 암호화된 텍스트로 변형되도록 허용하는 암호화 알고리즘의 속성이다. 또한 데이터를 변형하는 사용자는 원래의 암호화되지 않은 데이터가 무엇인지 알 필요도 없고 추론할 필요도 없다.

예를 들어 필자가 CSO의 편집자에게 “CSO는 좋다”라는 내용의 암호화된 이메일을 전송했다. MitM(Man-in-the-Middle) 공격자는 이 암호화된 텍스트를 훔쳤으나 의미는 알지 못했고 대신 다른 암호화된 문자열로 변형했다. 그 결과 최종적으로 편집자가 해독한 메시지는 “나는 CSO가 싫다!”가 될 수 있다는 것이다.

물론 실제 이메일 암호화 시스템에는 알고리즘이나 구현에 취약점이 없는 한 데이터의 무결성을 보호하고 앞의 시나리오가 사실상 불가능하도록 하는 대비책이 있다.

예를 들어 부분적으로 동형인 RSA 암호시스템은 “패딩(padding)” 기능을 사용해 가단성의 영향을 최소화한다. 또한 메시지 인증 체크섬(예를 들어 MD5나 SHA 해시)도 데이터의 무결성을 검증하는 데 도움이 된다.

데이터의 기밀성은 가단성에 의해 영향을 받지 않으므로 이것은 걱정할 만한 부분은 아니다. 우려가 되는 부분은, 예를 들어 암호화된 데이터를 다루는 계산 엔진에서 알고리즘의 결함으로 인해 데이터 또는 암호화된 결과에 오류가 유입되는 경우다. 동형암호의 특성상 이런 오류를 찾기가 매우 어려울 수 있다.


동형암호의 유형

모든 데이터는 숫자다(컴퓨터는 이진수로 작동함). 수학의 한 분야인 암호화는 숫자로 움직인다. 즉, 암호화와 복호화(decryption, 암호 해독)는 복잡한 숫자 연산일 뿐이다. 동형암호에는 다음과 같은 세 가지 유형이 있다.
 
  • 부분 동형암호(Partially Homomorphic Encryption, PHE): 주어진 데이터 셋에 대해 무제한의 시간 동안 한 가지 유형의 수학 연산(예를 들어 곱셈)만 허용한다.
  •  
  • 약간의 동형암호(Somewhat Homomorphic Encryption, SHE): PHE에 비해 허용 범위가 넓지만 여전히 제한적이어서, 주어진 데이터 집합에 대해 덧셈과 곱셈을 몇 차례만 허용한다.
  •  
  • 완전 동형 암호(Fully Homomorphic Encryption, FHE): 최선의 방법으로, 데이터에 대해 횟수에 제한없이 다양한 유형의 연산을 허용하지만 대신 성능 측면에서 현저히 불리하다.

각각의 접근 방법은 성능, 유용성 또는 보호에 중점을 둔다. FHE는 상당한 고강도 연산이고 현재 시점에서 비효율적이다(따라서 실제 시나리오에서 성능이 떨어진다).

현재 동형암호 개발은 최적의 솔루션을 얻기 위해 이 3가지 사이에서 끊임없이 균형을 찾는 과정이다. FHE에는 예를 들어 클라우드 운영자가 암호화된 데이터에 대해 다양한 수학 연산을 수행할 수 있는 등의 혁신적인 가능성을 앞당길 잠재력이 있다.


동형암호 사용사례

1. 규제 및 프라이버시 중심 산업 
의료, 금융, 법률, 뱅킹과 같은 강도높은 규제를 받은 업계에서 데이터와 개인 식별 정보(Personally Identifiable Information, PII) 저장은 까다로운 문제다. 이런 업계에서는 보안 수단으로 암호화된 스토리지를 구현하지만 사용자 데이터에서 통찰력을 얻기 위해 먼저 이 데이터를 해독해야 할 때 더 큰 과제가 발생한다. 

예를 들어 환자 사례 파일에서 머신러닝을 사용하는 예측 분석 정보를 추출하면 의사가 질병에 대한 치료법을 파악하는 데 도움이 된다. 동형암호를 사용할 경우 환자 파일을 먼저 해독해야 할 필요성이 사라진다. 암호화된 환자 데이터에서 작동하고 결과 역시 암호화된 형식으로 생산하도록 분석 알고리즘을 맞춤 구성할 수 있다. 이 결과를 해독하면 암호화되지 않은 환자 파일에서 얻을 수 있는 것과 동일한 통찰력을 얻게 된다.

이 사용 사례는 온라인 광고까지 확장할 수 있다. GDPR과 같은 규정에 의한 제약이 증가하면서 사용자의 프라이버시를 보호하는 동시에 개인화된 광고를 제공하는 것이 어려워지고 있다. 동형암호는 사용자 정보의 기밀성을 저해하지 않고도 암호화된 사용자 데이터에서 분석 정보와 통찰력을 끌어낼 수 있게 해준다.

2. 아웃소싱된 클라우드 스토리지
데이터 스토리지 아웃소싱은 모든 요소를 구비한 안전한 데이터센터를 유지하는 데 따르는 인건비를 줄이고 골치아픈 문제도 없앨 수 있다는 면에서 비용 효율적인 전략이 될 수 있다. 또한 현지의 법적 보호가 충분하지 않은 이유로 프로젝트 차원에서 해외로 데이터베이스를 아웃소싱해야 하는 경우도 있다. 실제 사례로 비영리 행동주의자 조직인 위키리크스(WikiLeaks)는 주 서버를 스웨덴에 두고 있다.

암호화는 데이터 저장 문제를 해결하지만 암호화된 데이터를 암호화된 형식으로 추가하거나 수정하는 것은 동형암호가 해결할 수 있는 문제다. 또한 이렇게 되면 전 구글 엔지니어가 권한을 악용해 구글 플랫폼 사용자를 스토킹하는 것과 같은 사고가 발생할 가능성을 차단할 수 있다.

동형암호를 사용하면 데이터가 클라우드에 안전하게 저장되는 동시에 암호화된 정보를 계산하고 검색할 수 있다. 이상적인 환경에서는 클라우드의 데이터를 소유한 사용자만 동형암호 데이터와 결과를 해독할 수 있다.

이 기술로 테스트를 하고자 한다면 동형암호 표준화 웹사이트에서 제공하는 많은 동형암호 오픈소스 구현을 참고할 수 있다. 마이크로소프트 SEAL은 개발자가 엔드투엔드 암호화 데이터 스토리지 및 계산 서비스를 구축하는 데 도움을 주기 위해 “암호화된 데이터를 대상으로 직접 계산을 수행할 수 있게 해주는 암호화 라이브러리”를 제공한다. editor@itworld.co.kr 

 


X