2018.10.11

글로벌 칼럼 | 긴 비밀번호가 비밀번호 문제의 "해답"일까

Roger A. Grimes | CSO
자주 변경하는 길고 복잡한 비밀번호를 사용하지 말라는 내용이 포함된 NIST의 새로운 비밀번호 관련 '권고사항(조언)'이 컴퓨터 보안 업계를 흔들고 있다. 그리고 많은 보안 전문가와 실무자들은 NIST의 새로운 권고사항을 믿지 않으려 한다. 이런 사람들의 입장을 이해한다.

수십 년 간 지탱되어 온 기존 권고사항을 뒤집는 것이기 때문이다. 당장 NIST만 하더라도 새로운 권고사항에 정반대되는 과거 권고사항을 받아들이고 믿으라고 말해왔다.

그러나 시대가 변한다. 해킹 방법도 변한다. 과거 가장 빈번했던 공격을 억지하는 데 사용되었던 방법이 더 이상 효과가 없어졌다. 비밀번호가 크랙이 더 힘들어지기 시작하면서, 공격자들이 성공 확률이 높은 다른 방법을 찾아 도입했을 것이라고 예상할 수 있다.


Credit: Getty Images Bank

필자가 풀타임으로 일하는 회사인 노우비포(KnowBe4)의 CHO(Chief Hacking Officer) 케빈 미트닉은 길고 복잡한 비밀번호의 허상을 깨뜨린다(링크 동영상 참조). 

단 31초 만에 17개 문자의 복잡한 비밀번호를 크랙한 것이다. 이런 이유로, 미트닉은 25개 이상의 문자로 구성된 단순하지만 긴 패스프레이즈(또는 패스센턴스(PassSentences))를 사용하라고 권장한다. 'I like to the beach to get wet'을 예로 들 수 있다. 또한 좋은 비밀번호 관리 도구를 사용, 패스프레이즈를 관리하는 방법을 추천한다.

좋은 '조언'이다. 대부분은 동의한다. 단 한 가지 확신이 들지 않는 부분은 25개 이상의 문자 사용을 요구하는 것이다. 25개 이상의 문자로 구성된 긴 비밀번호를 사용하면 비밀번호 해시 크래킹이나 비밀번호 추측 등을 이용한 비밀번호 크래킹이 더 어려워지지만, 동시에 사용자가 여러 보안 도메인(영역)에서 동일한 비밀번호를 재사용할 확률이 높아지기 때문이다.

NIST는 최근 권고사항에서 이 부분을 강조했다. NIST는 비밀번호 사용과 관련된 가장 큰 위험, 또는 가장 큰 위험 가운데 하나를 비밀번호 재사용으로 판단하고 있다.

패스프레이즈는 비밀번호보다 크랙이 더 어려울까 
길이를 더 길게 만들면 더 효과적으로 방어를 할 수 있다는 개념 아래 더 긴 비밀번호(또는 패스프레이즈) 사용을 권장한다. 이론상으로는 옳은 말이다. 그러나 비밀번호 복잡성 원칙이 '이론'과 '실제'의 차이 때문에 효과가 없듯, 길이가 제공하는 '방어력'도 복잡성보다는 덜할지 몰라도 동일하게 효과가 없다.

복잡성 요구가 효과 없는 이유는 복잡한 비밀번호를 요구해도, 사람들은 실제 그렇게 복잡하지 않은 비밀번호를 선택해 사용하는 경향이 있기 때문이다. 예를 들어, 사람들은 키보드에서 94개의 각기 다른 문자를 자유롭게 선택해 사용할 수 있지만(일부는 6만 5,000개의 문자), 대부분은 동일한 32개 문자를 사용한다. 그리고 일반적인 비밀번호의 구성 형태도 동일하다.

'복잡한' 영어 비밀번호는 처음에는 대문자 자음, 다음은 소문자 모음, 숫자가 요구되는 경우 끝에 1이나 2 등으로 구성되는 경우가 아주 많다. 그리고 특수 문자는 !, @, #, $를 사용할 것이다. 여러 보안 도메인에 이 비밀번호를 조금 바꿔 사용한다. 동일한 사이트에서 비밀번호를 변경해 사용하는 경우에도 Tadpole1을 Tadpole2 식으로 조금 바꿔 사용한다.

