비밀번호

  스포츠에서의 비밀번호에 대한 내용은 비밀번호(스포츠) 문서를 참조하십시오.

1. 개요
2. 상세
3. 최악의 비밀번호
3.1. 목록
4. 추천하는 비밀번호 특성
5. 비밀번호 안전 측정 사이트
6. 비밀번호 질문과 답변
7. '비밀번호 찾기'에 관한 이야기
8. 비밀번호 길이 제한이 있는 사이트
9. 관련 문서

1. 개요

秘密番號 / Password

나 이외에는 그 누구에게도 알려서는 안 되는 비밀의 암호 문자. 영어로는 패스워드(Password) 혹은 PIN[1] 패스코드(passcode)라고 하는 경우도 있다. 일본에서는 暗証番号[2]라고도 하는데 일반적인 회화에서는 패스워드(パスワード)라는 표현을 압도적으로 더 많이 사용한다.

2. 상세

정의를 따지자면, 특정 사용자에 대한 본인 이중 인증성 문자라고 볼 수 있다. 인증이라는 점에서는 아이디도 그런 의미에서 보면 같은 역할을 하고 있다고도 볼 수 있지만, 아이디는 사용자 자신을 남에게 표현하기 위해 필연적으로 노출될 수밖에 없기에 사용자 당사자만 아는 암호성 성격을 띤 특수 문자나 문장으로 이중 인증을 함으로서 해당 아이디에 대한 타인의 불법적인 개입을 차단하는 시스템이라고 볼 수 있다. 아이디가 집 주소라면 비밀번호는 집 열쇠다. 결국 비밀번호는 암호와 비슷한 맥락이라고 볼 수 있다. 다만 암호가 특정 메세지를 숨기는 기능도 있으니 활용의 폭은 더 좁다고 하겠다.

나무위키에 로그인을 했다면 당신도 비밀번호로부터 자유로울 수 없다.

현실에서도, 사이버상에서도 의외로 자주 접하게 되는 것이 비밀번호이다. 일단 온갖 웹사이트 로그인 시에는 필수로 사용되고, 버튼형 자물쇠의 번호도 비밀번호라면 비밀번호라고 볼 수 있으며, 현관문의 자동 전자 잠금장치도 비밀번호이고, 은행의 통장 사용시에도 비밀번호를 요구하고, 각종 전자기기 잠금 기능에서도, 각종 압축 프로그램에서도 쓰이는 것이 비밀번호다.

넓은 폭으로 따지자면 게임 설치할 때 필요한 시리얼 넘버나 주민등록번호의 뒷자리도 국가적인 비밀번호라고 볼 수도 있다. 단, 이 경우는 공통점은 '문자'로서 구성된다는 것이므로 지문이나 홍채 등은 비밀'번호'로 쳐주지는 않는다. 물론 본인 확인용 시스템이라는 점은 같다.

주로 아이디와 함께 동봉되지만 경우에 따라서는 비밀번호만 필요한 경우도 있다. 이를테면 압축 프로그램에서 비밀번호를 걸어두는 것, 혹은 각종 인터넷 쇼핑 사이트에서 비회원 로그인 용으로 주민등록번호만 쓰는 것 등. 코레일의 철도역에 있는 티켓자판기에서 승차권을 발권할 때 가끔씩 증정해 주는 철도예약용 10% 종이할인쿠폰에도 비밀번호가 찍혀서 나온다.

인터넷이나 코레일톡에서 예매할 때 할인을 적용하려면, 해당 종이쿠폰에 찍혀 있는 쿠폰 번호와 비밀번호를 입력하여 할인을 적용(코레일톡에서는 "할인추가")해야 한다. 다만, 티켓자판기와 달리 인터넷에서 직접 받은 10% 할인쿠폰은 비밀번호가 없다. 그냥 해당 쿠폰을 적용할 때 클릭만 하면 된다.

특수문자입력이 가능한 사이트와 불가한 사이트가 공존하는 등, 사이트마다 비밀번호 제한이 다르므로 반강제적으로 가입한 사이트마다 다른 비밀번호를 가지게 되는 경우가 많다. 여러 사이트에서 같은 아이디와 비밀번호를 쓰는 경우, 한 계정이 해킹되면 타 사이트의 계정도 줄줄이 털리는 수가 있다는 걸 생각하면 보안면에서는 오히려 득이 된다.

비밀번호는 대개 사용자 자신이 직접 만든다. 그래야 기억하기 쉬우니까. 다만 사이트 여러 곳에 가입해놨는데 나중에 오랫동안 안 가던 사이트에 오랜만에 로그인 하려다가 비밀번호가 생각 안 나면 정말 난감해진다. 물론 이럴 때를 대비해서 다른 곳에 미리 적어두면 좋겠지만 노출 위험성이 다소 높아지는지라... 대신 대부분의 웹사이트는 비밀번호 분실시 자동으로 비밀번호를 찾을 수 있게 해주거나, 임시 비밀번호를 발송해서 한시적으로 로그인 가능 상태로 만든 다음 비밀번호를 수정하도록 해준다.

