상세 컨텐츠

본문 제목

패스워드, 얼마나 안전할까

또다른공간-------/IT로만든공간

by 자청비 2007. 10. 25. 13:43

본문

 

나의 패스워드, 얼마나 안전할까?


패스워드 안전 불감증

대부분의 사람들에게 패스워드는 ‘기억하기 쉬운 것’이 첫 번째 원칙일 것이다. 안전성보다는 편리성이 우선되는 패스워드, 그런데 패스워드가 얼마나 안전한 지 생각해보는 사용자는 얼마나 될까. 최근에는 다소 개선됐다고는 하지만 사용자의 패스워드 관리와 웹 서비스 업체의 패스워드 관리 정책에는 여전히 개선할 부분이 많은 것으로 나타났다. 우리가 사용하는 웹 사이트의 패스워드는 과연 얼마나 안전하고 또 어떻게 관리해야 할까.
정보보호뉴스 취재팀


최근 공인인증서나 OTP 등을 통한 본인인증 수단이 강화되고 있지만, 대다수 웹 사이트의 본인확인은 아이디․패스워드 방식에 의해 이뤄진다. 온라인상에서 특정 아이디와 그에 부합하는 패스워드를 입력할 경우, 본인임을 인정하는 아이디․패스워드 방식은 다른 본인 인증 수단에 비해 시스템 구축비용이 낮고, 또 무엇보다 사용자가 편리하게 사용할 수 있다는 장점을 갖고 있기 때문이다.
그러나 이 아이디․패스워드 인증수단의 안정성 및 보안성은 패스워드에 의해 좌우되기 때문에 패스워드만 알고 있다면, 주민등록번호, 주소, 전화번호 등 단순 개인정보뿐만 아니라, 이메일의 내용이나 금융정보까지도 제3자가 알 수 있다는 위험성이 내포돼 있다. 특히, 적게는 1~2개의 아이디와 패스워드로 모든 웹 사이트에 적용하는 사용자들의 일반적인 성향을 고려해 볼 때, 이 로그인 정보, 특히 패스워드 관리는 온라인 사용자들의 가장 기초적이면서, 가장 중요한 정보보호 요소인 셈이다.
패스워드의 주요성이 부각됨에 따라 최근에는 일부 웹 사이트를 중심으로 영문자와 숫자를 조합해야만 패스워드 설정이 가능하다든지, 패스워드가 일정 길이 이상이 되어야만 등록되게 하는 등 패스워드 설정 정책이 강화되고 있다. 하지만 일반적으로 사용자의 아이디는 외부로 공개된다는 점과 보다 강력해진 PC 성능 및 자동화된 패스워드 크랙 프로그램의 등장으로 아이디와 패스워드의 일대일 매칭을 시도할 경우, 복잡하게 보이는 패스워드일지라도 손쉽게 크래킹을 당할 수 있다.
일례로, 제3자가 특정인의 아이디를 알고 있다는 가정 하에 숫자만으로 구성된 4자리 패스워드를 알아내는데 필요한 경우의 수는 10,000개(104)로 10,000번의 시도만(?)으로 패스워드를 알아낼 수 있으며, 영문자와 숫자를 조합한 4자리 패스워드 역시 1,679,616번을 대입해 본다면 패스워드를 알 수 있다는 결론이 나오게 된다. 물론 이들 경우의 수가 결코 적진 않지만, 자동화된 패스워드 크랙 프로그램과 일반 PC만으로도 불과 수십 분 내에 특정 패스워드를 알 수 있게 된다. 실제로 지난 6월 KISA 암호응용팀이 조사한 자료에 따르면, 사용자들이 설정해 놓은 패스워드가 제3자에 의해 얼마나 손쉽게 크래킹을 당할 수 있는지를 보여준다.

최대 8시간, 대부분의 패스워드 크래킹 가능해

지난 6월 KISA가 20대 남녀 대학생의 패스워드 현황을 분석한 자료에 따르면, 대부분의 사용자는 ‘영소문자+숫자’와 같이 2가지 문자 종류로 구성된 패스워드를 이용하는 것으로 나타났으며, 그중 6자리 이하의 패스워드를 이용하는 사용자는 64.5%에 이르는 것으로 밝혀졌다. 그렇다면 이 같은 패스워드의 조합을 알아내는 데 필요한 시간은 얼마나 될까. 그 해답은 아래의 표와 같다.

입력 문자 7자리 8자리
영문 소문자(26문자) 45분 20시간
영문 소문자+숫자(36문자) 8시간 13일
영문 대·소문자+숫자(62문자) 25일 4년 6개월
영문 대·소문자+숫자+특수문자(94문자) 437일 114년

