비밀번호

최근 편집일시 :


파일:다른 뜻 아이콘.svg
은(는) 여기로 연결됩니다.
스포츠 관련 용어에 대한 내용은 비밀번호(스포츠) 문서
비밀번호(스포츠)번 문단을
비밀번호(스포츠)# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
참고하십시오.




1. 개요
2. 용도
3. 비밀번호 설정 방법
3.1. 흔한 단어나 문자열 사용하지 않기
3.2. 본인이 기억할 수 있는 범위 내에서 가장 길고 복잡하게 만들기
3.3. 사용자 및 주변인물의 개인 정보를 포함하지 않기
3.4. 계정별로 다른 비밀번호 사용하기
3.5. 보안 암호프로세서 사용하기
3.6. 암호화 알고리즘 이용하기
3.7. 문자열 보안 수준 평가 이용하기
3.8. 비밀번호 질문과 답변
4. 비밀번호 관리 방법
4.1. 주기적으로 교체하기
4.2. 비밀번호 설정에 제한 거는 사이트 주의하기
4.3. 잊어버린 비밀번호 찾아주는 사이트 피하기
4.5. OAuth 이용하기
4.6. 유출된 비밀번호는 폐기하기
4.7. 2단계 인증 이용하기
4.8. 비밀번호 저장 기능 사용하기
4.8.1. 주의점
5. 기타
5.1. 먹는(?) 비밀번호
6. 관련 문서



1. 개요[편집]


비밀번호()는 이용자가 시스템에 대한 접근 권한을 가지고 있음을 증명하는 암호 문자를 말한다. 영어로는 패스워드(Password)라고 하며 PIN[1]이나 패스코드(passcode)라고 하는 경우도 있다.

보통 아이디(ID, Username, Nickname)와 함께 계정(Account)을 구성한다. 아이디가 사용자 자신을 남에게 표현(식별을 용이하게 하기 위해)하기 위해 노출하는 것이라면 비밀번호는 해당 계정이 자신의 계정임을 증명하는데 사용되는 문자로 사용자 당사자만 아는 암호이다. 타인이 아이디에 불법적으로 개입하지 못하도록 차단하는 시스템이다. 아이디가 집 주소라면 비밀번호는 집 열쇠, 아이디가 이름이라면 비밀번호는 신분증으로 비유할 수 있다.

2. 용도[편집]


특정 사용자에 대한 본인 인증성 문자라고 볼 수 있다. 사용자 식별용 개인정보인 ID, 닉네임과는 다르게 겉으로 표기되지 않고 감추어지며, 오로지 해당 사용자만 알고 있다.

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

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

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

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

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


3. 비밀번호 설정 방법[편집]


구글에서 권장하는 안전한 비밀번호 만들기

안전한 보안의 시작은 강력하고 안전한 비밀번호를 만드는 것이다. 쉽게 유추할 수 있는 비밀번호를 사용하는 경우가 상당히 많은데, 이는 안전불감증의 온라인 버전이나 다름없다. 모든 사이트에 같은 비밀번호를 사용하다가 모조리 털리는 경우도 있다. 비밀번호 설정에 대한 안일한 생각은 수많은 사이트에서의 로그인이 모조리 뚫리는 연쇄반응으로 돌아올 수 있다.

당연하지만 노출된 적이 없고 복잡하고 길수록 보안성이 증가한다. 암호화AES문서에도 나와 있듯이 충분히 길고 복잡한 비밀번호를 사용하는 경우 DES같이 취약한 암호화 알고리즘을 사용하는 경우가 아니라면 매우 안전하다.


3.1. 흔한 단어나 문자열 사용하지 않기[편집]


AOL 선정 최악의 비밀번호 25선
password
123456[2]
12345678
qwerty
abc123
monkey
1234567
letmein
trustno1
dragon
baseball
111111
iloveyou
master
sunshine
ashley
bailey
passwOrd
shadow
123123
654321
superman
qazwsx
michael
football

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

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

일부 도어락이나 금고, 방송장비 등의 몇몇 기계들은 공장에서부터 비밀번호가 잠겨진 채 판매되는 경우가 있는데, 이 때 대개 첫 비밀번호(또는 공장 세팅 비밀번호)가 "0000"인 경우가 많다. 어차피 개인에게 팔린 이후 새로 교체될 것임을 감안하기도 하지만, 기계 구조상 비밀번호가 필수일 경우에는 형식상으로만 걸어놓을 숫자 조합이 필요하기 때문. 초기 설정 외에도 여러 사람들이 돌아가면서 사용하는 경우에도 0000으로 맞춰두는 경우가 있다. 예를 들어 호텔 등의 숙박시설에 있는 각 호실 금고의 경우 사용자에게 새 비밀번호를 설정하라는 안내 스티커가 붙어있는 경우가 많으며, 체크아웃을 한 뒤에도 호텔 측에서 다음 고객을 위해 초기 비밀번호로 되돌린다. 때문에 이런 공장 설정 비밀번호를 바꾸지 않아서 여러 범죄의 표적이 되는 경우도 허다하다.[3][4]

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

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

Ph'nglui Mglw'nafh Cthulhu R'lyeh Wgah'nagl Fhtagn도 뚫렸다. 링크

2020년에는 인텔도 intel123을 사용하여 뚫렸다.


3.2. 본인이 기억할 수 있는 범위 내에서 가장 길고 복잡하게 만들기[편집]