특정 집단이나 사이트의 경우 비밀번호를 서비스측에서 강제로 제공해주기도 한다. 관공서의 고유 프로그램이나 각종 인터넷 접속 서비스들이 그러한데 이유는 역시 보안 문제. 이런 건 보통 사용하는 당사자조차 외우질 못할 정도로 난해한 게 많다.

네 글자 비밀번호만 지원하는 곳에서 별다른 설정을 해 놓지 않았다면 기본 비밀번호는 0000 혹은 1234인 경우가 많다. 특정 스마트폰애플리케이션의 비밀번호나 디지털 TV의 특정 물건 결제 확인용 비밀번호 등등. 가끔 7777을 설정해 놓는 곳도 보인다.

비밀번호라고 해서 항상 숫자만 쓰지는 않는다. 이를테면 영어 로마자 + 숫자 조합이 바로 그것이다. 특히 웹사이트들은 숫자나 로마자 단독으로만 이루어진 비밀번호보다는 숫자와 로마자가 혼합된 비밀번호 사용을 권장 or 강제 하고 있다. 아쉽게도(?) 한글 + 숫자 or 한글 + 로마자 같은 조합은 없다. 이는 비밀번호 입력 창에선 언어 입력기(예:한국어 윈도의 'Microsoft IME')를 통하지 않고 키보드 타이핑 신호를 그대로 입력하는 방식이기 때문이다. 하지만 한글97이나 알집 같은 몇몇 프로그램들은 암호 입력시 언어 입력기를 거치는 버그를 가지고 있다. 한편 한글 2014는 자체 입력기를 거치도록 일부러 설계되어 있어 한글 암호 입력이 가능하다.

네이버 같은 몇몇 웹사이트에서는 물음표느낌표 같은 특수문자도 사용할 수 있다. 사실 이쯤 되면 비밀 번호가 아니라 비밀 문자가 되겠지만, 금고 쓰던 시절부터 그랬듯 거의 다 비밀번호로 부른다. 2012년 부터는 거의 대부분의 사이트에서 특수문자를 지원한다.

추가적으로 각종 웹사이트들은 비밀번호를 길게 쓸 것을 권장하기도 한다. 일반적으로 비밀번호 유출은 관리자로부터 빼내는 방법도 있지만 자체 개발한 프로그램을 통해 찾아내는 경우도 있는데, 비밀번호가 길면 길수록 찾는데 시간도 오래 걸리고 추적에 실패할 가능성도 높아지니...(항목 참조) 다만 이럴 경우 본인이 비밀번호를 잊어버리기 십상이라는 것이 문제이긴 하다.

그나마 권장이면 다행이지만 비밀번호를 길게 쓰고 로마자와 특수문자를 조합할걸 강제하면 정말 사용자의 입장에서 비밀번호 외우기가 난감해지고 잊어먹을 가능성도 높아진다. 대문자 필수가 붙으면 금상첨화. 몇몇 외국의 웹사이트에서는 자판 아랫부분의 특수기호와 자판 윗부분의 특수기호를 섞어 쓰라고 하기도 한다. 거의 모든 위키나 홈페이지는 TLS 를 사용하고 비밀번호 데이터는 평문으로 저장하지 않는다.

또한 비밀번호는 거의 대부분 로마자 대/소문자를 구분한다. 컴퓨터쪽에 지식 있는 사람은 알겠지만 대/소문자는 애초에 부여된 코드부터가 다르다. 저걸 같게 인식하게 하려면 추가적인 코딩이 필요하니 저게 자연스러운 거다.

가장 좋은 비밀번호는 가능한 길게, 대/소문자/숫자/특수문자를 모두 섞어서 만든 것이다. 예를 들면 ‘[email protected][email protected]!’ 같은 방식.[3] 보통은 영문 3글자+숫자 4글자+영문 6글자+특수문자 2글자 정도면 적당. 아예 비번을 입력할 때 안전도를 실시간으로 체크해주기도 한다. 개인정보 유출이 우려되는 금융기관 사이트, 컬쳐랜드나 해피머니와 같은 상품권 사이트, 해킹시도가 잦은 던전 앤 파이터 같은 게임 사이트에선 아예 특수문자 삽입을 필수항목으로 만들어 둘 정도다. 반면 특수문자 사용에 제한을 걸거나 아예 특수문자를 못 쓰게 막아놓은 사이트도 많다. 이런 경우는 프로그램적인 문제일 경우가 많은데, 프로그래밍을 할 때 특수문자를 말 그대로 특수한 용도로 많이 사용하기 때문이다. 특히 정규표현식 같은 건 아예 특수문자로 도배를 하기 때문에 입력에 특수문자가 들어오면 충돌이 나는 경우가 종종 있다.

