세상에 못 푸는 암호는 없다, 잘 숨긴 암호가 있을 뿐

정은진 교수

(11) 해킹과 암호화 기술

일러스트 | 김상민 기자 yellow@kyunghyang.com

일러스트 | 김상민 기자 yellow@kyunghyang.com

정보를 반투명 금고에 넣은 것과 같은 ‘암호화’…정보 무용 아닌 ‘접근 통제’에 목적
정보 잘 감추면서 금고 열 수 있는 ‘열쇠’ 많고, 사용자가 빠르게 접근할 수 있어야 ‘좋은 암호화 알고리즘’
세계적으로 많이 쓰는 알고리즘, 해킹 때 모든 열쇠값 시도·천문학적 비용 들도록 설계
해커들, 금고와 함께 열쇠도 훔치려 해…정보 다루는 기관들, 개인정보·열쇠 분리해서 보관해야

해킹을 미연에 모두 방지할 수 있으면 제일 좋겠지만, 지난 칼럼에서도 이야기했듯이 스피어피싱은 나날이 정교해지고 있어서 ‘우리 회사의 서버만큼은 해킹이 절대로 불가능하다’고 생각하고 있을 수는 없다. 그렇다면 해킹에 대비해 어떤 조치를 취할 수 있을까? 드라마 <이상한 변호사 우영우>에서 해커는 개인정보를 넘겨달라는 공범에게 암호화한 상태로 파일을 전송한다. 법정에서 해커는 공범의 실력으로는 그 암호를 풀 수 없었을 것이라고 단언한다. 애초에 개인정보를 어떤 해커도 쉽게 풀 수 없는 방법으로 암호화한 상태로 저장해두면, 해커가 파일을 유출해도 개인정보가 유출되지 않게 할 수 있지 않을까?

■암호화란 무엇인가

암호화 기술은 보호하고자 하는 정보를 글자 무늬가 가득한 반투명 소재로 만든 금고에 넣는 것과 비슷하다. 완전히 불투명해 안에 무엇이 들어 있기나 한지조차 알 수 없는 금고가 아니라, 안에 뭔가 들어 있다는 건 알지만 금고의 글자 무늬와 겹쳐져 뭐라고 쓰여 있는지 알아보기 매우 어려운 형태다. 열쇠가 있으면 쉽게 열어서 안에 있는 정보를 확인할 수도 있고, 다른 정보를 금고 안에 넣고 잠글 수도 있지만, 열쇠가 없으면 금고 밖에서 추측만 할 수 있다. 예를 들어, ‘전화번호’가 실제로 우리가 저장하고 싶은 개인정보라면, 금고 밖에서는 글자들이 ‘풀땍규쿨’로 보일 수도 있다.

모든 개인정보를 암호화한 상태로 저장하면, 마치 이 반투명 금고 안에 개인정보가 들어 있는 상태로 창고에 쌓아두는 것과 비슷하다. 개인정보가 필요할 때는 열쇠로 금고를 열어 바로 사용하고, 사용이 끝나면 금고를 닫아둔다. 해커가 창고에 있는 반투명 금고의 사본을 만들어서 가져가도 열쇠가 없다면 ‘풀땍규쿨’만 볼 수 있어서, ‘전화번호’ 유출은 막을 수 있다.

■좋은 암호화 기술의 조건