비밀번호 전문가에 따르면, 사람이 선택한 대부분의 복잡한 비밀번호는 엔트로피(Entropy, 무작위성에 대한 척도)가 낮다. 비밀번호 크래커(해커)도 이런 문제점을 잘 알기 때문에, 비밀번호를 더 빨리 크랙하는 데 이런 문제점을 악용한다.

비밀번호가 100% '무작위(임의의)' 비밀번호가 아니라면, 복잡한 비밀번호를 크랙하는 것 또한 크게 어렵지 않다는 이야기이다. 100% 무작위 비밀번호를 사용하도록 강요하기도 힘들다. 매번 Qz&y1$Bh 같은 비밀번호를 사용하려는 사람이 있겠는가.

이렇게 사람이 선택한 복잡한 비밀번호에는 무작위성이 결여되어 있기 때문에, 많은 컴퓨터 보안 전문가가 아주 긴 비밀번호를 사용하는 방법을 추천한다. 그런데 이 경우 비밀번호를 기억하기 아주 어렵다는 문제가 있다. 이에 또 다른 전문가들은 기억하기 쉽고, 더 길고, 더 자연스러운 패스프레이즈 사용을 권장한다. 이런 패스프레이즈는 현재 활동하고 있는 비밀번호 크래커는 저지할 수 있을 것이다.

그러나 여기에도 2가지 문제가 있다.
첫째, '더 긴' 비밀번호에서 '길다'가 적용되는 기준을 모른다. 이것이 해결책보다 많은 문제점을 초래한다. 아주 중대한 문제다. NIST가 아주 긴 비밀번호 사용을 권장하지 않는 이유가 있다. NIST 데이터에 따르면, 비밀번호 길이가 길수록, 이를 재활용할 확률이 높아지기 때문이다.

둘째, 모두 '더 안전한' 패스프레이즈를 사용할 경우 애초 출발했던 동일한 출발점으로 다시 돌아갈 수 있다. 우리는 지금 사용자에게 비정상적으로 긴 패스프레이즈를 사용할 것을 요구하고 있다. 이에 대해 설명을 하겠다.

긴 패스프레이즈 또한 엔트로피가 그렇게 높지 않다. 복잡한 비밀번호의 엔트로피가 높지 않은 이유와 비슷한 이유에서다. 사람들은 자연스러운 단어 같은 비밀번호, 자연스러운 문장 같은 패스프레이즈를 선호한다. 이로 인해 무작위성이 낮아진다. 많은 사람들이 'I like to go to the beach to get wet'와 같은 긴 패스프레이즈가 '방어력'이 높은 좋은 비밀번호라고 생각할 것이다.

그러나 문제점이 있다. 대부분의 사람은 패스프레이즈 선택이 허용되는 경우 동일한 단어와 문장 구조를 많이 사용한다. 그리고 이로 인해 긴 패스프레이즈의 장점이 많이 퇴색된다. 대부분은 1만~2만 개의 단어를 안다. 그러나 실제 문장에서 사용하는 단어 수는 훨씬 더 적다. 평균적으로 출간된 도서에서 사용되는 고유 단어의 수가 3,000개 미만이다.

필자가 최근 저술한 <데이터 기반의 컴퓨터 보안 방어(Data-Driven Computer Security Defense)>라는 책에 사용한 고유 단어 수를 계산해봤다. 240페이지, 5만 4,000단어짜리 책이었지만 고유한 단어는 4,754개에 불과했다.

평균적으로 책을 쓰는 사람이 보통 사람들보다 더 많은 수의 단어를 사용한다고 가정할 경우, 대부분의 사람은 훨씬 더 작은 수의 고유 단어, 아마 1,000~2,000개 정도만 사용해 패스프레이즈를 만들 것이다. 이는 문자 대신 단어를 사용했을 때, 엔트로피 측면에서 비밀번호 크래커에게 큰 이점을 제공한다.

인터넷에 비밀번호와 패스프레이즈의 엔트로피를 비교 분석한 자료가 많다. 다음은 필자가 좋아하는 자료들이다.