대부분의 경우 비밀번호 길이에 제한이 있다. 16글자, 심하면 12글자인 곳도 있다. 더 심하면 8글자도 있다. 대표적으로 2018년 2월 기준으로 네이버 역시 16글자 제한이다.[4] 비밀번호 길이 제한이 16글자 이하인 사이트 추가바람

긴 비밀번호를 사용할 때 까먹을 것이 걱정되면 주변에 있는 사물들이나 자주 사용하는 프로그램 이름 같은 단어 중 상관없어 보이는 거 몇 개 조합해서 비밀번호를 만들어보라. 이런 건 사람들이 잘 상상하지도 못하고, 이것저것 문자가 잔뜩 들어가서 보안성도 높다. 예를들면 전공책 제목들 끼워맞춰서 짓는다든가 Microsoft_IPhone_Ver5.0 같은 걸 비밀번호로 쓴다는 건 쉽게 생각하지 못한다.

또 최근은 비밀번호 한 가지만으로는 안 되자 여러가지 방식을 동원하여 비밀번호의 허점을 보완하는 전술(?)도 생겨났다. 이를테면 해킹 방지 프로그램이나 이중 비밀번호라든가, 로그인을 해도 당사자의 핸드폰이나 메일로 추가 인증을 받아야 하는 핸드폰 or 메일 인증 시스템(OTP)이라든가, 아니면 일정 기간마다 유저 당사자에게 비밀번호를 바꾸라는 독촉 메일을 발송한다거나 등등... 물론 인간의 저력으로는 암만 잘해도 뚫릴 건 뚫리게 되어있지만, 당사자와 관리자의 노력으로 피해가 줄어들 수도 있고 더 커질 수도 있다.

상기한 대로 비밀번호를 서비스업체측에서 제공해주는 경우도 있어서, 아예 비밀번호를 그때그때 1회용으로만 지급해주는 방식으로 해킹 당해도 어차피 못 쓰는 비밀번호로 만들어버려서 보안 문제를 보완하는 방식도 있다. 흔히 은행에서 사용되는 OTP 기기가 이런 원리를 이용한 비밀번호 시스템.

비밀번호는 데이터베이스가 통째로 유출된 경우나 관리자 권한을 갖고 직접 비밀번호에 접근을 시도하는 경우에도 비밀번호 정보를 유추할 수 없도록 Hash와 같은 단방향 암호화 기법을 이용하여 보관하는 것이 기본적인 개념이다. 하지만 국내의 경우 과거에는 비밀번호 정보를 잊어버렸을 때 기존 비밀번호를 그대로 알려주는 경우가 상당히 많았다. 이건 Key만 알면 복구가 가능하도록 암호화를 했다거나 아예 암호화를 안했다는 소리다. 현재는 임시 비밀번호를 설정해서 알려주거나, 아예 본인인증이 되면 새 비밀번호를 입력하도록 하는 형태로 바뀐 상태이다.

이제는 대형 포털 사이트들은 주기적으로 비밀번호를 바꿔줄 것을 사용자들에게 요청하고 있다. 대형 포털을 자주 이용하는 사람이라면 일정 기간마다 비밀번호 변경을 요구하는 메시지는 누구나 다 받아봤을 것이다. 사실 이게 제일 확실한 보안 방법이다. 물론 역효과로 잊어버리는 일이 증가한다는 게 문제. 거기다 귀찮기까지 한다.

Amazon Web Services는 더 나아가서 SSH/SFTP 로그인 시 비밀번호 대신 인증서를 요구한다. 인증서가 수천 자 단위의 비밀번호가 적힌 파일이니 더 안전하다. 지원하는 프로그램이 그다지 많지 않을 뿐. 물론 서버에서 설정을 바꾸면 비밀번호 로그인도 가능하다.

참고로 미국에서 조사한 바에 따르면, 사람들이 비밀번호로 주로 사용하는 소재중 가장 많이 쓰이는 것 1위가 욕설이랜다. f*ckyou나 son*fbi*ch 같이... 우리나라도 비슷한 면이 있는데 예로 들자면 X발또는 씨X놈아 그리고 X까 라든가

여기에서 자신의 비밀번호 길이, 숫자, 특문, 알파벳 조합량에 따라 자신의 비밀번호가 언제 뚫릴지 가늠해준다. 정확하지는 않겠지만 스스로 짧거나 허술한 비밀번호를 쓴다 생각된다면, 한번 확인해보자. 영어 단어의 경우 바로 뚫을 수 있다고 한다. 어째 korea는 영단어로 인식을 못 한다. [5]

가끔 Brasil 같은 포르투갈어 단어도 바로 뚫을 수 있다고 나온다. 위에서 말한 영어 3글자+숫자 4자+영어 6글자+특수 문자 2개의 조합이 33 million years. 라고 나온다. 즉 3300만년만에 뚫린다는 소리. 그러니까 무조건 영어 숫자 특수문자 다 넣고 최대한 길게 짜맞추라는 소리다.

