지금 세계는 온라인 대중 공개강좌(MOOC) 열풍이다. 온라인을 통해 미국 스탠퍼드대와 같은 명문 대학의 강의를 언제 어디서나 손쉽게 접하는 게 가능해진 것이다. 한경 머니가 MOOC의 대표주자인 코세라(coursera)의 강의를 매달 지면으로 옮긴다.
세계의 오피니언 리더들은 지금 어떤 강의에서 ‘새로운 영감’을 얻고 있을까.
[COURSERA CLASS] 댄 보네 교수의 암호학
컴퓨터가 모든 것을 지배하는 세상이다. 그러나 컴퓨터의 지배력이 커져갈수록 개인정보보호 등 컴퓨터 보안에 대한 불안감은 커져만 간다. 지난 1월 6일부터 코세라(www.coursera.org)에서는 댄 보네 스탠퍼드대 교수가 진행하는 ‘암호학1’ 강의를 시작했다. 암호기법이 어떻게 작동하는지, 이 암호기법을 활용해 어떻게 해커들의 공격을 막을 수 있는지를 얘기하는 것이 이 수업의 목표다. 그 첫 번째 시간으로 보네 교수는 암호학의 역사와 함께 미래의 가능성을 짚었다. 보네 교수의 강의 일부를 소개한다.


로마시대부터 현재까지, 암호학의 역사
데이비드 칸(David Kahn)의 ‘코드브레이커(Codebreakers)’라는 책에 따르면 암호학의 시작은 로마시대 때의 ‘대수학’에서부터 찾을 수 있다. 말하자면 이 방식은 각각의 알파벳을 다른 알파벳으로 바꿔서 사용하는 것이다. 예를 들어 b 대신 i를 쓰고, k 대신에 u를 써서 편지를 완성하는 식이다.

그런데 이 방식은 해커가 알파벳을 바꾸는 데 사용하는 차트만 알면 쉽게 해독이 가능하다. 먼저, 영어에 가장 많이 쓰이는 알파벳을 찾는다. 바로 e다. 전체 알파벳 중 쓰일 확률이 12.7%에 달한다. 그렇다면 암호화된 문장에 가장 많이 쓰인 알파벳을 찾으면 바로 그게 e일 확률이 높다. 가장 많이 쓰이는 알파벳의 쌍을 찾는 것도 도움이 된다. 영어에서 가장 많이 쓰는 알파벳 쌍은 ‘he’, ‘an’, ‘in’, ‘th’ 등이다. 각각의 확률을 이용해 계속해서 부딪히면 암호를 완벽하게 알 수 있다. 해킹에 가장 취약한 암호 체계인 셈이다.

16세기 르네상스 시대 비즈네르 암호는 미리 준비돼 있는 표를 사용해 ‘키워드’ 하나만 정하면 쉽게 해독할 수 있었다. 19세기로 넘어오면 사람들이 사용하는 도구는 대부분 전기를 사용하는 기계로 바뀌게 된다. 사람들은 암호를 기계가 대신 만들어 주길 원했고, 그 첫 번째 기계가 바로 히버 머신(Hibber machine)이다. 1개의 디스크를 지닌 이 기계는 글자를 칠 때마다 출력되는 알파벳이 계속해서 한 단계씩 바뀌도록 했다. 예를 들어 글자 C를 타이핑 한다면 처음에는 T로 출력이 되고, 그다음에는 F로 출력이 되는 식이다.

이후 더욱 복잡한 기계들이 등장했고, 우리가 잘 아는 대표적인 기계인 ‘에니그마(Enigma)’가 등장한다. 이 기계는 3~4개의 디스크가 있으며 타이핑을 할 때마다 각각 다른 속도로 디스크가 돌기 때문에 해독이 매우 어렵다. 하지만 제2차 세계대전 당시 독일군들이 에니그마를 이용해 암호화한 문서를 영국 브레츨리 파크의 암호학자들이 해독하는 데 성공해 연합군을 승리로 이끌기도 했다.