- 비밀번호 강도/엔트로피: 문자 대 단어 
- 여러 단어로 된 비밀번호가 안전한 것은 아니다…캠프리지 대학 
- 영어로 쓰여진 엔트로피 

필자는 첫 번째 링크를 좋아한다. 도움이 되는 '인용문'이 있다. "80비트 보안(엔트로피)을 구현하기 위해 비밀번호에는 약 13개 문자가 필요하지만, 패스프레이즈에는 약 5개 단어만 필요하다! 그러나 1만 단어 가운데 선택해 만든 패스프레이즈가 동일한 '방어력'을 갖추려면 7개 단어가 필요하다."

'the'로 시작하거나, 안에 'the', 'that', 'of'가 포함된 패스프레이즈가 얼마나 많을지 생각해보라. 즉, 13개 문자로 구성된 비밀번호와 동일한 방어력을 갖춘 패스프레이즈에는 최소 7개 이상의 단어를 사용한다. 그것도 사용자가 패스프레이즈에 1만 단어를 적극적으로 사용한다고 가정한 경우다.

그런데 사용자가 패스프레이즈에 실제 사용하는 단어 수는 수천 단어에 불과할 것이다. 동일한 '방어력'을 갖추려면 더 긴 패스프레이즈가 필요하다는 이야기다. 얼마나 긴 패스프레이즈일까, 엔트로피를 계산해보지 않았다. 그러나 15~20개 단어로 추정된다.

그리고 사용자가 이런 '패스프레이즈 요건'을 좋아하지 않을 것이다. 패스프레이즈를 무작위로(임의로) 생성하는 경우를 제외하면, 패스프레이즈는 무작위성이 없는 비밀번호보다 방어력이 크게 높지 않다.

현재 단어를 추측하는 비밀번호 크래커가 소수 존재한다. 그런데 세상이 모두 패스프레이즈를 사용하면 나머지도 바뀔 것이다. 32개 문자를 조합하는 것이 2,000개 단어를 조합하는 것보다 더 복잡하다. 따라서 2,000개 단어를 더 적은 조합으로 사용하게 될 것이다.

일부 전문가는 비밀번호 관리 도구를 사용, 무작위로 길고 복잡한 비밀번호, 패스프레이즈를 생성해 사용하면 이런 문제가 사라진다고 주장한다. 힘든 일을 비밀번호 관리 도구에 맡기자는 주장이다.

비밀번호 관리 도구의 문제점
비밀번호 관리 도구의 가장 큰 문제점은 우리가 수십 년 동안 싸워온 SSO(Single Sign On) 위험을 초래한다는 것이다. 한 장소에 모든 비밀번호를 보관하기 시작하면, 악당들은 이곳을 공격하기 시작할 것이다. 이미 컴퓨터에서 비밀번호 관리 도구 데이터베이스를 검색하는 악성코드와 웹사이트가 등장했다.

일부 비밀번호 관리 도구는 사용자가 여러 디바이스에서 비밀번호를 동기화해 사용할 수 있도록 비밀번호를 클라우드에 온라인 저장한다. 유용한 기능이다. 그러나 비밀번호가 저장된 클라우드가 자신은 모르는 상태에서 해킹을 당할 수도 있다. 온라인 비밀번호 관리 도구가 침해될 경우 모든 비밀번호가 위험해진다. 이미 이런 일이 일어났다. 구글에 ‘비밀번호 관리 도구 해킹’이라고 입력하면 확인할 수 있다.

비밀번호 관리 도구가 해킹이 가능한 SSO 앱이라는 것만 문제가 아니다. 모든 애플리케이션과 웹사이트, 장치를 지원하는 비밀번호 관리 도구도 존재하지 않는다. 비밀번호 관리 도구가 처리를 못하는 긴 비밀번호를 안전하게 보관할 방법을 찾아야 한다는 의미다.

패스프레이즈 사용에 '장애물'이 되는 기존 비밀번호 요건
긴 비밀번호를 좋아하지 않는 웹사이트와 서비스가 많다. 예를 들어, 마이크로소프트 오피스365는 15개 이상의 문자로 구성된 비밀번호를 수용하지 않는다. 또한 긴 비밀번호를 사용할 수 없는 운영체제도 많다. 마이크로소프트 윈도우를 예로 들면, 관리자가 16개 이상의 문자로 구성된 비밀번호를 최소 요건으로 강제할 수 없도록 기본 설정되어 있다. 이를 강제하려면 대부분의 환경에 구현되어 있지 않은 고급 기능을 사용해야 한다.