비밀번호는 길고 복잡할수록 안전하다. 그러나 알파벳과 특수문자를 마구잡이로 섞는다고 해도 보안 능력이 극적으로 올라가는 것도 아니고 사용자 역시 까먹을 가능성도 있다. 특수문자와 알파벳 대소문자를 섞어야 한다고 주장한 사람은 미국의 빌 버라는 사람인데, 2003년에 이 방식을 주장해서 사실상 표준화시키고 10년 뒤에 이걸 후회한다며 자신의 주장을 철회했다. 뉴스링크 쓸데없이 복잡한 비밀번호 규칙의 유해성 Create better passwords

기억하기 쉬우면서 안전한 비밀번호를 만들려면 다음 절차를 순서대로 진행할 것.

  • 서로 관련성이 없는 적당한 단어를 여러개 선택하자. 사전에 없는 단어를 창작하면 더 좋고, 비밀번호 추천 사이트에서 랜덤으로 조합해주는 단어들을 대충 기억해도 된다.

  • 무작위로 숫자[5][6]나 특수문자를 단어의 중간에 섞는다.

  • 좋아하는 노래 가사나 영화 명언처럼 문장으로 이루어진 암호는 매우 강력하다.[7] 게다가 전혀 관련없는 2개의 문장을 합치면 사실상 해킹이 불가능해진다.[8] 단, 문장 암호는 띄어쓰기나 마침표도 암호에 포함되므로 어떻게 쓸지 미리 규칙을 정해놔야 한다.

위 규칙만으로도 복잡하고 기억하기 쉬운 비밀번호를 만들 수 있다. 한 가지 좋은 예시로 '종교사회학 !광고주@ 갈매기 좝촛 도미!니카 ㄱ공소시효1 까막눈'(71자리)을 들 수 있다.[9] 이런 식으로 만든 비밀번호를 정면으로 해제하는 것은 사실상 불가능하다.[10]


3.3. 사용자 및 주변인물의 개인 정보를 포함하지 않기[편집]


사용자나 주변 인물의 개인정보를 비밀번호에 적지 말아야 한다. 대표적으로 오남용되는 개인정보는 다음과 같다.

  • 이름, 이니셜
  • 생년월일
  • 기념일
  • 전화번호
  • 차량 번호
  • 주소
  • 주민등록번호: 놀랍게도 주민등록번호를 비밀번호에 적는 사람들도 존재한다. 주로 어르신들.

보안에 좀 신경쓰는 사이트는 아예 이런 문자열을 넣으면 못 넣게 경고로 띄워버린다. 특히 가장 많이 사용되는 위험 문자열 중 하나가 바로 성명 이니셜 + 생일(MMYY) 조합이다. 예를 들어 안철수의 비밀번호가 acs0226인 셈이다. 이러면 사전이고 뭐고 없이 몇 분 안에 뚫린다고 보면 된다. 개인정보 상당수가 노출된 연예인들이 이런 피해를 많이 입는다.


3.4. 계정별로 다른 비밀번호 사용하기[편집]


사이트나 기기마다 비밀번호를 다르게 설정해두는 것이 좋다. 특히 자신이 같은 아이디를 여러 사이트에 돌려 쓰고 있다면 정말 조심해야 한다. 보안이 취약한 사이트에서 해킹되었을 때 동일한 아이디와 비밀번호 조합을 쓰는 계정들도 해킹당하기 쉽기 때문이다. 해커들의 한 놈만 걸려라 수법에 가장 쉽게 말려드는 사람들이 바로 이렇게 사전에 있는 쉬운 비밀번호들을 아이디가 같은 여러 사이트에 통일해 쓰다가 그 중 보안이 약한 사이트에서 하나 걸리는 것이다. 이러면 세계 최고의 구글 보안도 그 사람에게는 아무런 의미가 없다.

그렇다고 해서 정말 모든 사이트의 비밀번호를 다르게 해 놓을 수는 없는 법이다. 아마 보안이 터지기 전에 뇌가 먼저 터질 것이다. 같은 문자열의 중복을 방지하면서도 암기를 용이하게 하는 방법으로는 사이트별로 달라지는 정보들을 이용하여 비밀번호를 조합하는 나만의 규칙을 만드는 것이 있다. 그리고 그것이 따르는 규칙에 대해 해커가 비밀번호를 보고도 알아낼 수 없도록 하는 것이 좋다.


3.5. 보안 암호프로세서 사용하기[편집]


비밀번호를 제공하는 소프트웨어 혹은 하드웨어이다. Secure cryptoprocessor

  • 인증 하드웨어: 사원증, 카드, USB 저장장치 등 IC칩이 내장된 저장장치에 수백 bit의 비밀번호를 저장해두고 인증하는 방식이다. 2차 인증이나 금융거래에서는 비밀번호를 OTP로만 지급하여 해킹 당해도 상관 없게 한다. 대표적으로는 금융IC카드가 있는데, 4자리 IC PIN[11]을 사용하지만 IC카드의 보안 저장소의 횟수 제한 기능으로 인해 무차별 대입법으로는 풀 수 없다. 외부에서 해킹을 시도하면 칩에 저장된 데이터가 삭제되도록 설계되어 있기 때문이다. 또한 해커가 저장된 데이터를 현미경으로 들여다 보려고 하는 등 물리적인 해킹 상황도 있을 수 있기 때문에 칩이 분해되거나 범위를 벗어나는 전압이나 클럭 등이 들어오면 즉시 데이터가 삭제되도록 만들어져 있다. 이런 칩은 최신 스마트폰에도 들어가서 비밀번호 인증과 생체 인식, 인증서 저장 등에서 사용된다.
    • 스마트폰에 들어가는 예로는 삼성 KNOX가 있는데 루팅이나 탈옥 등 변조 발생 시 보안 프로세서에서 녹스 워런티가 무효화 되고 모든 데이터가 삭제된다.
    • iPhoneSecure Enclave, WindowsTPM이 또다른 예시이다.

  • 인증 소프트웨어: 웹 브라우저에 인증서를 설치하거나 스마트폰에 OTP 애플리케이션을 설치하여 임의로 비밀번호를 발급하는 방식이다. 온라인 인증서에는 최소 수천자리 비밀번호가 짧은 기간 동안에만 사용할 수 있다.