디지털 시대가 시작되면서, 세상은 점점 더 컴퓨터에 의존하고 있다. 정부 역시 정보를 보호하기 위한 암호에 관심이 높아졌다. 미국 정부는 컴퓨터 산업계에 암호를 만들어 달라는 요청을 했고, 1974년 IBM에서 DES(Data Encryption Standard)라는 암호를 만들어 미 정부 데이터를 암호화하는 데 공식적으로 사용되고 있다. 이전의 기계들이 각 글자를 암호화시키는 방식이었다면, DES는 한번에 64비트(8글자)를 암호화시키는 방식으로 해킹에 보다 안전하다. 최근에는 128비트를 한번에 암호화하는 새로운 기법이 각광받고 있다.
[COURSERA CLASS] 댄 보네 교수의 암호학
비트코인의 암호학
그렇다면 이 같은 암호기법은 어떻게 작동하는 것일까. 여기 A와 B 두 사람이 있다. 이 두 사람이 컴퓨터 네트워크로 이야기를 나누고자 한다. 물론 이들의 대화를 누군가 엿듣는다거나 조작하지 않기 위한 열쇠가 필요하다. 이럴 때 사용하는 것이 바로 ‘악수(handshake)’ 프로토콜이다. A와 B는 대화를 마친 후 서로 ‘악수’를 하게 되고, K라는 공유 비밀 키가 서로에게 주어진다. 바로 이 두 사람만 아는 비밀 열쇠를 통해 두 사람의 대화를 암호화하고 필요할 때 꺼내어 해독하는 게 가능한 것이다.

이 같은 보안 소통을 만드는 데 사용되는 것이 SE(Symmetric Encryption) 시스템으로, 여기에 사용하는 알고리즘은 이미 모두에게 공개돼 있다. 수십 년에 걸쳐 수많은 사람들이 검증하고 발전시켜 온 알고리즘인 셈이다. 그러니 누군가 당신에게 와서 “내가 만든 최신 암호기법이 있는데 쓰시겠습니까”라고 제안한다면, 단호히 거부하는 것이 현명하다. 대부분 새로운 암호기법은 역추적을 통해 쉽게 해킹을 당할 수 있는 반면, 이미 성과가 검증된 기존 암호기법이 훨씬 더 안전할 수 있다.

여기서 한 단계 더 나가보자. 만약 A와 B가 서로 ‘익명’으로 대화를 하길 원한다면 어떨까. 만약 A가 B에게 건강문제에 대해 조언을 구하고 싶은데, 자신의 신분을 노출하고 싶지 않다. 이 경우 A는 몇 가지 대리 단계를 거쳐 자신이 누구인지를 감출 수 있다. B는 자신이 누구와 대화하는지 전혀 모르지만 A가 필요로 하는 정보를 제공하는 데는 문제가 없다.

이러한 소통 방식의 대표적인 예가 비트코인과 같은 디지털 캐시다. 만약 A가 지금 서점에 들어가서 책을 산다면, 서점 주인은 A의 이름과 나이 생년월일 등을 알 수 없다. A가 누구인지 몰라도 책을 사고파는 것이 얼마든지 가능하다. 그렇다면 디지털 세상에서는 어떨까. A가 디지털 세상에서 비트코인을 갖고 온라인 서점에서 책을 산다고 하자. 이 경우 앞서 얘기한 ‘대리단계’를 통해 익명성을 유지할 수 있는 것이다. 문제는 디지털 세상에서 A가 동전을 쓰기 전에 마구 복사를 해서 다른 상점에서도 사용할 수 있다는 위험성이다. 그렇다면 어떻게 해야 익명성을 유지하면서도 동전의 복사를 방지할 수 있을까. 해결책은 의외로 간단하다. A가 동전을 한 번 썼을 경우 익명성이 유지되지만 계속해서 같은 동전을 쓸 경우 신분이 노출돼 법적 조치를 받을 수 있도록 하는 것이다.

비트코인과 같은 디지털 캐시 외에도 이 같은 ‘익명 대화’는 활용할 수 있는 곳이 무궁무진하다. 컴퓨터를 활용한 전자선거에서도 유권자들은 신분 노출 없이 원하는 정당에 투표가 가능하다. 컴퓨터 경매를 진행할 때도 이와 같은 방식은 유용하다. 경매 참가자들은 자신의 최고입찰가액을 비밀에 부치면서도 경매 참가가 가능하다. 구글도 이 같은 암호학 기법을 사용하는 데 적극적이다. 그중 하나가 ‘개인화 아웃소싱 컴퓨팅(Privately Outsourcing Computation)’이다. 예를 들어 A가 구글을 통해 검색한다고 하자. 이때 ‘검색어’를 암호화할 수 있다면 구글은 그 방대한 검색 알고리즘을 사용해 정보를 찾아서 해당사항을 암호화한 뒤 다시 A에게 돌려보낼 수 있다. 말하자면 구글은 A가 무엇을 검색했는지 모르지만 A가 원하는 답을 줄 수 있는 것이다. 물론 이 방법은 이론상으로는 충분히 가능하지만 아직 실제로 대중화되기에는 현재 기술력에 무리가 있다. 하지만 머지않은 미래에 충분히 가능할 것이라는 게 컴퓨터 전문가들의 예측이다.


강의 스탠퍼드대 암호학1(https://class.coursera.org/crypto-009)│번역 박근수 guen.park@gmail.com│정리 이정흔 기자 verdad@hankyung.com