즉, 단순하고 복잡하지 않은 패스프레이즈 사용이 쉽지 않다. 또한 '복잡성(특수 문자 및 숫자 포함 요건)'이 포함되지 않은 경우, 비밀번호를 생성할 수 없는 웹사이트가 많다. 즉 '복잡성'이 포함된 긴 패스프레이즈를 사용해야 한다. 실제 사용되지 않을 그런 패스프레이즈다. 현실에서는 긴 비밀번호를 사용할 수 없는 사이트의 경우, 더 짧거나 더 긴, 그리고 '복잡성'이 추가되거나 추가되지 않은 비밀번호를 사용하게 될 것이다.

또한 90일 등 일정 간격으로 비밀번호 변경을 요구하는 사이트가 많다. 90일마다 길고 고유한 새로운 패스프레이즈를 생각해야 한다는 것이다. 쉽지 않은 일이다. 이에 "I like to go to the beach to get wet", "I like to go to the Beach 2 get wet", "I like to go to the lake to get wet2" 식으로 패스프레이즈를 만들어 사용하게 된다.

비밀번호와 같은 문제점에 봉착하는 것이다. 그러나 최선의 노력을 경주했음에도 불구하고 더 다양한 메커니즘에서 더 많은 문자를 기억해 사용해야 한다.

사용자는 모르는 상태에서, 긴 비밀번호나 패스프레이즈가 '잘리는(생략되는)' 경우도 있다. 긴 비밀번호나 패스프레이즈를 수용하는 것처럼 보이지만, 실제는 최대 길이에 한계가 있어 비밀번호나 패스프레이즈가 잘리는(생략되는) 사이트가 많다. 더 긴 비밀번호로 보안이 강화될 것이라 생각하지만, 실제는 훨씬 더 짧은 비밀번호만 오류 없이 수용된다. 공격자들이 계정 잠금을 직면하지 않고 비밀번호를 추측할 수 있다면, 또는 비밀번호 해시를 입수할 수 있다면, 생각보다 훨씬 더 쉽게 비밀번호를 크랙 할 수 있다.

상황이 더 악화되고 있다. 몇 개의 비밀번호 재설정 질문에 대답을 하면, 계정을 탈취할 수 있도록 되어 있는 웹사이트가 많다. 이는 안전하지 못하다. 구글 조사에 따르면, 적법한 계정 사용자조차 단 몇 주만 지나도 재설정 질문에 대한 대답을 잘 기억하지 못한다.

또한 비밀번호 재설정 질문에 대한 대답 가운데 약 60%를 해커가 인터넷에서 찾을 수 있는 것으로 조사됐다. 비밀번호 재설정 질문은 계정을 적당히 안전한 상태(비밀번호나 이중인증)에서 전혀 안전하지 않은 상태로 전락시키는 시스템이다. 따라서 비밀번호 재설정 질문 시스템을 없애거나 금지시켜야 한다.

이것이 NIST가 주장하고 강조했던 것이다. 비밀번호 크래킹이 유일한 위협이라면, 모두 비밀번호 길이를 늘리면 된다. 그러나 비밀번호는 다양한 종류의 위협으로부터 공격을 받는다. 대부분은 크래킹과 관련이 없다. 비밀번호 길이를 길게 만들고, 문자의 수를 지정하는 방법으로 방어력이 높아지지 않는다. 상황이 악화될 뿐이다.

어떤 형태든 사람들이 비밀번호를 사용하기 불편하다는 것이 문제다. 특히 기억해야 하는 경우는 더 그렇다. 사용자가 특정 패턴을 사용해 로그인을 하는 등의 인증 방법과 비밀번호 재설정 질문 시스템은 훨씬 더 나쁘다. 비밀번호 공격으로부터 비밀번호를 보호하는 방법은 간단하지 않다. 비밀번호는 30년 넘게 성과가 없었으며, 앞으로도 성과가 없을 것이다. editor@itworld.co.kr  