그러나 시스템에 보안 취약점이 발견되면 쉽게 해킹되기 때문에 보안 프로세서가 탑재된 기기를 사용하더라도 되도록이면 복잡한 비밀번호를 사용하는 것이 좋다.


3.6. 암호화 알고리즘 이용하기[편집]


AES 등의 암호화 솔루션을 이용하면 쉽게 기억할 수 있는 간단한 단어로도 길고 강력한 암호를 만들 수 있다. 현재 가장 널리 사용되는 알고리즘 중 하나인 AES-CBC는 IV(Initialization Vector)와 비밀 키를 이용하여 문자열을 암호화한다. 이때 IV는 공개되어도 상관이 없고, 비밀 키는 반드시 자신만 알고 있어야 한다. 이렇게 암호화된 문자열의 일부를 추출하여 비밀번호로 사용하면 강력한 보안을 보장받을 수 있다.

AES의 가장 큰 장점은 압도적인 보안 수준으로, 미 정부가 이 알고리즘을 믿고 사용할 정도이다. 유추하기는 쉽지만 사이트별로 다른 IV를 사용하고, 충분히 강력한 비밀 키를 갖고 있다면 아무리 쉬운 비밀번호를 쓰려고 할지라도 매우 강력하게 암호화할 수 있다. 극단적으로 예를 들어 모든 사이트에 대한 평문을 'password', IV를 각 사이트 도메인으로 설정하더라도 충분히 강력한 비밀 키만 있다면 password라는 단순하고 똑같은 평문도 각기 다른 문자열로 암호화할 수 있다.

.%C%d\>9RWo^3=is/83*

평문 password, IV naver.com(0x0 패딩), 비밀 키 NamuWikllsBest!!를 AES-CBC-128로 암호화 후 Ascii85로 인코딩

위와 같이 간단한 평문과 IV로도 매우 강력한 비밀번호가 생성되었다. 위 비밀번호는 단순 대입으로 해독하는 데에 30해 년이 걸리는데, 이 정도면 해독이 사실상 불가능에 가깝다. 무규칙의 복잡한 비밀번호와 같은 수준의 보안을 갖고 있으면서도 원문과 키, IV만 알고 있으면 다시 생성하는 것이 가능한 만큼 기억에도 유리하다.


3.7. 문자열 보안 수준 평가 이용하기[편집]


http://passwordmeter.com/
이 사이트는 바밀번호로 사용될 문자열의 길이, 대소문자, 숫자, 특수 문자 조합 등에 100점 만점으로 점수를 매겨서 보여 준다. 특히 이 사이트에서는 글자의 반복과 재사용에 큰 감점을 부여한다. 다만, 사전 단어에 대한 처리는 없으며[12], 반복 글자는 감점이지만 알파벳 순서, 숫자 순서에 대한 체크[13]는 없으며 2자 이상 동일 패턴 반복 체크도 허술한 편.[14] 체감상 이 사이트에서 50점 정도 나오는 비밀번호라면 안전한 수준이라고 판단해볼 수 있다.

https://www.security.org/how-secure-is-my-password/ 폐쇄
여기에선 자신의 비밀번호 길이, 숫자, 특문, 알파벳 조합량에 따라 자신의 비밀번호가 언제 뚫릴지 가늠해준다. 정확하지는 않겠지만 스스로 짧거나 허술한 비밀번호를 쓴다 생각된다면, 한번 확인해보자. 영어 단어의 경우 바로 뚫을 수 있다고 한다. 1q2w3e4r같은 흔하디 흔한 사전 단어도 당연히 INSTANTLY로 뜬다. 적어도 1000년 이상으로는 떠야 비교적 안전한 비밀번호라고 할 수 있다. 의외로 password가 5초다 놀랍게도 . 16개는 200년이 걸린다


3.8. 비밀번호 질문과 답변[편집]


분실한 비밀번호를 찾을 때 이용하는 것이 비밀번호 질문과 답변이다. 비밀번호 찾기를 하면 본인 확인 질문이 나오고 정해진 답을 맞게 입력하면 비밀번호 리셋 절차가 들어가는 것. 이 역시 해킹에 악용된 사례가 의외로 많다. 이럴 땐 질문과 답변을 본인만 알 수 있는 것으로 쓰거나 페이크로 작성하면 거의 막을 수 있다. 예시로 질문을 "우리 어머니 성함은?"으로 해놓고 답변으로 "안알랴줌"이라고 한다거나.

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


4. 비밀번호 관리 방법[편집]


아무리 강력한 비밀번호를 설정했어도 제 입으로 그걸 말해 버리면 소용이 없다. "여기 비밀번호 뭐예요?" "XXXX예요"라는 대화를 나누어 본 경험이 적잖게 있을 터인데, 보안을 위해서는 번거로워도 담당자에게 직접 번호를 눌러 주기만 하고 타인에게는 비밀번호를 절대로 노출해서는 안 된다.

