패스워드
정의
패스워드(password)는 특정 자원이나 정보에 대한 접근 권한을 획득하기 위해 사용자가 제시해야 하는 사전에 약속된 비밀 문자열 또는 숫자열이다. 한국어로는 비밀번호(秘密番號), 암구호(暗口號) 등으로 번역되며, 문화어로는 '통과암호'라고도 한다. 패스워드는 비밀 인증 데이터의 한 형식으로, 허가되지 않은 접근으로부터 정보를 보호하고 접근을 통제하는 핵심 수단으로 기능한다.
어원
'패스워드'는 영어 'password'를 음차한 외래어이다. 영어 'password'는 '통과하다'라는 의미의 'pass'와 '단어'를 뜻하는 'word'의 합성어로, 문자 그대로는 '통과를 위한 말'이라는 의미를 지닌다. 이는 군사적 맥락에서 보초(sentry)가 통행을 원하는 사람에게 미리 정해진 암호 단어를 요구하던 관행에서 비롯되었다.
역사
고대 및 군사적 기원
패스워드의 개념은 컴퓨터 시대보다 훨씬 이전부터 존재했다. 고대 로마에서는 군사적 목적으로 '감시어(watchword)'라 불리는 암호 체계를 사용하였다. 역사가 폴리비오스(Polybius)의 기록에 따르면, 로마 군대는 야간 경비를 위해 나무판에 감시어를 새겨 각 부대 간에 전달하는 정교한 체계를 운영했다. 이 나무판이 모든 부대를 거쳐 다시 지휘관에게 반환됨으로써 암호가 전군에 올바르게 전파되었음을 확인하였다.
제2차 세계대전 중에는 노르망디 상륙작전 당시 미군 제101공수사단이 'flash'라는 도전(challenge) 암호와 'thunder'라는 응답(response) 암호를 조합한 체계를 사용했으며, 이는 3일마다 교체되었다. 또한 D-Day에는 금속 장치인 '크리켓(cricket)'을 이용해 딸깍 소리 한 번에 두 번으로 응답하는 독특한 식별 방식도 활용되었다.
컴퓨터 패스워드의 등장
컴퓨터 분야에서 패스워드가 최초로 구현된 것은 1961년 MIT에서 도입된 호환 시분할 시스템(CTSS: Compatible Time-Sharing System)이다. CTSS는 LOGIN 명령어를 통해 사용자 패스워드를 요청했으며, 입력 시 인쇄 장치를 차단하여 타인이 패스워드를 볼 수 없도록 하는 초보적 수준의 프라이버시 보호 기능을 갖추고 있었다.
1970년대 초, 로버트 모리스(Robert Morris)는 유닉스(Unix) 운영체제의 일부로서 로그인 패스워드를 해시(hash) 형태로 저장하는 시스템을 개발했다. 이 알고리즘은 1974년 유닉스 6판에 처음 등장했으며, 이후 crypt(3)로 알려진 후속 버전에서는 12비트 솔트(salt)와 변형된 DES 알고리즘을 25회 반복 적용하여 사전 공격(dictionary attack)에 대한 저항력을 높였다.
현대적 용도
현대 사회에서 패스워드는 다음과 같은 다양한 영역에서 접근 제어 수단으로 사용된다.
- 컴퓨터 운영체제 로그인
- 휴대전화 잠금 해제
- 이메일 및 소셜 미디어 계정 인증
- 현금 자동 입출금기(ATM)의 개인 식별 번호(PIN)
- 케이블 TV 디코딩 장치
- 웹사이트 및 데이터베이스 접근
보안적 고려사항
패스워드 기반 시스템의 보안은 여러 요소에 의존한다. 기억하기 쉬운 패스워드는 일반적으로 공격자가 추측하기도 쉽다는 상충 관계가 존재한다. 반대로 지나치게 복잡한 패스워드는 사용자가 이를 별도로 기록하거나 전자적으로 저장하게 만들어 오히려 보안을 저하시킬 수 있으며, 주기적인 재설정 요구는 사용자가 동일하거나 유사한 패스워드를 재사용할 가능성을 높인다.
2013년 구글이 공개한 가장 흔한 취약 패스워드 유형에는 반려동물·가족 이름, 기념일·생일, 출생지, 좋아하는 스포츠 팀명, 그리고 단순히 "password"라는 문자열 자체 등이 포함되었다.
관련 개념
- 비밀구절(passphrase): 여러 단어 또는 공백으로 구분된 텍스트로 구성된, 일반적으로 더 긴 길이의 기억 기반 비밀 정보.
- 개인 식별 번호(PIN): 숫자로만 구성된 패스워드의 특수한 형태.
- 해시(hash): 패스워드를 원본 그대로 저장하지 않고 일방향 암호화 함수를 통해 변환하여 저장하는 보안 기법.
- 솔트(salt): 해시 생성 시 추가되는 무작위 데이터로, 동일한 패스워드라도 서로 다른 해시값을 생성하게 하여 사전 공격을 방지한다.