2018.10.11

글로벌 칼럼 | 긴 비밀번호가 비밀번호 문제의 "해답"일까

Roger A. Grimes | CSO
자주 변경하는 길고 복잡한 비밀번호를 사용하지 말라는 내용이 포함된 NIST의 새로운 비밀번호 관련 '권고사항(조언)'이 컴퓨터 보안 업계를 흔들고 있다. 그리고 많은 보안 전문가와 실무자들은 NIST의 새로운 권고사항을 믿지 않으려 한다. 이런 사람들의 입장을 이해한다.

수십 년 간 지탱되어 온 기존 권고사항을 뒤집는 것이기 때문이다. 당장 NIST만 하더라도 새로운 권고사항에 정반대되는 과거 권고사항을 받아들이고 믿으라고 말해왔다.

그러나 시대가 변한다. 해킹 방법도 변한다. 과거 가장 빈번했던 공격을 억지하는 데 사용되었던 방법이 더 이상 효과가 없어졌다. 비밀번호가 크랙이 더 힘들어지기 시작하면서, 공격자들이 성공 확률이 높은 다른 방법을 찾아 도입했을 것이라고 예상할 수 있다.


Credit: Getty Images Bank

필자가 풀타임으로 일하는 회사인 노우비포(KnowBe4)의 CHO(Chief Hacking Officer) 케빈 미트닉은 길고 복잡한 비밀번호의 허상을 깨뜨린다(링크 동영상 참조). 

단 31초 만에 17개 문자의 복잡한 비밀번호를 크랙한 것이다. 이런 이유로, 미트닉은 25개 이상의 문자로 구성된 단순하지만 긴 패스프레이즈(또는 패스센턴스(PassSentences))를 사용하라고 권장한다. 'I like to the beach to get wet'을 예로 들 수 있다. 또한 좋은 비밀번호 관리 도구를 사용, 패스프레이즈를 관리하는 방법을 추천한다.

좋은 '조언'이다. 대부분은 동의한다. 단 한 가지 확신이 들지 않는 부분은 25개 이상의 문자 사용을 요구하는 것이다. 25개 이상의 문자로 구성된 긴 비밀번호를 사용하면 비밀번호 해시 크래킹이나 비밀번호 추측 등을 이용한 비밀번호 크래킹이 더 어려워지지만, 동시에 사용자가 여러 보안 도메인(영역)에서 동일한 비밀번호를 재사용할 확률이 높아지기 때문이다.

NIST는 최근 권고사항에서 이 부분을 강조했다. NIST는 비밀번호 사용과 관련된 가장 큰 위험, 또는 가장 큰 위험 가운데 하나를 비밀번호 재사용으로 판단하고 있다.

패스프레이즈는 비밀번호보다 크랙이 더 어려울까 
길이를 더 길게 만들면 더 효과적으로 방어를 할 수 있다는 개념 아래 더 긴 비밀번호(또는 패스프레이즈) 사용을 권장한다. 이론상으로는 옳은 말이다. 그러나 비밀번호 복잡성 원칙이 '이론'과 '실제'의 차이 때문에 효과가 없듯, 길이가 제공하는 '방어력'도 복잡성보다는 덜할지 몰라도 동일하게 효과가 없다.

복잡성 요구가 효과 없는 이유는 복잡한 비밀번호를 요구해도, 사람들은 실제 그렇게 복잡하지 않은 비밀번호를 선택해 사용하는 경향이 있기 때문이다. 예를 들어, 사람들은 키보드에서 94개의 각기 다른 문자를 자유롭게 선택해 사용할 수 있지만(일부는 6만 5,000개의 문자), 대부분은 동일한 32개 문자를 사용한다. 그리고 일반적인 비밀번호의 구성 형태도 동일하다.

'복잡한' 영어 비밀번호는 처음에는 대문자 자음, 다음은 소문자 모음, 숫자가 요구되는 경우 끝에 1이나 2 등으로 구성되는 경우가 아주 많다. 그리고 특수 문자는 !, @, #, $를 사용할 것이다. 여러 보안 도메인에 이 비밀번호를 조금 바꿔 사용한다. 동일한 사이트에서 비밀번호를 변경해 사용하는 경우에도 Tadpole1을 Tadpole2 식으로 조금 바꿔 사용한다.