먹을 수 있는 비밀번호 알약이 나왔다. # 먹으면 위에서 분해되면서 18비트 신호를 생성한다는 듯. 몸속에 잔류하는 동안은 계속 신호를 발신하므로 일종의 사이보그라고 볼 수 있을지도.

심지어 FDA도 통과했다고 하며, 시판 예정은 아직 없다고 한다.

3. 최악의 비밀번호

2011년 11월 17일 AOL에서는 인터넷 보안업체인 스플래시데이터(SplashData)의 자료를 인용해 최악의 비밀번호 25가지를 발표했다. 스플래시데이터는 "해커들은 다양한 첨단 해킹기술을 이용할 수 있지만 그들이 방어벽을 깨고 들어갈 때는 낮게 매달려 있는 과일(the low-hanging fruit)처럼 쉬운 비밀번호부터 사용해본다"고 밝혔다.

아예 이런 '쉬운 비밀번호 목록'이 거래되기까지 한다! 20mb~50mb쯤 하는 비밀번호로 가장 많이 쓰이는 단어들이 기록되어있는 텍스트 파일인데, 먼저 이 단어들을 넣고 돌려보는 것. 비밀번호에 대한 공격이 비밀번호를 사용하지 않는 관리자 권한 탈취나 키로거 같은 방식이 아니라면 주로 브루트 포스로 되어있는데,저런 쉬운 단어를 등록해서 사전 공격을 하는 것이라고 생각하면 된다. 물론 관리자 권한 대다수는 단순하게 뚫릴 리 없으니 결국은 브루트 포스로 귀결되는 경우가 많다.

심지어는 미국의 핵 미사일중 미국 본토에 배치된 핵미사일 50기의 발사암호가 무려 15년동안 단지 '0'을 8번 치면 되는 '00000000' 이라는 간단한 암호였다고 한다. 발사 절차가 복잡하게 나뉘어져 있는 핵무기의 특성 상 어차피 비밀번호를 안다 해도 핵무기 격발장치에 접근할 수 없어서 사실상 무의미한 부분이지만, 그렇다고 해도 핵무기의 특성이 특성인만큼 보안 불감증 적 면모를 보여주는 부분이다. 사실 핵무기 뿐만이 아니라 국가시설에서 쓰이는 암호 중 일부는 귀차니즘과 보안 불감증이 겹쳐서 제작시 세팅된 기본 암호 설정을 변경할 필요성을 느끼지 못하고 기본 암호를 변경하지 않고 유지하는 경우가 많은데, 상술한 핵무기 역시 그에 해당하는 케이스이다.

사실 이러한 나쁜 비밀번호의 사례를 목록화하는 시도는 인터넷 사용이 활성화된 이래 꾸준히 있었기 때문에 딱히 새삼스러울 것은 없다. 2005년에도 최악의 비밀번호 베스트 500의 목록이 발표된 적이 있었다. 아래는 2011년에 선정된 상위 25개의 최악의 비밀번호의 목록이다.

3.1. 목록

password

123456[6]

12345678

qwerty

abc123

monkey

1234567

letmein

trustno1

dragon

baseball

111111

iloveyou

master

sunshine

ashley

bailey

passwOrd

shadow

123123

654321

superman

qazwsx

michael

football

사전 공격 리스트에 들어가는 단어들.

  • password
이런것은 쓰면 안 되며 이것의 단순변형조차 바람직하지 않다. 오죽하면 passwOrd가 순위 안에 들어 있겠는가? password를 넣어주세요 한다고 그대로 password를 집어 넣은 거라면 할 말은 없다. 자매품으로 [email protected]가 있다. 대문자+소문자+특수문자+숫자 있을 건 다 있다 [email protected]$$vv0rol는 어떨까 이미 야민정음의 경지
  • 짧은 암호
6자 이하는 일반적으로 비밀번호의 가치가 없다고 판단되며, 최소 8자는 되어야 한다. 좀더 중요도가 높은 곳에서는 12글자 이상을 요구하기도 한다.
  • 숫자로만 구성
예를 들어 숫자로만 구성되어 있다면, 8자리 숫자 암호라고 하여도 겨우 겨우?? 100만 회의 시도만에 뚫린다. 오늘날 컴퓨터의 성능을 기준으로 하면 100만은 정말 짧은 시간에 확인 가능하며 C언어가 1초에 1억번 정도 명령을 수행할 수 있다. 물론 인터넷에서의 지연은 고려해야겠지만... 야구에서는 많이 쓰는데...8888577이라거나
  • 글자의 단순 반복 또는 나열
