최근 공인인증서나 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'로 치환하는 경우,
● 시스템에서 예제로 제시되고 있는 패스워드