비밀번호 전문가에 따르면, 사람이 선택한 대부분의 복잡한 비밀번호는 엔트로피(Entropy, 무작위성에 대한 척도)가 낮다. 비밀번호 크래커(해커)도 이런 문제점을 잘 알기 때문에, 비밀번호를 더 빨리 크랙하는 데 이런 문제점을 악용한다.

비밀번호가 100% '무작위(임의의)' 비밀번호가 아니라면, 복잡한 비밀번호를 크랙하는 것 또한 크게 어렵지 않다는 이야기이다. 100% 무작위 비밀번호를 사용하도록 강요하기도 힘들다. 매번 Qz&y1$Bh 같은 비밀번호를 사용하려는 사람이 있겠는가.

이렇게 사람이 선택한 복잡한 비밀번호에는 무작위성이 결여되어 있기 때문에, 많은 컴퓨터 보안 전문가가 아주 긴 비밀번호를 사용하는 방법을 추천한다. 그런데 이 경우 비밀번호를 기억하기 아주 어렵다는 문제가 있다. 이에 또 다른 전문가들은 기억하기 쉽고, 더 길고, 더 자연스러운 패스프레이즈 사용을 권장한다. 이런 패스프레이즈는 현재 활동하고 있는 비밀번호 크래커는 저지할 수 있을 것이다.

그러나 여기에도 2가지 문제가 있다.
첫째, '더 긴' 비밀번호에서 '길다'가 적용되는 기준을 모른다. 이것이 해결책보다 많은 문제점을 초래한다. 아주 중대한 문제다. NIST가 아주 긴 비밀번호 사용을 권장하지 않는 이유가 있다. NIST 데이터에 따르면, 비밀번호 길이가 길수록, 이를 재활용할 확률이 높아지기 때문이다.

둘째, 모두 '더 안전한' 패스프레이즈를 사용할 경우 애초 출발했던 동일한 출발점으로 다시 돌아갈 수 있다. 우리는 지금 사용자에게 비정상적으로 긴 패스프레이즈를 사용할 것을 요구하고 있다. 이에 대해 설명을 하겠다.

긴 패스프레이즈 또한 엔트로피가 그렇게 높지 않다. 복잡한 비밀번호의 엔트로피가 높지 않은 이유와 비슷한 이유에서다. 사람들은 자연스러운 단어 같은 비밀번호, 자연스러운 문장 같은 패스프레이즈를 선호한다. 이로 인해 무작위성이 낮아진다. 많은 사람들이 'I like to go to the beach to get wet'와 같은 긴 패스프레이즈가 '방어력'이 높은 좋은 비밀번호라고 생각할 것이다.

그러나 문제점이 있다. 대부분의 사람은 패스프레이즈 선택이 허용되는 경우 동일한 단어와 문장 구조를 많이 사용한다. 그리고 이로 인해 긴 패스프레이즈의 장점이 많이 퇴색된다. 대부분은 1만~2만 개의 단어를 안다. 그러나 실제 문장에서 사용하는 단어 수는 훨씬 더 적다. 평균적으로 출간된 도서에서 사용되는 고유 단어의 수가 3,000개 미만이다.

필자가 최근 저술한 <데이터 기반의 컴퓨터 보안 방어(Data-Driven Computer Security Defense)>라는 책에 사용한 고유 단어 수를 계산해봤다. 240페이지, 5만 4,000단어짜리 책이었지만 고유한 단어는 4,754개에 불과했다.

평균적으로 책을 쓰는 사람이 보통 사람들보다 더 많은 수의 단어를 사용한다고 가정할 경우, 대부분의 사람은 훨씬 더 작은 수의 고유 단어, 아마 1,000~2,000개 정도만 사용해 패스프레이즈를 만들 것이다. 이는 문자 대신 단어를 사용했을 때, 엔트로피 측면에서 비밀번호 크래커에게 큰 이점을 제공한다.

인터넷에 비밀번호와 패스프레이즈의 엔트로피를 비교 분석한 자료가 많다. 다음은 필자가 좋아하는 자료들이다.

