교육부 공식 블로그

미래를 여는 수학 ② 완전동형암호로 개인정보를 보호한다 본문

교육정보

미래를 여는 수학 ② 완전동형암호로 개인정보를 보호한다

대한민국 교육부 2017. 8. 14. 17:23

미래를 여는 수학 ②

완전동형암호로 개인정보를 보호한다


 


“주민등록번호는 공공재다.”

개인정보 유출 사건이 하도 많다 보니 이제 사람들은 자조적으로 이렇게 이야기한다. 온라인으로 다양한 일을 할 수 있게 될수록 해킹과 개인정보 유출에 대한 우려가 점점 커지고 있다. 그러나 아직도 뚜렷한 방법은 없는 상태다.

일단 기존의 암호를 강화하는 방법을 연구 중이다. 여기에는 수학이 핵심적인 역할을 한다. 예를 들어, 내부자가 고객의 정보를 팔아넘기는 범죄를 저지른다고 하자. 내부자 소행이므로 딱히 수학적으로 막을 방법이 없을까?

그렇지 않다. 범인이 고객의 개인정보를 빼돌릴 수 있었던 것은 지금 쓰는 암호에 헛점이 있기 때문이다. 현재 우리가 사용하고 있는 모든 암호는 암호가 걸린 상태에서 통계적인 분석을 할 수가 없다. 따라서 고객의 정보를 암호화된 상태로 수집했더라도, 의미 있는 정보를 얻기 위해선 다시 암호를 풀어 고객 정보가 담긴 원래 데이터로 분석을 해야 한다. 이렇다 보니 보안담당자, 통계분석가 등 여러 사람에게 고객의 개인정보가 노출될 수밖에 없다.


출처 GIB

완전동형암호로 헛점을 막는다!

이런 문제점은 ‘완전동형암호’를 이용하면 극복할 수 있다. 완전동형암호는 4세대 암호의 대표주자로, 기존의 암호와 성격이 다르다. 원래 암호는 암호문만 봐서는 원래 정보를 전혀 알 수 없게 하는 게 목적이다. 암호를 풀어야만 원래 정보를 알 수 있는 것이다.

그런데 완전동형암호는 암호를 풀지 않은 상태에서도 덧셈이나 곱셈 같은 연산을 할 수 있는 암호다. 2009년 IBM 연구원인 크레이그 젠트리가 암호가 걸린 상태에서 여러 가지 연산을 할 수 있는 가능성을 제시하며 연구가 시작됐다. 이를 이용하면 암호가 걸린 상태에서도 통계 분석을 할 수 있어 개인정보를 열람하는 사람을 최소화할 수 있다.

예를 들어 카드사 A팀에서 고객의 연령대별 카드 사용 패턴을 분석하고 싶다면, 암호화된 상태 그대로 통계 연산을 하면 된다. 그리고 그 결과를 극소수의 인원으로 이뤄진 통제센터에 보낸다. 그러면 통제센터에서 연산된 암호를 풀어서 요청한 결과만 A팀에게 보내 준다. 즉 통제센터 직원이 아니면 고객의 개인정보는 알 수가 없기 때문에 개인정보 유출의 가능성을 낮출 수 있다.

암호가 걸린 상태에서도 통계적인 분석을 할 수 있는 건 ‘암호 상태에서 연산한 값’을 통해 ‘원본 데이터에서 연산한 값’을 알아낼 수 있기 때문이다. 완전동형암호는 메시지를 특정한 두 개의 수로 나눠 나온 나머지 두 개를 상대방에게 보내는 방식이다. 예를 들어 메시지 10은 4와 7로 각각 나눠 나온 나머지 2와 3으로 암호화 된다. 이때 메시지는 모두 수의 형태다. 글자를 암호화 할 때도 수에 일대일 대응해 수로 바꾼다.


 

여기서 10과 15를 암호화해서 (2, 3)과 (3, 1) 이렇게 두 암호를 받았다고 가정해 보자. 그리고 두 암호를 더해 보자. 같은 수로 나눈 나머지끼리 더해야 하기 때문에 2는 3과, 3은 1하고만 더할 수 있다. 그러면 암호를 연산한 값은 (5, 4)가 된다.

이제 (5, 4)를 해독해 보자. 연산된 암호를 풀기 위해선 암호화 할 당시 어떤 수로 나누었는지만 알면 된다. 여기서 나누는 수는 4와 7이었다. 그런데 5는 4로 한 번 더 나눠진다. 따라서 1이라고 생각해야 한다. 결국 4로 나눴을 때 나머지가 1이고, 7로 나눴을 때 나머지가 4인 수가 무엇인지만 구하면 되는데, 그 값은 25다.

그런데 이 값은 원래 메시지인 10과 15를 더한 값과 같다. 따라서 이런 원리를 이용하면 암호가 걸린 상태에서도 통계적인 분석이 가능한 것이다. 또한 실제 완전동형암호에서는 암호화된 메시지에 일부러 오류를 넣어서 안정성을 높인다.

강력한 암호, 수학이 만든다

사실 암호는 전통적으로 수학자들의 활약이 두드러진 분야다. 누구나 쉽게 암호를 풀지 못하도록 복잡한 수학 계산을 사용하는 것이 암호학의 기본이기 때문이다. 실제로 스마트폰이나 신용카드, 이메일 등에서 사용되는 RSA 암호도 수학자가 개발한 것이다.

RSA 암호는 큰 수를 두 소수의 곱으로 나타내는 것이 어렵다는 걸 이용한 암호체계로, 큰 소수 두 개를 곱해 암호로 쓰고 곱했던 소인수를 암호를 푸는 열쇠로 사용한다. 개발자인 로널드 라이베스트, 아디 샤미르, 레오나르드 아델만은 산업에서 암호를 이용한 보안의 중요성을 커질 것으로 생각해 1982년 ‘RSA 시큐리티’라는 회사를 설립했다.

타원곡선 암호(ECC)도 수학자의 주된 연구 분야다. 타원곡선 암호는 큰 수를 거듭제곱 꼴로 나타내는 것이 어렵다는 걸 이용한 것으로, 1985년 미국의 수학자 닐 코블리츠와 빅터 밀러가 각각 독립적으로 고안했다.

해외에서는 RSA의 경우처럼 암호를 연구하는 수학자가 회사를 설립해 암호를 산업화하기도한다. 하지만 국내에서는 아직까지 그런 사례가 없다. 수학만을 공부해 온 학자가 사업을 하기가 쉽지 않기 때문이다. 따라서 수학자와 기업이 연계해 수학자가 개발한 암호를 상용화할 필요가 있다.

그런데 최근 이런 움직임이 일어나고 있다. 개인정보의 중요성이 커지면서 대기업에서 암호 연구에 관심을 가지기 시작했다. 일례로 삼성전자와 KT는 2013년에 완전동형암호를 개발해 주목받은 천정희 서울대 수리과학부 교수를 초청해 프로그래머를 대상으로 수학을 가르치기도 했다. 첨단 기술을 개발하기 위해서는 암호의 토대를 이루는 정수론을 공부해야 하기 때문이다. 수학이 만들어 낼, 보안 걱정 없는 미래를 기대해 보자.


 (캡션) RSA 암호를 개발한 미국의 수학자 로널드 라이베스트, 아디 샤미르, 레오나르드 아델만.
 (사진출처) 위키미디어 


글_ 조가현 기자

출처_ 사이언스올




 

Comments