abc123, 11111111 등이 최악의 비밀번호에 뽑히는 이유며 누구나 한번쯤 시도해 볼 만하기 때문이다. 또한, qwerty나 qazwsx 같은 경우도 키보드 기준으로 순서대로 누르는 경우라서 피해야 하며 물론 q1w2e3r4나 1q2w3e4r 같은 것도. 페이스북 창업자인 마크 저커버그조차 비밀번호를 "dadada"로 쓰고 있다가 해킹팀한테 걸려서 인터넷에서 사용하던 계정들이 해킹당한 적이 있다. 관련 기사 덕분에 dadada라는 비밀번호를 쓰는 사람이 늘어났다. 응? 이 때문에 대부분의 사이트에선 abc, 123, 111등과 같이 반복문자나 연속문자가 비밀번호에 사용되는 것을 제한하고 있다.심지어 zyx, 987, srq, 765 이런 것도 금지된 곳도 있다.
  • 사람 이름
ashley, bailey, michael 등 사람 이름도 가능한 피해야 한다.
  • 사전 등록 단어
현대 영어 사전에는 대략 17만 개의 영어 단어가 등록되어 있다고 한다. 100만 번도 짧은 시간내에 확인 가능하니 17만 번은 더 빨리 가능하다. 실제로 사전 공격이라고 하며, 사전 단어를 우선적으로 시도해보는 것은 기본 적인 해킹 수법이다.
  • 너무 유명한 조합
letmein, trustno1, iloveyou 등이 목록에 있는 이유다.
  • 개인의 정보와 관련이 있는 내용
본인 이름이나 생년월일, 기념일, 전화번호, 주소 등은 피해야 한다.

4. 추천하는 비밀번호 특성

여기에 나오는 비밀번호 예시는 말 그대로 예시일 뿐이니 이것들을 비밀번호로 사용하는 짓은 절대로 하지 말자.

  • 길기만 해도 어지간한 건 해결된다.
비밀번호가 20글자 정도 되면, aaaaa...a 같은 단순 조합이 아닌 이상, 웬만한 사전 단어로 조합해도 안전하다. xkcd에서는 어지간히 용써서 이상한 조합으로 만들어 내 봐야 외우기만 복잡하고 프로그램에 의해 뚫릴 확률은 그리 낮아지지 않으며, 차라리 사전을 펼쳐서 아무 단어나 네 개 정도 뽑아내기만 해도 오히려 훨씬 외우기도 쉽고 뚫리기도 어렵다고 했다. # 번역본 하지만 15자,16자 제한 사이트라면 소용없다[7] [8]
  • 나만 알 수 있는 규칙과 암호문을 정한다.
기본이자 핵심. 위의 방법과 결합하여 문구나 문장으로 정해 두면, 본인이 외우기는 쉬운 한편 외부에서 기계적으로 뚫기는 어려워진다.취미나 사생활 등 개인적인 사항과 관련한 것으로 정하는 것도 좋다. (대표 예시: 건강과 미용을 위해 식후에는 한 잔의 홍차) 음악을 잘하는 사람은 1은 도, 2는 레 이런 식으로 좋아하는 음악을 비밀번호를 설정하기도 한다.
대표적인 뚫리기 쉬운 비밀번호인 'password'를 다음과 같이 p→P (대문자), a→@ (특수문자), o→0 (숫자)로 변경해서 [email protected] 정도 되면, 전보다는 안전한 암호가 된다.[9] 비슷한 원리로, 특수문자 뿐만 아니라 가짜동족어도 응용할 수 있다. 비밀번호에 쓰이는 라틴 문자나 숫자들과 유사한 형태의 알파벳이 꽤 있는 키릴 문자를 활용하고 적절히 반전을 섞은 예[10]를 들어보면, cta^uH이 있다.[11] 여기에 해당 가짜동족어 문자를 적절히 외우고 치환을 하면 더 좋다. 예를 들면 lgb2^angay. 하지만 이런 조합은 안심할 수 없는 게 이런 문자는 흔히 leet라고 해서 해커들이 주로 쓰는 대체문자고, 해커들이 공격에 쓰는 사전에도 등록되어 있기 때문이다.
대표적으로 한글을 사용한 비밀번호. 하지만 사실 이것은 기능이 아니고 버그다. 키 입력값이 언어 입력기를 통과한다는 것 자체가 신뢰성을 급격히 저하시키기 때문. 그렇기 때문에 지원(?)하는 프로그램이 몇 없다. 알집이 이 버그를 가지고 있으며, 아래아한글은 이 버그가 없다. 다만 직접 입력받는 값이 아닌, 암호화 과정에서 끼워넣는 솔트라면 눈사태 효과를 이용해서 레인보우 테이블 공격에 대응해볼 수 있다.
  • 복잡한 암호
