크롬 비밀번호 유출, 구글은 알고 있다.
2025년 03월 18일

크롬 비밀번호 유출 확인 기능

크롬 브라우저를 사용하면서 대부분 비밀번호 저장을 한다.
뭐 크롬뿐이 아니라 모든 브라우저가 지원을 하기에 이 기능을 안 쓰는 사람은 드물 것이다.
구글 비밀번호 관리자.

모처럼 잘 안 들어가던 사이트에 들어가려고 하다 비밀번호가 생각이 나지 않아
크롬으로 설정된 비번을 확인하러 들어가 보니 이런 메세지가 나온다.
처음 본다.

유출된 비밀번호가 6개 있습니다.
오옷~~~

다행히 사이트들이 허접스런 사이트들이다. 뭘 보고 싶은데 가입을 해야 하는 그런 사이트.
그 뒤로 방문을 하지 않아서 들어가 보니 사이트가 바뀐 곳도 있고 그래서 그냥 넘어갔다.
혹 이런 사이트중에 자주 이용하는 곳이 있다면 비밀번호를 바꿔주어야 하며
사용하지 않는다면 탈퇴하는 것도 한 방법이다.
구글은 비밀번호 유출을 어떻게 알까?
크롬의 비밀번호 관리자가 유출된 비밀번호를 확인하는 것은 Google의 “Password Checkup” 기술과 해시(Hash) 비교 방식을 통해 구현됩니다. 아래는 상세한 과정입니다:
1. 비밀번호 해시 생성
- 사용자가 비밀번호를 입력하고 크롬에서 저장하면, 로컬에서만 비밀번호의 해시 값을 생성합니다.
- 해시 함수(예: Argon2, BLAKE2)는 비밀번호를 원래 형태로 되돌릴 수 없는 고유 코드로 변환합니다.
2. 해시 비교 (Google의 브리치 데이터베이스와 비교)
- 크롬은 부분 해시(Partial Hash) 또는 퍼즐 해시(Puzzle Hash) 기술을 사용하여:
- 로컬에서 비밀번호의 해시 값을 일부만 추출합니다 (예: 처음 4자리 또는 중간 6자리).
- 이 부분 해시를 Google의 서버로 전송합니다.
- Google 서버는 전체 해시 데이터베이스 (유출된 비밀번호의 해시 모음)와 비교합니다.
- 만약 부분 해시가 데이터베이스에 일치하는 항목이 있으면, 전체 해시를 클라이언트로 다운로드하여:
- 로컬에서 전체 해시와 사용자 비밀번호의 해시를 비교합니다.
- 일치하면 “유출되었다”는 경고가 발생합니다.
3. 브리치 데이터베이스의 구성
- Google은 공개된 데이터 브리치 집합 (예: Have I Been Pwned)과 보안 파트너를 통해:
- 유출된 비밀번호를 수집합니다.
- 각 비밀번호를 해시로 변환하여 데이터베이스에 저장합니다.

보안 메커니즘
- 비밀번호 유출 без 전송:
- 실제 비밀번호는 ** 절대 서버로 전송되지 않습니다**.
- 해시만 비교 대상으로 사용됩니다.
- 부분 해시 사용:
- 전송하는 해시가 너무 짧아 공격자가 추론할 수 없게 합니다.
- 로컬 비교:
- 서버는 전체 해시를 클라이언트로 보내고, 실제 비교는 사용자 장치에서 이루어집니다.
예시
- 사용자의 비밀번호:
MyP@ssw0rd
- 로컬 해시 생성:
a1b2c3d4e5f6g7h8
(가상 해시) - 부분 해시 추출:
b2c3d4
(서버로 전송) - 서버側:
b2c3d4
가 데이터베이스에 존재 → 전체 해시x1b2c3d4y5
를 클라이언트로 보냄
- 로컬 비교:
- 저장된 해시
a1b2c3d4e5f6g7h8
vs 받은 해시x1b2c3d4y5
- 일치하면 “유출됨” 경고
- 저장된 해시
걱정하지 말자.
크롬은 비밀번호 자체를 서버로 보내지 않고, 해시 비교와 부분 전송을 통해 유출 여부를 안전하게 확인한다. 이 기능을 사용하려면 크롬 설정에서 **[비밀번호] > [유출된 비밀번호 확인]**을 활성화해야 합니다.