당연하게도 금고를 잘 만드는 기술은 쉽지 않다. ‘전화번호’를 넣었을 때 금고 밖에서 보이는 정보가 ‘ㅈㅎㅂㅎ’만 되어도 이게 개인정보라는 것을 알고 있는 해커는 전화번호라고 유추하기 쉽다. 금고 밖에서 ‘풀땍규쿨’을 보아도 ‘전화번호’라는 원래 데이터에 대한 아무 정보도 알 수 없도록 해야 한다. 금고를 열고 닫는 데에 쓰이는 열쇠가 총 스무 개 존재한다면, 그 스무 개 열쇠의 사본을 갖춘 무적의 해커가 나타나는 것은 시간문제다. 따라서 사용 가능한 열쇠는 많을수록 좋다. ‘전화번호’가 필요할 때마다 열어야 하는 금고를 지나치게 복잡하게 만들 수는 없다. 카트에 넣은 물건을 결제하려는 사용자에게 배송주소와 전화번호 확인을 받아야 하는데, 금고를 여는 데에 너무 오랜 시간이 걸리면 사용자가 결제를 포기할 수 있기 때문이다. (모바일에서 웹사이트 로딩에 3초 이상이 걸리면 53%의 사용자가 그 웹사이트를 닫아버린다는 2017년 통계도 있다. 인터넷이 느린 미국의 2017년 기준이므로, 지금 한국에서는 기대치가 더 높아졌을 것이다.) 미리 금고를 열어두면 되지 않나 생각할 수 있지만, 그러면 해커가 ‘풀땍규쿨’이 아니라 ‘전화번호’를 볼 수 있을 확률이 올라간다.

안에 있는 정보를 잘 감추어주면서, 쓸 수 있는 열쇠가 매우 많고, 금고를 여닫는 속도는 빠른 게 좋은 금고, 즉 좋은 암호화 알고리즘이다. 좋은 암호화 알고리즘은 전문 지식을 가진 연구원들이 수년에 걸친 시간과 노력을 들여야 만들 수 있어서, 이렇게 파일을 암호화하는 데에 전 세계적으로 많이 쓰이는 알고리즘은 많지 않다. 파일 암호화에 가장 많이 쓰이는 블록 암호 알고리즘의 경우, 정보를 잘 감추어준다고 미국 국립표준기술연구원(NIST)의 인정을 받고, 금고를 여닫는 속도에 대한 검증도 되어 있는 알고리즘은 AES와 3DES 두 종류뿐이다. 그중 전 세계적으로 많이 쓰이는 AES의 경우, 주로 쓰이는 열쇠의 크기가 2~3종류 있고, 크기별로 사용 가능한 열쇠(뒤에 붙는 0이 34개)가 밤하늘의 별(뒤에 붙는 0이 24개)보다 많다.

■암호를 푸는 해커들

영화에 나오는 금고털이들을 보면 금고 하나하나를 여는 법을 배우는 게 아니라, 금고 유형별로 여는 법을 배운다. 다이얼을 돌리는 금고라면 청진기를 이용해 다이얼이 맞는 숫자에 걸리는 소리를 듣는 법을 배운다. 키패드를 누르는 금고라면 키패드 뒤 전선을 해체하거나 키패드에 강한 전기충격을 주어 금고를 여는 법을 배운다. 해커들도 마찬가지다. 해커는 암호화된 파일을 해킹할 때 사용된 암호화 알고리즘에 따라 다른 방법을 이용한다.

<우영우>에 자세하게 언급되지는 않았지만, 개인정보가 들어 있는 파일을 AES로 암호화했고 열쇠가 없다면, 알려져 있는 가장 효과적인 해킹 방법은 가능한 모든 열쇠를 시도해보는 것이다. 하지만 밤하늘의 별보다 많은 열쇠가 존재하니 아주 긴 시간이 걸리거나(지금 시작한다면 손자의 손자는 성공할 수 있다) 아주 많은 돈이 든다(밤하늘 전체의 별만큼은 아니지만 서울 밤하늘의 별만큼 많은 컴퓨터에 병렬 처리를 시킬 수 있다). 그러니 드라마에서 해커는 공범이 암호를 풀지 못했을 것이고, 따라서 개인정보 유출은 없었다고 단정지을 수 있었던 것이다.

