인증 · 계정
WebAuthn 옵션 생성과 응답 검증을 credential·challenge 저장소에서 분리합니다.
규격 재현과 공격 거부를 이 페이지에서 직접 실행해 확인할 수 있습니다.
패스키는 장치가 보관한 개인키로 challenge에 서명하고 서버는 등록된 공개키로 이를 검증하는 피싱 저항형 인증 방식입니다. 개인키가 서버로 전달되지 않으며, credential은 서비스 식별자와 origin에 암호학적으로 결속됩니다.
서버에는 공개키만 저장하고 개인키는 사용자의 인증 장치 밖으로 노출하지 않습니다.
서명이 정해진 서비스 식별자와 origin에서만 유효해 유사 도메인의 피싱 요청을 차단합니다.
일회용 challenge와 서명 횟수 신호를 검증해 응답 재생과 복제된 인증기 위험을 탐지합니다.
아래 증명은 설명이 아니라 실제 실행입니다. 버튼을 누르면 이 서버에서 지금 계산합니다.
인증기에 건네는 challenge 는 서버가 발급한 일회용 값이고, 검증은 같은 값을 저장소에서 소비하면서 이뤄진다 — 서명 검증(표준 engine)은 이 결속 위에서만 의미를 갖는다.
표준이 고정한 test vector 를 그대로 실행합니다.
서명이 유효해도 결속이 깨지면 거부한다 — 지나간 challenge, 다른 사이트의 rpId, 소유자가 다른 자격증명, 되감긴 counter 는 모두 인증 실패다. RP 구성 자체도 HTTPS 가 아니면 만들어지지 않는다.
막아야 할 입력을 실제로 넣고 거부되는지 확인합니다.
Next step
브라우저 클라이언트와 credential repository adapter를 연결해 실제 authenticator 조합을 검증합니다.