이미 한 번 유출된 비밀번호가 외우기 편하다고 계속 사용해서도 안 된다. 이미 유출된 비밀번호는 그 생명이 끝난 것이다. 또 아무리 조심하여 비밀번호를 만들더라도 사이트의 보안이 좋지 않으면 고민하여 비밀번호를 만든 의미가 없어진다.

이와 같이 비밀번호는 만드는 것이 끝이 아니다. 사전에 있는 기초 문자열을 쓰지 않는다는 전제 하에, 문자열을 만드는 것 자체보다 이후 관리를 얼마나 철저하게 하는지, 그리고 안전성을 담보할 수 있는 서비스만을 사용하는지가 보안에 결정적인 영향을 미친다.


4.1. 주기적으로 교체하기[편집]


이제는 대형 포털 사이트들은 주기적으로 비밀번호를 바꿔줄 것을 사용자들에게 요청하고 있다. 대형 포털을 자주 이용하는 사람이라면 일정 기간마다 비밀번호 변경을 요구하는 메시지는 누구나 다 받아봤을 것이다. 사실 이게 제일 확실한 보안 방법이다. 특히 보안이 약한 사이트에 가입했다면 더더욱 자주 바꿔야 한다.

물론 역효과로 잊어버리는 일이 증가한다는 게 문제. 정 귀찮다면 자신이 가입한 사이트의 대부분이 이 메시지를 뿜을 경우 한 번에 일괄적으로 바꿔 주는 것이 기억하기에도 편하고 좋다. 아니면 자신이 비밀번호를 변경한 날짜를 아예 비밀번호에 해커들이 눈치챌 수 없는, 자신만이 알 수 있는 형태로 넣는 것이 좋다.


4.2. 비밀번호 설정에 제한 거는 사이트 주의하기[편집]


비밀번호의 최대 길이나 특수문자 종류에 제한을 걸어놓고 있는 곳이 많다. 길이의 경우 15자 ~ 16자 정도는 양반이고, 겨우 8자에 불과한 경우도 심심찮게 있을 정도. 경우에 따라선 비밀번호를 다시 만들 때 이전에 만든 번호는 사용 불가하게 한 경우도 있다. 과거 보안 알고리즘의 속도가 느렸고 해킹 기법도 느렸던 시절에는 이런 것이 허용되었지만, 요즘은 8자 미만은 브루트 포스로 잘 뚫리며, 16자 정도도 사전 공격이면 웬만하면 다 뚫린다.[15] 따라서 길이 제한을 두는 행위는 보안상 매우 심각한 설계 오류이며, 특히 요즘은 비밀번호를 해시 저장하는 게 대세이므로 굳이 제한을 둘 필요도 없다. 일부 사이트에서는 길이 제한을 느슨하게 주기도 하는데, 대표적으로 구글의 경우 최대 100자의 제한이 걸려 있다.

특수문자 제한도 문제다. !, @, #, $, % 등 숫자열에 있는 특수문자의 이용만을 허용하는 곳들도 있다. 특정 키보드 배열을 사용하는 사람들을 위한 정책이라고는 하는데.. 실상으로는 SQL 예외 처리를 똑바로 안 했거나 극단적인 경우 아직도 구닥다리 웹문법을 써서 표준 유니코드 2.0 이상 환경에서만 사용 가능한 문자들을 지원하지 않는 것이다. 그나마 후자의 경우 윈도우가 유니코드 환경으로 바뀐 지 오래 지나 거의 없어졌지만 전자의 경우 아직도 구식 보안체제를 쓰는 사이트를 자주 만나볼 수 있다. 사이트마다 제한된 특수문자가 달라서 해당사이트에 적용된 비밀번호를 까먹게되는 경우도 발생한다.

오랫동안 운영되고 있는 레거시 시스템이나 무고장 운용을 지향하는 시스템에서 비밀번호 체계를 바꾸는 행위는 곧 시스템 자체를 새로 짜는 행위이며, 이는 곧 시스템 정지를 의미하기에, 이로 인한 비용은 중소기업은 물론이고 대형 포털에게도 부담이 될 수밖에 없다. 많은 사이트들이 여전히 16자를 고집하는 것은 이 때문으로, 이런 사이트들은 2단계 인증을 도입하는 등으로 소위 '땜빵'을 하고 있는 실정이다.

아래는 비밀번호가 20자 미만 또는 일부 특수문자만 사용 가능으로 제한되어 있는 사이트들의 목록이다. Ascii85 33-117번에 포함된 특수문자를 모두 사용 가능한 경우 제한 없음으로 간주한다.