해커들도 이 사실을 잘 알고 있고, 그래서 해커들의 1차 목적은 금고를 훔칠 때 열쇠도 같이 훔치는 것이다. 많은 사람들이 다 같이 쓰는 사무실의 금고 열쇠는 어디에 있을까? 자주 쓰는 열쇠는 금고 근처 누구나 찾기 쉬운 곳에 두기 마련이고, 금고 앞 책상 서랍 같은 곳에서 흔히 발견된다. 개인정보 암호화에 쓰이는 열쇠도 (결제 등을 위해) 자주 쓰이기 때문에, 암호화된 개인정보 파일이 저장된 서버에 같이 저장되어 있는 경우가 많다. 그래서 해커가 일단 서버 안에 들어가는 데에 성공하면, 개인정보 파일을 일단 유출하고 그 뒤로 들키지 않도록 조용히 오랫동안 서버에서 열쇠 파일을 찾기 위해 노력한다. 암호화된 개인정보 파일과 함께 자주 사용되는 파일이 무엇인지 관찰하고, 그 파일들을 유출한다. 이런 해킹을 하기 위해 개인정보처럼 중요한 파일을 읽을 수 있는 권한이 있는 직원의 계정을 노린다.

아무 소프트웨어나 실행시킬 수 있는, 보안등급이 더 높은 권한을 가진 관리자의 계정을 해킹하면 디스크보다 훨씬 작은 메모리에서 열쇠값을 찾아볼 수 있다. 개인정보를 열람하기 위해 자주 암호를 풀기 때문에 필요한 열쇠값이 컴퓨터 안 메모리에 머물러 있는 경우가 많다. 자주 금고를 열면 금고 근처 서랍에 열쇠를 두는 것과 비슷하다. 금고 근처 서랍을 열 수는 없지만 손을 넣을 수 있다면 더듬더듬 열쇠를 찾아볼 수 있는 것처럼, 메모리 안에 있는 내용을 조금씩 읽어가면서 열쇠값에 해당하는 내용이 있는지 하나하나 실험해볼 수 있다. 하지만 이런 관리자 계정을 해킹하는 것은 파일을 읽을 수만 있는 직원의 계정을 해킹하는 것보다 더 어렵고, 더 높은 단계의 해킹 기술을 요한다.

■양자컴퓨팅의 시대에는 양자저항 알고리즘

해킹과 관련 없이 암호화 알고리즘에 가장 큰 위협이 무엇이냐고 묻는다면 단연 양자컴퓨팅의 약진이지만, 양자컴퓨팅이 직접적으로 영향을 미치는 알고리즘은 암호화 알고리즘 중 일부분이다. 위에서 예로 든 AES의 경우, 열쇠값의 길이가 256비트인 AES-256은 ‘양자저항성’이 있다고 2019년 연구를 통해 알려졌다. 양자저항성이란 양자컴퓨터가 실용화된 뒤에도 해킹을 하기 위해서는 위에서 말한 AES의 모든 열쇠값을 시도하는 것처럼 비현실적으로 많은 시간이나 자원이 필요한 경우를 말한다. 구글의 양자컴퓨터 시카모어는 53큐비트를 사용하는데, AES의 열쇠값이 156비트만 되어도 해킹에 성공하려면 6600큐비트 양자컴퓨터가 필요하다. 만일 256비트 열쇠값을 사용한다면 해킹에 더 많은 시간과 비용이 들어가기에 더 안전하다는 것이 그 연구의 요지다(모든 열쇠값을 시도하면 반드시 성공하므로 불가능하다는 말은 쓰지 않는다).

다만 현재 전자상거래 등 웹사이트 보안에 많이 이용되는 RSA 알고리즘의 경우, 지금 사용하고 있는 열쇠의 길이는 대부분 1024비트에서 2048비트인데 양자컴퓨터가 4099큐비트에 도달하면 10초 안에 2048비트 열쇠값을 찾아낼 수 있을 것으로 예측되고 있어 향후 사용을 점차 줄여나가야 한다는 의견이 지배적이다. (IBM은 2025년까지 4100큐비트에 도달하는 것을 목표로 하고 있다.) 미국 국립표준기술연구원은 2016년부터 학계에 RSA를 대체할 양자저항성이 있는 암호화 알고리즘을 공모하기 시작했고, 표준 알고리즘 후보를 선정해둔 상태다. 후보로 선정된 알고리즘은 자세한 내용이 공개되어 전문가들의 리뷰를 받게 되고, 일정 시간 이상이 지나도 버그가 발견되지 않으면 표준으로 채택될 예정이다. 표준으로 채택된 알고리즘을 실제 소프트웨어로 구현하고 최적화하는 과제가 남아 있지만, 대책 없이 양자컴퓨터의 발전을 두려워하고 있는 상황은 아니다.

