비밀번호
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
비밀번호는 자원에 대한 접근을 제어하기 위해 고대부터 사용되어 온 인증 방식이다. 초기에는 암구호 형태로 군사적으로 활용되었으며, 1961년 MIT에서 개발된 CTSS 운영 체제에서 컴퓨터 시스템에 처음 도입되었다. 현대에는 컴퓨터 운영 체제, 휴대 전화, ATM 등 다양한 분야에서 사용자 인증 수단으로 널리 사용된다. 비밀번호는 사용자가 기억하기 쉽도록 설정하는 경우 해킹에 취약해질 수 있으며, 안전한 비밀번호를 설정하고 관리하는 것이 중요하다. 비밀번호의 안전성을 높이기 위해 다단계 인증과 같은 기술이 사용되며, 비밀번호를 대체하기 위한 다양한 기술들이 연구되고 있다.
비밀번호는 고대부터 사용되어 왔다. 현대에는 사용자 이름과 비밀번호가 보호된 컴퓨터 운영 체제, 휴대 전화, 케이블 TV 디코더, 현금 자동 입출금기(ATM) 등에 대한 접근 제어를 하는 로그인 과정에서 일반적으로 사용된다. 일반적인 컴퓨터 사용자는 계정 로그인, 이메일 검색, 응용 프로그램, 데이터베이스, 네트워크, 웹 사이트 액세스, 심지어 아침 신문을 온라인으로 읽는 등 많은 목적을 위한 비밀번호를 가지고 있다.
현대의 경우 비밀번호는 컴퓨터 운영 체제, 휴대 전화, CATV 디코딩 장치, 현금 자동 입출금기 등의 접근 제어를 위해 사용된다. 일반 컴퓨터 사용자는 여러 목적을 위해 비밀번호를 요구할 수 있다. 숫자만으로 이루어진 비밀번호는 PIN영어[98]이라고도 불리며, 금융 기관의 ATM이나 휴대 전화의 본인 확인에 사용된다. 문자열 길이가 수십 자 이상으로 긴 비밀번호는 특히 '''패스프레이즈'''라고 불리며, 높은 보안이 필요한 시스템에서 사용된다.
2. 역사
컴퓨터 초창기인 1961년 MIT에서 도입된 호환 시분할 시스템(CTSS)은 비밀번호 로그인을 구현한 최초의 컴퓨터 시스템이었다.[8][9] CTSS는 사용자 비밀번호를 요청하는 LOGIN 명령을 가지고 있었으며, "PASSWORD를 입력한 후 시스템은 가능한 경우 인쇄 메커니즘을 끄므로 사용자는 개인적으로 비밀번호를 입력할 수 있다."라고 설명했다.[10] 1970년대 초, 로버트 모리스는 Unix 운영 체제의 일부로 로그인 비밀번호를 해시 형태로 저장하는 시스템을 개발했다. 이 시스템은 시뮬레이션된 Hagelin 로터 암호 기계를 기반으로 하며 1974년 6판 Unix에 처음 등장했다. 그의 알고리즘의 후기 버전인 crypt(3)는 12비트 솔트를 사용하고 미리 계산된 사전 공격의 위험을 줄이기 위해 DES 알고리즘의 수정된 형태를 25번 호출했다.
2. 1. 고대
비밀번호는 고대부터 사용되어 왔다. 경비병은 구역에 들어가려는 사람에게 비밀번호 또는 "암구호"를 요구하고, 비밀번호를 아는 사람이나 그룹만 통과시켰다. 폴리비우스는 로마 군대에서 암구호를 배포하는 시스템을 다음과 같이 설명한다.
> 그들이 밤의 암구호를 안전하게 전달하는 방법은 다음과 같다. 각 보병대와 기병대의 10번째 군단에서, 거리의 아래쪽에 야영하는 군단에서 경계 근무를 면제받은 사람이 선택되어 매일 해질녘에 사령관의 천막에 참석하여 그로부터 암구호, 즉 그 위에 단어가 적힌 나무판을 받아 떠나고, 숙소로 돌아와 증인 앞에서 다음 군단의 사령관에게 암구호와 판을 전달하고, 사령관은 차례로 그 옆의 사람에게 전달한다. 모두 똑같이 하여 사령관의 천막 근처에 야영하는 첫 번째 군단에 도달한다. 이들은 해가 지기 전에 사령관에게 판을 전달해야 한다. 따라서 발급된 모든 것이 반환되면 사령관은 암구호가 모든 군단에 전달되었고 그를 향해 돌아오는 길에 모두 통과했음을 알게 된다. 만약 그들 중 누락된 것이 있으면, 그는 즉시 질문을 하여 표를 통해 판이 어디에서 반환되지 않았는지 알고, 정지를 책임지는 사람은 그에 합당한 처벌을 받는다.
군사적 사용에서 비밀번호는 단순히 비밀번호뿐만 아니라 비밀번호와 반대 비밀번호를 포함하도록 발전했다. 예를 들어, 노르망디 상륙 작전 초기에 미국 제101공수사단의 공수부대는 도전으로 제시된 비밀번호인 "flash"를 사용했으며, 이에 대한 정답은 "thunder"였다. 도전과 응답은 3일마다 변경되었다. 또한 미국 공수부대는 일시적으로 독특한 식별 방법으로 비밀번호 시스템 대신 D-Day에 "크리켓"으로 알려진 장치를 사용했는데, 비밀번호 대신 장치에서 한 번의 금속 클릭을 하면 두 번의 클릭으로 응답해야 했다.
2. 2. 군사적 이용
비밀번호는 고대부터 사용되어 왔다. 경비병은 구역에 들어가려는 사람에게 비밀번호 또는 "암구호"를 요구하고, 비밀번호를 아는 사람이나 그룹만 통과시켰다. 폴리비우스는 로마 군대에서 암구호를 배포하는 시스템을 다음과 같이 설명한다.
그들이 밤의 암구호를 안전하게 전달하는 방법은 다음과 같다. 각 보병대와 기병대의 10번째 군단에서, 거리의 아래쪽에 야영하는 군단에서 경계 근무를 면제받은 사람이 선택되어 매일 해질녘에 사령관의 천막에 참석하여 그로부터 암구호, 즉 그 위에 단어가 적힌 나무판을 받아 떠나고, 숙소로 돌아와 증인 앞에서 다음 군단의 사령관에게 암구호와 판을 전달하고, 사령관은 차례로 그 옆의 사람에게 전달한다. 모두 똑같이 하여 사령관의 천막 근처에 야영하는 첫 번째 군단에 도달한다. 이들은 해가 지기 전에 사령관에게 판을 전달해야 한다. 따라서 발급된 모든 것이 반환되면 사령관은 암구호가 모든 군단에 전달되었고 그를 향해 돌아오는 길에 모두 통과했음을 알게 된다. 만약 그들 중 누락된 것이 있으면, 그는 즉시 질문을 하여 표를 통해 판이 어디에서 반환되지 않았는지 알고, 정지를 책임지는 사람은 그에 합당한 처벌을 받는다.|밤의 암구호를 안전하게 전달하는 로마 군대의 방법grc
군사적 사용에서 비밀번호는 단순히 비밀번호뿐만 아니라 비밀번호와 반대 비밀번호를 포함하도록 발전했다. 예를 들어, 노르망디 상륙 작전 초기에 미국 제101공수사단의 공수부대는 도전으로 제시된 비밀번호인 "flash"를 사용했으며, 이에 대한 정답은 "thunder"였다. 도전과 응답은 3일마다 변경되었다. 또한 미국 공수부대는 일시적으로 독특한 식별 방법으로 비밀번호 시스템 대신 D-Day에 "크리켓"으로 알려진 장치를 사용했는데, 비밀번호 대신 장치에서 한 번의 금속 클릭을 하면 두 번의 클릭으로 응답해야 했다.
2. 3. 컴퓨터 과학
현대의 비밀번호는 컴퓨터 운영 체제, 휴대 전화, CATV 디코딩 장치, 현금 자동 입출금기 등의 접근 제어를 위해 사용된다. 일반 컴퓨터 사용자는 여러 목적을 위해 비밀번호를 요구할 수 있다.[104]
비밀번호는 컴퓨터 초창기부터 사용되어 왔다. 1961년 MIT에서 도입된 호환 시분할 시스템(CTSS)은 비밀번호 로그인을 구현한 최초의 컴퓨터 시스템이었다.[8][9] CTSS는 사용자 비밀번호를 요청하는 LOGIN 명령을 가지고 있었으며, "PASSWORD를 입력한 후 시스템은 가능한 경우 인쇄 메커니즘을 끄므로 사용자는 개인적으로 비밀번호를 입력할 수 있다."라고 설명했다.[10] 1970년대 초, 로버트 모리스는 Unix 운영 체제의 일부로 로그인 비밀번호를 해시 형태로 저장하는 시스템을 개발했다. 이 시스템은 시뮬레이션된 Hagelin 로터 암호 기계를 기반으로 하며 1974년 6판 Unix에 처음 등장했다. 그의 알고리즘의 후기 버전인 crypt(3)는 12비트 솔트를 사용하고 미리 계산된 사전 공격의 위험을 줄이기 위해 DES 알고리즘의 수정된 형태를 25번 호출했다.
오늘날 사용자 이름과 비밀번호는 보호된 컴퓨터 운영 체제, 휴대 전화, 케이블 TV 디코더, 현금 자동 입출금기(ATM) 등에 대한 접근 제어를 하는 로그인 과정에서 일반적으로 사용된다. 일반적인 컴퓨터 사용자는 계정 로그인, 이메일 검색, 응용 프로그램, 데이터베이스, 네트워크, 웹 사이트 액세스, 심지어 아침 신문을 온라인으로 읽는 등 많은 목적을 위한 비밀번호를 가지고 있다.
3. 현대 사회에서의 활용
일반적으로 비밀번호는 사용자 ID와 쌍으로 사용한다. 미리 등록된 해당 사용자 ID의 비밀번호와 조작자에 의해 입력된 비밀번호가 일치하는 것을 통해 조작자가 해당 사용자 ID의 사용자 본인임을 인식한다.
총무성은 안전한 비밀번호 설정 및 관리 가이드라인을 발표했다.[99]
위험한 비밀번호는 다음과 같다.[99]
비밀번호 관리와 관련하여, '''정기적인 변경은 불필요'''하다고 한다.[99][100]
4. 안전하고 기억하기 쉬운 비밀번호 선택
안전하고 기억하기 쉬운 비밀번호를 선택하는 것은 매우 중요하다. 사용자가 기억하기 쉬운 비밀번호는 해커가 추측하기 쉽지만,[12] 기억하기 어려운 비밀번호는 사용자가 비밀번호를 적어두거나 전자적으로 저장하게 만들어 오히려 보안을 약화시킬 수 있다.[13]
《비밀번호의 기억 용이성과 보안》에 따르면, 구절을 떠올려 각 단어의 첫 글자를 조합하는 방식은 무작위로 생성된 비밀번호만큼 기억하기 쉽고 해킹하기도 어렵다.[14] 예를 들어, "아침에 일어나 커피 한 잔과 신문을 읽는다"라는 구절에서 "아일커한신읽"과 같은 비밀번호를 만들 수 있다.
두 개 이상의 관련 없는 단어를 결합하고 일부 문자를 특수 문자나 숫자로 바꾸는 것도 좋은 방법이다.[15] 예를 들어, "고양이"와 "나무"를 조합하여 "고양이#나무2"와 같은 비밀번호를 만들 수 있다. 하지만, "사랑"과 같은 단일 사전 단어는 사용하지 않는 것이 좋다.
구글은 2013년에 가장 흔한 비밀번호 유형 목록을 공개했는데, 이들은 모두 추측하기 쉬워 보안에 취약하다고 밝혔다.[18]
- 반려동물, 자녀, 가족 구성원, 중요타인의 이름
- 기념일, 생일
- 출생지
- 좋아하는 휴일 이름
- 좋아하는 스포츠 팀 관련 정보
- "password"라는 단어
총무성은 안전한 비밀번호 설정 및 관리 가이드라인을 발표했다.[99]
다음 비밀번호는 위험하다.[99]
- ID와 동일한 문자열
- 본인 또는 가족의 이름, 전화번호, 생년월일
- 사전에 수록된 일반적인 영어 단어 하나만
- 동일한 문자 반복 또는 쉬운 배열 문자열
- 너무 짧은 문자열
총무성은 비밀번호를 정기적으로 변경하는 것은 불필요하다고 권고한다.[99][100]
4. 1. 비밀번호 보안의 중요성
비밀 인증 데이터의 한 형식으로 어떠한 자원에 대한 접근을 제어하는 데에 사용된다. 비밀번호는 허용되지 않는 접근으로부터 비밀을 보호하며, 접근권을 얻으려는 사람들에게 비밀번호를 물어서 접근 여부를 결정한다.현대의 경우 비밀번호는 컴퓨터 운영 체제, 휴대 전화, CATV 디코딩 장치, 현금 자동 입출금기 등의 접근 제어를 위해 사용된다. 일반 컴퓨터 사용자는 여러 목적을 위해 비밀번호를 요구할 수 있다.
소유자가 기억하기 쉬운 비밀번호는 일반적으로 해커가 추측해내기 쉽다.[104] 그러나 기억하기 어려운 비밀번호라 할지라도 시스템의 보안을 감소시킬 수 있는데 그 이유는 (ㄱ) 사용자가 따로 비밀번호를 적어두거나 전자적으로 비밀번호를 저장하기 때문에, (ㄴ) 사용자가 주기적인 비밀번호 재설정이 필요하기 때문에, (ㄷ) 사용자가 동일한 비밀번호를 다시 사용할 가능성이 더 높기 때문이다. 이와 비슷하게 비밀번호를 강력하게 만드는 것은 대소문자와 숫자를 섞어서 만든다든지, 한 달에 한 번씩 비밀번호를 변경한다든지 등을 통해 가능하다.[105] 긴 비밀번호가 다양한 문자가 포함된 더 짧은 비밀번호 보다 보안이 더 강력한지에 대해서는 의문을 제기하고 있다.[106]
2013년에 구글은 가장 흔한 비밀번호 유형 목록을 공개하였으며 이들 모두 보안에 취약한데, 그 이유는 추측해내기 너무 쉽기 때문이다.(특히 소셜 미디어 사용자를 연구한 이후 보안에 취약해졌다.):[107]
- 반려동물, 자식, 가족 구성원, 중요타인의 이름
- 기념일, 생일
- 출생지
- 좋아하는 휴일의 이름
- 좋아하는 스포츠 팀과 관련한 것
- "password"라는 비밀번호
총무성은 안전한 비밀번호 설정 및 관리 가이드라인을 발표했다.[99]
다음 비밀번호는 위험하다.[99]
- ID와 동일한 문자열
- 본인 또는 가족의 이름, 전화번호, 생년월일
- 사전에 수록된 일반적인 영어 단어 하나만
- 동일한 문자 반복 또는 쉬운 배열 문자열
- 너무 짧은 문자열
비밀번호 관리와 관련하여, 정기적인 변경은 불필요하다고 한다.[99][100] 비밀번호나 신용 카드 번호를 입수하여 타인으로 위장하여 다양한 이익을 얻을 수 있기 때문에, 비밀번호를 부정하게 조사하는 일이 종종 발생한다.
본인만 알고 있다는 것을 전제로 하기 때문에, 입력한 내용은 화면상에 가려져서 표시된다. 예를 들어 "ABCD"라고 입력해도 "●●●●"로 표시되어, 입력한 문자 수만 알 수 있게 되어 있다.
또한, 여러 번 잘못된 비밀번호를 입력하면 시스템이 그 이후의 입력을 거부하도록 되어 있는 경우도 있다.
비밀번호는 임의의 문자열로 구성되지만, 완전히 랜덤인 경우는 거의 없고, 실제로는 기억하기 쉬운 문자열로 구성되는 경우가 많다. 이러한 성질을 이용하여, 사전에 실린 단어나 인명을 입력하여 비밀번호를 발견하는 효율을 높이는 소프트웨어도 있다. 추측하기 어려운 비밀번호로 설정하도록 요구되는 경우가 많고, 새롭게 비밀번호를 만들 때 간단한 문자열을 설정하면 설정 자체가 컴퓨터에 의해 거부되거나, 사이트마다 다른 비밀번호를 설정하도록 요구하기도 한다. 결과적으로 비밀번호를 잊어버리고, 앞서 언급한 바와 같이 잘못된 비밀번호를 여러 번 입력하여 잠겨버리는 문제점도 있다.
현금 카드나 휴대 전화 단말기의 비밀번호는 겨우 4자리만 있는 경우가 많아, 번호를 잊어버렸을 경우, 모든 번호를 시도하는 소프트웨어가 존재한다. 게다가, 비밀번호 발견에는 피싱이라고 불리는 수법도 존재한다. 이는, 가짜 웹사이트나 이메일을 사용하여 사용자에게 비밀번호를 입력하게 하는 방법이다. 예를 들어, 은행이나 온라인 서비스를 가장한 이메일을 보내, 링크를 클릭하게 하여 가짜 로그인 페이지로 유도한다. 이 페이지에 비밀번호를 입력하면, 공격자에게 그 정보가 전달되는 방식이다.[101]
또한, 비밀번호의 안전성을 높이기 위해, 2단계 인증이 권장되고 있다.[102] 이는, 비밀번호에 더하여, 스마트폰으로 전송되는 인증 코드 등, 추가적인 인증 수단을 필요로 하는 것이다. 이를 통해, 비밀번호가 유출되더라도, 공격자가 계정에 접근하는 것을 방지하기 쉬워진다.
비밀번호를 관리하는 도구도 존재한다. 이러한 도구는, 복잡하고 추측하기 어려운 비밀번호를 자동으로 생성하고, 안전하게 보관하는 기능을 가지고 있다. 사용자는, 마스터 비밀번호 하나만 기억하면, 다른 모든 비밀번호를 관리할 수 있다. 아이폰에는 이 기능이 기본적으로 탑재되어 있다.[103]
4. 2. 비밀번호 선택 가이드라인 (대한민국)
비밀번호는 인증을 수행하는 기기나 사람에게 전송되는 동안 가로채기(즉, "도청")에 취약하다. 비밀번호가 사용자 접근 지점과 비밀번호 데이터베이스를 제어하는 중앙 시스템 사이의 보호되지 않은 물리적 배선을 통해 전기 신호로 전송되는 경우, 도청 방법으로 도청될 수 있다. 인터넷을 통해 패킷 데이터로 전송되는 경우, 로그인 정보를 포함하는 네트워크 패킷을 감시할 수 있는 사람은 감지될 확률이 매우 낮게 도청할 수 있다.이메일은 때때로 비밀번호를 배포하는 데 사용되지만, 일반적으로 안전하지 않은 방법이다. 대부분의 이메일은 평문으로 전송되므로 비밀번호를 포함하는 메시지는 전송 중에 도청하는 사람에 의해 쉽게 읽을 수 있다. 또한, 메시지는 보낸 사람과 받는 사람의 컴퓨터를 포함하여 최소 두 대의 컴퓨터에 평문으로 저장된다. 전송 중에 중간 시스템을 통과하는 경우에도 최소한 잠시 동안은 저장될 가능성이 높으며, 이러한 시스템의 백업, 캐시 또는 기록 파일에 복사될 수 있다.
클라이언트 측 암호화를 사용하면 메일 처리 시스템 서버에서 클라이언트 기기로의 전송만 보호할 수 있다. 이메일의 이전 또는 이후 중계는 보호되지 않으며 이메일은 여러 컴퓨터, 특히 발신 및 수신 컴퓨터에 일반 텍스트로 저장될 가능성이 높다.
총무성은 안전한 비밀번호 설정 및 관리 가이드라인을 발표했다.[99]
다음 비밀번호는 위험하다.[99]
- ID와 동일한 문자열
- 본인 또는 가족의 이름, 전화번호, 생년월일
- 사전에 수록된 일반적인 영어 단어 하나만
- 동일한 문자 반복 또는 쉬운 배열 문자열
- 너무 짧은 문자열
비밀번호 관리와 관련하여, '''정기적인 변경은 불필요'''하다고 한다.[99][100]
4. 3. 효과적인 비밀번호 생성 방법
사용자가 기억하기 쉬운 비밀번호는 일반적으로 해커가 추측해내기 쉽다.[12] 그러나 기억하기 어려운 비밀번호는 사용자가 비밀번호를 적어두거나, 자주 재설정해야 하며, 여러 계정에서 동일한 비밀번호를 재사용할 가능성이 높아져 시스템의 보안을 감소시킬 수 있다.[13]《비밀번호의 기억 용이성과 보안》에서[14] 제프 얀(Jeff Yan) 등은 사용자에게 좋은 비밀번호 선택에 대한 조언을 제공하는 효과를 조사했다. 구절을 생각하고 각 단어의 첫 글자를 사용하는 비밀번호는 무작위로 선택된 비밀번호만큼 기억하기 쉽고 해킹하기 어렵다는 것을 발견했다.
두 개 이상의 관련 없는 단어를 결합하고 일부 문자를 특수 문자나 숫자로 변경하는 것도 좋은 방법이다.[15] 하지만 단일 사전 단어는 그렇지 않다. 개인적으로 설계된 알고리즘을 사용하여 난해한 비밀번호를 생성하는 것도 좋은 방법이다.[16]
2013년 구글은 가장 일반적인 비밀번호 유형 목록을 발표했는데, 이는 모두 추측하기 너무 쉬워서 안전하지 않은 것으로 간주된다. 여기에는 다음이 포함된다.[18]
- 애완 동물, 자녀, 가족 구성원 또는 중요타인의 이름
- 기념일 및 생일
- 출생지
- 좋아하는 휴일의 이름
- 좋아하는 스포츠 팀과 관련된 것
- "비밀번호"라는 단어
총무성은 안전한 비밀번호 설정 및 관리 가이드라인을 발표했다.[99]
다음 비밀번호는 위험하다.[99]
- ID와 동일한 문자열
- 본인 또는 가족의 이름, 전화번호, 생년월일
- 사전에 수록된 일반적인 영어 단어 하나만
- 동일한 문자 반복 또는 쉬운 배열 문자열
- 너무 짧은 문자열
비밀번호 관리와 관련하여, '''정기적인 변경은 불필요'''하다고 한다.[99][100]
5. 비밀번호 시스템의 보안 요소
현대의 경우 비밀번호는 컴퓨터 운영 체제, 휴대 전화, CATV 디코딩 장치, 현금 자동 입출금기 등의 접근 제어를 위해 사용된다. 일반 컴퓨터 사용자는 여러 목적을 위해 비밀번호를 요구할 수 있다.
비밀번호로 보호되는 시스템의 보안은 여러 요인에 따라 달라진다. 전반적인 시스템은 컴퓨터 바이러스, 중간자 공격 등으로부터 보호받도록 견고한 보안을 위해 설계되어야 한다. 어깨 너머 훔쳐보기를 막는 것부터 비디오 카메라 및 키보드 스니퍼와 같은 보다 정교한 물리적 위협에 이르기까지 물리적 보안 문제도 고려해야 한다. 비밀번호는 공격자가 추측하기 어렵고, 사용 가능한 자동 공격 방식을 사용하여 공격자가 발견하기 어렵도록 선택해야 한다.[20]
요즘에는 컴퓨터 시스템이 비밀번호를 입력할 때 숨기는 것이 일반적인 관행이다. 이 조치의 목적은 주변 사람들이 비밀번호를 읽지 못하도록 하는 것이지만, 일부에서는 이러한 관행이 실수와 스트레스를 유발하여 사용자가 약한 비밀번호를 선택하도록 장려할 수 있다고 주장한다. 대안으로, 사용자는 입력할 때 비밀번호를 표시하거나 숨기는 옵션을 가질 수 있어야 한다.[20]
효과적인 접근 제어 조항은 비밀번호 또는 생체 인식 토큰을 획득하려는 범죄자에게 극단적인 조치를 강요할 수 있다.[21] 덜 극단적인 조치에는 강탈, 고문 암호 분석, 부채널 공격이 포함된다.
비밀번호에 대해 생각하고, 선택하고, 처리할 때 고려해야 할 특정 비밀번호 관리 문제는 다음과 같다. 저장된 해시된 암호와 해시 기반 챌린지-응답 인증 사이에는 충돌이 있다. 후자는 클라이언트가 서버에게 공유 비밀 키(즉, 암호)을 알고 있음을 증명해야 하며, 이를 위해 서버는 저장된 형태로부터 공유 비밀 키를 얻을 수 있어야 한다. 많은 시스템(유닉스 유형 시스템 포함)에서 원격 인증을 수행할 때 공유 비밀 키는 일반적으로 해시된 형태가 되며, 오프라인 추측 공격에 암호를 노출하는 심각한 제한이 있다. 또한 해시가 공유 비밀 키로 사용될 때 공격자는 원격 인증을 위해 원래 암호가 필요하지 않으며, 해시만 필요하다. 일반적으로는 사용자 ID와 쌍으로 사용한다. 미리 등록된 해당 사용자 ID의 비밀번호와 조작자에 의해 입력된 비밀번호가 일치하는 것을 통해 조작자가 해당 사용자 ID의 사용자 본인임을 인식한다.
비밀번호 중 숫자만으로 이루어진 것을 특히 PIN이라 한다. 금융 기관의 ATM이나 휴대 전화의 본인 확인에 사용된다.
문자열 길이가 수십 자 이상으로 긴 비밀번호를 특히 '''패스프레이즈'''라고 부르며, 높은 보안이 필요한 시스템에서 사용된다.
대부분의 시스템에서는 비밀번호에 사용할 수 있는 문자는 알파벳 (라틴 문자) 26자 (대문자・소문자가 구별되는 경우에는 52자) 및 일부 기호로 제한되어 있지만, 멀티바이트 문자를 사용할 수 있는 것도 있다. 비밀번호나 신용 카드 번호를 입수하여 타인으로 위장하여 다양한 이익을 얻을 수 있기 때문에, 비밀번호를 부정하게 조사하는 일이 종종 발생한다.
본인만 알고 있다는 것을 전제로 하기 때문에, 입력한 내용은 화면상에 가려져서 표시된다. 예를 들어 "ABCD"라고 입력해도 "●●●●"로 표시되어, 입력한 문자 수만 알 수 있게 되어 있다. 또한, 여러 번 잘못된 비밀번호를 입력하면 시스템이 그 이후의 입력을 거부하도록 되어 있는 경우도 있다.
비밀번호는 임의의 문자열로 구성되지만, 완전히 랜덤인 경우는 거의 없고, 실제로는 기억하기 쉬운 문자열로 구성되는 경우가 많다. 이러한 성질을 이용하여, 사전에 실린 단어나 인명을 입력하여 비밀번호를 발견하는 효율을 높이는 소프트웨어도 있다. 추측하기 어려운 비밀번호로 설정하도록 요구되는 경우가 많고, 새롭게 비밀번호를 만들 때 간단한 문자열을 설정하면 설정 자체가 컴퓨터에 의해 거부되거나, 사이트마다 다른 비밀번호를 설정하도록 요구하기도 한다. 결과적으로 비밀번호를 잊어버리고, 앞서 언급한 바와 같이 잘못된 비밀번호를 여러 번 입력하여 잠겨버리는 문제점도 있다.
현금 카드나 휴대 전화 단말기의 비밀번호는 겨우 4자리만 있는 경우가 많아, 번호를 잊어버렸을 경우, 모든 번호를 시도하는 소프트웨어가 존재한다. 게다가, 비밀번호 발견에는 "피싱"이라고 불리는 수법도 존재한다. 이는 가짜 웹사이트나 이메일을 사용하여 사용자에게 비밀번호를 입력하게 하는 방법이다. 예를 들어, 은행이나 온라인 서비스를 가장한 이메일을 보내, 링크를 클릭하게 하여 가짜 로그인 페이지로 유도한다. 이 페이지에 비밀번호를 입력하면, 공격자에게 그 정보가 전달되는 방식이다.[101]
또한, 비밀번호의 안전성을 높이기 위해, 2단계 인증/2단계 인증이 권장되고 있다.[102] 이는 비밀번호에 더하여, 스마트폰으로 전송되는 인증 코드 등, 추가적인 인증 수단을 필요로 하는 것이다. 이를 통해, 비밀번호가 유출되더라도, 공격자가 계정에 접근하는 것을 방지하기 쉬워진다.
비밀번호를 관리하는 도구도 존재한다. 이러한 도구는, 복잡하고 추측하기 어려운 비밀번호를 자동으로 생성하고, 안전하게 보관하는 기능을 가지고 있다. 사용자는 마스터 비밀번호 하나만 기억하면, 다른 모든 비밀번호를 관리할 수 있다. 아이폰에는 이 기능이 기본적으로 탑재되어 있다.[103]
6. 비밀번호 관리
비밀번호는 접근 제어를 위해 사용되는 비밀 인증 데이터의 한 형식이다. 현대에는 컴퓨터 운영 체제, 휴대 전화, 현금 자동 입출금기 등에서 널리 사용된다. 일반 컴퓨터 사용자는 다양한 목적으로 비밀번호를 사용한다.
소유자가 기억하기 쉬운 비밀번호는 해커가 추측하기 쉽다.[104] 그러나 기억하기 어려운 비밀번호도 사용자가 비밀번호를 적어두거나, 주기적인 재설정이 필요하거나, 동일한 비밀번호를 다시 사용할 가능성이 높아져 보안을 감소시킬 수 있다.[105]
2013년 구글은 가장 흔하지만 보안에 취약한 비밀번호 유형 목록을 공개했다.[107]
- 반려동물, 자식, 가족 구성원, 중요타인의 이름
- 기념일, 생일
- 출생지
- 좋아하는 휴일의 이름
- 좋아하는 스포츠 팀과 관련한 것
- "password"라는 비밀번호
일반 사용자는 약 100개의 비밀번호를 가지고 있다는 설문 조사 결과가 있다.[2] 비밀번호 관리를 위해 여러 계정에 동일한 비밀번호를 사용하는 것은 위험하므로, 비밀번호 관리자, 싱글 사인온 시스템을 사용하거나 덜 중요한 비밀번호를 종이에 적어두는 것이 대안이 될 수 있다.[19]
컴퓨터 시스템은 사용자 비밀번호를 평문 또는 암호화된 형태로 저장한다. 평문 저장은 공격에 취약하며, 암호화된 형태가 더 안전하다. 가장 안전한 시스템은 비밀번호를 저장하지 않고 해시 함수와 같은 단방향 파생값을 저장한다.[24] 로저 니덤은 평문 비밀번호의 "해시된" 형태만 저장하는 방식을 발명했는데,[25][26] 사용자가 비밀번호를 입력하면 암호화 해시 알고리즘을 실행하여 해시 값을 비교하고, 일치하면 접근 권한을 부여한다. 솔트는 공격자가 일반적인 비밀번호에 대한 해시 값 목록을 쉽게 만들지 못하게 한다.[27] MD5와 SHA1은 자주 사용되는 암호화 해시 함수이지만, PBKDF2와 같은 더 큰 구조의 일부로 사용되지 않는 한 비밀번호 해싱에 권장되지 않는다.[28]
저장된 데이터는 "비밀번호 검증자" 또는 "비밀번호 해시"라고 불리며, /etc/passwd 파일 또는 /etc/shadow 파일에 저장되기도 한다.[29] 비밀번호의 주요 저장 방법에는 평문, 해시, 해시 및 솔트, 가역적 암호화가 있다.[30] 공격자가 비밀번호 파일에 접근할 경우, 평문은 크래킹이 필요 없고, 해시되었지만 솔트가 없으면 레인보우 테이블 공격에 취약하다. 가역적 암호화는 복호화 키를 얻으면 크래킹이 필요 없고, 키를 얻지 못하면 크래킹이 불가능하다. 솔트 처리되고 해시된 경우에만 크래킹이 필요하고 가능하다.[30]
암호화 해시 함수가 잘 설계된 경우, 평문 비밀번호를 복구하는 것은 계산적으로 불가능하다. 그러나 공격자는 널리 사용 가능한 도구를 사용하여 비밀번호를 추측할 수 있다. 비밀번호 크래킹 도구는 무차별 대입 또는 목록의 모든 단어를 해싱하여 작동한다.[24] 초기 유닉스 시스템은 crypt 알고리즘을 사용했고,[32] 더 최근의 유닉스 계열 시스템은 PBKDF2, bcrypt, 및 scrypt와 같이 더 안전한 비밀번호 해싱 알고리즘을 사용한다.[33] 잘 설계되지 않은 해시 함수는 강력한 비밀번호를 선택하더라도 공격을 실행 가능하게 만들 수 있는데, LM 해시는 안전하지 않은 예이다.[34]
총무성은 안전한 비밀번호 설정 및 관리 가이드라인을 발표했다.[99] 위험한 비밀번호는 ID와 동일한 문자열, 본인 또는 가족의 이름, 전화번호, 생년월일, 사전에 수록된 일반적인 영어 단어 하나만 사용, 동일한 문자 반복 또는 쉬운 배열 문자열, 너무 짧은 문자열이다.[99] 비밀번호 관리와 관련하여, '''정기적인 변경은 불필요'''하다고 한다.[99][100]
ATM이나 휴대 전화의 본인 확인에는 숫자만으로 이루어진 PIN이 사용된다. 보안이 높은 시스템에서는 수십 자 이상의 긴 비밀번호인 패스프레이즈가 사용된다. 신용 카드 번호와 함께 비밀번호를 부정하게 조사하는 일이 종종 발생하며, 입력 내용은 "●●●●"와 같이 가려져서 표시된다. 여러 번 잘못된 비밀번호를 입력하면 시스템이 입력을 거부하는 경우도 있다. 사전에 실린 단어나 인명을 이용하는 소프트웨어도 있어, 추측하기 어려운 비밀번호 설정이 요구된다. 사전 공격 참고. 무차별 대입 공격에는 4자리 비밀번호를 모두 시도하는 소프트웨어가 존재한다. 피싱은 가짜 웹사이트나 이메일로 비밀번호를 입력하게 하는 수법이다.[101] 스마트폰으로 전송되는 인증 코드 등 추가 인증 수단을 사용하는 2단계 인증이 권장된다.[102] 비밀번호 관리 도구는 복잡한 비밀번호를 자동 생성하고 안전하게 보관한다. 아이폰에는 이 기능이 기본 탑재되어 있다.[103]
6. 1. 비밀번호 변경 절차
일반적으로 시스템은 사용자가 현재 비밀번호가 손상되었다고 믿거나 (또는 손상되었을 수 있다고 믿거나) 예방 조치로 비밀번호를 변경할 수 있는 방법을 제공해야 한다. 새로운 비밀번호가 암호화되지 않은 형태로 시스템에 전달되면, 새로운 비밀번호가 비밀번호 데이터베이스에 설치되기도 전에 보안이 손실될 수 있으며(예: 도청), 새로운 비밀번호가 손상된 직원에게 제공되면 얻는 이점이 거의 없다. 일부 웹사이트는 사용자가 선택한 비밀번호를 평문 확인 이메일 메시지에 포함시키며, 이는 분명히 취약성을 증가시킨다.ID 관리 시스템은 분실된 비밀번호의 교체를 자동화하기 위해 점점 더 많이 사용되며, 이는 셀프 서비스 비밀번호 재설정이라고 한다. 사용자의 신원은 질문을 하고 이전에 저장된 답변(예: 계정이 열렸을 때)과 비교하여 확인된다.
일부 비밀번호 재설정 질문은 소셜 미디어에서 찾을 수 있는 개인 정보(예: 어머니의 결혼 전 성)를 묻는다. 결과적으로 일부 보안 전문가는 자신만의 질문을 만들거나 잘못된 답변을 제공하는 것을 권장한다.[35]
6. 2. 비밀번호 수명
"비밀번호 만료"는 일부 운영 체제에서 사용자가 비밀번호를 주기적으로 변경하도록 강제하는 기능이다(예: 분기별, 매월 또는 더 자주).[44] 이러한 정책은 대개 사용자의 불만, 소극적인 태도, 심하면 적대감을 유발한다. 또한 비밀번호를 적어두고 쉽게 찾을 수 있는 곳에 보관하거나, 잊어버린 비밀번호 재설정을 위한 헬프 데스크 호출이 증가한다. 사용자는 더 간단한 비밀번호를 사용하거나, 기억하기 쉬운 일관된 패턴을 개발하기도 한다.[44] 이 때문에 비밀번호 만료의 효과에 대한 논쟁이 있다.[36]대부분의 경우 비밀번호 변경만으로는 악용을 막을 수 없다. 악용은 종종 즉시 드러나기 때문이다. 그러나 컴퓨터 공유, 다른 사이트 침해 등으로 인해 비밀번호가 유출된 경우, 비밀번호 변경은 악용 기간을 제한할 수 있다.[37]
총무성은 안전한 비밀번호 설정 및 관리 가이드라인을 발표했다.[99]
위험한 비밀번호는 다음과 같다.[99]
- ID와 동일한 문자열
- 본인 또는 가족의 이름, 전화번호, 생년월일
- 사전에 수록된 일반적인 영어 단어 하나만 사용
- 동일한 문자 반복 또는 쉬운 배열의 문자열
- 너무 짧은 문자열
비밀번호 관리와 관련하여, '''정기적인 변경은 불필요'''하다고 한다.[99][100]
6. 3. 사용자별 비밀번호 할당
시스템의 각 사용자에게 개별 비밀번호를 할당하는 것은 보안 관점에서, 시스템의 정당한 사용자들이 공유하는 단일 비밀번호를 사용하는 것보다 바람직하다. 사용자들이 자신만 사용하는 비밀번호보다 다른 사람(권한이 없는 사람일 수 있음)에게 공유 비밀번호를 더 쉽게 알려주기 때문이다. 또한, 단일 비밀번호는 여러 사람에게 동시에 알려야 하므로 변경하기가 불편하며, 졸업이나 사직과 같이 특정 사용자의 접근 권한을 제거하기 어렵다. 개별 로그인은 책임성을 위해서도 자주 사용되며, 누가 데이터를 변경했는지 등을 알 수 있게 한다.[99]총무성은 안전한 비밀번호 설정 및 관리 가이드라인을 발표했다.[99]
다음과 같은 비밀번호는 위험하다.[99]
- ID와 동일한 문자열
- 본인 또는 가족의 이름, 전화번호, 생년월일
- 사전에 수록된 일반적인 영어 단어 하나만 사용
- 동일한 문자 반복 또는 쉬운 배열 문자열
- 너무 짧은 문자열
비밀번호 관리와 관련하여, '''정기적인 변경은 불필요'''하다.[99][100]
6. 4. 비밀번호 보안 강화 기술
비밀번호로 보호되는 시스템의 보안을 강화하기 위한 여러 기술과 방법은 다음과 같다.- 물리적 보안: 어깨 너머 훔쳐보기를 방지하고, 비디오 카메라 및 키보드 스니퍼와 같은 물리적 위협으로부터 보호한다.[20]
- 비밀번호 표시 숨김: 입력 시 비밀번호를 숨겨 주변 사람들이 훔쳐보지 못하게 한다. 다만, 사용자에게 표시/숨김 옵션을 제공하는 것이 더 나은 방법일 수 있다.[20]
- 접근 제어: 범죄자가 비밀번호나 생체 인식 토큰을 획득하기 어렵게 극단적인 조치를 강구한다.[21] 강탈, 고문 암호 분석, 부채널 공격과 같은 덜 극단적인 조치도 고려한다.
- 비밀번호 추측 횟수 제한:
- 잘못된 추측이 연속으로 몇 번(예: 5회) 발생하면 비밀번호를 비활성화하고 재설정을 요구한다.[23]
- 더 많은 횟수(예: 30회)의 잘못된 추측이 누적되면 비밀번호 변경을 요구한다.[23]
- 공격자가 의도적으로 사용자의 장치를 잠그는 서비스 거부 공격을 방지하기 위해 소셜 엔지니어링을 활용할 수 있다.
- 비밀번호 인증 키 합의: 비밀번호 인증 키 합의 시스템은 비밀번호를 전송하거나 해시를 전송하는 대신, 영지식 비밀번호 증명을 수행하여 비밀번호 노출 없이 비밀번호를 알고 있음을 증명한다.
- 보강된 비밀번호 인증 키 합의: AMP, B-SPEKE, PAK-Z, SRP-6과 같은 시스템은 해시 기반 방법의 충돌과 제약을 피한다. 클라이언트는 서버에 비밀번호를 알고 있음을 증명하고, 서버는 해시된 비밀번호만 알고 있어도 접근 권한을 부여할 수 있다.
- 일반적인 기술:
- 비밀번호 입력 시 화면에 표시하지 않거나 별표(*) 또는 글머리 기호(•)를 사용하여 가린다.
- 적절한 길이의 비밀번호를 허용한다. (초창기 레거시 운영체제는 비밀번호를 최대 8자로 제한하여 보안을 약화시켰다.)
- 일정 시간 동안 활동이 없을 경우 비밀번호를 다시 입력하도록 요구한다(반 자동 로그오프 정책).
- 비밀번호 정책을 적용하여 비밀번호 강도 및 보안을 강화한다.
- 무작위로 선택된 비밀번호를 할당한다.
- 최소 비밀번호 길이를 요구한다.[28]
- 일부 시스템에서는 다양한 문자 클래스의 문자를 요구한다. (예: "최소한 하나의 대문자와 하나의 소문자를 포함해야 합니다")[41]
- 비밀번호 블랙리스트를 사용하여 약하고 쉽게 추측할 수 있는 비밀번호 사용을 차단한다.
- 키보드 입력 대신 음성 비밀번호 또는 생체 인식 식별자와 같은 대안을 제공한다.
- 2단계 인증(사용자가 가지고 있는 것과 사용자가 아는 것)과 같은 둘 이상의 인증 시스템을 요구한다.
- 암호화된 터널 또는 비밀번호 인증 키 합의를 사용하여 네트워크 공격을 통해 전송된 비밀번호에 접근하는 것을 방지한다.
- 주어진 시간 내에 허용되는 실패 횟수를 제한한다.
- 자동 비밀번호 추측 프로그램을 늦추기 위해 비밀번호 제출 시도 사이에 지연을 도입한다.
더 엄격한 정책 시행은 사용자를 소외시켜 보안을 감소시킬 수 있다.
ATM이나 휴대 전화의 본인 확인에는 숫자만으로 이루어진 PIN이 사용된다.
보안이 높은 시스템에서는 수십 자 이상의 긴 비밀번호인 패스프레이즈가 사용된다.
대부분의 시스템에서는 알파벳 (라틴 문자) 및 일부 기호만 사용할 수 있지만, 멀티바이트 문자를 사용할 수 있는 시스템도 있다.
신용 카드 번호와 함께 비밀번호를 부정하게 조사하는 일이 종종 발생한다.
입력 내용은 "●●●●"와 같이 가려져서 표시된다.
여러 번 잘못된 비밀번호를 입력하면 시스템이 입력을 거부하는 경우도 있다.
사전에 실린 단어나 인명을 이용하는 소프트웨어도 있어, 추측하기 어려운 비밀번호 설정이 요구된다. 사전 공격 참고.
무차별 대입 공격에는 4자리 비밀번호를 모두 시도하는 소프트웨어가 존재한다. 피싱은 가짜 웹사이트나 이메일로 비밀번호를 입력하게 하는 수법이다.[101]
스마트폰으로 전송되는 인증 코드 등 추가 인증 수단을 사용하는 2단계 인증이 권장된다.[102]
비밀번호 관리 도구는 복잡한 비밀번호를 자동 생성하고 안전하게 보관한다. 아이폰에는 이 기능이 기본 탑재되어 있다.[103]
7. 비밀번호 재사용 문제
컴퓨터 사용자들이 여러 사이트에서 동일한 비밀번호를 재사용하는 것은 흔한 일이다. 이는 상당한 보안 위험을 초래하는데, 공격자가 피해자가 사용하는 다른 사이트에 접근하기 위해 단 하나의 사이트만 침해하면 되기 때문이다.[42] 이러한 문제는 사용자 이름을 재사용하고, 웹사이트에서 이메일 로그인을 요구함으로써 더욱 악화된다. 이는 공격자가 여러 사이트에서 단일 사용자를 추적하기 더 쉽게 만들기 때문이다.[42]
비밀번호 재사용은 연상 기법, 비밀번호를 종이에 적어두는 것, 또는 비밀번호 관리자를 사용하여 피하거나 최소화할 수 있다.[42]
캐나다 칼턴 대학교의 데이니 플로렌시오와 코맥 허리, 그리고 폴 C. 반 오어쇼트는 비밀번호 재사용이 불가피하며, 사용자는 낮은 보안 수준의 웹사이트(예: 개인 정보가 거의 없고 금융 정보가 없는 웹사이트)에 비밀번호를 재사용하고, 대신 은행 계좌와 같이 중요한 몇몇 계정에 대해서는 길고 복잡한 비밀번호를 기억하는 데 집중해야 한다고 주장했다.[43]
8. 비밀번호 기록
현대에 비밀번호는 컴퓨터 운영 체제, 휴대 전화, CATV 디코딩 장치, 현금 자동 입출금기 등에서 접근 제어를 위해 사용된다. 일반 컴퓨터 사용자는 여러 목적을 위해 비밀번호를 요구할 수 있다.
소유자가 기억하기 쉬운 비밀번호는 해커가 추측하기 쉽다.[104] 그러나 기억하기 어려운 비밀번호도 시스템 보안을 저하시킬 수 있다. 사용자가 비밀번호를 따로 적어두거나 전자적으로 저장하고, 주기적인 재설정이 필요하며, 동일한 비밀번호를 다시 사용할 가능성이 높기 때문이다. 비밀번호를 강력하게 만들려면 대소문자와 숫자를 섞거나, 한 달에 한 번씩 변경하는 방법 등이 있다.[105] 다만, 긴 비밀번호가 다양한 문자가 포함된 짧은 비밀번호보다 더 안전한지에 대해서는 의문이 제기된다.[106]
2013년 구글은 가장 흔한 비밀번호 유형 목록을 공개했는데, 이들은 모두 보안에 취약하다. 특히 소셜 미디어 사용자를 연구한 결과 보안에 더 취약한 것으로 나타났다.[107]
- 반려동물, 자녀, 가족 구성원, 중요타인의 이름
- 기념일, 생일
- 출생지
- 좋아하는 휴일 이름
- 좋아하는 스포츠 팀 관련 정보
- "password"라는 비밀번호
비밀번호 추측 횟수를 제한하는 방법도 있다. 잘못된 추측이 몇 번(예: 5회) 연속되면 비밀번호가 비활성화되어 재설정을 요구할 수 있다. 또한, 공격자가 합법적인 사용자의 시도 사이에 끼어들어 많은 수의 잘못된 추측을 시도하는 것을 막기 위해, 누적된 잘못된 추측 횟수가 일정 수준(예: 30회)에 도달하면 사용자가 비밀번호를 변경하도록 할 수 있다.[23] 반면, 공격자는 이러한 조치를 악용하여 사용자의 장치를 의도적으로 잠가 서비스 거부 공격을 수행할 수도 있다. 이는 공격자가 소셜 엔지니어링을 통해 상황을 유리하게 조작할 수 있는 다른 경로를 열어준다.
과거에는 많은 보안 전문가들이 "비밀번호를 절대 적지 마세요"라며 기억하라고 했지만, 최근에는 브루스 슈나이어 등 많은 전문가들이 기억하기 어려운 복잡한 비밀번호를 사용하고 종이에 적어 지갑에 보관하는 것을 권장한다.[45][46][47][48][49][50][51]
비밀번호 관리자 소프트웨어를 사용하면 단일 마스터 비밀번호로 암호화된 파일에 비밀번호를 비교적 안전하게 저장할 수도 있다.
총무성은 안전한 비밀번호 설정 및 관리 가이드라인을 발표했다.[99]
다음은 위험한 비밀번호의 예시다.[99]
- ID와 동일한 문자열
- 본인 또는 가족의 이름, 전화번호, 생년월일
- 사전에 있는 일반적인 영어 단어 하나
- 동일한 문자 반복 또는 쉬운 배열 문자열
- 너무 짧은 문자열
비밀번호 관리와 관련하여, '''정기적인 변경은 불필요'''하다.[99][100]
9. 다단계 인증
다단계 인증은 비밀번호(지식 요소)와 하나 이상의 다른 인증 수단을 결합하여 인증을 더욱 안전하게 하고, 손상된 비밀번호에 대한 취약성을 줄이는 방식이다. 예를 들어, 간단한 2단계 로그인 시도는 로그인 시 문자 메시지, 이메일, 자동 전화 통화 또는 유사한 알림을 보내 비밀번호 외에 추가로 입력해야 하는 코드를 제공한다.[53] 더 정교한 방식에는 하드웨어 토큰 및 생체 인식 보안 등이 있다.
비밀번호의 안전성을 높이기 위해 2단계 인증이 권장된다.[102] 이는 비밀번호에 더하여 스마트폰으로 전송되는 인증 코드 등 추가적인 인증 수단을 필요로 하는 것이다. 이를 통해 비밀번호가 유출되더라도 공격자가 계정에 접근하는 것을 방지하기 쉬워진다.
10. 비밀번호 정책
대부분의 조직에서는 비밀번호의 구성 및 사용에 대한 요구 사항을 설정하는 비밀번호 정책을 명시한다. 일반적으로 최소 길이, 필수 범주(예: 대문자 및 소문자, 숫자 및 특수 문자), 금지된 요소(예: 자신의 이름, 생년월일, 주소, 전화 번호 사용) 등을 규정한다.[56] 일부 정부는 비밀번호 요구 사항을 포함하여 정부 서비스에 대한 사용자 인증에 대한 요구 사항을 정의하는 국가 인증 프레임워크를 가지고 있다.[56]
많은 웹사이트는 최소 및 최대 길이와 같은 표준 규칙을 시행하지만, 최소 하나의 대문자와 최소 하나의 숫자/기호를 포함하는 것과 같은 구성 규칙도 자주 포함한다. 이러한 규칙은 주로 Bill Burr가 작성한 국립 표준 기술 연구소(NIST)의 2003년 보고서를 기반으로 했다.[57] 이 보고서는 원래 숫자, 특수 문자 및 대문자를 사용하고 정기적으로 업데이트하는 관행을 제안했다. 2017년 ''월스트리트 저널'' 기사에서 Burr는 이러한 제안을 후회하며 권고한 것에 대해 실수했다고 보고했다.[58]
2017년 NIST 보고서 개정판에 따르면 많은 웹사이트는 실제로 사용자의 보안에 반대되는 영향을 미치는 규칙을 가지고 있다. 여기에는 복잡한 구성 규칙과 일정 기간이 지난 후 강제적인 비밀번호 변경이 포함된다. 이러한 규칙은 오랫동안 널리 퍼져 있었지만, 사용자 및 사이버 보안 전문가 모두에게 성가시고 비효율적인 것으로 여겨져 왔다.[59] NIST는 "pA55w+rd"와 같이 기억하기 어려운 "환상적인 복잡성"을 가진 비밀번호 대신 더 긴 구문을 비밀번호로 사용할 것을 권장한다(그리고 웹사이트에 최대 비밀번호 길이를 늘릴 것을 권장한다).[60] "password"라는 비밀번호를 사용하지 못하는 사용자는 숫자와 대문자를 포함해야 하는 경우 단순히 "Password1"을 선택할 수 있다. 강제적인 정기적인 비밀번호 변경과 결합하면 기억하기는 어렵지만 해킹하기 쉬운 비밀번호로 이어질 수 있다.[57]
2017년 NIST 보고서의 저자 중 한 명인 Paul Grassi는 다음과 같이 더 자세히 설명했다. "모두가 느낌표가 1, I, 또는 비밀번호의 마지막 문자라는 것을 알고 있다. $는 S 또는 5이다. 이러한 잘 알려진 트릭을 사용하면 어떤 적도 속일 수 없다. 우리는 단순히 비밀번호를 저장하는 데이터베이스를 속여 사용자가 좋은 일을 했다고 생각하게 만들 뿐이다."[59]
Pieris Tsokkis와 Eliana Stavrou는 비밀번호 생성 도구를 연구하고 개발하여 몇 가지 잘못된 비밀번호 구성 전략을 식별할 수 있었다. 그들은 노출된 비밀번호 목록, 비밀번호 해킹 도구 및 가장 많이 사용되는 비밀번호를 인용한 온라인 보고서를 기반으로 8가지 범주의 비밀번호 구성 전략을 제시했다. 이러한 범주에는 사용자 관련 정보, 키보드 조합 및 패턴, 배치 전략, 워드 프로세싱, 대체, 대문자 사용, 날짜 추가, 이전 범주의 조합이 포함된다.[61]
총무성은 안전한 비밀번호 설정 및 관리 가이드라인을 발표했다.[99]
다음 비밀번호는 위험하다.[99]
- ID와 동일한 문자열
- 본인 또는 가족의 이름, 전화번호, 생년월일
- 사전에 수록된 일반적인 영어 단어 하나만
- 동일한 문자 반복 또는 쉬운 배열 문자열
- 너무 짧은 문자열
비밀번호 관리와 관련하여, '''정기적인 변경은 불필요'''하다.[99][100]
11. 비밀번호 크래킹
비밀번호 크래킹은 비밀번호를 알아내기 위해 다양한 방법을 사용하는 것을 의미한다. 소유자가 기억하기 쉬운 비밀번호는 해커가 추측해내기 쉽지만,[104] 기억하기 어려운 비밀번호도 시스템 보안을 감소시킬 수 있다.[105] 긴 비밀번호가 다양한 문자가 포함된 더 짧은 비밀번호보다 더 안전한지에 대해서는 의문이 제기되고 있다.[106]
구글은 2013년에 가장 흔한 비밀번호 유형 목록을 공개했는데, 이들은 모두 보안에 취약하다.[107] 그 이유는 추측하기 매우 쉽기 때문이다.
- 반려동물, 자녀, 가족 구성원, 중요타인의 이름
- 기념일, 생일
- 출생지
- 좋아하는 휴일 이름
- 좋아하는 스포츠 팀과 관련한 것
- "password"라는 비밀번호
다음은 과거에 발생했던 주요 비밀번호 유출 사건들이다.
연도 | 사건 | 내용 |
---|---|---|
1998년 | CERT | 공격자가 186,126개의 암호화된 비밀번호를 발견했고, 그 중 47,642개의 비밀번호를 해독했다.[65] |
2001년 | 캔터 피츠제럴드 | 9.11 테러 이후 마이크로소프트를 통해 사망한 직원들의 비밀번호를 해독하여 고객 계정 서비스에 필요한 파일에 접근했다.[66] |
2009년 | Rockyou.com | 3,200만 개의 비밀번호가 유출되었는데, 데이터베이스에 평문으로 저장되어 있었고 SQL 인젝션 취약점을 통해 추출되었다.[67] |
2011년 | NATO | Anonymous, LulzSec 등이 포함된 Operation AntiSec의 일환으로 e-bookshop에 등록된 11,000명 이상의 사용자의 이름, 사용자 이름 및 비밀번호가 공개적으로 유출되었다.[68] |
2011년 | 부즈 앨런 해밀턴 | Anonymous에 의해 해킹당했고, USCENTCOM, SOCOM, 해병대 등 90,000개의 군인 로그인 정보가 유출되었다.[69] |
2012년 | 1억 1,700만 개의 비밀번호와 이메일이 도난당했고, 수백만 개의 비밀번호가 러시아 포럼에 게시되었다.[71] |
보안을 강화하기 위해 추측하기 어려운 비밀번호를 설정하도록 요구하고, 새 비밀번호를 만들 때 간단한 문자열을 설정하면 설정 자체가 컴퓨터에 의해 거부되거나, 사이트마다 다른 비밀번호를 설정하도록 요구하기도 한다.
11. 1. 공격 방법
공격자가 시스템에 추측한 비밀번호를 제출할 수 있는 속도는 시스템 보안을 결정하는 핵심 요소이다. 일부 시스템은 비밀번호 입력 시도가 몇 번 실패하면 몇 초 동안 시간 제한을 두는데, 이를 스로틀링이라고 한다.[3] 다른 취약점이 없는 경우, 이러한 시스템은 잘 선택되었고 쉽게 추측할 수 없는 비교적 간단한 비밀번호로 효과적으로 안전할 수 있다.[22]많은 시스템은 비밀번호의 암호화 해시를 저장한다. 공격자가 해시된 비밀번호 파일에 접근하면, 참 비밀번호의 해시 값에 대해 후보 비밀번호를 빠르게 테스트하는 오프라인 추측이 가능하다. 웹 서버의 경우, 온라인 공격자는 서버가 응답하는 속도로만 추측할 수 있지만, 오프라인 공격자(파일에 접근하는 자)는 공격이 실행되는 하드웨어와 해시를 생성하는 데 사용된 알고리즘의 강도에 의해서만 속도가 제한된다.
디스크 암호화 또는 Wi-Fi 보안과 같은 암호화 키를 생성하는 데 사용되는 비밀번호는 비밀번호 크래킹으로 알려진 높은 속도의 추측 공격을 받을 수도 있다. 일반적인 비밀번호 목록은 널리 사용 가능하며 비밀번호 공격을 매우 효율적으로 만들 수 있다. 이러한 상황에서의 보안은 적절한 복잡성의 비밀번호 또는 암호를 사용하여 공격자가 계산적으로 실행 불가능하게 만드는 것에 달려 있다. PGP 및 Wi-Fi WPA와 같은 일부 시스템은 키 스트레칭이라고 하는 기술로 이러한 공격을 늦추기 위해 비밀번호에 계산 집약적인 해시를 적용한다.
시간과 비용이 허락하는 한 가능한 많은 조합을 시도하여 비밀번호를 크래킹하는 시도는 무차별 대입 공격이다. 대부분의 경우 이와 관련된 더 효율적인 방법은 사전 공격이다. 사전 공격에서는 하나 이상의 사전의 모든 단어를 테스트한다. 일반적인 비밀번호 목록도 일반적으로 테스트된다.
비밀번호 강도는 비밀번호가 추측되거나 발견될 수 없는 가능성이며, 사용된 공격 알고리즘에 따라 달라진다. 암호학자 및 컴퓨터 과학자는 종종 강도 또는 '경도'를 엔트로피 측면에서 언급한다.[24]
쉽게 발견되는 비밀번호는 ''약하거나'' ''취약한'' 것으로 간주되고, 발견하기 매우 어렵거나 불가능한 비밀번호는 ''강한'' 것으로 간주된다. L0phtCrack, John the Ripper, Cain과 같이 비밀번호 공격(또는 시스템 직원의 감사 및 복구)에 사용할 수 있는 여러 프로그램이 있으며, 이 중 일부는 비밀번호 설계 취약점(Microsoft LANManager 시스템에서 발견됨)을 사용하여 효율성을 높인다. 이러한 프로그램은 시스템 관리자가 사용자가 제안한 약한 비밀번호를 감지하는 데 사용되기도 한다.
생산 컴퓨터 시스템에 대한 연구에 따르면 모든 사용자가 선택한 비밀번호의 상당 부분이 자동으로 쉽게 추측될 수 있음을 일관되게 보여주었다. 예를 들어, 컬럼비아 대학교는 사용자 비밀번호의 22%가 약간의 노력으로 복구될 수 있음을 발견했다.[62] 브루스 슈나이어에 따르면, 2006년 피싱 공격 데이터를 검토한 결과, 2006년에 초당 200,000개의 비밀번호를 테스트할 수 있는 상용 비밀번호 복구 툴킷을 사용하여 마이스페이스 비밀번호의 55%를 8시간 안에 크래킹할 수 있었다고 한다.[63] 그는 또한 가장 흔한 비밀번호가 ''password1''임을 보고했는데, 이는 사용자들 사이에서 비밀번호 선택에 대한 정보 부족을 다시 한번 확인해 주었다.
비밀번호나 신용 카드 번호를 입수하여 타인으로 위장하여 다양한 이익을 얻을 수 있기 때문에, 비밀번호를 부정하게 조사하는 일이 종종 발생한다. 본인만 알고 있다는 것을 전제로 하기 때문에, 입력한 내용은 화면상에 가려져서 표시된다. 예를 들어 "ABCD"라고 입력해도 "●●●●"로 표시되어, 입력한 문자 수만 알 수 있게 되어 있다. 또한, 여러 번 잘못된 비밀번호를 입력하면 시스템이 그 이후의 입력을 거부하도록 되어 있는 경우도 있다.
비밀번호는 임의의 문자열로 구성되지만, 완전히 랜덤인 경우는 거의 없고, 실제로는 기억하기 쉬운 문자열로 구성되는 경우가 많다. 이러한 성질을 이용하여, 사전에 실린 단어나 인명을 입력하여 비밀번호를 발견하는 효율을 높이는 소프트웨어도 있다.
현금 카드나 휴대 전화 단말기의 비밀번호는 겨우 4자리만 있는 경우가 많아, 번호를 잊어버렸을 경우, 모든 번호를 시도하는 소프트웨어가 존재한다. 게다가, 비밀번호 발견에는 피싱이라고 불리는 수법도 존재한다. 이는 가짜 웹사이트나 이메일을 사용하여 사용자에게 비밀번호를 입력하게 하는 방법이다. 예를 들어, 은행이나 온라인 서비스를 가장한 이메일을 보내, 링크를 클릭하게 하여 가짜 로그인 페이지로 유도한다. 이 페이지에 비밀번호를 입력하면, 공격자에게 그 정보가 전달되는 방식이다.[101]
또한, 비밀번호의 안전성을 높이기 위해, 2단계 인증/2단계 인증이 권장되고 있다.[102] 이는 비밀번호에 더하여, 스마트폰으로 전송되는 인증 코드 등, 추가적인 인증 수단을 필요로 하는 것이다. 이를 통해, 비밀번호가 유출되더라도, 공격자가 계정에 접근하는 것을 방지하기 쉬워진다.
비밀번호를 관리하는 도구도 존재한다. 이러한 도구는, 복잡하고 추측하기 어려운 비밀번호를 자동으로 생성하고, 안전하게 보관하는 기능을 가지고 있다. 사용자는 마스터 비밀번호 하나만 기억하면, 다른 모든 비밀번호를 관리할 수 있다. 아이폰에는 이 기능이 기본적으로 탑재되어 있다.[103]
11. 2. 비밀번호 강도
비밀번호 강도는 비밀번호가 추측되거나 발견될 수 없는 정도를 나타내며, 사용된 공격 알고리즘에 따라 달라진다. 암호학자와 컴퓨터 과학자는 강도를 엔트로피 측면에서 언급한다.[24] 쉽게 발견되는 비밀번호는 '약하거나' '취약한' 것으로 간주되고, 발견하기 매우 어렵거나 불가능한 비밀번호는 '강한' 것으로 간주된다.공격자가 시스템에 추측한 비밀번호를 제출할 수 있는 속도는 시스템 보안의 핵심 요소이다. 일부 시스템은 비밀번호 입력 시도가 몇 번 실패하면 몇 초 동안의 시간 제한을 두는데, 이를 스로틀링이라고 한다.[3] 이러한 시스템은 잘 선택되었고 쉽게 추측할 수 없는 비교적 간단한 비밀번호로 효과적으로 안전할 수 있다.[22]
많은 시스템은 비밀번호의 암호화 해시를 저장한다. 공격자가 해시된 비밀번호 파일에 접근하면, 참 비밀번호의 해시 값에 대해 후보 비밀번호를 빠르게 테스트하는 오프라인 추측이 가능하다.
디스크 암호화 또는 Wi-Fi 보안과 같이 암호화 키를 생성하는 데 사용되는 비밀번호는 비밀번호 크래킹으로 알려진 고속 추측 공격을 받을 수 있다. PGP 및 Wi-Fi WPA와 같은 일부 시스템은 키 스트레칭 기술로 이러한 공격을 늦추기 위해 비밀번호에 계산 집약적인 해시를 적용한다.
시간과 비용이 허락하는 한 가능한 많은 조합을 시도하여 비밀번호를 크래킹하는 시도는 무차별 대입 공격이다. 대부분의 경우 이보다 더 효율적인 방법은 사전 공격이다. 사전 공격에서는 하나 이상의 사전의 모든 단어를 테스트한다. 일반적인 비밀번호 목록도 일반적으로 테스트된다.
L0phtCrack, John the Ripper, Cain과 같이 비밀번호 공격에 사용할 수 있는 여러 프로그램이 있다. 이러한 프로그램은 시스템 관리자가 사용자가 제안한 약한 비밀번호를 감지하는 데 사용되기도 한다.
연구에 따르면 사용자가 선택한 비밀번호의 상당 부분은 쉽게 추측될 수 있다. 예를 들어, 컬럼비아 대학교는 사용자 비밀번호의 22%가 약간의 노력으로 복구될 수 있음을 발견했다.[62] 브루스 슈나이어에 따르면, 2006년 피싱 공격 데이터를 검토한 결과, 마이스페이스 비밀번호의 55%를 8시간 안에 크래킹할 수 있었다고 한다.[63] 그는 또한 가장 흔한 비밀번호가 ''password1''임을 보고했는데, 이는 사용자들 사이에서 비밀번호 선택에 대한 정보 부족을 보여준다.
2013년에 구글은 가장 흔한 비밀번호 유형 목록을 공개하였으며, 이들은 모두 보안에 취약하다.[107]
- 반려동물, 자식, 가족 구성원, 중요타인의 이름
- 기념일, 생일
- 출생지
- 좋아하는 휴일의 이름
- 좋아하는 스포츠 팀과 관련한 것
- "password"라는 비밀번호
소유자가 기억하기 쉬운 비밀번호는 해커가 추측하기 쉽다.[104] 그러나 기억하기 어려운 비밀번호도 시스템 보안을 감소시킬 수 있다.[105] 긴 비밀번호가 다양한 문자가 포함된 더 짧은 비밀번호보다 보안이 더 강력한지에 대해서는 의문이 제기되고 있다.[106]
11. 3. 비밀번호 크래킹 도구
L0phtCrack, John the Ripper, Cain과 같은 비밀번호 공격(또는 시스템 직원의 감사 및 복구)에 사용할 수 있는 여러 프로그램이 있으며, 이 중 일부는 Microsoft LANManager 시스템에서 발견된 비밀번호 설계 취약점을 이용하여 효율성을 높인다.[62] 이러한 프로그램은 시스템 관리자가 사용자가 제안한 약한 비밀번호를 감지하는 데 사용되기도 한다.비밀번호를 관리하는 도구도 존재한다. 이러한 도구는 복잡하고 추측하기 어려운 비밀번호를 자동으로 생성하고, 안전하게 보관하는 기능을 가지고 있다. 사용자는 마스터 비밀번호 하나만 기억하면 다른 모든 비밀번호를 관리할 수 있다. 아이폰에는 이 기능이 기본적으로 탑재되어 있다.[103]
12. 비밀번호 대체 인증 수단
영구적 또는 반영구적 비밀번호가 손상될 수 있는 여러 방식들로 인해, 기존의 비밀번호를 대체하기 위한 다양한 기술들이 개발되었다. 2012년 논문[73]에서는 비밀번호가 대체되기 어려운 이유를 조사하고, 보안, 사용성, 배포 가능성을 기준으로 30개의 대표적인 대체 제안을 검토한 결과, "어떤 것도 기존 비밀번호가 이미 제공하는 모든 이점을 유지하지 못한다"고 결론 내렸다.[72]
- ssh와 같은 공개 키 암호화를 기반으로 하는 접근 제어: 필요한 키는 일반적으로 기억하기에는 너무 크므로 로컬 컴퓨터, 보안 토큰, USB 플래시 드라이브 또는 플로피 디스크와 같은 휴대용 메모리 장치에 저장해야 한다. 개인 키는 클라우드 서비스 제공업체에 저장될 수 있으며, 비밀번호 또는 2단계 인증을 사용하여 활성화할 수 있다.
- 싱글 사인온 (SSO): 여러 비밀번호를 가질 필요성을 없애준다.
- Envaulting 기술: USB 플래시 드라이브와 같은 이동식 저장 장치에서 데이터를 보호하는 비밀번호 없는 방식이다. 사용자 비밀번호 대신 접근 제어는 사용자의 네트워크 리소스 접근 권한을 기반으로 한다.
- 2D Key (2차원 키)[84]: 다중 행 구문, 십자말 풀이, ASCII/유니코드 아트와 같은 키 스타일을 가지고 있으며 선택적으로 텍스트 시맨틱 노이즈를 사용하여, 암호화된 개인 키, 분할된 개인 키 및 로밍 개인 키와 같은 현재 개인 키 관리 기술을 사용하여 128비트를 초과하는 큰 비밀번호/키를 생성하여 MePKC(암기 가능한 공개 키 암호화)를 구현하는 2D 매트릭스 형태의 키 입력 방식이다.[85]
- 인지 비밀번호: 신원을 확인하기 위해 질문과 답변 큐/응답 쌍을 사용한다.
- 숫자만으로 이루어진 비밀번호는 '''PIN'''이라고 하며, 금융 기관의 ATM이나 휴대 전화의 본인 확인에 사용된다.
- 문자열 길이가 수십 자 이상으로 긴 비밀번호는 '''패스프레이즈'''라고 부르며, 높은 보안이 필요한 시스템에서 사용된다.
12. 1. 일회용 비밀번호 (OTP)
일회용 비밀번호(OTP)는 한 번만 사용할 수 있는 비밀번호로, 보안을 강화하는 데 사용된다. 일회용 비밀번호는 다음과 같은 다양한 방식으로 구현된다.- 일반적인 일회용 비밀번호: 한 번만 유효하므로 많은 잠재적 공격을 막을 수 있다. 개인 온라인 뱅킹에서 거래 인증 번호(TAN)로 널리 사용된다.[72]
- 시간 동기화 일회용 비밀번호: 입력할 값은 작고 (일반적으로 휴대 가능한) 장치에 표시되며, 1분 정도마다 변경된다.
- 비밀번호 없는 인증: 사용자가 비밀번호를 입력하지 않고도 컴퓨터 시스템에 로그인할 수 있게 해준다. 공개 식별자(사용자 이름, 전화 번호, 이메일 주소 등)를 입력한 후, 등록된 장치나 토큰을 통해 안전하게 신원을 증명한다. 대부분 공개 키 암호화 인프라에 의존한다.[75][76]
- PassWindow: 사용자가 화면에 표시된 서버 생성 챌린지 이미지 위에 고유하게 인쇄된 시각적 키를 겹쳐 놓을 때만 입력할 동적 문자가 표시되는 방식이다.
- 그래픽 비밀번호: 문자, 숫자, 특수 문자 대신 이미지, 그래픽, 색상을 사용하는 대체 인증 수단이다.[79] 사용자가 얼굴을 쉽게 얼굴 인식할 수 있는 인간의 두뇌 능력을 활용하여 일련의 얼굴을 비밀번호로 선택하거나,[80] 일련의 이미지에서 올바른 순서대로 선택하거나,[81] 무작위로 생성된 이미지 그리드에서 미리 선택한 범주에 맞는 이미지를 찾아 해당 이미지의 영숫자 문자를 입력하는 방식 등이 있다.[82][83]
12. 2. 시간 동기화 OTP
시간 동기화 일회용 비밀번호는 여러 면에서 일회용 비밀번호와 유사하지만, 입력할 값은 작고 (일반적으로 휴대 가능한) 장치에 표시되며 1분 정도마다 변경된다.12. 3. 비밀번호 없는 인증
비밀번호 없는 인증은 사용자가 (기억할 필요 없이) 비밀번호 또는 기타 지식 기반 공유 비밀을 입력하지 않고 컴퓨터 시스템에 로그인할 수 있게 해주는 방식이다.[75][76]가장 일반적인 구현 방식은 다음과 같다.
- 사용자는 공개 식별자(사용자 이름, 전화 번호, 이메일 주소 등)를 입력하라는 요청을 받는다.
- 이후 등록된 장치 또는 토큰을 통해 안전한 신원 증명을 제공하여 인증 절차를 완료한다.
대부분의 구현은 공개 키 암호화 인프라에 의존한다.
- 공개 키는 인증 서비스(원격 서버, 응용 프로그램 또는 웹사이트)에 등록한다.
- 개인 키는 사용자의 장치(PC, 스마트폰 또는 외부 보안 토큰)에 보관되며, 생체 서명 또는 지식 기반이 아닌 다른 인증 요소를 제공해야만 액세스할 수 있다.
이 외에도 다음과 같은 방식들이 존재한다.
- 일회용 비밀번호 : 한 번만 유효한 비밀번호를 사용하여 많은 잠재적 공격을 막을 수 있다. 개인 온라인 뱅킹에서 거래 인증 번호 (TAN)로 널리 구현되었다.
- 시간 동기화 일회용 비밀번호 : 여러 면에서 일회용 비밀번호와 유사하지만, 입력할 값은 작고 (일반적으로 휴대 가능한) 장치에 표시되며 1분 정도마다 변경된다는 차이점이 있다.
- PassWindow 일회용 비밀번호는 일회용 비밀번호로 사용되지만, 입력할 동적 문자는 사용자가 사용자의 화면에 표시된 서버에서 생성된 챌린지 이미지 위에 고유하게 인쇄된 시각적 키를 겹쳐 놓을 때만 표시된다.
- ssh와 같은 공개 키 암호화를 기반으로 하는 접근 제어. 필요한 키는 일반적으로 기억하기에는 너무 크며 로컬 컴퓨터, 보안 토큰, USB 플래시 드라이브 또는 심지어 플로피 디스크와 같은 휴대용 메모리 장치에 저장해야 한다. 개인 키는 클라우드 서비스 제공업체에 저장될 수 있으며, 비밀번호 또는 2단계 인증을 사용하여 활성화할 수 있다.
- 생체 인식 방법은 변경할 수 없는 개인 특성을 기반으로 하는 인증을 약속하지만, 높은 오류율을 보이며, 지문, 홍채 등과 같은 스캔을 위한 추가 하드웨어가 필요하다.
- 싱글 사인온 기술은 여러 비밀번호를 가질 필요성을 없앤다.
- Envaulting 기술은 USB 플래시 드라이브와 같은 이동식 저장 장치에서 데이터를 보호하는 비밀번호 없는 방식이다. 사용자 비밀번호 대신 접근 제어는 사용자의 네트워크 리소스 접근 권한을 기반으로 한다.
- 그래픽 비밀번호 또는 마우스 이동 기반 비밀번호와 같은 텍스트 기반이 아닌 비밀번호.[79] 그래픽 비밀번호는 문자, 숫자, 또는 특수 문자 대신 이미지, 그래픽 또는 색상을 사용한다.
- 2D Key (2차원 키)[84]는 다중 행 구문, 십자말 풀이, ASCII/유니코드 아트와 같은 키 스타일을 가지고 있으며 선택적으로 텍스트 시맨틱 노이즈를 사용하여, 암호화된 개인 키, 분할된 개인 키 및 로밍 개인 키와 같은 현재 개인 키 관리 기술을 사용하여 128비트를 초과하는 큰 비밀번호/키를 생성하여 MePKC(암기 가능한 공개 키 암호화)를 구현하는 2D 매트릭스 형태의 키 입력 방식이다.[85]
- 인지 비밀번호는 신원을 확인하기 위해 질문과 답변 큐/응답 쌍을 사용한다.
12. 4. 생체 인식
생체 인식 방법은 변경할 수 없는 개인 특성을 기반으로 하는 인증을 약속하지만, 높은 오류율을 보이며 지문, 홍채 등과 같은 스캔을 위한 추가 하드웨어가 필요하다. 상업적으로 사용 가능한 시스템을 테스트한 유명한 사례로, 젤리 지문 스푸핑 시연[78]과 같이 쉽게 속일 수 있는 것으로 나타났다. 이러한 특성은 변경할 수 없으므로 손상된 경우 변경할 수 없다. 이는 손상된 접근 토큰이 반드시 안전하지 않으므로 접근 제어에서 매우 중요한 고려 사항이다.13. "비밀번호는 죽었다"는 주장
현대 사회에서 비밀번호는 컴퓨터 운영 체제, 휴대 전화, 케이블 텔레비전 디코딩 장치, 현금 자동 입출금기 등 다양한 장치의 접근 제어에 널리 사용된다.[104] 그러나 소유자가 기억하기 쉬운 비밀번호는 해커가 추측하기 쉽고, 기억하기 어려운 비밀번호는 사용자가 따로 적어두거나 동일한 비밀번호를 재사용하는 등의 문제로 보안을 약화시킬 수 있다.[105]
2013년 구글은 가장 흔하지만 보안에 취약한 비밀번호 유형 목록을 공개했다.[107]
- 반려동물, 자녀, 가족 구성원, 중요타인의 이름
- 기념일, 생일
- 출생지
- 좋아하는 휴일 이름
- 좋아하는 스포츠 팀 관련 정보
- "password"라는 단어
이러한 문제점들로 인해 영구적인 비밀번호가 손상될 수 있는 여러 방식 때문에 다양한 기술이 개발되었다.[72] 2012년 논문[73]에서는 비밀번호가 대체되기 어려운 이유를 조사하고, 보안, 사용성, 배포 가능성을 기준으로 30개의 대체 제안을 검토한 결과, "어떤 것도 기존 비밀번호가 이미 제공하는 모든 이점을 유지하지 못한다"고 결론 내렸다.[74]
- 일회용 비밀번호: 한 번만 유효한 비밀번호로, 많은 잠재적 공격을 무력화하지만, 대부분의 사용자는 불편하다고 생각한다. 온라인 뱅킹에서 거래 인증 번호 (TAN)로 널리 구현되었다.
- 시간 동기화 일회용 비밀번호: 일회용 비밀번호와 유사하지만, 입력할 값은 작고 휴대 가능한 장치에 표시되며 1분마다 변경된다.
- 비밀번호 없는 인증: 사용자가 비밀번호를 입력하지 않고 컴퓨터 시스템에 로그인할 수 있게 해준다. 공개 키 암호화 인프라에 의존하는 경우가 많다.[75][76]
- PassWindow: 일회용 비밀번호의 일종으로, 사용자가 화면에 표시된 서버 생성 챌린지 이미지 위에 고유하게 인쇄된 시각적 키를 겹쳐 놓을 때만 동적 문자가 표시된다.
- ssh와 같은 공개 키 암호화 기반 접근 제어: 필요한 키는 일반적으로 너무 커서 휴대용 메모리 장치에 저장해야 한다.
- 생체 인식 방법: 변경 불가능한 개인 특성을 기반으로 하지만, 높은 오류율과 추가 하드웨어가 필요하다. 젤리 지문 스푸핑 시연[78]과 같이 쉽게 속일 수 있는 것으로 나타났다.
- 싱글 사인온: 여러 비밀번호를 가질 필요성을 없애지만, 시스템 설계자와 관리자가 개인 접근 제어 정보가 공격에 안전한지 확인해야 한다.
- Envaulting 기술: USB 플래시 드라이브와 같은 이동식 저장 장치에서 데이터를 보호하는 비밀번호 없는 방식이다.
- 그래픽 비밀번호: 텍스트 기반이 아닌 비밀번호.[79] 문자, 숫자, 특수 문자 대신 이미지, 그래픽, 색상을 사용한다.
- 2차원 키:[84] 다중 행 구문, 십자말 풀이, ASCII/유니코드 아트와 같은 키 스타일을 가진 2D 매트릭스 형태의 키 입력 방식이다.[85]
- 인지 비밀번호: 신원 확인을 위해 질문과 답변 큐/응답 쌍을 사용한다.
참조
[1]
논문
An Efficient Remote User Password Authentication Scheme based on Rabin's Cryptosystem
http://link.springer[...]
2016-05-06
[2]
웹사이트
Average person has 100 passwords - study
https://securitybrie[...]
NordPass
2020-10-21
[3]
논문
NIST Special Publication 800-63-3: Digital Identity Guidelines
https://pages.nist.g[...]
National Institute of Standards and Technology (NIST)
2017-06
[4]
웹사이트
authentication protocol
https://csrc.nist.go[...]
Computer Security Resource Center (NIST)
[5]
웹사이트
Passphrase
https://csrc.nist.go[...]
Computer Security Resource Center (NIST)
[6]
웹사이트
Polybius on the Roman Military
https://web.archive.[...]
2012-05-20
[7]
서적
101st Airborne: The Screaming Eagles in World War II
https://books.google[...]
Mbi Publishing Company
[8]
잡지
The World's First Computer Password? It Was Useless Too
https://www.wired.co[...]
2012-01-27
[9]
웹사이트
Passwords Evolved: Authentication Guidance for the Modern Era
https://www.troyhunt[...]
2017-07-26
[10]
서적
CTSS Programmers Guide, 2nd Ed.
MIT Press
1965
[11]
논문
Password Security: A Case History.
1978-04-03
[12]
뉴스
If Your Password Is 123456, Just Make It HackMe
https://www.nytimes.[...]
2010-01-10
[13]
웹사이트
Managing Network Security
https://web.archive.[...]
Fred Cohen and Associates. All.net
[14]
웹사이트
The Memorability and Security of Passwords
https://web.archive.[...]
2012-05-20
[15]
서적
Principles of Information Security
https://books.google[...]
Cengage Learning
[16]
웹사이트
How to Create a Random Password Generator
https://www.pcmag.co[...]
[17]
서적
Ctrl-Alt-Delete
https://books.google[...]
Lulu.com
2011
[18]
뉴스
Google Reveals the 10 Worst Password Ideas
https://techland.tim[...]
Time
2013-08-08
[19]
웹사이트
Write your passwords down to improve safety — A counter-intuitive notion leaves you less vulnerable to remote attack, not more.
https://www.macworld[...]
MacWorld
2015-11-24
[20]
웹사이트
Lyquix Blog: Do We Need to Hide Passwords?
https://web.archive.[...]
2012-05-20
[21]
뉴스
Malaysia car thieves steal finger
https://web.archive.[...]
2005-03-31
[22]
웹사이트
Top ten passwords used in the United Kingdom
https://web.archive.[...]
2012-05-20
[23]
특허
[24]
웹사이트
PINs and Passwords, Part 2
http://www.sleuthsay[...]
SleuthSayers
2013-08-11
[25]
서적
Time-Sharing Computer Systems
American Elsevier
1968
[26]
뉴스
Roger Needham
https://www.theguard[...]
2003-03-10
[27]
웹사이트
The Bug Charmer: Passwords Matter
https://web.archive.[...]
2013-07-30
[28]
웹사이트
The Bug Charmer: How long should passwords be?
https://web.archive.[...]
2013-07-30
[29]
웹사이트
passlib.hash - Password Hashing Schemes
https://web.archive.[...]
[30]
웹사이트
An Administrator's Guide to Internet Password Research
https://web.archive.[...]
2015-03-14
[31]
웹사이트
Cracking Story – How I Cracked Over 122 Million SHA1 and MD5 Hashed Passwords « Thireus' Bl0g
https://web.archive.[...]
2013-07-30
[32]
논문
Password Security: A Case History
https://web.archive.[...]
[33]
웹사이트
Password Protection for Modern Operating Systems
https://web.archive.[...]
2012-05-20
[34]
웹사이트
How to prevent Windows from storing a LAN manager hash of your password in Active Directory and local SAM databases
https://web.archive.[...]
2012-05-20
[35]
웹사이트
Why You Should Lie When Setting Up Password Security Questions
https://web.archive.[...]
Techlicious
2013-03-08
[36]
웹사이트
The problems with forcing regular password expiry
https://www.cesg.gov[...]
CESG: the Information Security Arm of GCHQ
2016-04-15
[37]
웹사이트
Schneier on Security discussion on changing passwords
https://web.archive.[...]
2010-12-30
[38]
웹사이트
American Express: Strong Credit, Weak Passwords
https://web.archive.[...]
2017-07-12
[39]
웹사이트
Ten Windows Password Myths
https://community.br[...]
[40]
웹사이트
You must provide a password between 1 and 8 characters in length
https://web.archive.[...]
2015-05-21
[41]
웹사이트
To Capitalize or Not to Capitalize?
https://web.archive.[...]
2009-02-17
[42]
웹사이트
Password Reuse Is All Too Common, Research Shows
http://www.pcworld.c[...]
2011-02-10
[43]
웹사이트
Microsoft: You NEED bad passwords and should re-use them a lot
https://www.theregis[...]
2014-07-16
[44]
뉴스
Forbes: Why You Should Ignore Everything You Have Been Told About Choosing Passwords
https://www.forbes.c[...]
2014-11-12
[45]
웹사이트
Bruce Schneier : Crypto-Gram Newsletter
https://web.archive.[...]
2011-11-15
[46]
웹사이트
Ten Windows Password Myths
https://community.br[...]
[47]
뉴스
Microsoft security guru: Jot down your passwords
http://news.cnet.com[...]
2005-05-23
[48]
웹사이트
The Strong Password Dilemma
https://web.archive.[...]
2010-07-18
[49]
웹사이트
Choosing Random Passwords
http://www.burtlebur[...]
2013-01-11
[50]
웹사이트
The Memorability and Security of Passwords – Some Empirical Results
https://web.archive.[...]
2011-02-19
[51]
웹사이트
Should I write down my passphrase?
https://web.archive.[...]
2009-02-17
[52]
뉴스
Your Estate Could Have a Serious Password Problem
https://www.kiplinge[...]
2019-04-19
[53]
웹사이트
Two-factor authentication
https://web.archive.[...]
2016-06-18
[54]
웹사이트
Microsoft says mandatory password changing is "ancient and obsolete"
https://arstechnica.[...]
2019-06-03
[55]
웹사이트
The Debate Around Password Rotation Policies
https://www.sans.org[...]
2020-03-09
[56]
논문
Improving Usability of Password Management with Standardized Password Policies
http://folk.uio.no/j[...]
[57]
웹사이트
Hate silly password rules? So does the guy who created them
https://www.zdnet.co[...]
2017-08-09
[58]
웹사이트
The Man Who Wrote Those Password Rules Has a New Tip: N3v$r M1^d!
https://www.wsj.com/[...]
2017-08-07
[59]
웹사이트
Experts Say We Can Finally Ditch Those Stupid Password Rules
http://fortune.com/2[...]
2017-05-11
[60]
웹사이트
NIST's new password rules – what you need to know
https://nakedsecurit[...]
2016-08-18
[61]
논문
A password generator tool to increase users' awareness on bad password construction strategies
2018 International Symposium on Networks, Computers and Communications (ISNCC), Rome
2018
[62]
웹사이트
Password
https://web.archive.[...]
2007-04-23
[63]
웹사이트
Schneier, Real-World Passwords
https://web.archive.[...]
2008-09-23
[64]
웹사이트
MySpace Passwords Aren't So Dumb
https://web.archive.[...]
2014-03-29
[65]
웹사이트
CERT IN-98.03
http://www.cert.org/[...]
1998-07-16
[66]
뉴스
The Secret Life of Passwords
https://www.nytimes.[...]
2014-11-23
[67]
웹사이트
Consumer Password Worst Practices (pdf)
http://www.imperva.c[...]
[68]
웹사이트
NATO site hacked
https://www.theregis[...]
2011-06-24
[69]
웹사이트
Anonymous Leaks 90,000 Military Email Accounts in Latest Antisec Attack
https://gizmodo.com/[...]
2011-07-11
[70]
웹사이트
Military Password Analysis
http://blog.imperva.[...]
2011-07-12
[71]
웹사이트
2012 Linkedin Breach had 117 Million Emails and Passwords Stolen, Not 6.5M - Security News
https://www.trendmic[...]
2016-05-18
[72]
웹사이트
The top 12 password-cracking techniques used by hackers
https://www.itpro.co[...]
2019-10-14
[73]
웹사이트
The Quest to Replace Passwords (pdf)
http://research.micr[...]
IEEE
2012-05-15
[74]
웹사이트
Gates predicts death of the password
http://news.cnet.com[...]
2004-02-25
[75]
뉴스
Passwordless Authentication: A Complete Guide [2022] - Transmit Security
https://www.transmit[...]
2022-01-13
[76]
뉴스
No password for Microsoft Account: What does passwordless authentication mean?
https://www.business[...]
2022-04-12
[77]
웹사이트
Cryptology ePrint Archive: Report 2005/434
http://eprint.iacr.o[...]
2012-05-20
[78]
논문
Impact of artificial 'Gummy' Fingers on Fingerprint Systems
[79]
웹사이트
Using AJAX for Image Passwords – AJAX Security Part 1 of 3
http://waelchatila.c[...]
2012-05-20
[80]
웹사이트
Face in the Crowd
http://mcpmag.com/re[...]
2012-05-20
[81]
웹사이트
graphical password or graphical user authentication (GUA)
http://searchsecurit[...]
2012-05-20
[82]
웹사이트
Images Could Change the Authentication Picture
http://www.darkreadi[...]
Dark Reading
2010-11-03
[83]
웹사이트
Confident Technologies Delivers Image-Based, Multifactor Authentication to Strengthen Passwords on Public-Facing Websites
http://www.marketwir[...]
2010-10-28
[84]
웹사이트
User Manual for 2-Dimensional Key (2D Key) Input Method and System
http://www.xpreeli.c[...]
2012-05-20
[85]
특허
Methods and Systems to Create Big Memorizable Secrets and Their Applications
https://patents.goog[...]
2008-12-18
[86]
뉴스
Gates predicts death of the password
https://www.zdnet.co[...]
2004-02-25
[87]
웹사이트
IBM Reveals Five Innovations That Will Change Our Lives within Five Years
http://www-03.ibm.co[...]
IBM
2011-12-19
[88]
잡지
Kill the Password: Why a String of Characters Can't Protect Us Anymore
https://www.wired.co[...]
2012-05-15
[89]
웹사이트
Google security exec: 'Passwords are dead'
https://www.cnet.com[...]
2004-02-25
[90]
웹사이트
Authentciation at Scale
http://www.computer.[...]
IEEE
2013-01-25
[91]
뉴스
The Password Is Finally Dying. Here's Mine
https://www.wsj.com/[...]
2014-07-14
[92]
잡지
Russian credential theft shows why the password is dead
http://www.computerw[...]
2014-08-14
[93]
웹사이트
NSTIC head Jeremy Grant wants to kill passwords
http://fedscoop.com/[...]
Fedscoop
2014-09-14
[94]
웹사이트
Specifications Overview
https://fidoalliance[...]
FIDO Alliance
2014-02-25
[95]
웹사이트
A Research Agenda Acknowledging the Persistence of Passwords
http://research.micr[...]
IEEE Security&Privacy
2012-01
[96]
논문
The Quest to Replace Passwords: A Framework for Comparative Evaluation of Web Authentication Schemes
https://www.cl.cam.a[...]
University of Cambridge Computer Laboratory
2012
[97]
논문
The Quest to Replace Passwords: A Framework for Comparative Evaluation of Web Authentication Schemes
2012
[98]
문서
personal identification number
[99]
웹사이트
安全なパスワードの設定・管理
https://www.soumu.go[...]
総務省
2024-10-07
[100]
뉴스
“パスワード変更”をユーザーに定期的に要求はダメ 米国政府機関が発表 「大文字や数字を入れろ」の強制もNG
https://www.itmedia.[...]
ITmedia
2024-10-07
[101]
웹사이트
フィッシング詐欺とは?実例と手口から学ぶ対策と注意事項
https://jp.norton.co[...]
2024-09-14
[102]
웹사이트
二段階認証とは?仕組みやメリット、二要素認証との違いについて徹底解説|サイバーセキュリティ.com
https://cybersecurit[...]
2024-09-14
[103]
웹사이트
iPhoneの「パスワード」機能でパスワードを簡単・安全に管理しよう
https://xtech.nikkei[...]
2023-03-08
[104]
뉴스
If Your Password Is 123456, Just Make It HackMe
https://www.nytimes.[...]
2010-01-10
[105]
웹사이트
Managing Network Security
http://all.net/journ[...]
Fred Cohen and Associates. All.net
2009-03-31
[106]
웹인용
PINs and Passwords, Part 2
http://www.sleuthsay[...]
SleuthSayers
2013-08-11
[107]
뉴스
Google Reveals the 10 Worst Password Ideas | TIME.com
http://techland.time[...]
Techland.time.com
2013-08-08
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com