서비스 제공자
길이 제한
문자·문자열 제한
기타 보안 장치
최신 확인 일자
1365
-
모든 특수문자 사용 불가
X
2022. 2. 17.
CJ ONE
12자
-
X
2023. 7. 17.
LFmall
15
~, !, @, #, $, %, ^, &, *, ? 이외 특수문자 불가
OAuth[K][N]
2024.01.16
EBS
12자
모든 특수문자 사용 불가
OAuth[F][*K ][*N ][A]
2023. 8. 1.
KT
8-16자
( ) < > ' " ; 사용 불가
4자리 이상 연속 영문·숫자 불가
OAuth[P][K][N]
2020. 4. 14.
TEPS
12자
! @ # $ % ^ & * ( ) ? _ ~ 이외 특수문자 불가
X
2023. 9. 7.
가비아
16자
일부 특수문자 제한
4자리 이상 연속 영문·숫자 불가
OAuth[G][K][N]
2023. 8. 12.
교보문고
-
3회 중복 문자 사용 불가
OAuth[G][K][N]
2023. 8. 12.
나라사랑포털
12자
-
X
2023. 3. 15.
네이버
16자
-
2FA[16], OAuth[F][L]
2021. 11. 8.
넥슨
10-16자
-
OAuth[G][F][A][N]
2023. 8. 12.
다락원
16자
-
X
2020. 4. 30.
대한적십자사 혈액관리본부
15자
-
X
2019. 4. 15.
독서교육종합지원시스템
18자
-
X
2023. 8. 12.
메가박스
16자
-
OAuth[Pa][K][N]
2023. 8. 12.
밀리의 서재
16자
! @ $ ^ * - _ 이외 특수문자 불가
OAuth[G][F][A][K][N]
2023. 12. 15.
반디앤루니스(서울문고)
10-15자
모든 특수문자 사용 불가
X
2023. 9. 7.
뷰티포인트(아모레퍼시픽)
16자
-
X
2020. 4. 10.
사람인
16자
-
X
2020. 4. 15.
아프리카TV
15자
-
X
2020. 4. 10.
안드로이드 화면 잠금
16자[17]
-
생체 인식, SIM 락, PUK
-
알바몬
16자
< > = \ ` 사용 불가
OAuth[G][F][A][K][N]
2023. 9. 7.
알바천국
16자
-
OAuth[F][A][K][N]
2023. 9. 7.
옥션
15자
-
X
2023. 9. 7.
위메프
15자
! @ # $ % ^ & * _ 이외 특수문자 불가
X
2023. 9. 7.
유니클로
15자
-
OAuth[F][A][K][N]
2023. 9. 7.
이랜드리테일
16자
-
OAuth[F][K][N]
2023. 9. 7.
인터넷우체국
15자
-
보안 프로그램(.EXE)
2023. 9. 7.
정부24
12자
-
X
2019. 4. 14.
컬쳐랜드
12자
~ @ $ ^ [* ( ) _ + 이외 특수문자 불가
키보드 보안 프로그램(.EXE)
2023. 8. 12.
CU 편의점택배
10자
-
X
2022. 3. 6.
하나투어
8-16자
영문·숫자·특수문자 중 2종류 이상 사용
X
2023. 9. 7.
한국장학재단
15자
-
X
2020. 4. 14.
해피머니
12자
-
키보드 보안 프로그램(.EXE)
2020. 4. 4.
현재 제한 없음(길이 20자 이상, 모든 특수문자 사용 가능)
KBS
-
2020. 4. 12.
삼성생명
-
2020. 4. 3.
쿠팡
-
2022. 10. 21.

길이 제한 외에도 연속된 알파벳, 숫자나 거꾸로 연속되는 알파벳과 숫자, 그리고 반복된 알파벳, 숫자 3자리 이상을 쓰지 못 하게 하는 곳도 있다. 심지어는 규칙이 없는 숫자라도 숫자가 일정 개수 이상 연속하는 것을 허용하지 않는 경우도 있다. 예를 들어 "qp8941239jartckw!@"과 같은 복잡한 비밀번호임에도, 단지 비밀번호 안에 "qp8941239jartckw!@"이라는 연속된 숫자 3자리가 들어갔다는 이유로 사용이 불가능한 것. 이런 경우 또 다른 새로운 암호를 설정해야 하므로 굉장히 난감해진다.


4.3. 잊어버린 비밀번호 찾아주는 사이트 피하기[편집]



'비밀번호 찾기'를 했을 때 자신의 비밀번호가 사이트에 뜬다면 해당 사이트에서는 되도록이면 즉시 회원탈퇴해야 한다. 비밀번호를 문자열 그대로 서버에 저장하는 것은 법에 저촉되는 사안이며, 인터넷에서 회원가입을 할 때 가장 주의해야 하는 사이트 유형이다.

비밀번호를 잊어버렸을 때 하게 되는 '비밀번호 찾기'는 그 이름과는 달리 잊어버린 비밀번호를 찾아주는 게 아니라, 아예 비밀번호를 초기화시키고 다시 설정할 수 있게 하는 기능이다. 그래서 정확히는 '비밀번호 찾기'가 아니라 '비밀번호 복원', 혹은 '비밀번호 재설정' 정도가 맞는다. 영어권 사이트에서도 비밀번호를 그대로 저장하는 것은 엄격히 제한되며, 용어 역시 'Find Password'(비밀번호 찾기) 대신 'Forgot Password'(비밀번호를 잊어버렸어요)나 'Reset Password(비밀번호 재설정)', 'Recover Password'(비밀번호 복원)' 등의 용어를 쓰는 추세로 점차 가고 있다.

이를 이해하기 위해서는 Hash라는 개념에 대해 알고 있어야 한다. 해시는 복원 불가능한 단방향 암호화 알고리즘으로, 문자열을 다시 해독할 수 없도록 다른 문자열로 바꾸어버리는 함수이다. 예를 들어 코드북 암호의 경우 코드북만 가지고 있으면 복호화가 가능하기 때문에 해시 암호가 아니다. 해시 암호가 되려면 원래 문자열과 해시된 문자열이 일대일 대응이 아니어야 한다. 즉 해시된 문자열만으로는 기존 문자열에 대한 정보를 전혀 알 수 없다는 것이다.

이것이 사이트 운영에 있어 매우매우 중요한 이유는 바로 서비스 제공자는 사용자의 비밀번호를 보호해야 할 의무가 있기 때문이다. 임의의 제3자에게 사용자의 비밀번호가 탈취되어서도 안 되고, 관리자가 사용자의 계정을 사용해도 안 된다. 이 원칙이 지켜지기 위해 가장 핵심적으로 작동하는 것이 바로 해시이다. 해시를 사용하면 서비스 제공자의 계정이 만약의 사태로 인해 탈취된 경우 사용자들의 비밀번호만큼은 보호할 수 있고, 또 관리자 자신이 사용자의 비밀번호를 알 수 없게 되어 범죄를 일으킬 가능성이 낮아지기 때문이다.

이에 거의 모든 국가에서는 비밀번호를 요구하는 모든 서비스 및 사이트는 회원들의 비밀번호를 해시하여 그 값만을 서버에 저장할 것을 법으로 명시하고 있고, 그렇게 하지 않을 경우 불법이다. 비밀번호가 평문 또는 복호화가 가능한 방법으로 저장되면 랜덤한 문자열을 아무리 길게 붙여봤자 강력한 암호를 설정한 노력이 아무 의미 없어진다. 해커가 비밀번호 찾기를 사용하여 유저의 아이디와 이메일만으로 비밀번호를 알아낼 수 있다면, 이는 비밀번호의 존재 이유 자체를 없애버리는 치명적인 보안 결함이며, 해당 사이트는 일체의 보안을 하지 않고 있는 것과 같다. 따라서 비밀번호 찾기를 해 봤을 때 기존 비밀번호가 그대로 찾아지는 사이트가 있다면 즉시 신고하고 사이트에 저장된 개인정보를 최대한 빨리 제거해야 한다.

이 케이스가 특히 문제가 될 수 있는 것이, 일반 사람들이 잘 모르고 있는 취약점이어서 이에 대해 경계하는 경우가 적고, 해커에게 당해도 윈인을 잘 모를 확률이 높기 때문이다. 15~20년 정도 전만 해도 당시에는 보안 의식이 낮아 비밀번호 찾기를 하면 정말로 기존 비밀번호를 찾을 수 있었다. 여전히 '비밀번호 찾기'라는 용어를 쓰고 있는 건 정말로 기존 비밀번호를 찾을 수 있었던 그 시절의 잔재인 셈이다. '비밀번호 찾기'보다는 '비밀번호 재설정'이 더 적절하다.

일반적으로는 보안 수준이 낮거나 업데이트가 느린 소규모 사이트들이 이런 방식의 보안을 하고 있다는 것이 알려져 있지만, 대기업도 이 부분에서 자유롭지 않다. 심지어 Facebook은 최근까지 일부 사용자들의 비밀번호를 평문으로 저장한 사실이 드러났다. #


4.4. 레인보우 테이블[편집]


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

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

이 링크에서는 입력한 비밀번호가 유출되어서 돌아다니는 리스트에 존재하는지 확인한다. 예를 들어 123456을 입력하면 2023년 12월 18일 08시 기준 37,615,252건이 나온다. 위의 이유로 비밀번호를 입력하기 찜찜하다면 해당 웹사이트의 home페이지에서 자신의 이메일이 유출된 리스트에 존재하는지 먼저 확인하는 게 속이 편할 듯하다.


4.5. OAuth 이용하기[편집]


비밀번호를 그대로 저장하는 막장 사이트가 아니더라도 보안에 덜 취약한 사이트가 있는 반면, 더 취약한 곳들이 있다. 이는 해시 알고리즘이 한 가지가 아니기 때문이다. 일반적인 사이트들은 SHA-1이라는 해시를 사용하는데, 비교적 구식 방법이라 이미 많은 경우에 대한 문자열-해시 대조표가 뚫렸다. 즉 해커들이 해시값만 보고도 원래 문자열을 어느 정도 유추할 수 있다는 것이다. 이는 비밀번호 찾기 급의 병크는 아니지만 그대로 취약한 보안 수준이라고 할 수 있다.

이에 소규모 사이트에 가입할 때에는 OAuth를 사용하는 것이 권장된다. 로그인 창에서 회원가입, 비밀번호 잊음 등의 버튼 아래에 'Continue with Google', 'Continue with Microsoft' 등이 있는 것을 볼 수 있는데, 이것이 바로 OAuth이다. 사용자의 로그인 정보 및 기초적인 개인정보에 대한 관리를 일반 사이트에 밑기지 않고 구글이나 마이크로소프트 등 사용자 정보를 갖고 있는 대기업에게 위임하는 것이다. 이를 사용하면 사이트의 허접한 보안 대신 구글 등의 훌륭한 보안을 그대로 이어 사용할 수 있기 때문에 위의 문제들로부터 자유롭다.

어떤 사람들은 구글이 혹시 민감한 정보들을 넘겨주는 것이 아닌가 의심하며 그냥 사이트에 회원가입을 하기도 하지만, 이 기업들은 계약한 내용에 따라 민감한 정보는 절대 제공하지 않고, 만약 민감한 정보가 필요할 경우 팝업을 띄워 사용자에게 직접 동의를 구하도록 되어 있다. 구글 등의 대기업들은 사용자의 개인정보가 기업의 존명과 밥줄이니만큼 이 보안 부분에서 약세를 보일 수가 없고, OAuth를 제공한다는 것은 적어도 웬만한 사이트보다는 보안이 훨씬 좋다는 자신이 있다는 뜻이므로 안심할 수 있다.


4.6. 유출된 비밀번호는 폐기하기[편집]


유출된 비밀번호는 이미 그 생명이 끝난 것이나 마찬가지이다. 만약 예전에 한 번 로그인이 뚫렸던 비밀번호나, 비밀번호를 그대로 저장하는 막장 사이트에 로그인을 한 이력이 있다면 그 비밀번호는 절대 사용하지 않는 것이 좋다. 해커는 특정 아이디·비밀번호 조합이 발견되면 일단 그것을 유명한 사이트부터 시도할 것이고, 만약 하나라도 성공한다면 그 순간부터 유저의 보안은 뚫린 것이나 마찬가지이다. 자신의 옛날 비밀번호가 유출되었음에도 사용하는 것은 이미 한 번 발각된 적이 있던 작전명을 다른 전쟁에서 다시 쓰고 있는 것과 다를 바가 없다.

어떤 비밀번호가 유출되었는지 기억하기 힘들 수 있는데, 이에 대해 구글은 예전에 유출된 적 있던 비밀번호와 유사한 문자열들을 유저가 사용하고 있으면 이에 대해 경고하여 비밀번호를 바꾸도록 한다.

파일:password_leaked.jpg

사진을 보면, 총 143개의 비밀번호가 유출되었다고 뜬다. 이는 진짜 유출은 아니지만, 온라인에서 떠도는 문자열과 유사하여 사람이 충분이 유추할 수 있는 수준 정도는 된다. 유출된 것이 아니라고 해서 안심할 수 있는 것이 아니므로 미리 바꿔두는 것이 좋다.


4.7. 2단계 인증 이용하기[편집]


위의 모든 사태로부터 일단 한 차례의 방어선을 확보하고자 한다면 반드시 이용하는 것이 좋다. 비밀번호뿐만 아니라 사용자의 이메일이나 전화번호, OTP 등의 대한 실제적인 접근 권한이 있어야 인증 가능한 방식을 사용하고 있기 때문에 일차적으로는 안심할 수 있다. 다만 위에서 설명한 쓰레기 수준 보안 사이트에서는 2단계 인증을 아예 지원하지 않는 경우도 많으므로 모든 경우에 대한 방패막이라고 생각해서는 안 되고, 일단 혹시 발생할지 모를 위험성에 대한 일차적인 방어막 정도로 여기는 것이 좋다. 이 2단계 인증의 보안 수준이 상당하고, 대부분의 대기업은 지원하기 때문에 보안이 취약한 사이트에 가입해야 할 경우 OAuth + 2단계 인증 조합을 사용하면 꽤 믿을 수 있는 보안 레벨을 얻을 수 있다.


4.8. 비밀번호 저장 기능 사용하기[편집]


흔한 단어나 문자열을 사용하지 않거나, 개인정보 등을 입력하지 않는 상태에서 사용자가 기억할 수 있는 비밀번호는 자릿수와 개수에 한계가 존재한다. 따라서 사용자에 따라 지나치게 단순한 비밀번호를 사용하거나, 메모장 등에 비밀번호를 적어둘 가능성이 존재한다. 이에 OS, 웹 차원에서 지원되는 비밀번호 저장 기능을 이용하면 해당 서비스의 보안 수준으로 비밀번호를 보호할 수 있다.

특히 최근의 컴퓨터 운영체제들은 사용자가 신경쓰지 않아도 자체 보안과 방화벽 기능이 강력하게 유지될 수 있도록 만들어지고 있기 때문에 노력에 비해 이득이 적은 일반 사용자를 대상으로 하는 해킹보다는 대형 회사들의 데이터베이스를 노리는 경우가 늘어나고 있다. 하지만 가입한 서비스의 서버 쪽에서 보안관리를 어떤 식으로 진행하고 있는지를 파악하는 것은 사실상 불가능하다. 따라서 사용자가 비밀번호의 난이도 등을 높여서 대응하는 수밖에 없는데, 이를 위해선 비밀번호 관리 프로그램이 필수이다.

또한 최근의 비밀번호 관리 프로그램들은 암호를 기억하는 기능 외에도 '길고 복잡한 암호를 자동 생성해주는 기능', '비밀번호가 유출된 회사를 알려주는 기능', '바꾼지 오래된 웹사트의 비밀번호를 알려주는 기능', '스마트폰에서도 바로 비밀번호를 확인할 수 있는 기능', '웹사이트 뿐만 아니라 앱에서도 바로 입력이 가능한 기능' 등 강력한 편의기능을 동반하고 있다. 이러한 편의기능들은 사용자들로 하여금 비밀번호 관리의 진입장벽을 낮춘다.


4.8.1. 주의점[편집]


다만 비밀번호 저장 기능은 사용과 관리에 있어 주의가 필요하다. 비밀번호가 저장된 서비스에 엑세스가 보장된 순간부터는 그저 무료 코드북이나 다름없기 때문에 저장 기능에 접근하지 못하게 하는 것이 중요하다.
  • 전자기기를 폐기할 때에는 온갖 방법으로 저장장치를 훼손한 이후에 비로소 버려야 한다. 모종의 방법으로 디스크 복구에 성공할 경우 저장된 모든 암호들이 노출될 수 있다. 때에 따라 물리적인 훼손으로도 데이터가 남아있을 수 있으니 관련 업체에 문의하여 영구적으로 데이터를 파기하는 것이 좋다.
  • 공용 컴퓨터를 사용할 때만큼은 절대로 이 기능을 이용해서는 안 된다. 자신의 비밀번호를 불특정 다수에게 홍보하고 다니는 것이나 마찬가지인 미친 짓이다. 이 때문에 PC방에서 자신의 계정으로 재미있게 보던 유튜브가 비밀번호 저장 기능으로 자동 로그인된 채 다른 누군가에 의해 이용되는 경우도 있다. 로그인한 후 뜨는 저장 팝업에서 반드시 저장 취소를 눌러야 이러한 불상사를 막을 수 있다. 습관 때문에 정 불안하다면 비밀 모드(Incognito)를 이용하는 것도 방법이다. 비밀 모드에서는 비밀번호 저장이 불가능하고, 로그아웃하지 않고 실수로 꺼 버린 사이트들에서도 일괄적으로 로그아웃이 이루어지기 때문이다.


5. 기타[편집]



5.1. 먹는(?) 비밀번호[편집]


먹을 수 있는 비밀번호 알약이 나왔다. 암기빵? # 먹으면 위에서 분해되면서 18비트 신호를 생성한다는 듯. 몸속에 잔류하는 동안은 계속 신호를 발신하므로 일종의 사이보그라고 볼 수 있을지도. 심지어 FDA도 통과했다고 하며, 시판 예정은 아직 없다고 한다.


6. 관련 문서[편집]


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-12-01 18:23:52에 나무위키 비밀번호 문서에서 가져왔습니다.

[1] 'Personal Identification Number'의 약자. PIN하면 당연히 숫자만 포함되는 경우가 많아 해킹에 취약하다. 그래서 금융 IC카드나 휴대전화 같이 보안성이 높은 기기가 아닌 이상 잘 쓰지 않는다.[2] 미국에서 생산된 일부 소규모 영업용 ATM 기기의 관리자 모드를 활성화시키는 디폴트 번호였다. 매뉴얼에는 처음 가동 시 번호를 변경하라고 명시되어 있었으나 이를 지킨 점주는 거의 없었다.[3] 2013년 미국의 긴급 경보 체계인 EAS가 해킹당해 전국에 대국민 경보로 "좀비들이 무덤을 박차고 나왔으며 사람들을 공격하고 있는 중이다"라는 허위 경보가 발령된 적이 있었는데, 해당 방송사에서 긴급경보장치의 공장 비밀번호를 바꾸지 않은 채 사용해왔던 것이 화근이었다.[4] 한국으로 비유하자면 긴급재난문자전 대한민국에 좀비가 출현했으니 근처 대피소로 긴급히 대피하라는 문자가 모두에게 전해진 정도 수준이다. 이 때 국민들이 자세한 상황을 파악하지 못한 채 우선적으로 느낄 공포심을 생각해보면 비밀번호 강도의 중요성을 알 수 있는 부분이기도 하다.[5] 천지인 키보드로 간단한 간단한 단어를 써도 된다. 예를 들어 방귀대장 뿡뿡이를 천지인 키보드로 치게되면 712043216121912077732077732001로 30자나 되는 무작위에 가까운 숫자가 된다. 특히 천지인 키보드를 쓰지 않는 외국 사이트에서 쓰게 되면 해킹은 사실상 불가능하다.[6] 예를들어 보스턴 레드삭스의 비밀번호인 655887888888687446522422747는 해석하는데 70 sextillon년 즉 700해년이 걸린다. 보스턴 레드삭스 팬들은 기억하기 쉬우면서도 엄청나게 강력한 비밀번호를 얻게 되는 것이다. 만약 해커도 팬이라면[7] 과거에는 로그인 할때마다 암호를 입력했기 때문에 길게 만들면 사용하기 힘들었지만, 현재는 핸드폰이나 컴퓨터에 암호가 저장되기 때문에 문장 암호를 사용하는 사람도 늘었다.[8] 암호가 50자리가 넘는 경우도 흔하다.[9] 참고로 '종교사회학 광고주 갈매기 도미니카 공소시효 까막눈'은 58자리이다.[10] 단 해킹을 통해 비밀번호를 탈취하는 것은 여전히 가능하다.[11] 현재 시도 횟수 제한이 없다면 4자리 비밀번호의 경우 컴퓨터 등을 이용하면 금방 해제할 수 있다. 컴퓨터가 아니라 사람 손으로도 유의미한 시간 내에 해제가 가능한 정도.[12] 그래서, password가 무려 8점, password1은 무려 28점이나 된다. P@ssw0rd는 72점까지 찍어댄다. 1q2w3e4r도 62점이나 준다.[13] 그래서 abcd1234는 38점으로 꽤 높은 점수가 나온다.[14] asdasdasd처럼 알파벳만 있으면 0점이지만 a1a1a1a1는 38점, a+a+a+a+은 46점 등 숫자나 기호가 있으면 못 잡는다.[15] 그래서 보안에 조금이라도 신경쓰는 다른 사이트에서는 8자는 최소로 하고 있다.[K] A B C D E F G H I J 카카오[N] A B C D E F G H I J K 네이버[F] A B C D E F G H 페이스북[A] A B C D E F Apple[P] PASS[G] A B C D E 구글[16] 자체 앱 인증 방식[L] 라인[Pa] 페이코[17] 이는 구글이 권장하는 길이로 안드로이드는 누구나 임의로 수정이 가능하기 때문에 제조사마다 다를 수 있다.[18] 흔한 문자열의 조합으로 인한 보안 취약성을 오히려 역으로 악용하는 사례.