▲ 일반적인 패스워드 전수조사 소요 예상시간(이번 조사는 해당 사이트에 패스워드가 암호화된 상태로 저장돼 있다는 전제하에 펜티엄4 3.0GHz CPU, 2GB 메모리를 가진 컴퓨터에 자동화된 프로그램을 설치해 실험했으며, 7자리 미만의 패스워드는 조사 대상에서 아예 제외됐다. 단 사용자와 웹 사이트 간 패스워드 전송을 위한 트래픽 소요시간은 인터넷 이용환경에 따라 상이하므로 본 테스트에서는 제외됐다.)

아이디를 알고 있다는 전제 하에 실시된 이번 조사는 7자리 이상의 패스워드를 전수 조사한 것으로, 지금까지 비교적 안전하다고 간주되는 영문자+숫자 조합의 7자리 패스워드조차 약 8시간만 노력으로 알 수 있게 되며, 같은 조건의 8자리 패스워드 역시 최대 2주 남짓의 시간만 있다면 특정인의 패스워드는 더 이상 비밀이 될 수 없다는 사실을 알 수 있다. 하지만 이 같은 소요시간은 최대 시간으로 패스워드가 특정단어 등의 조합으로 이뤄져 있다면 크랙되는 속도는 더욱 빨라질 수 있다고 KISA 관계자는 덧붙였다.

안전한 패스워드 요구 23%에 불과

패스워드 전수조사를 통해 사용자의 로그인 정보가 어렵지 않게 제3자에게 유출될 수 있다는 사실이 밝혀지면서 국내 웹 사이트의 사용자 패스워드 정책은 어떻게 이뤄져 있는지 관심이 쏠릴 수밖에 없다.
패스워드 전수조사 예상시간을 조사했던 KISA 암호응용팀이 국내 은행, 포털 사이트 등 103개 웹 사이트를 대상으로 조사한 결과에 따르면, 비교적 안전한 패스워드 길이라고 볼 수 있는 8자리 이상의 패스워드를 사용할 수 있는 웹 사이트는 23%에 불과한 것으로 나타났다. 또 32%의 웹 사이트는 2가지 종류의 문자조합으로 패스워드로 설정할 수 있도록 한 것으로 집계 됐으며, 조사대상 웹 사이트 중 99%는 패스워드 최소 길이에 대한 제약이 약해 안전하지 않은 길이의 패스워드 사용도 가능한 것으로 나타났다. 특히, 일부 지방은행의 웹 사이트는 숫자만으로 구성된 패스워드로도 회원가입이나 계좌조회 등의 서비스를 이용할 수 있는 것으로 밝혀졌다.

구분 A은행 B은행 C은행 D은행 E은행
비밀번호 길이 5~8 5 6~8 6~8 3~6
사용 가능 문자 영문+숫자 숫자 영문+숫자 영문+숫자 숫자

▲ 일부 금융기관의 패스워드 정책 조사 결과


이 같은 조사결과는 앞서 언급한 것처럼 국내 웹 사이트 중 로그인 정보가 가장 중요한 금융기관이나 이메일, 블로그, 카페 활동 등 다양한 개인정보를 담은 대형 포털 사이트, 온라인 쇼핑몰 업체 등을 대상으로 한 조사였다는 점에서 조사 범위를 일반 웹 사이트까지로 확대할 경우, 패스워드 관리에 대한 문제점은 더욱 심각할 것이라고 암호응용팀 관계자는 설명했다.

패스워드 관리 정책 엄격해질 필요 있어

그렇다면 어떤 형식의 패스워드가 안전하고, 또 어떤 방식의 패스워드 관리가 필요할까? 사용자 측면에서 본다면 다양한 문자조합으로 패스워드 자리 수를 최대한 늘이는 방법을 떠올릴 수 있다. 최소 3가지 종류 이상의 문자를 조합해 최소 8자리 이상으로 패스워드를 설정해 놓는다면 최소한의 예방책이 될 수 있다는 얘기다. 또 아이디를 동일하게 사용한다 하더라도 금융기관과 같은 중요한 웹 사이트와 그렇지 않은 웹 사이트의 패스워드를 다르게 설정해 보안이 취약한 웹 사이트 상에서 발생할 수 있는 패스워드 유출에 대비할 필요가 있다. 여기에 주기적인 패스워드 변경을 통해 사용자 차원의 패스워드 관리가 이뤄져야 한다.
반면, 아이디·패스워드 방식을 통해 본인인증을 실시하는 웹 서비스 업체들의 경우에는 보다 전문적인 패스워드 관리정책이 필요하다. 우선, 패스워드 입력 오류 횟수를 제한해 패스워드 크랙 프로그램에 의한 패스워드 노출 위험을 최소화해야 한다. 또한 패스워드 설정 가능 문자 종류를 최소한 영문 대·소문자+숫자 즉, 총 62개 이상의 문자를 사용할 수 있도록 확대해 사용자가 패스워드를 조합할 수 있는 경우의 수를 최대한 확보해 놓아야 한다. 이와 함께 패스워드의 안전도를 구분해 해당 패스워드의 보안수준을 사용자에게 알려주는 패스워드 등급 서비스도 사용자가 패스워드를 안전하게 관리하는데 도움을 줄 수 있다.

