IT

비밀번호는 정말 없어지는 중일까 - 패스키 정리

ndev-note 2026. 8. 27. 13:56

로그인 화면을 만들다 보면 매번 같은 고민을 합니다. 비밀번호 정책을 어디까지 강제할 것인가. 특수문자 필수로 걸면 사용자가 이탈하고, 안 걸면 보안팀이 뭐라 하고, 결국 다들 비슷한 규칙을 만들고 사용자는 Password1! 같은 걸 만들어서 전 사이트에 돌려씁니다.

이 오래된 굴레를 아예 없애자는 게 패스키입니다. 개념 자체는 몇 년 전부터 있었는데, 올해 들어 확실히 분위기가 달라졌습니다.

원리는 공개키 암호

패스키는 FIDO2와 WebAuthn 표준 기반의 공개키 인증 방식입니다. 기기에서 키 쌍을 만들어서 공개키만 서버에 등록하고, 개인키는 기기 안에 남깁니다.

로그인 흐름은 이렇습니다. 서버가 챌린지를 보내면, 기기는 지문이나 얼굴, PIN으로 로컬 인증을 통과한 뒤 개인키로 그 챌린지에 서명해서 돌려줍니다. 서버는 등록된 공개키로 서명을 검증하면 끝입니다.



여기서 중요한 건 서버가 비밀을 보관하지 않는다는 점입니다. 서버에 있는 건 공개키뿐이라, DB가 통째로 유출돼도 그걸로 로그인할 수 없습니다. 개발자 입장에서는 "비밀번호 해시를 안전하게 저장해야 한다"는 부담 자체가 사라지는 거죠.

피싱 저항이 진짜 핵심

편의성보다 더 중요한 게 이겁니다. 패스키는 등록된 도메인에 묶여 있어서, 가짜 사이트에서는 아예 동작하지 않습니다.



기존 방식은 사용자의 주의력에 의존합니다. 주소창을 잘 보라고 아무리 교육해도, 요즘 AI로 찍어낸 피싱 페이지는 원본과 구분이 안 됩니다. 반면 패스키는 브라우저가 도메인을 대조하기 때문에 사람이 속아도 인증이 성립하지 않습니다. 보안을 사람의 판단에서 프로토콜로 옮긴 셈입니다.

크리덴셜 스터핑도 원천 봉쇄됩니다. 재사용할 비밀번호가 애초에 없으니까요. 참고로 이 공격은 2024년 한 해에만 4억 건 넘게 발생했습니다.

어디까지 왔나

구글, 애플, 마이크로소프트는 물론이고 국내에서도 네이버, 카카오가 지원합니다. 삼성은 삼성패스로, SKT는 PASS 앱에 얹어서 밀고 있고요.

마이크로소프트는 올해 5월 사내 인증의 99.6%를 피싱 저항 방식으로 전환했다고 밝혔습니다. 미국·영국 기업의 87%가 도입했거나 도입 중이라는 조사도 나와 있고요. 국내는 금융권 적용이 본격화되는 단계이고, 행안부가 전자정부 서비스 표준화 작업에 착수했습니다.

그래서 다 갈아타면 되나

현실은 그렇게 간단하지 않습니다. 실무에서 걸리는 지점 몇 개만 짚으면:

기기 분실과 복구. 개인키가 기기에 있으니 기기를 잃으면 어떻게 되느냐가 첫 질문입니다. 지금은 플랫폼 클라우드 동기화(iCloud 키체인, 구글 비밀번호 관리자)로 해결하는데, 그러면 결국 그 플랫폼 계정이 새로운 단일 실패 지점이 됩니다.

생태계 이동. 안드로이드에서 아이폰으로 갈아탈 때 패스키가 따라오느냐. 표준상 방법은 마련돼 있지만 실사용 경험은 아직 매끄럽다고 하기 어렵습니다.

결국 폴백이 남는다. 서비스 대부분이 패스키를 추가 옵션으로 제공하고 비밀번호를 지웁니다. 그러면 공격자는 약한 쪽인 비밀번호 경로를 노리면 그만이라, 계정 복구 흐름을 어떻게 설계하느냐가 실제 보안 수준을 결정합니다. 패스키를 붙이는 것보다 이쪽이 훨씬 어려운 일입니다.

정리

패스키는 "비밀번호를 잘 관리하자"는 접근을 포기하고 비밀번호 자체를 없애는 방향입니다. 방향은 맞다고 보고, 프론트에서 붙이는 난이도도 생각보다 높지 않습니다(WebAuthn API는 브라우저 표준이라 라이브러리 도움 받으면 며칠이면 붙습니다).

다만 진짜 일은 인증이 아니라 복구 설계에 있습니다. 개인 계정이라면 지금 당장 자주 쓰는 서비스 몇 개에 패스키를 걸어두시길 권합니다. 보안 설정 메뉴에 "패스키" 항목이 있는지만 보면 됩니다.