[IT 이야기] 공개키암호화
[IT 이야기] 공개키암호화
이 기사를 공유합니다

김홍철 한국기술금융협회 IT 전문위원

 

비트코인 광풍으로 연일 증시, 언론 등이 떠들썩한데, 이 과정에서 온라인 전자화폐인 비트코인의 탄생은 초강대국인 미국이 초래했다는 가정이 대두됐다. 즉 미국에서 서브프라임모기지(subprime mortgage) 사태로 촉발된 2008년 금융위기로 인해 전 세계가 혹독한 경제적 타격을 입었는데, 실상 본 사태의 원인을 제공한 미국의 경우 전 세계 기축통화인 자국 달러를 엄청나게 발행해 인위적으로 위기를 극복했다는 것이다. 실제로 미국은 자신들이 보유한 초거대경제기반을 바탕으로 자국의 이익에 따라 통화발행을 조절하며, 자국 이익에 반하는 경우 금융거래 중지 등 강력한 제재를 통해 빈번히 위기를 극복해 온 것이 사실이다. 비트코인은 정부나 금융기관의 통제를 받지 않고, 또한 지역에 국한되지 않으며, 익명-실제로는 차명이란 표현이 더 맞지만-으로 온라인을 통해 개인 간 동등하게 자유로운 거래를 할 수 있는 장점이 있다. 바로 이 점이 미국, 중국과 같은 초강대국들의 외교, 무역, 금융정책에 영향을 받지 않고 경제활동을 할 수 있는 무언가를 찾고자 하는 차원에서 이루어진 비트코인 탄생의 배경이라는 것이다.

그러나 온라인상의 거래란 늘 해킹 등의 위험성이 존재하여, 전자거래에서 암호화는 거의 생명과도 직결되는 가장 중요한 요소라고 할 수 있는데, 비트코인에서는 공개키암호화(PKI: Public Key Infra-structure) 방식을 채택해 보안성을 높이고 있다. 공개키암호 방식은 보내는 정보를 암호화할 때, 암호화 하는 열쇠와 이를 해독하는 복호화 열쇠가 서로 다른 비대칭형 암호화 방식이다. 통상 암호화 방식은 보내는 정보를 암호화하는 열쇠와 암호를 푸는 복호화 열쇠가 서로 대칭인 대칭형 암호화 방식이다.

예를 들어 ‘KIM’이라는 메시지를 보내면서 암호를 15를 붙여 ‘15KIM’이라는 메시지를 보냈다 했을 때 수신자는 15의 역수인 1/15를 곱해주면 원래의 ‘KIM’이라는 메시지를 복원하게 된다(설명을 위함으로 두 수의 곱으로 생성되는 1은 무시). 이것이 대칭형 암호화 방식의 일반적 형태인데, 본 방식은 송·수신 한쪽의 해킹만으로도 쉽게 보안을 뚫을 수 있으며, 송신 측이 암호화 메시지를 보낼 때는 불가피하게 복호화키를 수신 측에 전달해야 하므로 보안상 여러 가지 허점이 있어, 이에 대한 보완책으로 등장한 것이 바로 비대칭형 암호화 방식인 공개키암호화 방식이다.

공개키암호화 방식을 이용한 전송 절차를 보면 송신자 A가 수신자 B에게 메시지를 보내는 경우, A는 B에게 B가 보유하고 있는 공개키를 요청한다. B는 정수 소인수분해의 어려움에 기반한 ‘RSA알고리즘’에 의해 자신의 개인키(복호화키)와 공개키(암호화키)를 생성하고 공개키를 A에게 전달한다. 이를 수령한 A는 자신이 보내고자 하는 데이터 위에 B의 공개키를 덮어씌워 B에게 전달하면, B는 위 알고리즘에 의해 생성된 개인키 즉 복호화키를 이용해 원 메시지를 복원하게 되는 것이다. 해커가 A가 보낸 메시지를 해독하기 위해서는 B의 개인키를 알아야 하는데, 암호화, 복호화키가 서로 다른 키이므로, 설사 공개키를 해킹했다 해도여 복호화를 위한 개인키는 B가 보관해 오직 B만이 알 수 있는 것이기 때문에 메시지 해독이 불가능하다는 것이다. 물론 해커가 B의 컴퓨터에 침입해 개인키 해킹을 시도할 수도 있으나, 개인키, 공개키는 통신이 이루어질 때마다 생성되는 것이기 때문에 사실상 해킹은 거의 불가능하다.

위 절차에 또 추가될 사항은 송신자 A가 메시지 송신 시, B의 공개키는 물론 자신의 개인키를 같이 실어 보낸다는 것이다. 수신자 B는 A 송신 데이터 복호화 시 A에게 공개키를 요청해 이를 받아 복호화하는 절차가 추가된다는 것인데, 이럴 경우 해커는 B의 개인키는 물론 A의 개인키도 동시 해킹해야 메시지를 볼 수 있게 된다. 공개키, 개인키 생성의 난수형태, A와 B가 상호 보관하고 있는 개인키를 동시에 빼내야 함 등을 고려하면 보안 문제는 사실상 해결됐다고 볼 수 있다.

비대칭형 암호화 방식은 1976년 미국 암호학자인 디피와 헬만의 ‘키교환 알고리즘’에 기반을 두고 있지만, 현대적 개념의 공개키암호화 알고리즘은 리베스트 등 세 명의 수학자가 제시한 ‘RSA 알고리즘’이라 할 수 있다. 모든 수를 1과 자신의 수로만 나눌 수 있는 소수로 분해하는 소인수분해의 난이함을 이용한 것인데 슈퍼컴퓨터로도 해독에 10년 이상 소요된다는 것이 전문가들의 의견이다. 최근 연구되고 있는 양자컴퓨터 출현 전까지는 완벽한 보안체계라 아니할 수 없다.

 



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.