이와 관련해 KISA 암호응용팀의 한 관계자는 “패스워드 설정 시 일정 길이 이상의 다양한 문자조합으로 패스워드를 설정한다면 패스워드의 안전성은 크게 높아질 수 있다”며 사용자 차원의 비밀번호 관리를 강조하는 한편, “다만, 패스워드의 길이 및 조합이 복잡하고 길어질수록 사용자들이 느끼는 불편함은 커져 웹 서비스 제공업체 스스로가 패스워드 입력 오류 제한이나 패스워드 변경 주기 알림, 패스워드 보안수준 알림 서비스 등을 제공할 필요가 있다”며 서비스 제공업체의 보다 적극적인 패스워드 관리가 필요하다고 강조했다.
한편, KISA는 인터넷 서비스에서의 안전한 패스워드 이용환경 구축을 위한 가이드라인을 개발·보급하고 웹 사이트상에서 이용자에게 패스워드 보안 수준을 알려줄 수 있는 패스워드 검증 소프트웨어를 KISA 웹 사이트에 구현하고 이를 포털 사이트 등 웹 서비스 제공자에게 제공할 계획이라고 밝혔다.@

패스워드 안정성 검토 체크리스트

자신이 사용하고 있는 패스워드의 안전성은 얼마나 될까. 다음의 체크리스트 항목 중 하나 이상의 조건에 ‘Yes'가 있다면 해당 패스워드는 취약하다고 말할 수 있다.

● 2가지 종류 이하의 문자만으로 8자리 이하의 길이로 구성된 패스워드
● 문자구성과 관계없이 7자리 이하의 길이로 구성된 패스워드
    ※ 문자 종류는 알파벳 대문자와 소문자, 특수기호, 숫자 4가지를 의미함
● 한글·영어 등이 포함된 사전적 단어로 구성된 패스워드, 특히 단어의 철자를 거꾸로     구성한 패스워드
● 컴퓨터 용어, 사이트, 기업명칭 등 널리 알려진 단어로 구성된 패스워드
● 사용자 ID를 이용한 패스워드
● 유명인의 이름을 포함한 패스워드
● 한글의 발음을 영문으로, 영문단어의 발음을 한글로 변형한 형태의 패스워드
    ex) 한글의 ‘사랑’을 영어 ‘Sa Rang'으로 표기하거나, 영문자 ’Love'의 발음을 한글      ‘러브’로 표기하는 패스워드
