연산이 가능한 완전동형암호
이번 카드 정보 유출 사건은 롯데카드와 NH농협카드, KB국이 1억 4000건이 넘는 고객의 개인정보를 광고대행업체 대표에게 팔아넘긴 사건이다. 범인은 카드사의 전산망에 접근해 고객의 개인정보를 이동저장장치(USB)에 복사하는 방법으로 손쉽게 정보를 빼돌렸다. 그런데 어떻게 이것이 가능했을까?
그 이유는 기존 암호체계의 단점에서 찾을 수 있다.
현재 우리가 사용하고 있는 모든 암호는 암호가 걸린 상태에서 통계적인 분석을 할 수가 없다. 따라서 고객의 정보를 암호화된 상태로 수집했더라도, 의미 있는 정보를 얻기 위해선 다시 암호를 풀어 고객 정보가 담긴 원래 데이터로 분석을 해야 한다. 이렇다 보니 보안담당자, 통계 분석가 등 여러 사람에게 고객의 개인정보가 노출될 수밖에 없는 상황이다.
수학계에서는 이번 사건을 두고 서울대 수리과학부 천정희 교수가 개발한 ‘완전동형암호’를 이용하면 기존 암호체계의 단점을 극복할 수 있다고 밝혔다. 완전동형암호는 암호가 걸린 상태에서도 통계적인 분석을 할 수 있어, 개인정보를 열람할 수 있는 사람을 최소화할 수 있다는 것이다.
예를 들어 카드사 A팀에서 고객의 연령대별 카드 사용 패턴을 분석하고 싶다면, 암호화된 상태 그대로 통계적인 연산을 하면 된다. 그리고 그 결과를 극소수의 인원으로 이뤄진 통제센터에 보낸다. 그러면 통제센터에서 연산된 암호를 풀어서 요청한 결과만 A팀에게 보내 준다. 즉 통제센터 직원이 아니면 고객의 개인정보는 알 수가 없기 때문에 개인정보 유출의 가능성을 낮출 수 있다.
완전동형암호는 2009년 IBM 연구원인 크레이그 젠트리가 암호가 걸린 상태에서 여러 가지 연산을 할 수 있는 가능성을 제시하며 연구가 시작됐다. 이후 지난해 1월 천정희 교수와 울산과기대 윤아람 교수가 암호화된 상태에서도 연산을 할 수 주목을 받았다.

암호화 된 상태에서 연산이 가능한 이유는?
완전동형암호를 이용하면 어떻게 암호가 걸린 상태에서도 통계적인 분석을 할 수 있을까? 그 이유는 암호 상태에서 연산한 값을 통해 원본 데이터에서 연산한 값을 알아낼 수 있기 때문이다.
완전동형암호는 메시지를 특정한 두 개의 수로 나눠 나온 나머지 두 개를 상대방에게 보내는 방식이다. 예를 들어 메시지 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 시큐리티’라는 회사를 설립했다. 이 회사는 지난해에만 1조 원이 넘는 막대한 매출을 올렸다.
타원곡선 암호(ECC)도 수학자의 주된 연구 분야다. 타원곡선 암호는 큰 수를 거듭제곱 꼴로 나타내는 것이 어렵다는 걸 이용한 것으로, 1985년 미국의 수학자 닐 코블리츠와 빅터 밀러가 각각 독립적으로 고안했다.

해외에서는 RSA의 경우처럼 암호를 연구하는 수학자가 회사를 설립해 암호를 산업화하기도한다. 하지만 국내에서는 아직까지 그런 사례가 없다. 수학만을 공부해 온 학자가 사업을 하기가 쉽지 않기 때문이다. 따라서 수학자와 기업이 연계해 수학자가 개발한 암호를 상용화할 필요가 있다. 그런데 최근 1~2년 전부터 이런 움직임이 일어나고 있다. 개인정보의 중요성이 커지면서 대기업에서 암호 연구에 관심을 가지기 시작한 것이다.
삼성전자 임직원도 정수론 배운다!
지난해 삼성전자 첨단기술연수소에서는 천정희 교수를 초청해 보안과정 교육을 받는 직원들을 대상으로 정수론 강의를 열었다. 암호 관련된 첨단 기술 연구에 박차를 가하기 위해선 암호의 기초를 이루는 수학을 공부할 필요성이 있다는 판단에서다. 여기서 정수론은 정수의 성질을 다루는 수학의 한 분야로, 대부분의 암호는 정수의 성질을 이용한다. 그렇다면 정수론을 배운 삼성임직원들의 소감은 어떨까?



또 궁극의 개인정보인 DNA를 암호화된 상태에서 분석하는 연구도 진행하고 있죠. 검찰청에서는 수사관들이나 검사가 수학과 과학을 기반으로 수사를 할 수 있도록 서울대 수리정보과학과에 디지털 포렌식 석사과정을 운영하고 있어요.
앞으로 수학을 기반으로 한 암호 산업의 활약을 기대해주세요!"