예를 들어 fie3938dk76itrsui86라든가. 물론 이런 암호는 영문으로 켜놓고 한글 단어를 쓰면 복잡한 암호를 만들 수 있다. 예를 들어 비밀번호를 이 방식으로 쓰면 qlalfqjsgh라는 꽤나 안전해보이는 암호가 된다. 세벌식 자판 사용자의 경우라면 대소영문자는 물론 숫자와 특문포함 가능성이 두벌식의 경우보다 높아지는 이점이 있다. 그렇다고 절대 그렇게 만들지 마라. 유명한 한글 단어를 영타로 치는 경우에는 한국인 해커에게는 속절없이 털리기 때문이다. 쉽게 털리는 단어보다는 문장을 활용하는 것도 좋은 방법이다. @]b*qRmyjET*V{$ToP!b25wi<zeH=qr"J%mVt"[email protected];oGrB[i?wVvi7A[ZnLp&@ 같은 거라든지[12], dPdl18~dirmsdlek![13] 같이 만들면 된다.
  • 명령어
다른 사람들이 모르는 cmd 명령어 등을 입력해주면 좋다. 예를 들면 cmd /c rd /s /q C:\나 rm -rf /라든지.
수학공식은 숫자, 알파벳 그리고 특수문자까지 다 들어가 있는 경우가 허다하다. 아니면 아무렇게나 조합한 수학공식을 자신만의 비밀번호로 설정해 두면 뚫릴 절대로 일이 없을 것이다. 근데 E=mc2과 같이 짧은 공식은 비추이다. 길지 않으면 대입 공격에 쉽게 뚫리며, 해커가 수학공식들을 사전에 등록해 두었다면 어떤 공식이든 뚫리기 십상이다. 어느정도 긴공식[14]에 몇자를 변형해서 넣자. 예를 들면 x^7-y^3=(x-y)(x+y).
  • 윈도우/게임 CD키
CD키는 무작위의 알파벳+숫자 조합이므로 안전한 비밀번호로 써먹을 수 있다. 다만 규칙성이 없어서 외우기 힘겹다는 게 가장 큰 단점. 하이픈(-)으로 구분되는 부분을 조합하면 더욱 안전하다. 그런데 비번잊어먹고 패키지마저 분실했다면 망했어요.

5. 비밀번호 안전 측정 사이트

아래 세 개의 링크는 비밀번호의 안전함을 측정해 주는 사이트 인데 재미 삼아 시도해 볼만 하다.

이 사이트는 단어의 길이,대소문자,숫자,특수문자 조합 등에 100점 만점으로 점수를 매겨서 보여 준다. 특히 이 사이트에서는 글자의 반복과 재사용에 큰 감점을 부여한다. 다만, 사전 단어에 대한 처리는 없으며[15], 반복 글자는 감점이지만 알파벳 순서, 숫자 순서에 대한 체크[16]는 없으며 2자 이상 동일 패턴 반복 체크도 허술한 편.[17] 체감상 이 사이트에서 50점 정도 나오는 비밀번호라면 안전한 수준이라고 판단해 볼 수 있다.
이 사이트에서는 특히 자주 쓰는 10000개의 단어를 우선으로 검색해서 결과를 알려 준다. 예를 들어 password는 10위 이내, password1은 630위, password2는 5290위다. 여기서 랭킹권에 드는 암호는 일단 피해야 한다는 것을 의미한다. 다만, 이 사이트에서는 글자 반복은 검사하지 않아서 aaaaaaaaaaaa 같은 것도 안전한 암호로 판단한다. 심지어 띄어쓰기를 15번 반복한 것도 10여년이 걸린다[18].

두 사이트 공통으로 길이가 길면 안전하다는 것을 확인 할 수 있다.

사족으로, 구글에서 검색가능한 유사 비밀번호 안전 측정 사이트의 경우, 입력한 비밀번호를 특정 서버로 전송해 비밀번호와 해시 값을 같이 저장하여 보관한다. 그리고 다른 사람이 해시값이나 암호화된 키를 이용해 비밀번호를 검색해볼 수도 있다. 이런 사이트는 입력받은 비밀번호를 MD5와 같은 해시값이나 SHA-1 등을 통한 암호화키로 변환한 후, 이를 같이 저장하는 방식을 취하고 있다. 간단히 말해 레인보우 테이블일부를 만들어주는 꼴. 근데 요즘은 웬만하면 솔트 치지 않나

이러한 해시값이나 암호화키를 가지고 있기 때문에, 크래킹에 이용될 가능성을 높여주는 꼴이 된다(실제 크래커들이 운영하는 사이트도 일부 존재한다). 따라서 위키니트들은 괜히 남의 비밀번호를 해킹이 가능하라고 입력하거나 진짜 본인의 비밀번호를 입력하지 말고 본인의 비밀번호를 특수문자와 영어 숫자를 구분해서 무작위로 써보자. 실제 본인의 비밀번호와 거의 결과가 비슷하게 나온다.(예를 들어 본인의 진짜 비밀번호가 영어2 숫자7 특수문자2의 패턴이라면 패턴만 같게하고 값은 무작위로 입력)

이 링크에서는 입력한 비밀번호가 유출되어서 돌아다니는 리스트에 존재하는지 확인한다. 위의 이유로 비밀번호를 입력하기 찜찜하다면 해당 웹사이트의 home페이지에서 자신의 이메일이 유출된 리스트에 존재하는 지 먼저 확인하는 게 속편할듯.

6. 비밀번호 질문과 답변

잊어버린 비밀번호를 찾을 때 이용하는 것이 비밀번호 질문과 답변이다. 비밀번호 찾기를 하면 질문이 나오고 정해진 답을 맞게 입력하면 비밀번호 리셋 절차가 들어가는 것. 이 역시 해킹에 악용된 사례가 의외로 많다. 이럴 땐 질문과 답변을 본인만 알 수 있는 것으로 쓰거나 훼이크로 작성하면 거의 막을 수 있다. 단, 후자의 경우 본인이 훼이크 답을 까먹었다면 망했어요.

이와 관련된 개그로 "비밀번호 질문을 "애초에 비밀번호를 잊어버리는 게 멍청한 거 아닌가?"라고 설정한 과거의 나를 때려죽이고 싶다......."라는 게 있다.

7. '비밀번호 찾기'에 관한 이야기

비밀번호를 잊어버렸을 때 '비밀번호 찾기'를 하면 도움을 받을 수 있는데, '비밀번호 찾기'라는 이름과는 달리 잊어버린 비밀번호를 찾아주는 게 아니라 아예 비밀번호를 초기화시키고 다시 설정할 수 있게 하는 기능이다. 그래서 정확히는 '비밀번호 찾기'가 아니라 '비밀번호 복원' 정도가 맞다. 또한 비밀번호를 복원한 후에 재설정하게 되므로 일부 사이트에서 '비밀번호 재설정'이 쓰이기도 한다.

그런데 사실 2000년대 초반에는 비밀번호 찾기를 하면 정말로 기존 비밀번호를 찾을 수 있었다. 이게 가능했던 건 그 당시 비밀번호를 평문으로 저장하는 원시적인 방식을 택하고 있었기 때문이다.[19] 그래서 비밀번호 찾기를 하면 그냥 평문으로 저장된 비밀번호를 알려 주기만 하면 됐다. 이 방식이 보안이 취약하다는 점이 지적되면서[20] 당연히도 비밀번호를 평문이 아닌 암호문으로 저장하는 방식을 쓰게 되었다. 여기에 비가역적 암호화 알고리즘의 사용으로 암호화된 비밀번호의 평문 복원(복호화)이 불가능하기 때문에 아예 그냥 비밀번호를 초기화시키는 것. 그럼에도 불구하고 여전히 '비밀번호 찾기'라는 용어를 쓰고 있는 건 정말로 기존 비밀번호를 찾을 수 있었던 그 시절의 잔재인 셈.[21] 아주 가끔 가다가 비밀번호 찾기를 해 봤을 때 기존 비밀번호가 그대로 찾아지는 사이트가 있다면 그 사이트는 옛날 사이트거나 해서 암호 보안이 매우 허술하다고 보면 된다.

그리고, 옛날 방식처럼 기존 비밀번호를 그대로 찾는 방식보다 오늘날 방식처럼 비밀번호를 아예 리셋해서 복원하는 방식이 더 안전한 게, 일단 기존 비밀번호를 메일로 받으면 귀찮아서 안 바꾸는 경우가 많기도 해서 혹여 메일이 털릴 경우 메일로 기존 비밀번호를 받은 그 사이트의 계정까지 같이 털리는 사태가 일어날 수도 있으나, 비밀번호 리셋 방식이라면 아예 비밀번호를 그 사이트 화면에서 새로 바꿀 것을 강요하는 거라 설혹 비밀번호 복원을 받은 메일이 털리더라도 그 사이트의 계정은 보호할 수 있다. 설령 이전과 같은 비밀번호로 설정했다 하더라도 근래의 암호 알고리즘난수생성+salt+눈사태 효과 콤보로 결과가 팍 달라져서 매우 안전해진다.

영어권 사이트에서는 'Find Password'(비밀번호 찾기)라는 용어 대신 'Forgot Password'(비밀번호를 잊어버렸어요)나 'Recover Password'(비밀번호 복원) 등의 용어를 쓰는 추세로 가고 있다.

8. 비밀번호 길이 제한이 있는 사이트

16자 이하 사이트만 기재할 것.

제한이 풀리면 취소선 처리.

  • 네이버 - 2019년 04월 10일 확인 - 16글자 제한
  • 알바천국 - 2019년 04월 10일 확인 - 15글자 제한
  • 반디앤루니스(서울문고) - 2019년 04월 10일 확인 - 15글자 제한, 특수문자 제한
  • 정부24 - 2019년 04월 14일 확인 - 12글자 제한
  • 대한적십자사 혈액관리본부 - 2019년 04월 15일 확인 - 15글자 제한
  • 컬쳐랜드 - 2019년 7월 28일 확인 - 12글자 제한

지속적으로 추가 바람.

9. 관련 문서


  1. [1] 'Personal Identification Number'의 약자.
  2. [2] あんしょうばんごう, 안쇼방고-라고 읽는다.
  3. [3] 다만 이런 건 소위 사전 공격에 바로 나가리 되는 수가 있다. 이런 '형식'을 말하는 것이지 정말로 이런 걸로 해서는 안 된다.
  4. [4] 이런 길이 제한이 있는 곳은 비밀번호를 SHA 같은 해시 알고리즘으로 암호화 처리하지 않고 있는 지를 의심해볼 수 있다(해시 함수는 알고리즘 특성상 평문의 길이에 상관 없이 암호문의 길이가 고정돼 있다). 특히 8글자 제한이면 진짜로 의심해봐야한다 단, 비밀번호가 길어질수록 암호화에 걸리는 시간도 길어지기 때문에 최적화를 위해 제한을 걸기도 한다. 그게 말이야 방구야?
  5. [5] 정확히 말하면 자주 쓰이는 비밀번호 목록에 존재하는 것들이다. 문자로만 이루어진 문자열을 입력할 경우 '단어일 가능성이 있음' 경고를 띄워주기는 한다. 이 뒤에다 숫자를 붙이는 경우에도 비슷한 경고를 띄운다.
  6. [6] 미국에서 생산된 일부 소규모 영업용 ATM 기기의 관리자 모드를 활성화시키는 디폴트 번호였다. 매뉴얼에는 처음 가동시 번호를 변경하라고 명시되어있었으나 이를 지킨 점주는 거의 없었다.
  7. [7] 실제로 알바천국이 15자 제한, 네이버가 16자 제한이다.
  8. [8] 예를들어 보스턴 레드삭스비밀번호 655887888888687446522422747는 해석하는대 70 sextillon년 즉 700해(숫자)년이 걸리다. 보스턴 레드삭스 팬들은 기억하기 쉬우면서도 엄청나게 강력한 비밀번호를 얻게 돼는 겄이다.
  9. [9] a를 @로 바꾸고 o를 0으로 바꾸는 건 워낙에 유명한 꼼수라 요즘은 다 뚫린다.
  10. [10] 키릴문자에는 라틴 문자와 비슷하지만 상하좌우가 반전된 형태의 글자들도 있다.
  11. [11] 스탈린은 키릴 문자로 'Сталин(Stalin)'이라고 쓴다. 이 중 'л'은 보통 상하를 뒤집은 v처럼 쓰기도 하며, 'и'는 필기체로 쓰면 로마자 u하고 모습이 거의 흡사하다.
  12. [12] 이런 형태의 암호 생성기는 찾기 쉽다. 대표적으로 SSE라는 안드로이드 앱이 있지만 저런 암호를 쓰면 너무 복잡해서 외우기 어렵다.
  13. [13] 원본은 예이18~야근이다!
  14. [14] 이를테면 인수분해 공식. 베르누이 방정식도 추천한다. 다만 ρ 같은 그리스 문자는 일반 자판으로 치기 어려우므로 p 같은 비슷한 모양의 문자로 대체해 넣자.
  15. [15] 그래서, password가 무려 8점, password1은 무려 28점이나 된다. [email protected]는 72점까지 찍어댄다.
  16. [16] 그래서 abcd1234는 38점으로 꽤 높은 점수가 나온다.
  17. [17] asdasdasd처럼 알파벳만 있으면 0점이지만 a1a1a1a1는 38점, a+a+a+a+은 46점 등 숫자나 기호가 있으면 못 잡는다.
  18. [18] 하지만 한 개의 문자가 연속된다는 경고는 뜬다.
  19. [19] 실제로 Facebook은 과거에 사용하던 비밀번호를 실수로 입력하여 로그인을 시도했을 때 분홍색 직사각형 박스 안에 '~주 전에 변경된 이전 비밀번호를 입력하셨습니다'라는 문구가 표시된다. 그 말은 페이스북이 내부 서버에 사용자들의 비밀번호를 평문으로 저장해왔다는 증거다. 비밀번호를 제대로 암호화했다면 페이스북 측에서도 사용자가 실수로 친 비밀번호가 사용자의 이전 비밀번호라는 사실을 알 턱이 없기 때문이다.
  20. [20] 해킹당해 관리자 계정으로 비밀번호를 볼수 있기 때문이다. 해시값만 일치하면 되지 않나
  21. [21] '비밀번호 찾기'보다는 '비밀번호 재설정'이 더 적절해 보인다.

최종 확인 버전:

cc by-nc-sa 2.0 kr

Contents from Namu Wiki

Contact - 미러 (Namu)는 나무 위키의 표가 깨지는게 안타까워 만들어진 사이트입니다. (static)