■절대로 풀 수 없는 것은 암호가 아니다

흔히 암호화라고 하면 내용을 알아볼 수 없게 만드는 것이라고 생각하지만, 사실 암호화의 진정한 의미는 열쇠를 가진 사람은 쉽게 내용을 알 수 있어야 한다는 조건이 붙는다. 절대로 지지 않는 방법은 싸움을 하지 않는 것이고, 아무도 내용을 알아볼 수 없게 하려면 정보를 삭제하면 된다. 암호화를 통해 우리가 얻고자 하는 것은 정보가 무용해지는 것이 아니고, 정보에 대한 접근을 통제하는 것이다. 그렇기 때문에 반드시 (금고를 열어 내용을 보는) 복호화가 가능해야 하고, 그러기 위한 열쇠값이 필요하고, 그러니 모든 열쇠값을 다 시도해보는 해킹은 막을 수 없는 것이다.

하지만 현재 업계에서 널리 쓰이고 있는 암호화 알고리즘들은 제대로만 사용하면 모든 열쇠값을 다 시도해보는 것이 최선의 해킹이고, 모든 열쇠값을 다 시도하는 데에는 천문학적인 시간과 비용이 들도록 설계되어 있다. 따라서 개인정보를 다루는 모든 기관과 사업체에서 널리 인정받은 암호화 알고리즘을 제대로 사용하고, 열쇠값을 개인정보와 분리해 안전한 곳에 보관하도록 하는 관행이 하루빨리 자리 잡길 바란다.

▶정은진 교수

[정은진의 기술을 기술하다] 세상에 못 푸는 암호는 없다, 잘 숨긴 암호가 있을 뿐

서울대 전산과학과를 졸업하고 미국 오스틴에 있는 텍사스주립대학에서 전산과학 석·박사 학위를 받았다. 현재 샌프란시스코대학 부교수로 재직 중이다. 분산시스템과 인터넷에서의 보안을 연구했고, 최근에는 게임이론을 이용해서 합리적인 사람들이 블록체인처럼 탈중앙화된 시스템을 안전하게 사용할 수 있게 해주는 방법을 연구하고 있다. 최신 기술의 발전을 가까이 볼 수 있는 실리콘밸리에서 컴퓨터과학을 오래 가르치면서 기술이 사회에 미치는 영향에 대해 깊이 생각하게 되었고, 그 영향력을 선한 방향으로 이끌어가기 위해서는 더 많은 사람들이 기술을 쉽게 이해할 수 있어야 한다고 믿는다.



Today`s HOT
디엔비엔푸 전투 70주년 기념식 토네이도로 파손된 페덱스 시설 브라질 홍수, 대피하는 주민들 바다사자가 점령한 샌프란만
폭우로 주민 대피령 내려진 텍사스주 폭격 맞은 라파
갱단 무법천지 아이티, 집 떠나는 주민들 파리 올림픽 보라색 트랙 첫 선!
호주 시드니 대학교 이-팔 맞불 시위 UCLA 캠퍼스 쓰레기 치우는 인부들 침수된 아레나 두 그레미우 경기장 휴전 수용 소식에 박수 치는 로잔대 학생들
경향신문 회원을 위한 서비스입니다

경향신문 회원이 되시면 다양하고 풍부한 콘텐츠를 즐기실 수 있습니다.

  • 퀴즈
    풀기
  • 뉴스플리
  • 기사
    응원하기
  • 인스피아
    전문읽기
  • 회원
    혜택