- 비밀번호 강도/엔트로피: 문자 대 단어 
- 여러 단어로 된 비밀번호가 안전한 것은 아니다…캠프리지 대학 
- 영어로 쓰여진 엔트로피 

필자는 첫 번째 링크를 좋아한다. 도움이 되는 '인용문'이 있다. "80비트 보안(엔트로피)을 구현하기 위해 비밀번호에는 약 13개 문자가 필요하지만, 패스프레이즈에는 약 5개 단어만 필요하다! 그러나 1만 단어 가운데 선택해 만든 패스프레이즈가 동일한 '방어력'을 갖추려면 7개 단어가 필요하다."

'the'로 시작하거나, 안에 'the', 'that', 'of'가 포함된 패스프레이즈가 얼마나 많을지 생각해보라. 즉, 13개 문자로 구성된 비밀번호와 동일한 방어력을 갖춘 패스프레이즈에는 최소 7개 이상의 단어를 사용한다. 그것도 사용자가 패스프레이즈에 1만 단어를 적극적으로 사용한다고 가정한 경우다.

그런데 사용자가 패스프레이즈에 실제 사용하는 단어 수는 수천 단어에 불과할 것이다. 동일한 '방어력'을 갖추려면 더 긴 패스프레이즈가 필요하다는 이야기다. 얼마나 긴 패스프레이즈일까, 엔트로피를 계산해보지 않았다. 그러나 15~20개 단어로 추정된다.

그리고 사용자가 이런 '패스프레이즈 요건'을 좋아하지 않을 것이다. 패스프레이즈를 무작위로(임의로) 생성하는 경우를 제외하면, 패스프레이즈는 무작위성이 없는 비밀번호보다 방어력이 크게 높지 않다.

현재 단어를 추측하는 비밀번호 크래커가 소수 존재한다. 그런데 세상이 모두 패스프레이즈를 사용하면 나머지도 바뀔 것이다. 32개 문자를 조합하는 것이 2,000개 단어를 조합하는 것보다 더 복잡하다. 따라서 2,000개 단어를 더 적은 조합으로 사용하게 될 것이다.

일부 전문가는 비밀번호 관리 도구를 사용, 무작위로 길고 복잡한 비밀번호, 패스프레이즈를 생성해 사용하면 이런 문제가 사라진다고 주장한다. 힘든 일을 비밀번호 관리 도구에 맡기자는 주장이다.

비밀번호 관리 도구의 문제점
비밀번호 관리 도구의 가장 큰 문제점은 우리가 수십 년 동안 싸워온 SSO(Single Sign On) 위험을 초래한다는 것이다. 한 장소에 모든 비밀번호를 보관하기 시작하면, 악당들은 이곳을 공격하기 시작할 것이다. 이미 컴퓨터에서 비밀번호 관리 도구 데이터베이스를 검색하는 악성코드와 웹사이트가 등장했다.

일부 비밀번호 관리 도구는 사용자가 여러 디바이스에서 비밀번호를 동기화해 사용할 수 있도록 비밀번호를 클라우드에 온라인 저장한다. 유용한 기능이다. 그러나 비밀번호가 저장된 클라우드가 자신은 모르는 상태에서 해킹을 당할 수도 있다. 온라인 비밀번호 관리 도구가 침해될 경우 모든 비밀번호가 위험해진다. 이미 이런 일이 일어났다. 구글에 ‘비밀번호 관리 도구 해킹’이라고 입력하면 확인할 수 있다.

비밀번호 관리 도구가 해킹이 가능한 SSO 앱이라는 것만 문제가 아니다. 모든 애플리케이션과 웹사이트, 장치를 지원하는 비밀번호 관리 도구도 존재하지 않는다. 비밀번호 관리 도구가 처리를 못하는 긴 비밀번호를 안전하게 보관할 방법을 찾아야 한다는 의미다.

패스프레이즈 사용에 '장애물'이 되는 기존 비밀번호 요건
긴 비밀번호를 좋아하지 않는 웹사이트와 서비스가 많다. 예를 들어, 마이크로소프트 오피스365는 15개 이상의 문자로 구성된 비밀번호를 수용하지 않는다. 또한 긴 비밀번호를 사용할 수 없는 운영체제도 많다. 마이크로소프트 윈도우를 예로 들면, 관리자가 16개 이상의 문자로 구성된 비밀번호를 최소 요건으로 강제할 수 없도록 기본 설정되어 있다. 이를 강제하려면 대부분의 환경에 구현되어 있지 않은 고급 기능을 사용해야 한다.

