사용 방법
- 확인하고 싶은 비밀번호를 입력하거나 붙여넣으세요.
- 필요하면 "표시" 버튼을 눌러 입력한 내용을 확인하세요.
- "유출 여부 확인" 버튼을 클릭하세요.
- 초록색 결과는 유출 데이터베이스에서 발견되지 않았다는 뜻이고, 빨간색 결과는 몇 번 발견되었는지를 보여줍니다.
예시
입력
password123결과
⚠ 2,643,916건의 알려진 데이터 유출에서 발견됨이런 흔한 비밀번호는 어떤 사이트가 유출되었는지와 무관하게, 모든 공격자의 첫 번째 시도 목록에 올라 있기 때문에 수백만 건씩 발견됩니다.
이 도구는 무엇인가요?
이 도구는 실제 데이터 유출 사건에서 수집된 수억 개의 비밀번호를 담고 있는 Have I Been Pwned의 Pwned Passwords 데이터베이스와 비밀번호를 대조합니다. 입력한 비밀번호가 목록에 나타난다면, 이는 여러분의 특정 계정이 유출되었다는 뜻이 아니라, 어딘가에서 누군가가 같은 비밀번호를 사용했고 그 정보가 유출되어 이미 공격자들의 비밀번호 목록에 포함되어 있다는 뜻입니다.
이 확인 방식은 k-익명성이라는 기법을 사용합니다. 비밀번호 확인 서비스가 전체 비밀번호를 볼 필요가 없도록 특별히 설계된 방식입니다. 브라우저는 비밀번호의 SHA-1 해시를 로컬에서 계산한 뒤, 그 해시값 앞 5자리만 API로 전송합니다. API는 같은 5자리 접두사로 시작하는 유출된 비밀번호 해시를 전부(보통 수백 개) 돌려주고, 브라우저는 그중에 여러분의 전체 해시값이 포함되어 있는지를 로컬에서 대조합니다. 전체 비밀번호와 전체 해시값은 절대 기기 밖으로 나가지 않습니다.
k-익명성이 비밀번호를 어떻게 보호하는가
단순한 방식의 유출 확인기라면 조회를 위해 전체 비밀번호(또는 전체 해시값)가 필요했을 것이고, 이는 결국 보호하려는 바로 그 비밀 정보를 서버에 맡기는 셈이 됩니다. k-익명성 방식은 이 문제를 우회합니다: 브라우저가 비밀번호를 SHA-1로 해시한 뒤, 40자리 해시값 중 앞 5자리만 API로 전송합니다.
API는 그 5자리 접두사를 공유하는 데이터베이스 내 모든 해시 나머지 부분을 돌려줍니다 — 보통 300~800개 정도로, 여러분의 것 하나만이 아닙니다. 브라우저는 이 중에 여러분의 특정 나머지 부분이 포함되어 있는지를 로컬에서 대조합니다. 이 네트워크 요청을 엿보는 사람이 있다 해도, 그 접두사를 가진 어떤 비밀번호가 조회되었다는 것만 알 수 있을 뿐, 수백만 가지 가능성 중 어느 것인지는 알 수 없습니다.
결과에 따라 이렇게 하세요
- 높은 횟수로 발견됨: 모든 곳에서 즉시 이 비밀번호를 은퇴시키세요 — 이미 모든 공격자의 추측 목록에 올라 있습니다.
- 낮은 횟수로 발견됨: 그래도 은퇴시키세요. 단 한 번이라도 유출 이력이 있다면 횟수와 무관하게 이미 노출된 것입니다.
- 발견되지 않음: 이 정확한 문자열이 데이터베이스에는 없지만, 장기적으로 안심하고 쓰기 전에 강도는 별도로 확인하세요.
- 새로 설정할 비밀번호를 미리 확인하는 것도, 이미 쓰고 있는 비밀번호를 확인하는 것만큼 유용합니다 — 계정의 약점이 되기 전에 나쁜 선택을 미리 걸러낼 수 있습니다.
흔한 사용 사례
- 몇 년째 써왔지만 한 번도 유출 데이터와 대조해보지 않은 비밀번호를 확인할 때.
- 새로 만들었거나 새로 정한 비밀번호를 실제로 쓰기 전에 검증할 때.
- 팀이나 가족이 공유하는 비밀번호, 또는 기본 비밀번호를 교체하기 전에 점검할 때.
- 재사용 중인 여러 비밀번호 중 어느 것을 가장 먼저 바꿔야 할지 유출 횟수를 기준으로 판단할 때.
왜 사용해야 할까요?
k-익명성 방식: 해시값 5자리만 전송되며, 비밀번호나 전체 해시값은 전송되지 않습니다.
수억 개의 실제 유출 비밀번호 데이터베이스와 대조하며, 지속적으로 업데이트됩니다.
즉시 결과 확인 — 계정도, 이메일도 필요 없고, 아무것도 저장되지 않습니다.
현재 사용 중인 비밀번호, 앞으로 설정할 비밀번호, 예전에 쓰던 비밀번호까지 모두 확인할 수 있습니다.
자주 묻는 질문
이 도구가 제 비밀번호를 서버로 전송하나요?
아니요. 브라우저가 비밀번호의 SHA-1 해시를 로컬에서 계산한 뒤 그 해시값의 앞 5자리만 전송합니다 — 비밀번호도, 전체 해시값도 절대 전송되지 않습니다. 이는 Have I Been Pwned의 Pwned Passwords API가 특별히 이 목적을 위해 설계한 k-익명성 방식이며, Chrome, Firefox, 1Password의 내장 유출 확인 기능도 같은 기법을 사용합니다.
비밀번호가 발견되지 않았다면 안전한 건가요?
정확히는, 그 비밀번호가 아직 이 데이터베이스의 어떤 유출 사건에도 나타나지 않았다는 뜻일 뿐, 강력하다는 보장은 아닙니다. 비밀번호는 유출된 적 없으면서 동시에 취약(추측하기 쉬움)할 수 있습니다. 이 확인은 강도 검사를 대체하는 게 아니라 함께 사용하는 용도로 활용하세요.
비밀번호가 발견되었다면 어떻게 해야 하나요?
이메일과 금융 계정부터 시작해서 해당 비밀번호를 사용한 모든 계정에서 즉시 바꾸세요. 계정마다 새롭고 고유하며 무작위로 생성된 비밀번호를 만드세요 — 비밀번호를 재사용하는 것이야말로 한 번의 유출이 여러 계정으로 번지는 가장 큰 원인입니다.
제가 직접 만든 비밀번호인데 유출 횟수가 왜 중요한가요?
이 횟수는 특정 계정을 추적하는 게 아니라, 그 정확한 비밀번호 문자열이 이제까지 사용한 모든 사람을 통틀어 유출 데이터베이스에 몇 번 등장했는지를 나타냅니다. 여러분이 스스로 독립적으로 만든 비밀번호라 해도, 횟수가 높다는 건 그만큼 흔하고 예측하기 쉬운 선택이었다는 뜻입니다.
이건 제 이메일이 유출되었는지 확인하는 것과 같은 건가요?
아니요 — 완전히 다른 질문입니다. 이 도구는 비밀번호 문자열을 알려진 유출 데이터와 대조합니다. 특정 이메일 주소가 유출 사건에 포함되었는지 확인하려면 별도의 조회가 필요하며(Have I Been Pwned 메인 사이트에서 가능합니다), 이 도구가 다루는 범위가 아닙니다.