● 가족의 이름, 생일, 주소, 휴대전화 번호 등을 포함한 패스워드
● 동일한 문자의 반복 혹은 키보드 상의 연속한 위치에 존재하는 문자 등 특정 패턴의     패스워드
● 숫자와 영문자를 비슷한 문자로 치환한 형태를 포함한 패스워드(ex:영문자 ‘O'를 숫자      '0'으로, 숫자 ’1‘을 영문자 ’I'로 치환하는 경우,
● 시스템에서 예제로 제시되고 있는 패스워드


[출처] 정보보호뉴스 2007년 10월호, KISA 발행

**********************************

 

 

강력한 패스워드 만들기 비법

전체 문장 가운데 앞글자만 따보자

최근 들어 금융권은 물론 포털 사이트에서도 생년월일, 주민등록번호, 휴대번호 등의 개인생활과 관련된 사항을 패스워드로 사용하는 것을 제한하고 있다. 사이트 자체적으로 비밀번호를 체크해 입력 자체가 안되는 경우가 많아진 것.

정보보호 관리자들이 추천하는 좋은 패스워드는 특수문자([, *, #, ?)와 숫자, 영문자가 조합된 패스워드다. 또한, 최소 7자 이상의 길이로 영문자와 숫자를 조합한 패스워드, 하나 이상의 숫자를 포함한 패스워드, 하나 이상의 특수문자를 포함한 패스워드, 특수문자를 패스워드 중간(2~6문자 사이)에 넣는 패스워드 등이 있다.

시스템의 특성을 파악해 패스워드를 만드는 것도 좋은 방법이라고 한다. 예를 들어, NT계열(윈도우 NT는 고도의 기능을 필요로 하는 사용자들이나, 비즈니스 요건을 위해 설계된 마이크로소프트의 PC용 운영체계)의 OS는 패스워드의 자릿수를 7의 배수로(7, 14, 21 등)하는 것이 좋다고 한다. 이유는 NT계열의 OS에서는 패스워드를 암호화해서 저장할 때 7자리 단위로 끊어서 암호화한다. 9자리의 경우 7+2로 저장되기 때문에 뒤의 2자리 문자는 빠르게 해독되고, 2자리 문자를 통해 나머지 7자리를 유추하는 것이 가능해지기 때문이다.

인포섹의 신수정 상무는 강력한 패스워드 만들기 비법에 대해 다음과 같은 예를 들어 설명했다.

미국에서 패스워드와 관련해 조사한 자료에 따르면, 세가지 유형을 제시했다고 한다. 먼저, 일정한 룰을 정하고 사용자 마음대로 패스워드를 선택하는 경우. 두 번째, 시스템에서 패스워드를 정해주는 경우. 세 번째, 사용자가 패스워드를 선택할 때 외우기 쉬운 방식으로 만드는 경우.

첫 번째의 경우는 사용자 50% 이상이 룰을 지키지 않았다고 한다. 예를 들어 연속적인 번호는 안되고, 단어를 사용할 때는 어떤 식으로 하라는 등의 일정한 룰을 제시한 것인데, 이에 대해 사용자들이 귀찮아하고 염두에 두지 않는다고 한다.

두 번째의 경우는 보안성은 높은데 사용자들이 패스워드를 기억하지 못한다고 한다. 시스템이 정해주는 패스워드는 연관성이 없고 복잡해서 쉽게 잊어버린다.

마지막의 경우는 예를 들어, ILMW(I Love My Wife)으로 기억하기 쉬운 문장의 앞부분을 따서 패스워드를 만들었는데 기억하기도 수월하고 보안성도 뛰어났다고 한다.

신수정 상무는 “자신과 연관성이 있는 전체 문장의 앞글자를 따서 패스워드를 만들면 기억하기도 쉽고 해커들이 보기에 전혀 연관성이 없기 때문에 공격하기 어렵다”며, “여기에 #ㆍ*ㆍ! 등의 특수문자를 섞는다면 더욱 좋다”고 제안했다.

이어 신 상무는 “사이트를 해킹당했을 때 나쁜 패스워드를 쓰는 사용자에 대해 제재도 필요하다”며, “나쁜 패스워드는 해킹을 수월하게 할 수 있는데 아직까지 이에 대해 대책이 없어 사용자들이 패스워드에 대해 안이하게 생각하는 경향이 있는 것도 문제”라고 지적했다. 신 상무는 사용자들 스스로 패스워드 관리에 대한 중요성을 인식할 필요가 있다는 것을 강조했다.

사이트마다 동일한 ID와 패스워드 - 사이트 구별 문자를 넣어보자

이니텍의 백효성 과장은 ID와 패스워드를 각 사이트마다 동일하게 하는 것을 방지하기 위한 제언을 했다. 각양각색 사이트의 ID와 패스워드를 다 달리하고 싶지만 쉽게 잊어버릴 것이 염려되어 결국 동일하게 사용하는 경우가 태반이다.

이를 방지하기 위해 ID 혹은 패스워드 맨 뒤나 맨 앞에 문자나 숫자를 넣는 방법이다. 예를 들어, 포털 사이트라면 그 사이트의 앞 영문자를 ID 혹은 패스워드에 넣거나 숫자를 넣는다.

백효성 과장은 “동일한 ID와 패스워드를 사용하면 아무리 어렵게 만들어도 허술한 사이트에 들어가 유출할 가능성이 높다”며, “사이트마다 다르게 하라고 권고하고 싶지만 실천이 어렵기 때문에 제안하는 방법”이라고 설명했다.

또한, 백 과장은 그래도 유출 가능성이 높기 때문에 개인적으로는 OTP(One Time Password) 솔루션 사용을 권한다. 그는 “원래 패스워드의 개념은 불변하는 게 아니라 사용자들이 바꿀 수 있는 값을 말한다”며, “그래서 수시로 패스워드를 바꾸라고 하는데 일반 사용자들이 자신의 패스워드를 수시로 바꾸기는 어렵기 때문에 시스템적인 보안카드의 개념으로 OTP가 나온 것”이라고 설명했다.

백 과장은 “공인인증서도 처음 도입할 때는 사용자들이 낯설고 혼란스러워 했지만 1~2년이 지난 지금은 자연스럽게 해결됐다”며, “현재 금융권에서 전자 금융거래 보안강화를 위해 OTP 솔루션을 본격적으로 도입하고 있는 상황으로 일반화되면 사용자들이 우려하는 불편함은 적어질 것이다”고 덧붙였다.@
[보안뉴스 2006-11-18]

관련글 더보기