즉, 단순하고 복잡하지 않은 패스프레이즈 사용이 쉽지 않다. 또한 '복잡성(특수 문자 및 숫자 포함 요건)'이 포함되지 않은 경우, 비밀번호를 생성할 수 없는 웹사이트가 많다. 즉 '복잡성'이 포함된 긴 패스프레이즈를 사용해야 한다. 실제 사용되지 않을 그런 패스프레이즈다. 현실에서는 긴 비밀번호를 사용할 수 없는 사이트의 경우, 더 짧거나 더 긴, 그리고 '복잡성'이 추가되거나 추가되지 않은 비밀번호를 사용하게 될 것이다.

또한 90일 등 일정 간격으로 비밀번호 변경을 요구하는 사이트가 많다. 90일마다 길고 고유한 새로운 패스프레이즈를 생각해야 한다는 것이다. 쉽지 않은 일이다. 이에 "I like to go to the beach to get wet", "I like to go to the Beach 2 get wet", "I like to go to the lake to get wet2" 식으로 패스프레이즈를 만들어 사용하게 된다.

비밀번호와 같은 문제점에 봉착하는 것이다. 그러나 최선의 노력을 경주했음에도 불구하고 더 다양한 메커니즘에서 더 많은 문자를 기억해 사용해야 한다.

사용자는 모르는 상태에서, 긴 비밀번호나 패스프레이즈가 '잘리는(생략되는)' 경우도 있다. 긴 비밀번호나 패스프레이즈를 수용하는 것처럼 보이지만, 실제는 최대 길이에 한계가 있어 비밀번호나 패스프레이즈가 잘리는(생략되는) 사이트가 많다. 더 긴 비밀번호로 보안이 강화될 것이라 생각하지만, 실제는 훨씬 더 짧은 비밀번호만 오류 없이 수용된다. 공격자들이 계정 잠금을 직면하지 않고 비밀번호를 추측할 수 있다면, 또는 비밀번호 해시를 입수할 수 있다면, 생각보다 훨씬 더 쉽게 비밀번호를 크랙 할 수 있다.

상황이 더 악화되고 있다. 몇 개의 비밀번호 재설정 질문에 대답을 하면, 계정을 탈취할 수 있도록 되어 있는 웹사이트가 많다. 이는 안전하지 못하다. 구글 조사에 따르면, 적법한 계정 사용자조차 단 몇 주만 지나도 재설정 질문에 대한 대답을 잘 기억하지 못한다.

또한 비밀번호 재설정 질문에 대한 대답 가운데 약 60%를 해커가 인터넷에서 찾을 수 있는 것으로 조사됐다. 비밀번호 재설정 질문은 계정을 적당히 안전한 상태(비밀번호나 이중인증)에서 전혀 안전하지 않은 상태로 전락시키는 시스템이다. 따라서 비밀번호 재설정 질문 시스템을 없애거나 금지시켜야 한다.

이것이 NIST가 주장하고 강조했던 것이다. 비밀번호 크래킹이 유일한 위협이라면, 모두 비밀번호 길이를 늘리면 된다. 그러나 비밀번호는 다양한 종류의 위협으로부터 공격을 받는다. 대부분은 크래킹과 관련이 없다. 비밀번호 길이를 길게 만들고, 문자의 수를 지정하는 방법으로 방어력이 높아지지 않는다. 상황이 악화될 뿐이다.

어떤 형태든 사람들이 비밀번호를 사용하기 불편하다는 것이 문제다. 특히 기억해야 하는 경우는 더 그렇다. 사용자가 특정 패턴을 사용해 로그인을 하는 등의 인증 방법과 비밀번호 재설정 질문 시스템은 훨씬 더 나쁘다. 비밀번호 공격으로부터 비밀번호를 보호하는 방법은 간단하지 않다. 비밀번호는 30년 넘게 성과가 없었으며, 앞으로도 성과가 없을 것이다. editor@itworld.co.kr  

X