Term
비밀번호, 크랙할 수 없는 비밀번호(Uncrackable Passphrases) ②
2016 12 13
  • Facebook
  • Twitter
  • Copy URL

많은 이들이 개인정보보호를 위해 힘쓰고 있다. 아이폰은 거의 대부분의 개인정보를 암호화하고 맥 또는 윈도우 8.1에서는 자동으로 컴퓨터의 하드드라이브가 잠긴다. 페이스북의 채팅도 종단간 암호화(end-to-end)방식을 적용했다. 이렇게 여러 회사들도 고객들의 개인정보를 지키기 위해 기술력을 높이고 적용시킨다. 하지만 이러한 노력을 물거품으로 만드는 것이 취약한 비밀번호다. 기술을 통해 보호 받고 있지만 못지않게 나 자신도 내 개인정보를 보호하는데 수수방관할 입장은 아니라고 생각이 든다. 더군다나 최근 들어 해킹 사고를 통한 비밀번호 유출은 2차 피해까지 우려하게 만든다. 이렇게 보안에 힘써야 된다고 생각한다면 먼저 좋은 비밀번호를 만들어내는 것이 가장 큰 할일인 것 같다. 하지만 좋은 비밀번호라는 것은 알 길이 없다. 단지 영문, 숫자, 특수기호의 조합이란 것과 연속되지 않는 숫자, 긴 비밀번호 등이 평균적으로 생각하기에 좋은 암호라는 생각을 할 것이다. 하지만 이 얘기는 너무 오래 전부터 들려오는 이야기라는 생각이 든다. 이제는 조금 더 복잡하게 ‘크랙할 수 없는 비밀번호, passphrases’다.

이미지를 불러오는데 실패했습니다.

가장 기본 적으로 욕설이 비밀번호 소재로 가장 많이 쓰이며 그날의 기분, 자신의 상태가 영향이 간다. 나 하나쯤이란 생각은 안일한 생각인 것이 매년 조사되는 비밀번호를 보면 크게 달라진 구석이 없기 때문이다. 예를 들어 123456은 물론 asdf1234, passwOrd, 11111 등 이와 같은 비밀번호는 순위권에 변동도 없이 항상 상위권을 차지하는 비밀번호다. 심지어 미국 핵 무기 코드 비밀번호는 15년간 ‘00000000’였다고 한다. 이처럼 짧은 암호, 숫자로만 구성된 암호, 글자의 단순 반복 또는 나열, 사람 이름, 사전 등록 단어, 너무 유명한 조합, 기념일 같은 개인의 정보와 관련 있는 내용, 모든 사이트의 같은 비밀번호 사용, 한/영 바꾸어 입력하기 등 취약한 비밀번호를 만드는데 꾸준하게 매년 한 몫 하고 있다. 이런 비밀번호가 취약하다고 말하는 이유는 이러한 비밀번호로 설정했을 경우 슈퍼컴퓨터로 컴퓨터를 해킹한다고 가정하면 1초에 약 1조 개 이상의 추측을 수행할 수 있기 때문이다.

그렇다면 안전한 비밀번호라는 것은 어떻게 만들어야 하는지 의문이다. 가장 간단한 방법은 비밀번호가 아닌 패스 프레이즈(passphrases)을 사용하는 것이다. 패스 프레이즈는 비밀번호와 같은 역할로 일반 비밀번호와 다른 점은 단어로 된 긴 문장이거나 혹은 단어를 암호화한 것이다. 비밀번호가 길수록 더 안전하며 이렇게 하면 추측하기도 어렵기 때문에 최근 들어서는 안전한 비밀번호를 만들기 위한 방법으로 제공되고 있다. 하지만 문제는 어떻게 추측하기 힘든 긴 문장을 만들어내냐는 것이다. 그저 내가 좋아하는 캐릭터들을 나열하거나 좋아하는 인용문을 선택하는 것은 약하다. 좀 더 강력한 것이 필요하다.

기술전문가 ‘미카 리(Micah lee)’는 이를 적용하여 해커도 풀기 힘든 NSA에서도 손은 들게 만든 가장 강력한 안전한 비밀번호 만드는 법을 만들어냈다. 그가 만든 안전한 비밀번호를 만드는데 필요한 것은 주사위다. 이를 Diceware라 하며 Diceware는 7,776개의 영어 단어로 구성된 목록을 바탕으로 각 영어단어는 다섯 개의 숫자로 구성되어 있다.

가장 먼저 하는 것은 주사위를 굴려 5개의 난수를 얻는 것이다. 난수는 Diceware 목록을 통해 생성된 단어가 암호문의 첫 단어가 될 것이다. 이를 안전하게 5~7번 정보 반복하여 가장 적합한 비밀번호를 만들면 된다.

이렇게 하면 무작위로 추출된 단어와 숫자로 무질서한 단어들의 배열이 된다. 예를 들어, ‘검정색 핵 핸드폰 박카스 휴지 머그컵 위도우메이커’ 같이 전혀 상관없는 단어들의 배열이 될 것이다. 물론 외워야 하는 것은 있겠다. 기억해야 할 과제처럼 들리더라도 ‘D07 %a A16 %d C12 OMG’ 같은 것 보다는 훨씬 낫지 않을까 생각된다.

이렇게 했을 때 만약 7개의 단어를 비밀번호로 사용했을 때 그것은 다이스웨어 목록을 통해 만들 수 있는 비밀번호 1,719,070,797,748,422,591,028,658,176개 중 하나이다. 더불어 컴퓨터가 비밀번호를 초당 10억회 정도 추측 한다면 이 비밀번호를 추측하는데 평균 2천 700백만 년이 걸리며 이러한 수학적 접근 방식은 임의성 또는 무질서적인 단어의 배열로 해커가 풀어낼 가능성이 극히 드물다. 이처럼 나의 계정, 무언가를 보관하기에 좋은 비밀번호는 이런 것이다. 사이버 테러가 계속해서 일어나고 있는 이때 이 같은 소식은 참으로 반가운 소식이며 안도의 한숨을 내쉬게 해주는 숨통이 아닐까 생각이 든다.

1부 보러가기

비밀번호, 패스워드 해싱(Password Hashing) ①

유성경 yuopboy@grayhash.com